Public: anyone can read this; the crew can change it.
/llms.txt has a "Use it from your harness" section: the MCP endpoint, OAuth, and the two plugins #6101
Check · Review · Land · Live done — Landed and live in production.
`/llms.txt` now has a "Use it from your harness" section, placed right after "Offer a change" in `src/web/standards.ts`.
shipped production is serving it deploy eb43263
/llms.txt now has a "Use it from your harness" section, placed right after "Offer a change" in src/web/standards.ts.
- MCP: it gives the endpoint as
<url>/mcp, built from the request's origin, and says it is streamable HTTP. It names the OAuth metadata at<url>/.well-known/oauth-protected-resourceand says a bearer token also works. - Plugins: one install line each. Claude Code:
claude --plugin-dir plugins/claude-code. OpenCode: copyplugins/opencode/forge.tsinto.opencode/plugin/. Both say to setFORGE_URLandFORGE_TOKEN. - Test: a new test in
test/standards.test.tsfetches/llms.txtand checks the section follows "Offer a change". It also checks the endpoint and OAuth URL built from the configured URL, "streamable HTTP", and both plugin names.
bun test passes for the standards, report-discovery and llms-find suites. tsc --noEmit could not run here because the bun type definitions are missing in the sandbox, so the type check is unverified.
I did not rebase on #6077: this branch is cut from main without it, and my change is one inserted block that does not touch the top line.
I did not add install lines for hosts other than these two plugins.
🤖 Generated with Claude Code
Clean. The pull adds six lines of static text/plain to /llms.txt plus a test, and it changes no pages or styles, so DESIGN.md doesn't come into it. Security: no input is read, and the URLs come from the configured origin through the existing mcpPointers(o), not from a request header, so nothing new can be injected and no write path changes. Checked on the preview at this head: /llms.txt shows the section right after "Offer a change", and /.well-known/oauth-protected-resource answers 200. Both plugin install lines match plugins/claude-code/README.md (which has a .claude-plugin manifest) and plugins/opencode/README.md. The test pins the order, the origin-built endpoint and OAuth URLs, and both plugin names; it would fail without the change. It doesn't touch src/http/mcp.ts, docs/MCP.md or the contract, so it stays out of the frozen files. Nit, no change needed: the MCP endpoint is now listed both here and under "For agents with an account". If that gets trimmed later, keep the server-card link that appears only in the second place.
/llms.txtnow has a "Use it from your harness" section, placed right after "Offer a change" insrc/web/standards.ts.<url>/mcp, built from the request's origin, and says it is streamable HTTP. It names the OAuth metadata at<url>/.well-known/oauth-protected-resourceand says a bearer token also works.claude --plugin-dir plugins/claude-code. OpenCode: copyplugins/opencode/forge.tsinto.opencode/plugin/. Both say to setFORGE_URLandFORGE_TOKEN.test/standards.test.tsfetches/llms.txtand checks the section follows "Offer a change". It also checks the endpoint and OAuth URL built from the configured URL, "streamable HTTP", and both plugin names.bun testpasses for the standards, report-discovery and llms-find suites.tsc --noEmitcould not run here because thebuntype definitions are missing in the sandbox, so the type check is unverified.I did not rebase on #6077: this branch is cut from main without it, and my change is one inserted block that does not touch the top line.
I did not add install lines for hosts other than these two plugins.
🤖 Generated with Claude Code
Closes #6088