From 31ab9acc43cbb45021b5d618b04fec16d55a7a2a Mon Sep 17 00:00:00 2001 From: Pedro Rodrigues Date: Wed, 15 Jul 2026 11:51:13 +0100 Subject: [PATCH 1/5] feat: add Kimi Code and Grok Build plugin support Extend the multi-vendor plugin layout so the `plugins` CLI (vercel-labs/plugins) can install Supabase into Kimi Code and Grok Build, alongside the existing Claude Code, Cursor, Codex, Copilot, and Gemini surfaces. - Add `.kimi-plugin/plugin.json` for Kimi Code, with the Supabase MCP server declared inline (X-Source-Name: kimi-plugin) since Kimi reads its manifest natively and the repo has no root `.mcp.json`. - Grok Build needs no dedicated manifest: the CLI installs it through Grok's Claude Code compatibility layer, which reuses `.claude-plugin/`. - Wire Kimi into the release pipeline: release-please bumps for the manifest version and the MCP X-Source-Version, and `.kimi-plugin/` is added to the release tarball. - Document Grok/Kimi support and the `plugins` CLI in AGENTS.md. Verified headless with `npx plugins@1.3.4 add --target {kimi,cursor,grok}`: Kimi and Cursor install cleanly; Grok completes preparation and only fails on the native `grok` binary being absent from PATH. Closes AI-926, AI-927, AI-928. Refs AI-925. Co-Authored-By: Claude Opus 4.8 (1M context) --- .github/workflows/release.yml | 2 +- .kimi-plugin/plugin.json | 37 +++++++++++++++++++++++++++++++++++ AGENTS.md | 21 ++++++++++++++++++-- release-please-config.json | 10 ++++++++++ 4 files changed, 67 insertions(+), 3 deletions(-) create mode 100644 .kimi-plugin/plugin.json diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index a6c5ff4..84a01e7 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -25,7 +25,7 @@ jobs: if: ${{ steps.release.outputs.release_created }} run: | tar -czvf "supabase-plugin.tar.gz" --dereference \ - .claude-plugin/ .cursor-plugin/ .codex-plugin/ \ + .claude-plugin/ .cursor-plugin/ .codex-plugin/ .kimi-plugin/ \ .github/plugin/ agents/ \ gemini-extension.json SUPABASE.md \ skills/ assets/ || exit 1 diff --git a/.kimi-plugin/plugin.json b/.kimi-plugin/plugin.json new file mode 100644 index 0000000..4e0ea2d --- /dev/null +++ b/.kimi-plugin/plugin.json @@ -0,0 +1,37 @@ +{ + "name": "supabase", + "version": "0.1.12", + "description": "Official Supabase plugin for Kimi Code with bundled Supabase skills and MCP access for project management, database work, auth, storage, and Postgres best practices.", + "author": { + "name": "Supabase", + "email": "support@supabase.io", + "url": "https://supabase.com" + }, + "homepage": "https://supabase.com", + "repository": "https://github.com/supabase-community/supabase-plugin", + "license": "MIT", + "keywords": [ + "supabase", + "postgres", + "database", + "backend", + "mcp" + ], + "skills": "./skills/", + "mcpServers": { + "supabase": { + "type": "http", + "url": "https://mcp.supabase.com/mcp", + "headers": { + "X-Source-Name": "kimi-plugin", + "X-Source-Version": "0.1.12" + } + } + }, + "interface": { + "displayName": "Supabase", + "shortDescription": "Supabase skills and MCP tools for Kimi Code", + "developerName": "Supabase", + "websiteURL": "https://supabase.com" + } +} diff --git a/AGENTS.md b/AGENTS.md index 3ca02a9..8e73dd0 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -1,6 +1,12 @@ # AGENTS.md -This repository is the plugin distribution repo for Supabase across Claude Code, Cursor, Codex, and Gemini. +This repository is the plugin distribution repo for Supabase across Claude Code, Cursor, Codex, GitHub Copilot, Gemini, Grok Build, and Kimi Code. + +These vendors are installable through the vendor-neutral [`plugins`](https://github.com/vercel-labs/plugins) CLI, which translates the shared plugin layout into each target's native format: + +```bash +npx plugins add supabase-community/supabase-plugin +``` ## Purpose @@ -9,11 +15,14 @@ Keep this repository focused on the shared multi-vendor plugin layout: - `.claude-plugin/plugin.json` defines the Claude Code plugin identity and metadata - `.cursor-plugin/plugin.json` defines the Cursor plugin surface - `.codex-plugin/plugin.json` defines the Codex plugin surface +- `.kimi-plugin/plugin.json` defines the Kimi Code plugin surface (with its MCP server declared inline) - `.github/plugin/plugin.json` defines the GitHub Copilot plugin surface - `agents/claude/.mcp.json`, `agents/cursor/mcp.json`, `agents/codex/.app.json`, and `agents/copilot/.mcp.json` hold agent-specific MCP config files - `gemini-extension.json` defines the Gemini extension manifest - `skills/` contains the shipped, real skill files consumed by the supported plugin surfaces +Grok Build does not have its own manifest: the `plugins` CLI installs it through Grok's Claude Code compatibility layer, which reads `.claude-plugin/plugin.json` (and therefore `agents/claude/.mcp.json`). There is no `.grok-plugin/` directory to maintain. + This repo should stay self-contained. Claude marketplace installs copy the plugin into Claude's local cache, so paths outside the plugin root are fragile and should be avoided. ## Important Commands @@ -26,7 +35,7 @@ npx claude plugin validate .claude-plugin/plugin.json ## Editing Rules -- Do not move `skills/`, `agents/`, `.claude-plugin/plugin.json`, `.cursor-plugin/plugin.json`, or `.codex-plugin/plugin.json` out of the repo root layout. +- Do not move `skills/`, `agents/`, `.claude-plugin/plugin.json`, `.cursor-plugin/plugin.json`, `.codex-plugin/plugin.json`, or `.kimi-plugin/plugin.json` out of the repo root layout. - Do not replace `skills/` with a symlink or submodule reference. - Keep the plugin name stable as `supabase` unless there is a deliberate migration plan. - When changing descriptions or keywords, update all relevant `plugin.json` files together. @@ -52,6 +61,14 @@ Known vendor documentation pages: - https://docs.github.com/en/copilot/reference/copilot-cli-reference/cli-plugin-reference - Gemini CLI: - https://geminicli.com/docs/extensions/writing-extensions/ +- Grok Build: + - https://x.ai/cli + - Installed via the `plugins` CLI using Grok's Claude Code compatibility layer (reuses `.claude-plugin/`); no dedicated manifest. +- Kimi Code: + - https://www.kimi.com/code + - Installed via the `plugins` CLI into Kimi's native plugin store; uses `.kimi-plugin/plugin.json` with skills, commands, hooks, and MCP servers (no agents or LSP support). +- `plugins` CLI (vendor-neutral installer): + - https://github.com/vercel-labs/plugins For vendors listed above, read the official documentation pages for the vendor you are working on and follow the plugin structure required by those docs. diff --git a/release-please-config.json b/release-please-config.json index 0a6234c..abdc009 100644 --- a/release-please-config.json +++ b/release-please-config.json @@ -20,6 +20,11 @@ "path": ".codex-plugin/plugin.json", "jsonpath": "$.version" }, + { + "type": "json", + "path": ".kimi-plugin/plugin.json", + "jsonpath": "$.version" + }, { "type": "json", "path": ".github/plugin/plugin.json", @@ -40,6 +45,11 @@ "path": "agents/cursor/mcp.json", "jsonpath": "$.supabase.headers[\"X-Source-Version\"]" }, + { + "type": "json", + "path": ".kimi-plugin/plugin.json", + "jsonpath": "$.mcpServers.supabase.headers[\"X-Source-Version\"]" + }, { "type": "json", "path": "agents/copilot/.mcp.json", From 6d9d6102f57e505e9fe7b3b77f8daa0f6008c5d2 Mon Sep 17 00:00:00 2001 From: Pedro Rodrigues Date: Wed, 15 Jul 2026 12:23:41 +0100 Subject: [PATCH 2/5] feat: give Grok a dedicated manifest and MCP config; add Kimi MCP source file MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Grok Build natively prefers .grok-plugin/plugin.json over .claude-plugin/ (verified against grok v0.2.101), so it now ships its own manifest pointing at agents/grok/mcp.json with X-Source-Name "grok-plugin" instead of being tracked as "claude-code-plugin". This holds via both `grok plugin install` and the `plugins` CLI, which stages the whole repo. Kimi Code cannot reference an external MCP file — its loader evaluates `mcpServers` as an inline object (Object.entries(manifest.mcpServers)), so a path string breaks. agents/kimi/mcp.json is added as the canonical, tracked source for layout consistency with the other vendors; .kimi-plugin/plugin.json inlines the same block (kept in sync via release-please). - Add .grok-plugin/plugin.json + agents/grok/mcp.json. - Add agents/kimi/mcp.json (mirrors the inline .kimi-plugin block). - release-please: bump versions for .grok-plugin, and X-Source-Version for agents/grok/mcp.json and agents/kimi/mcp.json. - release.yml: add .grok-plugin/ to the release tarball. - Document both vendor MCP quirks in AGENTS.md. Verified end-to-end with the real grok CLI, the kimi CLI package, and `npx plugins@1.3.4`: grok resolves agents/grok/mcp.json (grok-plugin), kimi loads exactly one inline server (kimi-plugin), cursor and claude still install cleanly. Co-Authored-By: Claude Opus 4.8 (1M context) --- .github/workflows/release.yml | 2 +- .grok-plugin/plugin.json | 26 ++++++++++++++++++++++++++ AGENTS.md | 18 ++++++++++++------ agents/grok/mcp.json | 12 ++++++++++++ agents/kimi/mcp.json | 12 ++++++++++++ release-please-config.json | 15 +++++++++++++++ 6 files changed, 78 insertions(+), 7 deletions(-) create mode 100644 .grok-plugin/plugin.json create mode 100644 agents/grok/mcp.json create mode 100644 agents/kimi/mcp.json diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 84a01e7..a579082 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -25,7 +25,7 @@ jobs: if: ${{ steps.release.outputs.release_created }} run: | tar -czvf "supabase-plugin.tar.gz" --dereference \ - .claude-plugin/ .cursor-plugin/ .codex-plugin/ .kimi-plugin/ \ + .claude-plugin/ .cursor-plugin/ .codex-plugin/ .kimi-plugin/ .grok-plugin/ \ .github/plugin/ agents/ \ gemini-extension.json SUPABASE.md \ skills/ assets/ || exit 1 diff --git a/.grok-plugin/plugin.json b/.grok-plugin/plugin.json new file mode 100644 index 0000000..b6c5760 --- /dev/null +++ b/.grok-plugin/plugin.json @@ -0,0 +1,26 @@ +{ + "name": "supabase", + "version": "0.1.12", + "description": "Official Supabase plugin for Grok Build with bundled Supabase skills and MCP access for project management, database work, auth, storage, and Postgres best practices.", + "author": { + "name": "Supabase", + "url": "https://supabase.com" + }, + "repository": "https://github.com/supabase-community/supabase-plugin", + "license": "MIT", + "skills": "./skills/", + "mcpServers": "./agents/grok/mcp.json", + "keywords": [ + "supabase", + "postgres", + "database", + "backend", + "mcp", + "auth", + "storage", + "realtime", + "edge-functions", + "migrations", + "rls" + ] +} diff --git a/AGENTS.md b/AGENTS.md index 8e73dd0..0e85161 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -15,13 +15,17 @@ Keep this repository focused on the shared multi-vendor plugin layout: - `.claude-plugin/plugin.json` defines the Claude Code plugin identity and metadata - `.cursor-plugin/plugin.json` defines the Cursor plugin surface - `.codex-plugin/plugin.json` defines the Codex plugin surface -- `.kimi-plugin/plugin.json` defines the Kimi Code plugin surface (with its MCP server declared inline) +- `.grok-plugin/plugin.json` defines the Grok Build plugin surface +- `.kimi-plugin/plugin.json` defines the Kimi Code plugin surface (with its MCP server declared inline — see below) - `.github/plugin/plugin.json` defines the GitHub Copilot plugin surface -- `agents/claude/.mcp.json`, `agents/cursor/mcp.json`, `agents/codex/.app.json`, and `agents/copilot/.mcp.json` hold agent-specific MCP config files +- `agents/claude/.mcp.json`, `agents/cursor/mcp.json`, `agents/grok/mcp.json`, `agents/kimi/mcp.json`, `agents/codex/.app.json`, and `agents/copilot/.mcp.json` hold agent-specific MCP config files - `gemini-extension.json` defines the Gemini extension manifest - `skills/` contains the shipped, real skill files consumed by the supported plugin surfaces -Grok Build does not have its own manifest: the `plugins` CLI installs it through Grok's Claude Code compatibility layer, which reads `.claude-plugin/plugin.json` (and therefore `agents/claude/.mcp.json`). There is no `.grok-plugin/` directory to maintain. +Two vendor-specific MCP notes: + +- **Grok Build** natively prefers `.grok-plugin/plugin.json` over `.claude-plugin/plugin.json` (verified against `grok` `v0.2.101`), so it gets its own manifest pointing at `agents/grok/mcp.json` (`X-Source-Name: grok-plugin`). This holds whether it is installed through the `plugins` CLI (which stages the whole repo) or via `grok plugin install`. Grok resolves the `mcpServers` file-path reference. +- **Kimi Code** cannot reference an external MCP file: its plugin loader evaluates `mcpServers` as an inline object (`Object.entries(manifest.mcpServers)`), so a path string is treated as characters and breaks. `.kimi-plugin/plugin.json` therefore inlines the MCP server. `agents/kimi/mcp.json` is kept as the canonical, tracked source of that block for layout consistency with the other vendors; the two must stay in sync (release-please bumps the `X-Source-Version` in both). This repo should stay self-contained. Claude marketplace installs copy the plugin into Claude's local cache, so paths outside the plugin root are fragile and should be avoided. @@ -35,7 +39,7 @@ npx claude plugin validate .claude-plugin/plugin.json ## Editing Rules -- Do not move `skills/`, `agents/`, `.claude-plugin/plugin.json`, `.cursor-plugin/plugin.json`, `.codex-plugin/plugin.json`, or `.kimi-plugin/plugin.json` out of the repo root layout. +- Do not move `skills/`, `agents/`, `.claude-plugin/plugin.json`, `.cursor-plugin/plugin.json`, `.codex-plugin/plugin.json`, `.grok-plugin/plugin.json`, or `.kimi-plugin/plugin.json` out of the repo root layout. - Do not replace `skills/` with a symlink or submodule reference. - Keep the plugin name stable as `supabase` unless there is a deliberate migration plan. - When changing descriptions or keywords, update all relevant `plugin.json` files together. @@ -63,10 +67,12 @@ Known vendor documentation pages: - https://geminicli.com/docs/extensions/writing-extensions/ - Grok Build: - https://x.ai/cli - - Installed via the `plugins` CLI using Grok's Claude Code compatibility layer (reuses `.claude-plugin/`); no dedicated manifest. + - https://docs.x.ai/build/features/skills-plugins-marketplaces + - Uses a dedicated `.grok-plugin/plugin.json` (Grok prefers it over `.claude-plugin/`) pointing at `agents/grok/mcp.json`. Installable via the `plugins` CLI or `grok plugin install`. - Kimi Code: - https://www.kimi.com/code - - Installed via the `plugins` CLI into Kimi's native plugin store; uses `.kimi-plugin/plugin.json` with skills, commands, hooks, and MCP servers (no agents or LSP support). + - https://www.kimi.com/code/docs/en/kimi-code-cli/customization/plugins.html + - Installed via the `plugins` CLI into Kimi's native plugin store; uses `.kimi-plugin/plugin.json` with skills, commands, hooks, and MCP servers (no agents or LSP support). MCP servers must be declared inline — Kimi does not resolve external file references. - `plugins` CLI (vendor-neutral installer): - https://github.com/vercel-labs/plugins diff --git a/agents/grok/mcp.json b/agents/grok/mcp.json new file mode 100644 index 0000000..685cafa --- /dev/null +++ b/agents/grok/mcp.json @@ -0,0 +1,12 @@ +{ + "mcpServers": { + "supabase": { + "type": "http", + "url": "https://mcp.supabase.com/mcp", + "headers": { + "X-Source-Name": "grok-plugin", + "X-Source-Version": "0.1.12" + } + } + } +} diff --git a/agents/kimi/mcp.json b/agents/kimi/mcp.json new file mode 100644 index 0000000..9337e7c --- /dev/null +++ b/agents/kimi/mcp.json @@ -0,0 +1,12 @@ +{ + "mcpServers": { + "supabase": { + "type": "http", + "url": "https://mcp.supabase.com/mcp", + "headers": { + "X-Source-Name": "kimi-plugin", + "X-Source-Version": "0.1.12" + } + } + } +} diff --git a/release-please-config.json b/release-please-config.json index abdc009..958f170 100644 --- a/release-please-config.json +++ b/release-please-config.json @@ -25,6 +25,11 @@ "path": ".kimi-plugin/plugin.json", "jsonpath": "$.version" }, + { + "type": "json", + "path": ".grok-plugin/plugin.json", + "jsonpath": "$.version" + }, { "type": "json", "path": ".github/plugin/plugin.json", @@ -50,6 +55,16 @@ "path": ".kimi-plugin/plugin.json", "jsonpath": "$.mcpServers.supabase.headers[\"X-Source-Version\"]" }, + { + "type": "json", + "path": "agents/kimi/mcp.json", + "jsonpath": "$.mcpServers.supabase.headers[\"X-Source-Version\"]" + }, + { + "type": "json", + "path": "agents/grok/mcp.json", + "jsonpath": "$.mcpServers.supabase.headers[\"X-Source-Version\"]" + }, { "type": "json", "path": "agents/copilot/.mcp.json", From 0d265ea5e3b0e3862ee8bce2eb2bcde17ddefc5f Mon Sep 17 00:00:00 2001 From: Pedro Rodrigues Date: Wed, 15 Jul 2026 12:26:45 +0100 Subject: [PATCH 3/5] refactor: drop agents/kimi/mcp.json, keep Kimi MCP inline-only Kimi cannot reference an external MCP file (its loader treats mcpServers as an inline object), so a separate agents/kimi/mcp.json was a pure duplicate. Remove it and document Kimi as the explicit exception to the "MCP config lives in agents//" convention in AGENTS.md. The MCP server stays declared inline in .kimi-plugin/plugin.json. - Remove agents/kimi/mcp.json and its release-please X-Source-Version entry. - AGENTS.md: note the Kimi inline exception and that there is intentionally no agents/kimi/mcp.json. Re-verified: `npx plugins@1.3.4 add --target kimi` still loads exactly one MCP server (kimi-plugin). Co-Authored-By: Claude Opus 4.8 (1M context) --- AGENTS.md | 4 ++-- agents/kimi/mcp.json | 12 ------------ release-please-config.json | 5 ----- 3 files changed, 2 insertions(+), 19 deletions(-) delete mode 100644 agents/kimi/mcp.json diff --git a/AGENTS.md b/AGENTS.md index 0e85161..3f43da1 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -18,14 +18,14 @@ Keep this repository focused on the shared multi-vendor plugin layout: - `.grok-plugin/plugin.json` defines the Grok Build plugin surface - `.kimi-plugin/plugin.json` defines the Kimi Code plugin surface (with its MCP server declared inline — see below) - `.github/plugin/plugin.json` defines the GitHub Copilot plugin surface -- `agents/claude/.mcp.json`, `agents/cursor/mcp.json`, `agents/grok/mcp.json`, `agents/kimi/mcp.json`, `agents/codex/.app.json`, and `agents/copilot/.mcp.json` hold agent-specific MCP config files +- `agents/claude/.mcp.json`, `agents/cursor/mcp.json`, `agents/grok/mcp.json`, `agents/codex/.app.json`, and `agents/copilot/.mcp.json` hold agent-specific MCP config files - `gemini-extension.json` defines the Gemini extension manifest - `skills/` contains the shipped, real skill files consumed by the supported plugin surfaces Two vendor-specific MCP notes: - **Grok Build** natively prefers `.grok-plugin/plugin.json` over `.claude-plugin/plugin.json` (verified against `grok` `v0.2.101`), so it gets its own manifest pointing at `agents/grok/mcp.json` (`X-Source-Name: grok-plugin`). This holds whether it is installed through the `plugins` CLI (which stages the whole repo) or via `grok plugin install`. Grok resolves the `mcpServers` file-path reference. -- **Kimi Code** cannot reference an external MCP file: its plugin loader evaluates `mcpServers` as an inline object (`Object.entries(manifest.mcpServers)`), so a path string is treated as characters and breaks. `.kimi-plugin/plugin.json` therefore inlines the MCP server. `agents/kimi/mcp.json` is kept as the canonical, tracked source of that block for layout consistency with the other vendors; the two must stay in sync (release-please bumps the `X-Source-Version` in both). +- **Kimi Code is the one exception to the "MCP config lives in `agents//`" convention.** Kimi's plugin loader evaluates `mcpServers` as an inline object (`Object.entries(manifest.mcpServers)`), so a path string is iterated character-by-character and breaks — it cannot reference an external file. The Supabase MCP server (`X-Source-Name: kimi-plugin`) is therefore declared **inline** in `.kimi-plugin/plugin.json`, and there is intentionally no `agents/kimi/mcp.json`. When updating the shared MCP URL or headers, remember to edit the inline block in `.kimi-plugin/plugin.json` as well. This repo should stay self-contained. Claude marketplace installs copy the plugin into Claude's local cache, so paths outside the plugin root are fragile and should be avoided. diff --git a/agents/kimi/mcp.json b/agents/kimi/mcp.json deleted file mode 100644 index 9337e7c..0000000 --- a/agents/kimi/mcp.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "mcpServers": { - "supabase": { - "type": "http", - "url": "https://mcp.supabase.com/mcp", - "headers": { - "X-Source-Name": "kimi-plugin", - "X-Source-Version": "0.1.12" - } - } - } -} diff --git a/release-please-config.json b/release-please-config.json index 958f170..0e8c1c8 100644 --- a/release-please-config.json +++ b/release-please-config.json @@ -55,11 +55,6 @@ "path": ".kimi-plugin/plugin.json", "jsonpath": "$.mcpServers.supabase.headers[\"X-Source-Version\"]" }, - { - "type": "json", - "path": "agents/kimi/mcp.json", - "jsonpath": "$.mcpServers.supabase.headers[\"X-Source-Version\"]" - }, { "type": "json", "path": "agents/grok/mcp.json", From 95c27e8b4761a913fe2fdb24284b548ba9c00dfc Mon Sep 17 00:00:00 2001 From: Pedro Rodrigues Date: Wed, 15 Jul 2026 12:41:19 +0100 Subject: [PATCH 4/5] chore: align Grok/Kimi manifest keywords with the canonical list The new .grok-plugin and .kimi-plugin manifests split between the full 11-keyword list (claude, copilot) and the minimal 5 (cursor, codex). Align both new plugins to the full canonical keyword set used by the flagship .claude-plugin/plugin.json for consistency. Co-Authored-By: Claude Opus 4.8 (1M context) --- .kimi-plugin/plugin.json | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/.kimi-plugin/plugin.json b/.kimi-plugin/plugin.json index 4e0ea2d..5eaee54 100644 --- a/.kimi-plugin/plugin.json +++ b/.kimi-plugin/plugin.json @@ -15,7 +15,13 @@ "postgres", "database", "backend", - "mcp" + "mcp", + "auth", + "storage", + "realtime", + "edge-functions", + "migrations", + "rls" ], "skills": "./skills/", "mcpServers": { From 60b8b5b6b2d30a807f7b59ddc68c2c8798cf6ae5 Mon Sep 17 00:00:00 2001 From: Pedro Rodrigues Date: Wed, 15 Jul 2026 14:34:05 +0100 Subject: [PATCH 5/5] docs: drop the vendor-specific MCP notes from AGENTS.md Remove the Grok/Kimi MCP notes block. The plugin manifests remain; the test scaffolding that previously accompanied this change has moved to a dedicated branch/PR. Co-Authored-By: Claude Opus 4.8 (1M context) --- AGENTS.md | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index 3f43da1..dbe6e9c 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -16,17 +16,12 @@ Keep this repository focused on the shared multi-vendor plugin layout: - `.cursor-plugin/plugin.json` defines the Cursor plugin surface - `.codex-plugin/plugin.json` defines the Codex plugin surface - `.grok-plugin/plugin.json` defines the Grok Build plugin surface -- `.kimi-plugin/plugin.json` defines the Kimi Code plugin surface (with its MCP server declared inline — see below) +- `.kimi-plugin/plugin.json` defines the Kimi Code plugin surface (with its MCP server declared inline) - `.github/plugin/plugin.json` defines the GitHub Copilot plugin surface - `agents/claude/.mcp.json`, `agents/cursor/mcp.json`, `agents/grok/mcp.json`, `agents/codex/.app.json`, and `agents/copilot/.mcp.json` hold agent-specific MCP config files - `gemini-extension.json` defines the Gemini extension manifest - `skills/` contains the shipped, real skill files consumed by the supported plugin surfaces -Two vendor-specific MCP notes: - -- **Grok Build** natively prefers `.grok-plugin/plugin.json` over `.claude-plugin/plugin.json` (verified against `grok` `v0.2.101`), so it gets its own manifest pointing at `agents/grok/mcp.json` (`X-Source-Name: grok-plugin`). This holds whether it is installed through the `plugins` CLI (which stages the whole repo) or via `grok plugin install`. Grok resolves the `mcpServers` file-path reference. -- **Kimi Code is the one exception to the "MCP config lives in `agents//`" convention.** Kimi's plugin loader evaluates `mcpServers` as an inline object (`Object.entries(manifest.mcpServers)`), so a path string is iterated character-by-character and breaks — it cannot reference an external file. The Supabase MCP server (`X-Source-Name: kimi-plugin`) is therefore declared **inline** in `.kimi-plugin/plugin.json`, and there is intentionally no `agents/kimi/mcp.json`. When updating the shared MCP URL or headers, remember to edit the inline block in `.kimi-plugin/plugin.json` as well. - This repo should stay self-contained. Claude marketplace installs copy the plugin into Claude's local cache, so paths outside the plugin root are fragile and should be avoided. ## Important Commands