feat(docs): rewrite contributor and end-user pages#4
Merged
cameroncooke merged 2 commits intomainfrom Apr 25, 2026
Merged
Conversation
Adds AGENTS.md for sub-agent contributors and expands CLAUDE.md with docs-authoring conventions used throughout the rest of this PR.
Two coordinated rewrites of the docs site, driven by the audit documents under docs/. Contributing / Architecture is now readable end-to-end without prior project knowledge. architecture.mdx is the canonical entry point with a Core terms glossary defining workflow, manifest, predicate, exposure, availability, runtime boundary, tool handler, fragment, structured output, next step, rendering, render session, daemon, and transport. Each architecture subpage opens with a plain-English orientation and a Terms-used-here recap that links back to the canonical glossary. contributing.mdx, tool-authoring.mdx, and testing.mdx received targeted define-before-use fixes. The Streaming tools section in tool-authoring was rewritten from one opaque example into three clearly scoped patterns: raw subprocess transcript (CLI raw mode only), typed domain fragments, and the xcodebuild pipeline; each helper in the pipeline table is explained, and a callout warns about ctx variable shadowing inside pipeline executors. End-user pages were polished per docs/reviews/docs-audit-end-user-vs- contributing.md: dropped the internal TypeScript interface and the XCODEBUILDMCP_CLI_OUTPUT_FORMAT section from output-formats.mdx, rewrote the tool-annotations passage in mcp-mode.mdx in user voice, and made small framing fixes across cli.mdx, xcode-ide.mdx, privacy.mdx, session-defaults.mdx, workflows.mdx, introduction.mdx, and setup.mdx. New pages: mcp-protocol-support.mdx declares which MCP protocol features XcodeBuildMCP implements, with full annotation key reference for power users. output-formats.mdx is rebuilt with cleaner separation of CLI output modes vs MCP structuredContent. Site infrastructure: new MermaidDiagram component for the diagrams in the architecture pages; routes.ts and index.ts updated to register all new pages and reorder the sidebar; small fixes to tabs.tsx, mdx-components.tsx, and scraps.css. The Contributing rewrite was validated by simulating six fresh-Claude readers asking realistic onboarding questions; all six landed correct answers, and the inconsistencies they surfaced (glossary gaps, a duplicate table cell, naming drift between final structured response and final envelope) have been patched. Audit documents under docs/ are checked in as supporting context for future passes; they are not published on the site.
Contributor
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 3db4301. Configure here.
|
|
||
| - `pnpm dev`: local dev server | ||
| - `pnpm build`: production build (static-generates every docs route) | ||
| - `pnpm run docs:sync`: refresh the bundled XcodeBuildMCP manifest snapshot |
There was a problem hiding this comment.
AGENTS.md fully duplicates CLAUDE.md risking drift
Low Severity
The newly added AGENTS.md is a duplicate of CLAUDE.md. This creates a maintenance burden, as future updates to project rules or documentation will require manual synchronization across both files, risking inconsistent instructions for different AI tools.
Reviewed by Cursor Bugbot for commit 3db4301. Configure here.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.


Two coordinated rewrites of the docs site so the published pages can be read end-to-end without prior project knowledge.
The Contributing section had drifted into contributor-jargon-first prose. Pages introduced canonical terms (manifest, runtime boundary, tool handler, daemon, transport, rendering) before defining them. Separately, end-user pages had accumulated developer-facing leaks: raw MCP annotation keys, internal TypeScript exports, an internal env var, all in pages targeted at users. Both problems are addressed here, driven by two audits checked in under
docs/:docs/reviews/docs-audit-end-user-vs-contributing.md— page-by-page audit of every non-Contributing page, with explicit fix listdocs/investigations/architecture-doc-accuracy-audit-2026-04-25.md— claim-by-claim verification ofarchitecture.mdxagainst the sourceContributing / Architecture (full rewrite)
architecture.mdxis now the canonical entry point. It opens in plain English, then a## Core termssection defines the architecture vocabulary once before any subpage uses it: workflow, manifest, predicate, exposure, availability, runtime boundary, tool handler, fragment, structured output, next step, rendering, render session, daemon, and transport. The existing Mermaid component diagram and design-pressures bullets stay in place; a new conceptual Request flow walkthrough lands before the diagram.Each of the six architecture subpages (runtime-boundaries, startup-config, manifest-visibility, tool-lifecycle, rendering-output, daemon) opens with a plain-English orientation paragraph and a short Terms used here recap that links back to the canonical glossary. Existing diagrams, tables, and contracts are preserved.
contributing.mdx,tool-authoring.mdx, andtesting.mdxreceived targeted accessibility fixes: define-before-use for handler / manifest / fragment / structured output / fixture / snapshot etc., without restructuring the practical setup or checklist content.The Streaming tools section in
tool-authoring.mdxwas rewritten from one opaque example into three clearly scoped patterns: raw subprocess transcript (CLI raw mode only), typed domain fragments, and the xcodebuild pipeline. Each of the five xcodebuild-pipeline helpers gets a one-line explanation in a table, and a callout warns about thectxvariable shadowing inside pipeline executors.AnyFragmentis documented as a closed union, and the architectural cost of adding a new fragment kind is called out explicitly.The rewrite was validated by simulating six fresh-Claude readers asking realistic onboarding questions of the rewritten pages. All six produced correct answers; the small set of inconsistencies they surfaced (two missing glossary entries, a duplicate table cell in the runtime-boundaries page, naming drift between "final structured response" and "final envelope" in rendering-output, an unstated
--output text → cli-textmapping) has been patched in this PR.End-user pages (polished per audit)
Per the end-user audit, removed contributor-facing content from user-facing pages and rewrote a few passages in user voice:
output-formats.mdx: dropped the internalStructuredOutputEnvelope<TData>TypeScript block and the "Environment signal for tool authors" section.mcp-mode.mdx: rewrote the tool-annotations passage as user-outcome prose; the rawreadOnlyHint/destructiveHint/openWorldHintreference is now on the newmcp-protocol-supportpage.cli.mdx: rewrote the per-workspace daemon section to lead with user-facing outcome rather than implementation detail.xcode-ide.mdx,privacy.mdx,session-defaults.mdx,workflows.mdx,introduction.mdx, andsetup.mdx.New pages
mcp-protocol-support.mdx(Reference group) — declares which MCP protocol features XcodeBuildMCP implements (tools, annotations, structured content, resources, notifications, prompts, server capabilities), with the full annotation key reference for power users.output-formats.mdxis effectively a rebuild around the trimmed scope: cleaner separation of CLI output modes vs MCPstructuredContent.Site infrastructure
app/docs/_components/mermaid-diagram.tsxcomponent for the diagrams used throughout the new architecture pages.app/docs/_data/routes.tsandapp/docs/_content/index.tsupdated to register all new slugs and reorder the Reference + Contributing sidebar groups.app/docs/_components/tabs.tsx,mdx-components.tsx, andapp/docs/_styles/scraps.css.Notes for review
docs/are checked in as supporting context. They live outsideapp/docs/_content/and are not published on the site.TOOLS.md,TOOLS-CLI.md) live in the main XcodeBuildMCP repo and are unchanged here.routes.tspage slug was removed — only added — so existing inbound links to user pages are unaffected.