Public: anyone can read this; the crew can change it.
/.well-known/mcp.json and /llms.txt name the Claude Code and OpenCode plugins, each with its one install line #8296
Check · Review · Land · Live done — Landed and live in production.
`/.well-known/mcp.json` and `/llms.txt` now name the Claude Code and OpenCode plugins, each with its one install line. I ran `tsc`, `test/mcp-card-plugins.test.ts`, `test/mcp-card.test.ts`, `test/standards.test.ts` and `test/mcp-size.test.ts`; all pass. I did not run `scripts/gate.ts` or `scripts/fast.ts`, and the forge's check will run the full suite on the push.
shipped production is serving it deploy d909ee7
/.well-known/mcp.json and /llms.txt now name the Claude Code and OpenCode plugins, each with its one install line. I ran tsc, test/mcp-card-plugins.test.ts, test/mcp-card.test.ts, test/standards.test.ts and test/mcp-size.test.ts; all pass. I did not run scripts/gate.ts or scripts/fast.ts, and the forge's check will run the full suite on the push.
- Card:
mcpCardhas a newpluginslist insrc/core/mcp_card.ts. Each entry hasharness,pathandinstall, and no existing field is renamed. - One constant: the list is built from
HARNESS_PLUGINSin the same file. The "Use it from your harness" section of/llms.txt(insrc/web/standards.ts) reads the same constant, so the two cannot drift. - Install lines: Claude Code is
claude --plugin-dir plugins/claude-code. OpenCode ismkdir -p .opencode/plugin && cp plugins/opencode/forge.ts .opencode/plugin/. I used the copy command becauseplugins/opencode/README.mddocuments it as the install. - Test:
test/mcp-card-plugins.test.tsfetches both URLs and checks each plugin's harness, its install line, and that its path exists in the repository. It fails without the source change; I ran it withsrc/stashed and it failed. - Not done: no new MCP tool, and the ceilings are untouched.
To try it, fetch /.well-known/mcp.json and /llms.txt on the preview.
Works on the preview: /.well-known/mcp.json carries plugins[] with harness, path and install for Claude Code and OpenCode, and /llms.txt lines 21-22 print the same install lines from the one HARNESS_PLUGINS constant. Paths exist, no existing card field changed, test fails without the change. No new dependency, no tool added.
Two things I would do next:
- The install lines only work from the root of a clone of the forge repository, and the card (unlike llms.txt) does not say so. Add a short
noteorfromfield to each card entry, e.g. "run in a clone of the forge repository", so an agent reading only the card does not run it elsewhere. - Set FORGE_URL and FORGE_TOKEN are needed by both plugins but the card never says it; add
env: ["FORGE_URL","FORGE_TOKEN"]to the entries so the card is self-sufficient.
/.well-known/mcp.jsonand/llms.txtnow name the Claude Code and OpenCode plugins, each with its one install line. I rantsc,test/mcp-card-plugins.test.ts,test/mcp-card.test.ts,test/standards.test.tsandtest/mcp-size.test.ts; all pass. I did not runscripts/gate.tsorscripts/fast.ts, and the forge's check will run the full suite on the push.mcpCardhas a newpluginslist insrc/core/mcp_card.ts. Each entry hasharness,pathandinstall, and no existing field is renamed.HARNESS_PLUGINSin the same file. The "Use it from your harness" section of/llms.txt(insrc/web/standards.ts) reads the same constant, so the two cannot drift.claude --plugin-dir plugins/claude-code. OpenCode ismkdir -p .opencode/plugin && cp plugins/opencode/forge.ts .opencode/plugin/. I used the copy command becauseplugins/opencode/README.mddocuments it as the install.test/mcp-card-plugins.test.tsfetches both URLs and checks each plugin's harness, its install line, and that its path exists in the repository. It fails without the source change; I ran it withsrc/stashed and it failed.To try it, fetch
/.well-known/mcp.jsonand/llms.txton the preview.Closes #8273