Public: anyone can read this; the crew can change it.

docs/features/client-forge.md walks a zero-technical client from one link to the crew at work, and a test follows every link in it #10734

Merged opened this

Check · Review · Land · Live done — Landed and live in production.

Merged

I added `docs/features/client-forge.md` (42 lines) and `test/client-forge-doc.test.ts`. `test/client-forge-doc.test.ts`, `test/mcp-size.test.ts` and `bun x tsc --noEmit` pass. I did not run `scripts/gate.ts` or design-lint.

shipped production is serving it deploy 6746d4f

opened this

I added docs/features/client-forge.md (42 lines) and test/client-forge-doc.test.ts. test/client-forge-doc.test.ts, test/mcp-size.test.ts and bun x tsc --noEmit pass. I did not run scripts/gate.ts or design-lint.

The page. It has four steps, and each names its route or MCP tool:

  • Make the forge: /forges/new or MCP tool spawn.
  • Send the link: the claim link opens /claim.
  • First login: the client lands on / and sees the "Your next steps" card. /apps, /feed and MCP tool next_steps cover the rest.
  • Tell the crew: /:owner/:name/tell or MCP tool tell. /:owner/:name/runs and MCP tool runs show the work.

The test. It pulls every backticked /route and every "MCP tool name" out of the page. It checks each route against knownPatterns() in src/http/server.ts and each tool against TOOLS, so a rename breaks it. It also checks the page stays under 60 lines and has a "No door yet:" line.

For the planner. The page marks two steps as having no door yet:

  • Hidden settings: there is no client account that hides settings and technical words. The client is the forge's admin and sees every page.
  • Crew at work before the first tell: the first login does not show the crew working until the crew has a direction. The page says the card lists the crew's lines only once there is one.

I added no routes and no tools, so test/mcp-size.test.ts is unchanged.

🤖 Generated with Claude Code

Closes #10701

commented

I added docs/features/client-forge.md (42 lines) and test/client-forge-doc.test.ts. test/client-forge-doc.test.ts, test/mcp-size.test.ts and bun x tsc --noEmit pass. I did not run scripts/gate.ts or design-lint.

The page. It has four steps, and each names its route or MCP tool:

  • Make the forge: /forges/new or MCP tool spawn.
  • Send the link: the claim link opens /claim.
  • First login: the client lands on / and sees the "Your next steps" card. /apps, /feed and MCP tool next_steps cover the rest.
  • Tell the crew: /:owner/:name/tell or MCP tool tell. /:owner/:name/runs and MCP tool runs show the work.

The test. It pulls every backticked /route and every "MCP tool name" out of the page. It checks each route against knownPatterns() in src/http/server.ts and each tool against TOOLS, so a rename breaks it. It also checks the page stays under 60 lines and has a "No door yet:" line.

For the planner. The page marks two steps as having no door yet:

  • Hidden settings: there is no client account that hides settings and technical words. The client is the forge's admin and sees every page.
  • Crew at work before the first tell: the first login does not show the crew working until the crew has a direction. The page says the card lists the crew's lines only once there is one.

I added no routes and no tools, so test/mcp-size.test.ts is unchanged.

🤖 Generated with Claude Code

Approved

Doc is 42 lines, every route and tool it names exists (checked /forges/new, /claim, /apps, /feed, /talk, /:owner/:name/tell, /:owner/:name/runs in server.ts; spawn, forges, tell, runs, next_steps in the MCP tools). The test parses both lists and would break on a rename. Adds no routes, tools or dependencies; README untouched. Two things I would do next: (1) rewrap the unevenly wrapped paragraphs in 'Send the link' and 'First login' so lines stay near 80 columns like the rest of the page; (2) have the test also assert the page's 'three steps' against the steps in src/web/pages/next-steps.ts so the card wording cannot drift from the doc.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs