> ## Documentation Index
> Fetch the complete documentation index at: https://docs.prpm.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Formats

> Understanding PRPM format support

# Formats

PRPM supports multiple AI tool formats, allowing you to install packages for different IDEs and development environments.

## Supported Formats

| Format      | Tool                   | Description                                              |
| ----------- | ---------------------- | -------------------------------------------------------- |
| `claude`    | Claude Code            | Agents and skills for Claude Code                        |
| `cursor`    | Cursor IDE             | Rules, plugins, commands, and configurations for Cursor  |
| `continue`  | Continue.dev           | Prompts for Continue extension                           |
| `windsurf`  | Windsurf IDE           | Rules for Windsurf                                       |
| `copilot`   | GitHub Copilot         | Instructions, chat modes, and skills for Copilot         |
| `kiro`      | Kiro AI                | Agents and steering files for Kiro                       |
| `gemini`    | Gemini CLI             | Custom commands and extensions for Gemini CLI            |
| `opencode`  | OpenCode AI            | Agents, commands, and tools for OpenCode                 |
| `ruler`     | Ruler                  | Coding rules and agents for Ruler                        |
| `droid`     | Factory Droid          | Skills, commands, and hooks for Factory Droid            |
| `trae`      | Trae IDE               | Rules for Trae IDE (ByteDance)                           |
| `aider`     | Aider                  | Conventions and rules for Aider AI coding assistant      |
| `zencoder`  | Zencoder               | Rules for Zencoder AI coding assistant                   |
| `replit`    | Replit Agent           | Instructions for Replit Agent                            |
| `agents.md` | Agents.md              | Universal agent format (works with OpenAI, Gemini, etc.) |
| `mcp`       | Model Context Protocol | MCP server configurations                                |
| `generic`   | Multiple               | Works across multiple tools                              |

### Format Aliases

Some formats have aliases for compatibility:

* `claude.md` → `claude`
* `gemini.md` → installs `GEMINI.md` (Gemini markdown); `gemini` installs Gemini CLI commands into `.gemini/commands`

### Cursor Format Details

The `cursor` format supports multiple subtypes:

* **Rules** (`subtype: rule`): Project guidelines in `.cursor/rules/*.mdc` with MDC frontmatter (`description`, `globs`, `alwaysApply`)
* **Slash Commands** (`subtype: slash-command`): Custom commands in `.cursor/commands/*.md`
* **Hooks** (`subtype: hook`): Event-triggered scripts configured in `hooks.json`
* **Plugins** (`subtype: plugin`): Bundles of rules, skills, agents, commands, hooks, and MCP servers defined by a `.cursor-plugin/plugin.json` manifest

Plugins are the most comprehensive package type for Cursor, containing multiple components in a single distributable unit. The `plugin.json` manifest requires only a `name` field and optionally includes `description`, `version`, `author`, `keywords`, `logo`, and paths to component directories.

```json theme={null}
{
  "name": "my-plugin",
  "description": "Development toolkit with linting and testing",
  "version": "1.0.0",
  "author": { "name": "Jane Doe" },
  "mcpServers": {
    "playwright": {
      "command": "npx",
      "args": ["-y", "@playwright/mcp@latest"]
    }
  }
}
```

