diff --git a/README.md b/README.md index c4dfffe..2a28597 100644 --- a/README.md +++ b/README.md @@ -298,18 +298,19 @@ These marketplace names auto-resolve to their GitHub repos: ### Supported Clients -| Client | Skills | Agent File | Hooks | Commands | -|--------|--------|------------|-------|----------| -| claude | `.claude/skills/` | `CLAUDE.md` | `.claude/hooks/` | `.claude/commands/` | -| copilot | `.agents/skills/` | `AGENTS.md` | No | No | -| codex | `.agents/skills/` | `AGENTS.md` | No | No | -| cursor | `.cursor/skills/` | `AGENTS.md` | No | No | -| opencode | `.agents/skills/` | `AGENTS.md` | No | No | -| gemini | `.agents/skills/` | `GEMINI.md` | No | No | -| factory | `.factory/skills/` | `AGENTS.md` | `.factory/hooks/` | No | -| ampcode | `.agents/skills/` | `AGENTS.md` | No | No | - -> **Note:** Clients supporting the universal `.agents/` folder (copilot, codex, opencode, gemini, ampcode) share the same skills directory. Commands are a Claude-specific feature. +| Client | Skills | Agent File | Hooks | Commands | GitHub Overrides | +|--------|--------|------------|-------|----------|------------------| +| claude | `.claude/skills/` | `CLAUDE.md` | `.claude/hooks/` | `.claude/commands/` | No | +| copilot | `.agents/skills/` | `AGENTS.md` | No | No | `.github/` | +| codex | `.agents/skills/` | `AGENTS.md` | No | No | No | +| cursor | `.cursor/skills/` | `AGENTS.md` | No | No | No | +| opencode | `.agents/skills/` | `AGENTS.md` | No | `.opencode/commands/` | No | +| gemini | `.agents/skills/` | `GEMINI.md` | No | No | No | +| factory | `.factory/skills/` | `AGENTS.md` | `.factory/hooks/` | No | No | +| ampcode | `.agents/skills/` | `AGENTS.md` | No | No | No | +| vscode | `.agents/skills/` | `AGENTS.md` | No | No | `.github/` | + +> **Note:** Clients supporting the universal `.agents/` folder (copilot, codex, opencode, gemini, ampcode, vscode) share the same skills directory. GitHub overrides (`.github/prompts/`, `copilot-instructions.md`) are copied to Copilot/VSCode's `.github/` folder. ## Marketplace Structure @@ -337,9 +338,12 @@ my-plugin/ ├── skills/ # Skill directories with SKILL.md (all clients) │ └── debugging/ │ └── SKILL.md -├── commands/ # Command files (.md) - Claude only +├── commands/ # Command files (.md) - Claude, OpenCode │ ├── build.md │ └── deploy.md +├── .github/ # GitHub overrides (Copilot, VSCode) +│ └── prompts/ +│ └── review.md ├── hooks/ # Hook files (Claude/Factory only) │ └── pre-commit.md └── AGENTS.md # Agent configuration (optional) diff --git a/docs/src/content/docs/guides/plugins.mdx b/docs/src/content/docs/guides/plugins.mdx index 2ebcdcd..5a0f3aa 100644 --- a/docs/src/content/docs/guides/plugins.mdx +++ b/docs/src/content/docs/guides/plugins.mdx @@ -11,7 +11,8 @@ Plugins are packages of AI tooling that can be shared across projects and client my-plugin/ ├── plugin.json ├── skills/ # Cross-client skills -├── commands/ # Claude-specific commands +├── commands/ # Commands (Claude, OpenCode) +├── .github/ # GitHub overrides (Copilot, VSCode) └── AGENTS.md ``` diff --git a/docs/src/content/docs/guides/workspaces.mdx b/docs/src/content/docs/guides/workspaces.mdx index 67f573c..29861ef 100644 --- a/docs/src/content/docs/guides/workspaces.mdx +++ b/docs/src/content/docs/guides/workspaces.mdx @@ -13,7 +13,7 @@ my-workspace/ │ ├── workspace.yaml # Workspace configuration │ └── sync-state.json # Tracks synced files (auto-generated) ├── .claude/ -│ └── commands/ # Claude-specific commands (from plugins) +│ └── commands/ # Claude commands (from plugins) ├── AGENTS.md # Agent instructions (auto-copied from template) └── CLAUDE.md # Claude-specific instructions (optional) ``` diff --git a/docs/src/content/docs/reference/clients.mdx b/docs/src/content/docs/reference/clients.mdx index 1751c7c..1af8f03 100644 --- a/docs/src/content/docs/reference/clients.mdx +++ b/docs/src/content/docs/reference/clients.mdx @@ -5,22 +5,22 @@ description: AI coding assistant clients supported by AllAgents. ## Client Comparison -| Client | Skills | Agent File | Hooks | Commands | -|--------|--------|------------|-------|----------| -| Claude | `.claude/skills/` | `CLAUDE.md` | `.claude/hooks/` | `.claude/commands/` | -| Copilot | `.agents/skills/` | `AGENTS.md` | No | `.github/prompts/` | -| Codex | `.agents/skills/` | `AGENTS.md` | No | No | -| Cursor | `.cursor/skills/` | `AGENTS.md` | No | No | -| OpenCode | `.agents/skills/` | `AGENTS.md` | No | `.opencode/commands/` | -| Gemini | `.agents/skills/` | `GEMINI.md` | No | No | -| Factory | `.factory/skills/` | `AGENTS.md` | `.factory/hooks/` | No | -| Amp Code | `.agents/skills/` | `AGENTS.md` | No | No | -| VSCode | `.agents/skills/` | `AGENTS.md` | No | `.github/prompts/` | +| Client | Skills | Agent File | Hooks | Commands | GitHub Overrides | +|--------|--------|------------|-------|----------|------------------| +| Claude | `.claude/skills/` | `CLAUDE.md` | `.claude/hooks/` | `.claude/commands/` | No | +| Copilot | `.agents/skills/` | `AGENTS.md` | No | No | `.github/` | +| Codex | `.agents/skills/` | `AGENTS.md` | No | No | No | +| Cursor | `.cursor/skills/` | `AGENTS.md` | No | No | No | +| OpenCode | `.agents/skills/` | `AGENTS.md` | No | `.opencode/commands/` | No | +| Gemini | `.agents/skills/` | `GEMINI.md` | No | No | No | +| Factory | `.factory/skills/` | `AGENTS.md` | `.factory/hooks/` | No | No | +| Amp Code | `.agents/skills/` | `AGENTS.md` | No | No | No | +| VSCode | `.agents/skills/` | `AGENTS.md` | No | No | `.github/` | :::note -Skills are the cross-client way to share reusable prompts. +Skills are the cross-client way to share reusable prompts. GitHub overrides (`.github/prompts/`, `copilot-instructions.md`) are copied to the workspace's `.github/` folder for Copilot/VSCode. ::: ### VSCode -VSCode syncs the same skills, agent file, and commands as Copilot. Additionally, adding `vscode` to `clients` triggers automatic `.code-workspace` file generation and MCP config syncing during `workspace sync`. See the [Workspaces guide](/guides/workspaces/#vscode-workspace-generation) for details. +VSCode syncs the same skills, agent file, and GitHub overrides as Copilot. Additionally, adding `vscode` to `clients` triggers automatic `.code-workspace` file generation and MCP config syncing during `workspace sync`. See the [Workspaces guide](/guides/workspaces/#vscode-workspace-generation) for details. diff --git a/src/core/transform.ts b/src/core/transform.ts index 82b23a4..af0a8ae 100644 --- a/src/core/transform.ts +++ b/src/core/transform.ts @@ -120,7 +120,7 @@ function getMapping(client: ClientType, options?: { clientMappings?: Record