docs: README visibility overhaul — problem-first hook, dashboard hero, MCP quickstart - #77
Merged
Merged
Conversation
…, Why section, MCP quickstart - Rewrite README opening for the 5-second test: lead with the problem (understand an unfamiliar codebase + get a validated spec), drop 'cartography' from line 1, name the supported agents up front. - Add a real dashboard screenshot (docs/demo-dashboard-hero.png) as a hero image. Generated from a hand-authored demo workspace via the real writeDashboard() renderer — no LLM run needed. Build script: scripts/build-demo-dashboard.mjs (gitignored output). - Add a 'Why CodeCartographer' section: filesystem-as-memory, validated phases, spec-not-chatlog output. - Add a 'star if you use it' nudge to convert the existing install base into social signal. - Add docs/mcp-quickstart.md — 30-second setup for Claude Code, Cursor, Codex, Claude Desktop, opencode. Linked prominently from the README install section. - Add docs/visibility-roadmap.md for the user's later review (documents what was done tonight + what still needs the user). - Gitignore the demo workspace + non-hero screenshots (build artifacts); commit only the hero PNG and the build script. - GitHub repo topics updated (codebase, ai-agent, context-engineering, code-understanding, spec-driven) — done via gh, not in this commit. Tests: 270/270 pass. Build: clean.
The quickstart shipped wrong setup instructions for 4 of the 5 agents it documents, plus a verify step that hangs: - Claude Code: ~/.config/claude-code/config.json does not exist. Use `claude mcp add`, or a project-root .mcp.json. - Cursor: config lives in ~/.cursor/mcp.json, not ~/.cursor/config.json. - Codex: uses TOML ([mcp_servers.*] in ~/.codex/config.toml), not JSON. - opencode: uses an "mcp" key with type/array-command shape in opencode.json, not "mcpServers" in config.json. - `codecarto-mcp --version` is not a supported flag; the bin has no argv handling, so it starts the stdio server and blocks forever. Replaced with `which codecarto-mcp` plus a note on why it appears to hang. Claude Desktop was already correct and is unchanged. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The roadmap is an internal planning note — it states the current star and fork counts, calls out the lack of social signal, and lays out where to post. Shipping it in a public repo publishes that assessment to the exact audience it is about, on a branch whose purpose is improving perception. Untracked from git and added to .gitignore; the file stays on disk locally as a working document. Nothing linked to it, so no references break. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The hero screenshot rendered 0 tokens and 0 tool uses, and showed
defect-scan-mechanical as PENDING despite the demo status.yaml marking it
complete. Three separate bugs in the generator, all caused by the demo
data not matching the real pipeline contract:
- Phase ids: status.yaml used `defect-scan-mech`, but the shipped pipeline
declares `defect-scan-mechanical`. The phase never matched, so it
rendered as pending.
- Primary outputs: the script wrote findings/architecture/architecture.md
and findings/defect-scan/defects.md, but the pipeline declares
architecture-map.md and defect-scan-mechanical/mechanical-defects.md.
Missing primary outputs raised spurious blockers.
- Usage log: loadUsage expects `{version, runs: [...]}` and a status of
completed|aborted|error. The script emitted a bare top-level list with
status `complete`/`in-progress`, so every entry failed isUsageRun() and
was silently dropped — hence the zeros. The in-progress contracts entry
is dropped entirely, matching real behavior (usage is appended when a
phase finishes).
Hero now shows 3.43M tokens, 167 tool uses, 11m33s, and both completed
phases, which is what the alt text already claimed.
Also corrects the "What you get" list in the MCP quickstart, which
documented six output paths that do not exist. All seven now match the
primary_output values in pipeline-full-with-deep-audit.yaml.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This was referenced Aug 2, 2026
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.
What
The product has real adoption (~1,800 npm installs/month) but almost no social signal (1 GitHub star). People install and leave without starring or talking about it. This PR closes the discoverability + conversion gap — it is a marketing problem, not a quality problem.
Changes
docs/demo-dashboard-hero.png). Generated from a hand-authored demo workspace via the realwriteDashboard()renderer — no LLM run needed. Build script:scripts/build-demo-dashboard.mjs(output gitignored except the hero PNG).docs/mcp-quickstart.md: 30-second setup for Claude Code, Cursor, Codex, Claude Desktop, opencode. Linked prominently from the README install section..gitignore: demo workspace + non-hero screenshots gitignored as build artifacts.Review fixes (second pass)
The first draft of
docs/mcp-quickstart.mdshipped wrong setup instructions for 4 of the 5 agents it documents. Since this doc is the conversion path for the whole PR, every path was re-verified against vendor sources and the local machine:~/.config/claude-code/config.jsonclaude mcp add, or a project-root.mcp.json~/.cursor/config.json~/.cursor/mcp.json~/.codex/config.json(JSON)~/.codex/config.toml(TOML,[mcp_servers.*])config.json+mcpServersopencode.json+"mcp"key,type: local,commandas an arrayAlso fixed: Step 1 told users to run
codecarto-mcp --version, which is not a supported flag. The bin has no argv handling, so it starts the stdio server and blocks — a new user's first command was a frozen terminal. Replaced withwhich codecarto-mcpplus a note explaining why running it directly appears to hang.docs/visibility-roadmap.mdis no longer included. It is an internal planning note — it states the current star/fork counts, calls out the lack of social signal, and lays out where to post. Publishing that to the audience it describes, in the repo whose perception it is trying to improve, is self-defeating. It is now gitignored and kept locally as a working document. Nothing linked to it.Verification
Depends on
CI on this branch fails on the
npm audit --omit=dev --audit-level=highstep, which has been failing onmainand is unrelated to this PR's content. #78 fixes it. Merge #78 first, then update this branch and CI should go green.Not in this PR (done separately / needs user)
gh repo edit(already applied to the repo, not a commit): addedcodebase,ai-agent,context-engineering,code-understanding,spec-driven(was 7 topics, now 12).Hero screenshot was rendering broken data
The committed hero showed 0 recorded tokens, 0 tool uses, and
defect-scan-mechanicalas PENDING — while its own alt text claimed completed phases and per-phase telemetry. Three bugs inscripts/build-demo-dashboard.mjs, all from demo data not matching the real pipeline contract:defect-scan-mech; the shipped pipeline declaresdefect-scan-mechanical, so the phase never matched and rendered pending.architecture.md/defect-scan/defects.md; the pipeline declaresarchitecture-map.md/defect-scan-mechanical/mechanical-defects.md. Missing primary outputs raised spurious blockers.loadUsageexpects{version, runs: [...]}with statuscompleted|aborted|error. The script emitted a bare top-level list withcomplete/in-progress, so every entry failedisUsageRun()and was silently dropped. Hence the zeros.Hero now renders 3.43M tokens, 167 tool uses, 11m33s, and both completed phases.
The dashboard still reads "Attention Required" because the active
contractsphase has not yet written its artifact — that is the honest mid-run state, and any mid-run screenshot will show it. Worth a separate call on whether the hero should instead depict a finished run.Also fixed: the quickstart's "What you get" list documented six output paths that do not exist. All seven now match
primary_outputinpipeline-full-with-deep-audit.yaml.