<Note>
  Cursor plugins are available via the [Cursor Marketplace](https://cursor.com/marketplace). See the [official plugin docs](https://cursor.com/docs/plugins/building) for full details.
</Note>

### Copilot Format Details

The `copilot` format supports three subtypes:

* **Rules** (`subtype: rule`): Path-specific instructions in `.github/instructions/*.instructions.md`
* **Chat Modes** (`subtype: chatmode`): Custom chat modes in `.github/chatmodes/*.chatmode.md`
* **Skills** (`subtype: skill`): Reusable task-specific capabilities in `.github/skills/<name>/SKILL.md`

Skills are discovered by Copilot based on context and loaded when relevant. Each skill requires:

* A `name` field (lowercase, hyphens for spaces, max 64 chars)
* A `description` field (max 1024 chars)
* Markdown body with detailed instructions

<Note>
  Skills require VS Code Insiders with the `chat.useAgentSkills` setting enabled.
</Note>

### Gemini Format Details

The `gemini` format supports two subtypes:

* **Slash Commands** (`subtype: slash-command`): Custom commands defined in `.toml` files, installed to `.gemini/commands/`
* **Extensions** (`subtype: extension`): Full extensions with MCP servers and context files, installed to `.gemini/extensions/<name>/gemini-extension.json`

Extensions support:

* MCP (Model Context Protocol) server configurations
* Custom context files
* Tool exclusions
* Experimental settings

### MCP Format Details

The `mcp` format is for MCP (Model Context Protocol) server packages. Use `subtype: tool`.

When installed, PRPM reads the `mcpServers` object from your package's JSON file and merges each server entry into the user's editor config. This works across 11 editors — Claude Code, Cursor, VS Code, Codex, Windsurf, Gemini, Kiro, OpenCode, Trae, Amp, and Zed.

Your package file should be a JSON file with a `mcpServers` object:

```json mcp-server.json theme={null}
{
  "name": "My MCP Server",
  "description": "What this server does",
  "version": "1.0.0",
  "mcpServers": {
    "my-server": {
      "command": "npx",
      "args": ["-y", "@my-org/my-mcp-server"]
    }
  }
}
```

See the [MCP Servers guide](/guides/mcp-servers) for full publishing and installation details.

## Installing for Specific Formats

Auto-detect format from your project:

```bash theme={null}
prpm install @prpm/@username/typescript-best-practices
```

Specify a format explicitly:

```bash theme={null}
prpm install @prpm/@username/typescript-best-practices --as cursor
```

## Format Detection

PRPM auto-detects the format based on your project structure:

* `.claude/` directory → `claude`
* `.cursor/` directory → `cursor`
* `.continue/` directory → `continue`
* `.windsurf/` directory → `windsurf`
* `.kiro/` directory → `kiro`
* `.agents/` directory → `agents.md`
* `.ruler/` directory → `ruler`
* `.opencode/` directory → `opencode`
* `.factory/` directory → `droid`
* `.trae/` directory → `trae`
* `.aider/` or `CONVENTIONS.md` file → `aider`
* `.zencoder/` directory → `zencoder`
* `.replit/` directory or `.replit` file → `replit`
* `.mcp/` directory → `mcp`

## File Installation Paths

Each format has a standard installation path:

| Format      | Directory                                                           | Example                                                                               |
| ----------- | ------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
| `claude`    | `.claude/agents/`, `.claude/skills/`, or `.claude/commands/`        | `.claude/skills/my-skill/SKILL.md`                                                    |
| `cursor`    | `.cursor/rules/`, `.cursor/commands/`, or `.cursor-plugin/`         | `.cursor/rules/typescript.mdc` or `.cursor-plugin/plugin.json`                        |
| `continue`  | `.continue/prompts/`                                                | `.continue/prompts/refactor.md`                                                       |
| `windsurf`  | `.windsurf/rules/`                                                  | `.windsurf/rules/python.md`                                                           |
| `copilot`   | `.github/instructions/`, `.github/chatmodes/`, or `.github/skills/` | `.github/skills/my-skill/SKILL.md`                                                    |
| `kiro`      | `.kiro/agents/` or `.kiro/steering/`                                | `.kiro/agents/code-reviewer.json`                                                     |
| `gemini`    | `.gemini/commands/` or `.gemini/extensions/`                        | `.gemini/commands/refactor.toml` or `.gemini/extensions/my-ext/gemini-extension.json` |
| `opencode`  | `.opencode/agent/` or `.opencode/command/`                          | `.opencode/agent/code-reviewer.md`                                                    |
| `ruler`     | `.ruler/rules/` or `.ruler/agents/`                                 | `.ruler/rules/typescript.md`                                                          |
| `droid`     | `.factory/skills/` or `.factory/commands/`                          | `.factory/skills/code-review/SKILL.md`                                                |
| `trae`      | `.trae/rules/`                                                      | `.trae/rules/typescript.md`                                                           |
| `aider`     | `CONVENTIONS.md` or `.aider/`                                       | `CONVENTIONS.md`                                                                      |
| `zencoder`  | `.zencoder/rules/`                                                  | `.zencoder/rules/typescript.md`                                                       |
| `replit`    | `.replit/` or `replit_agent_instructions.md`                        | `replit_agent_instructions.md`                                                        |
| `agents.md` | `.agents/`                                                          | `.agents/code-reviewer.md`                                                            |
| `mcp`       | `.mcp/servers/`                                                     | `.mcp/servers/filesystem.json`                                                        |

## Multi-Format Packages

Some packages support multiple formats. PRPM will install the appropriate version based on your environment:

```json theme={null}
{
  "name": "@username/typescript-rules",
  "version": "1.0.0",
  "files": [
    {
      "path": ".cursor/rules/typescript.mdc",
      "format": "cursor"
    },
    {
      "path": ".windsurf/rules/typescript.md",
      "format": "windsurf"
    }
  ]
}
```

## Next Steps

<CardGroup cols={2}>
  <Card title="Packages" icon="box" href="/concepts/packages">
    Learn more about packages
  </Card>

  <Card title="Publishing Guide" icon="book" href="/publishing/getting-started">
    Publish multi-format packages
  </Card>
</CardGroup>
