# Supported Formatters

PromptScript compiles one agent platform definition to native files for **50 AI coding agent targets**.

PromptScript treats instructions, skills, agents, commands, MCP servers, hooks, workflows, and
plugins as platform capabilities. See [Target Platforms](https://getpromptscript.dev/features/target-platforms/index.md) for
the platform-family model.

Two more targets, `bundle` and `prompt-text`, compile the prompts of an application instead of
instructions for a coding agent. They are opt-in and appear in the table below with the tier
Prompt. See [Application Prompts](https://getpromptscript.dev/guides/application-prompts/index.md).

## Rich Native Formatters

Hand-crafted output logic for agents with unique file formats, skills, agents, and commands.

- [Claude Code](https://getpromptscript.dev/reference/formatters/claude/index.md): `CLAUDE.md` - Skills, Agents, Commands, Local
- [GitHub Copilot](https://getpromptscript.dev/reference/formatters/github/index.md): `.github/copilot-instructions.md` - Skills, Prompts
- [Cursor](https://getpromptscript.dev/reference/formatters/cursor/index.md): `.cursor/rules/project.mdc` - Commands, MDC Format
- [Antigravity](https://getpromptscript.dev/reference/formatters/antigravity/index.md): `.agent/rules/project.md` - Workflows, Activation Types
- [Factory AI](https://getpromptscript.dev/reference/formatters/factory/index.md): `AGENTS.md` - Skills, Agents, Commands
- [Gemini CLI](https://getpromptscript.dev/reference/formatters/gemini/index.md): `GEMINI.md` - Skills, Commands
- [OpenCode](https://getpromptscript.dev/reference/formatters/opencode/index.md): `OPENCODE.md` - Skills, Agents, Commands
- [Codex](https://getpromptscript.dev/reference/formatters/codex/index.md): `AGENTS.md + .codex/` - Skills, Agents, TOML
- [Grok](https://getpromptscript.dev/reference/formatters/grok/index.md): `AGENTS.md` - Skills, Agents, Commands

## All Formatters

<!-- generated:start:formatter-table -->
<!-- Auto-generated by `pnpm docs:formatters`. Do not edit manually. -->

| Formatter                       | Tier   | Output File                       | Skills | Agents | Local | Commands |
| ------------------------------- | ------ | --------------------------------- | ------ | ------ | ----- | -------- |
| [Antigravity](https://getpromptscript.dev/reference/formatters/antigravity/index.md)   | Custom | `.agent/rules/project.md`         | No     | No     | No    | Yes      |
| [Claude Code](https://getpromptscript.dev/reference/formatters/claude/index.md)        | Custom | `CLAUDE.md`                       | Yes    | Yes    | Yes   | Yes      |
| [Cursor](https://getpromptscript.dev/reference/formatters/cursor/index.md)             | Custom | `.cursor/rules/project.mdc`       | Yes    | Yes    | No    | Yes      |
| [Factory AI](https://getpromptscript.dev/reference/formatters/factory/index.md)        | Custom | `AGENTS.md`                       | Yes    | Yes    | No    | Yes      |
| [Gemini CLI](https://getpromptscript.dev/reference/formatters/gemini/index.md)         | Custom | `GEMINI.md`                       | Yes    | No     | No    | Yes      |
| [GitHub Copilot](https://getpromptscript.dev/reference/formatters/github/index.md)     | Custom | `.github/copilot-instructions.md` | Yes    | Yes    | No    | Yes      |
| [OpenCode](https://getpromptscript.dev/reference/formatters/opencode/index.md)         | Custom | `OPENCODE.md`                     | Yes    | Yes    | No    | Yes      |
| [Cline](https://getpromptscript.dev/reference/formatters/cline/index.md)               | Tier 1 | `.clinerules`                     | No     | No     | No    | No       |
| [Codex](https://getpromptscript.dev/reference/formatters/codex/index.md)               | Tier 1 | `AGENTS.md`                       | Yes    | Yes    | No    | No       |
| [Continue](https://getpromptscript.dev/reference/formatters/continue/index.md)         | Tier 1 | `.continue/rules/project.md`      | No     | No     | No    | No       |
| [Roo Code](https://getpromptscript.dev/reference/formatters/roo/index.md)              | Tier 1 | `.roorules`                       | No     | No     | No    | No       |
| [Windsurf](https://getpromptscript.dev/reference/formatters/windsurf/index.md)         | Tier 1 | `.windsurf/rules/project.md`      | Yes    | No     | No    | No       |
| [Amp](https://getpromptscript.dev/reference/formatters/amp/index.md)                   | Tier 2 | `AGENTS.md`                       | Yes    | Yes    | No    | No       |
| [Augment](https://getpromptscript.dev/reference/formatters/augment/index.md)           | Tier 2 | `.augment/rules/project.md`       | No     | Yes    | No    | No       |
| [Goose](https://getpromptscript.dev/reference/formatters/goose/index.md)               | Tier 2 | `.goosehints`                     | Yes    | No     | No    | No       |
| [Junie](https://getpromptscript.dev/reference/formatters/junie/index.md)               | Tier 2 | `.junie/guidelines.md`            | Yes    | No     | No    | No       |
| [Kilo Code](https://getpromptscript.dev/reference/formatters/kilo/index.md)            | Tier 2 | `.kilocode/rules/project.md`      | Yes    | No     | No    | No       |
| [Kiro CLI](https://getpromptscript.dev/reference/formatters/kiro/index.md)             | Tier 2 | `.kiro/steering/project.md`       | Yes    | No     | No    | No       |
| [Trae](https://getpromptscript.dev/reference/formatters/trae/index.md)                 | Tier 2 | `.trae/rules/project_rules.md`    | Yes    | No     | No    | No       |
| [Adal](https://getpromptscript.dev/reference/formatters/adal/index.md)                 | Tier 3 | `.adal/rules/project.md`          | Yes    | No     | No    | No       |
| [Aider](https://getpromptscript.dev/reference/formatters/aider/index.md)               | Tier 3 | `AGENTS.md`                       | No     | No     | No    | No       |
| [Amazon Q](https://getpromptscript.dev/reference/formatters/amazon-q/index.md)         | Tier 3 | `AGENTS.md`                       | No     | No     | No    | No       |
| [CodeBuddy](https://getpromptscript.dev/reference/formatters/codebuddy/index.md)       | Tier 3 | `.codebuddy/rules/project.md`     | Yes    | No     | No    | No       |
| [Command Code](https://getpromptscript.dev/reference/formatters/command-code/index.md) | Tier 3 | `.commandcode/rules/project.md`   | Yes    | No     | No    | Yes      |
| [Cortex](https://getpromptscript.dev/reference/formatters/cortex/index.md)             | Tier 3 | `.cortex/rules/project.md`        | Yes    | No     | No    | No       |
| [Crush](https://getpromptscript.dev/reference/formatters/crush/index.md)               | Tier 3 | `AGENTS.md`                       | Yes    | No     | No    | No       |
| [Deep Agents](https://getpromptscript.dev/reference/formatters/deep-agents/index.md)   | Tier 3 | `AGENTS.md`                       | No     | No     | No    | No       |
| [Devin](https://getpromptscript.dev/reference/formatters/devin/index.md)               | Tier 3 | `AGENTS.md`                       | No     | No     | No    | No       |
| [ForgeCode](https://getpromptscript.dev/reference/formatters/forgecode/index.md)       | Tier 3 | `AGENTS.md`                       | No     | No     | No    | No       |
| [GitLab Duo](https://getpromptscript.dev/reference/formatters/gitlab-duo/index.md)     | Tier 3 | `AGENTS.md`                       | Yes    | No     | No    | No       |
| [Grok](https://getpromptscript.dev/reference/formatters/grok/index.md)                 | Tier 3 | `AGENTS.md`                       | Yes    | Yes    | No    | Yes      |
| [Hermes Agent](https://getpromptscript.dev/reference/formatters/hermes/index.md)       | Tier 3 | `AGENTS.md`                       | No     | No     | No    | No       |
| [iFlow](https://getpromptscript.dev/reference/formatters/iflow/index.md)               | Tier 3 | `.iflow/rules/project.md`         | Yes    | No     | No    | No       |
| [Jules](https://getpromptscript.dev/reference/formatters/jules/index.md)               | Tier 3 | `AGENTS.md`                       | No     | No     | No    | No       |
| [Kimi](https://getpromptscript.dev/reference/formatters/kimi/index.md)                 | Tier 3 | `AGENTS.md`                       | No     | No     | No    | No       |
| [Kode](https://getpromptscript.dev/reference/formatters/kode/index.md)                 | Tier 3 | `.kode/rules/project.md`          | Yes    | No     | No    | No       |
| [MCPJam](https://getpromptscript.dev/reference/formatters/mcpjam/index.md)             | Tier 3 | `.mcpjam/rules/project.md`        | Yes    | No     | No    | No       |
| [Mimo](https://getpromptscript.dev/reference/formatters/mimo/index.md)                 | Tier 3 | `AGENTS.md`                       | No     | No     | No    | No       |
| [Mistral Vibe](https://getpromptscript.dev/reference/formatters/mistral-vibe/index.md) | Tier 3 | `.vibe/rules/project.md`          | Yes    | No     | No    | No       |
| [Mux](https://getpromptscript.dev/reference/formatters/mux/index.md)                   | Tier 3 | `.mux/rules/project.md`           | No     | No     | No    | No       |
| [Neovate](https://getpromptscript.dev/reference/formatters/neovate/index.md)           | Tier 3 | `.neovate/rules/project.md`       | No     | No     | No    | No       |
| [OpenClaw](https://getpromptscript.dev/reference/formatters/openclaw/index.md)         | Tier 3 | `INSTRUCTIONS.md`                 | Yes    | No     | No    | No       |
| [OpenHands](https://getpromptscript.dev/reference/formatters/openhands/index.md)       | Tier 3 | `.openhands/rules/project.md`     | Yes    | No     | No    | No       |
| [Pi](https://getpromptscript.dev/reference/formatters/pi/index.md)                     | Tier 3 | `.pi/rules/project.md`            | Yes    | No     | No    | No       |
| [Pochi](https://getpromptscript.dev/reference/formatters/pochi/index.md)               | Tier 3 | `.pochi/rules/project.md`         | Yes    | No     | No    | No       |
| [Qoder](https://getpromptscript.dev/reference/formatters/qoder/index.md)               | Tier 3 | `.qoder/rules/project.md`         | No     | No     | No    | No       |
| [Qwen Code](https://getpromptscript.dev/reference/formatters/qwen-code/index.md)       | Tier 3 | `.qwen/rules/project.md`          | Yes    | No     | No    | No       |
| [Warp](https://getpromptscript.dev/reference/formatters/warp/index.md)                 | Tier 3 | `AGENTS.md`                       | No     | No     | No    | No       |
| [Zed](https://getpromptscript.dev/reference/formatters/zed/index.md)                   | Tier 3 | `AGENTS.md`                       | No     | No     | No    | No       |
| [Zencoder](https://getpromptscript.dev/reference/formatters/zencoder/index.md)         | Tier 3 | `.zencoder/rules/project.md`      | Yes    | No     | No    | No       |
| [Prompt Bundle](https://getpromptscript.dev/reference/formatters/bundle/index.md)      | Prompt | `prompts/index.json`              | No     | No     | No    | No       |
| [Prompt Text](https://getpromptscript.dev/reference/formatters/prompt-text/index.md)   | Prompt | `prompts/README.md`               | No     | No     | No    | No       |

<!-- generated:end:formatter-table -->

## MCP / Hooks / Plugins Support

PromptScript emits `@mcpServers`, `@hooks`, and `@plugins` blocks (syntax 1.4.0+) to target-native config files. The table below shows which formatters support each feature.

| Formatter      | MCP Servers                      | Hooks                             | Plugins                 |
| -------------- | -------------------------------- | --------------------------------- | ----------------------- |
| Claude Code    | `.mcp.json`                      | `.claude/settings.json`           | -                       |
| Cursor         | `.cursor/mcp.json`               | `.cursor/hooks.json`              | `.cursor/plugins.json`  |
| Factory Droid  | `.factory/mcp.json`              | `.factory/hooks.json`             | `.factory/plugins.json` |
| Codex          | `.codex/mcp.json`                | `.codex/hooks.json`               | `.codex/plugins.json`   |
| Grok Build     | `.mcp.json` (via Claude)         | `.grok/hooks/promptscript.json`   | `.grok/plugins.json`    |
| GitHub Copilot | `.vscode/mcp.json`               | `.github/hooks/promptscript.json` | -                       |
| Antigravity    | `.agents/mcp_config.json`        | -                                 | -                       |
| Gemini CLI     | `.gemini/mcp_config.json`        | `.gemini/settings.json`           | -                       |
| Windsurf       | `.windsurf/mcp_config.json`      | `.windsurf/hooks.json`            | -                       |
| Cline          | `.cline/cline_mcp_settings.json` | -                                 | -                       |
| Roo Code       | `.roo/mcp_settings.json`         | -                                 | -                       |
| Continue       | `.continue/config.json`          | -                                 | -                       |
| Goose          | `.goose/mcp_config.json`         | -                                 | -                       |
| Kilo Code      | `.kilocode/mcp_settings.json`    | -                                 | -                       |
| OpenHands      | `.openhands/mcp_config.toml`     | -                                 | -                       |
| Qwen Code      | `.qwen/mcp.json`                 | -                                 | -                       |
| Zed            | `.zed/settings.json`             | -                                 | -                       |
| Crush          | `.crush/mcp.json`                | -                                 | -                       |

Hook files require `multifile` or `full` mode. In `simple` mode, formatters
preserve single-file output and report a compatibility warning. Cursor emits
hook files only in `full` mode and reports `PS4002` in its other modes.

MCP and plugin files have their own mode rules. GitHub Copilot, Claude Code, Cursor, and Grok Build
write MCP config only in `full` mode, Antigravity in every mode, and the other MCP targets in
`multifile` and `full`. Cursor and Grok Build write plugin config only in `full` mode, Factory Droid
and Codex in `multifile` and `full`. Each target page lists the modes under Output Files.

When a target or the selected mode cannot write `@skills`, `@mcpServers`, or `@plugins`,
compilation reports `PS4002` with the block location instead of dropping the block silently.

Agent-level `mcpServers` references are emitted by Claude Code, Cursor, and Factory Droid.

## Shared Markdown Formatters

Shared Markdown targets use `MarkdownInstructionFormatter` for consistent instructions, skills,
commands, and agents where enabled. Each target keeps its own output path, capability flags, and
native directory conventions.

### Hermes Agent

Hermes Agent uses the project-local `AGENTS.md` workspace instruction
contract. See the official [context-files documentation](https://hermes-agent.nousresearch.com/docs/user-guide/features/context-files)
and [skills documentation](https://hermes-agent.nousresearch.com/docs/user-guide/features/skills).

Hermes output mapping:

- Main output: `AGENTS.md`
- `simple`, `multifile`, and `full`: same single `AGENTS.md` output
- Supported: instruction content rendered by the shared AGENTS.md formatter
- Unsupported: skills, agents, commands, workflows, prompts, scoped rules, local files, hooks, MCP servers, and plugins
- Unsupported blocks are omitted with non-fatal `PS4002` warnings carrying source locations

PromptScript does not invent `.hermes.md` or unverified native Hermes
directories and files.

### GitLab Duo

GitLab Duo uses the root `AGENTS.md` instruction contract (GA in GitLab 18.8)
and reads Agent Skills from `skills/<name>/SKILL.md` at the repository root
(GitLab 18.10+). The GitLab UI surfaces the instructions from GitLab 18.11.
See the official
[AGENTS.md documentation](https://docs.gitlab.com/user/duo_agent_platform/customize/agents_md/).

GitLab Duo output mapping:

- Main output: `AGENTS.md`
- `simple` and `multifile`: single `AGENTS.md` file
- `full`: `AGENTS.md` plus `skills/<name>/SKILL.md` for each skill
- Unsupported: agents, commands, workflows, prompts, scoped rules, local files, hooks, MCP servers, and plugins
- Unsupported blocks are omitted with non-fatal `PS4002` warnings carrying source locations