Trim the README and relocate its reference material - #7
Open
CCDevelopForFun wants to merge 1 commit into
Open
Conversation
The README had grown to 369 lines / 2545 words and read as a reference manual. Now 205 lines / ~1200 words, with nothing lost — the removed material moved to files that either already existed or now do. The largest single problem was that adapter selection and prerequisites were restated across 17 lines in 8 places (tagline, intent paragraph, quick-start comments, npm-install comments, SVG alt text, architecture prose, the ADL field table, and the chat section), each carrying its own copy of "needs X on PATH". Those collapse into one Adapters table that is now the single source of truth. The intent paragraph also enumerated every per-adapter exception in 205 words, duplicating the capability matrix it linked to; it now defers to the matrix. Relocated rather than deleted: - serve flags, endpoints, and client example -> new docs/serve.md - the 14-row examples table -> new examples/README.md, which the directory previously lacked, expanded to cover all 19 entries (the old table missed serve-test.yaml, with-installs.yaml, and the bindings/schedulers detail) - the release-history table and its v0.1.x details block -> CHANGELOG.md, which already documents every tag from v0.1.0 to v0.8.0 - the repo-layout table -> AGENTS.md, which carries the same table Also fixes six inaccuracies found while reading it, four of them omissions from the claude-adapter work: runtime-claude was missing from the repo layout, the source-clone build, and the e2e ADAPTER list, and --resume was documented as "Pi + opencode + codex" despite claude supporting it. The MCP section also stated the Pi-only .pi/mcp.json mechanism as though it were general.
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.
Summary
The README had grown to 369 lines / 2,545 words and read as a reference manual rather than a front door. This brings it to 205 lines / ~1,200 words (−44% lines, −54% words) with nothing lost — every removed block moved to a file that either already existed or now does, verified mechanically rather than by eye.
The dominant problem was duplication of one fact. Adapter selection and prerequisites were restated across 17 lines in 8 separate places — the tagline, the intent paragraph, the quick-start
agentctl runcomments, the npm-install comments, the SVG alt text, the architecture prose, the ADL field table, and the chat section — each maintaining its own copy of "needsXCLI onPATH". Adding a fourth adapter meant editing all eight, which is exactly how the four accuracy bugs below crept in. They now collapse into a single## Adapterstable that is the source of truth, linked from everywhere else.The second problem was the intent paragraph: 205 words enumerating every per-adapter exception (which harness rejects extensions, which rejects subagents, which pins which provider) — duplicating the capability matrix it linked to in the same breath. It now states the idea in two sentences and defers to the matrix.
Part 1: Changes
1. README.md:7-18 — one Adapters table replaces 17 scattered lines
Why this matters: a fifth adapter is now one row, not eight edits.
2. New
docs/serve.md— the HTTP reference moves outThe
### Flagsand### Endpointstables plus the curl example were 27 lines of API reference in a README. The README keeps a four-line orientation and a link; the tables, error codes, SSE frame format, and the deferred metrics/auth note all move intact.3. New
examples/README.md— the examples index gets a real homeThe 14-row examples table was deleted from the README, but
examples/had no README, so it had nowhere to go. Created one — and expanded it, because the old table was itself incomplete: it covered 14 of the directory's 19 entries, omittingserve-test.yaml,with-installs.yaml, and any detail onbindings/orschedulers/. Now organised as one-per-adapter / by-feature / serving-and-scheduling.4. README.md:195-201 — Status and Repo layout become links
The 36-line Status section (a release table plus a
<details>block of 11 v0.1.x tags) duplicatedCHANGELOG.md, which documents every tag from v0.1.0 to v0.8.0 across 12 version sections. The 17-row Repo layout table duplicated the one inAGENTS.md. Both are now one-line links under## Project.5. Six accuracy fixes found while reading
Four are omissions from #3, the claude-adapter PR — each in one of the eight duplicated spots, which is the point:
runtime-claude/rowruntime-codexorruntime-claudeADAPTER=pi|opencode|codex--resumewas documented as "(Pi + opencode + codex)" though claude supports itTwo were pre-existing:
.pi/mcp.jsonmechanism as if it were general behaviour across adapters## Commandslistedagentctl servenowhere despite a whole section documenting itPart 2: Assumptions & Decisions
Relocate, never delete
/v1/*endpoints,SCREAMING_CASEenv vars, referenced file paths,agentctl <verb>forms — and asserted each still appears in the new README or a linked doc. Final result: 12 referenced files, 0 unreferenced; all--flags, endpoints, and env vars homed.Kept the ADL field table in the README
docs/. Rejected as it would leave the README unable to answer "what can I express?".Kept the feature guides, tightened them
## Feature guidesheading and trimmed prose; the YAML snippets stay.Left the version claim and the quick-start model id alone
Part 3: Potential Surprises
Two things I deliberately did not touch, both worth your call:
## Projectsays "Developer preview" without a version. The old text saidv0.7.0, which matches the latest git tag — butCHANGELOG.mddocuments[0.8.0] — 2026-07-02as released, and the README already describedserveas v0.8. Rather than pick a version I can't confirm, I dropped the number. If 0.8.0 shipped, the tag is missing.claude-sonnet-4-20250514. It works (the pi-ai 0.82.1 bump only added newer ids), but it's a dated identifier whileexamples/hello-claude.yamlusesclaude-opus-4-6. Changing it is a functional edit, not a verbosity one.## Feature guidesintroduces anh3layer the README didn't have. It groups seven previously top-level sections, which shortens the GitHub sidebar table of contents considerably — a readability gain, but it does change the anchor links for those sections (e.g.#skills→ still#skills, but#chat--sessions→#sessions). Any external deep links to the old anchors would break.The
## Examplessection is now three lines pointing atexamples/README.md. If you'd rather the table stayed inline, it's one revert of that hunk — the new file can stay as the fuller index either way.docs/serve.mdis not linked fromdocs/architecture/README.md, which indexes the other docs. It isn't an architecture doc, so I left that index alone rather than widen its scope.🤖 Generated with Claude Code