docs: re-init CLAUDE.md and correct README command names - #2
Conversation
Replace the seed CLAUDE.md placeholder with a full runtime prompt for this repo: current state (renamed template scaffold, no microphone domain code yet), the build/test/lint/rubric-gate commands, the CLI architecture and its three enforced contracts (CliError, the stdout/stderr split, --json), the checklist for adding a verb or noun, and the CI/release + vendored-skill conventions. Fix the README quickstart, which told readers to run `microphone-cli`. pyproject.toml declares the console script as `microphone`, so `uv run microphone-cli whoami` failed with "Failed to spawn". Also correct the backend description (this agent runs `colleague`, not the template's `claude`), drop the stale skill count, and swap the template-only rename section for a Development section. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AyhJ7A4hUqPJHjR9hfBJQ4
|
/agentic_review |
PR Summary by QodoInitialize Claude guidance and correct README command names
AI Description
Diagram
High-Level Assessment
Files changed (5)
|
|
Code Review by Qodo
1.
|
Both findings were correct and verified locally. Review comment 3944722148 — `markdownlint-cli2` was listed among the `uv run` commands, but it is an npm tool and is not in the dev dependency group. It resolved on my machine only because it happens to be installed globally via nvm; a fresh checkout following CLAUDE.md would hit command-not-found. Document the `npm install -g markdownlint-cli2@0.21.0` step, pinned to the version CI installs. Review comment 3944722151 — the docs claimed `version-check` enforces a version bump. The workflow compares against origin/main as strings and fails on equality only, so a downgrade passes. Describe it as a forgotten-bump tripwire instead. The workflow itself is unchanged: the string comparison is identical in guildmaster and steward, so tightening it is an upstream change, not a local divergence. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AyhJ7A4hUqPJHjR9hfBJQ4
|



What
Runs
/initon this repo: replaces the seedCLAUDE.mdplaceholder with a realruntime prompt, and corrects
README.md— which documented a command that doesnot exist.
Why
CLAUDE.mdshipped as the template's self-initializing seed. It carried twoinaccuracies: it told readers to run
/initto produce the real file, and itasserted that
culture.yamldeclaresbackend: claude. It declarescolleague— which is whyAGENTS.colleague.mdis the resident prompt filedoctorchecks for.The README quickstart was broken.
pyproject.tomldeclares the console scriptas
microphone, notmicrophone-cli:CLAUDE.md
Written for what a future instance actually needs and cannot get from one file:
domain code exists yet. Names the specific files still carrying template prose
(
learn.py,overview.py's_ARTIFACTS,explain/catalog.py) so they getrewritten rather than quietly shipped.
lint set, markdownlint, and
teken cli doctor . --strict.register(sub)dispatch pattern; the three contractsthe rubric gate enforces (
CliErrorso no traceback escapes, the strictstdout/stderr split,
--jsoneverywhere); the_CliArgumentParser/_json_hintmechanism and the easy-to-missparser_class=type(p)propagation for nested nouns; and why
whoamiwalks up from__file__rather than the CWD.
path needs an
explain/catalog.pyentry (a test walks all keys), and any nounwith action-verbs must also expose
<noun> overview.and don't-hand-edit-
.claude/skills/.README
Commands now use
microphone, with a note that argparse still printsmicrophone-clias the program name in--help. Also: a scaffold-statusbanner, the stale skill count dropped (said 11; there are 19 vendored
directories), the backend line rewritten to describe this agent rather than the
template, and the template-only "Make it your own" rename section replaced with
a Development section.
Known inconsistency, not fixed here
The console script is
microphonebut every doc string, help line,learnpayload, and explain entry says
microphone-cli. Renaming either side touches~100 strings and several test assertions (
"usage: microphone-cli"), so this PRdocuments the mismatch rather than picking a side. Worth its own PR.
Verification
uv run pytest -q— 22 passeduv run teken cli doctor . --strict— all rubric bundles passmarkdownlint-cli2on the three changed docs — 0 errorsdevex pr lint— no violationsdevex pr delta— ran per the alignment-delta rule (this PR touchesCLAUDE.md); no sibling drift, no follow-up PRs neededDocs-only; version bumped
0.8.0→0.8.1per the every-PR rule.