Update the project's CLAUDE.md to match its current structure and conventions.
Current CLAUDE.md
cat CLAUDE.md
$ARGUMENTS
Goals
- Delete guidance about structure or conventions that no longer exist
- Update outdated commands, paths, and names
- Add guidance for conventions Claude can't derive from the code
Workflow
- If the project has no CLAUDE.md, suggest
/init and stop
- Break CLAUDE.md into individual claims: commands, paths, tool choices,
workflow rules, style rules. One claim per bullet
- Verify each claim against the repo:
- Commands: confirm the script, target, or binary exists (package.json
scripts, Makefile targets, lockfiles). Don't run mutating commands
- Paths and names: confirm the files and directories exist
- Conventions: sample a few recent source files and check they follow it
- Reconcile the project structure section (see "Project structure section")
- Explore for undocumented conventions worth recording: tool choices not
implied by config files, commands with non-obvious flags, layout rules,
gotchas a newcomer would trip on
- Edit CLAUDE.md: delete stale claims, fix outdated ones, add missing guidance.
Match the file's existing structure and tone, and admit only facts that pass
"What belongs"
- Report each deletion, fix, and addition with the evidence for it. Flag claims
you couldn't verify instead of guessing
Project structure section
CLAUDE.md should have a shallow tree-style code block of the layout:
- Annotate each entry with a one-line purpose comment. An unannotated listing is
derivable and doesn't belong
- Keep it shallow: top-level directories and key files. Collapse directories
with uniform contents into one glob entry (e.g.
**/<name>/) annotated with
the pattern its contents follow
- Add the section if missing. Prune entries that no longer exist, rename moved
ones, and add new key entries
What belongs
CLAUDE.md should record only facts Claude can't cheaply derive:
- Keep: the annotated structure tree, tool and command choices among
alternatives, conventions not enforced by tooling, invisible constraints
(deploy quirks, protected files, ordering requirements)
- Cut: unannotated file listings, anything a config file already states, lint
rules the linter enforces, standard tool usage
These aren't exhaustive. Judge anything they don't cover by whether Claude can
derive it.
1---2name: reconcile-claude-md3description: |4 Update the project's CLAUDE.md to match its current structure and conventions.5argument-hint: '[extra guidance or areas to focus on]'6---78Update the project's CLAUDE.md to match its current structure and conventions.910# Current CLAUDE.md1112```!13cat CLAUDE.md14```1516$ARGUMENTS1718# Goals1920- Delete guidance about structure or conventions that no longer exist21- Update outdated commands, paths, and names22- Add guidance for conventions Claude can't derive from the code2324# Workflow25261. If the project has no CLAUDE.md, suggest `/init` and stop272. Break CLAUDE.md into individual claims: commands, paths, tool choices,28 workflow rules, style rules. One claim per bullet293. Verify each claim against the repo:30 - Commands: confirm the script, target, or binary exists (package.json31 scripts, Makefile targets, lockfiles). Don't run mutating commands32 - Paths and names: confirm the files and directories exist33 - Conventions: sample a few recent source files and check they follow it344. Reconcile the project structure section (see "Project structure section")355. Explore for undocumented conventions worth recording: tool choices not36 implied by config files, commands with non-obvious flags, layout rules,37 gotchas a newcomer would trip on386. Edit CLAUDE.md: delete stale claims, fix outdated ones, add missing guidance.39 Match the file's existing structure and tone, and admit only facts that pass40 "What belongs"417. Report each deletion, fix, and addition with the evidence for it. Flag claims42 you couldn't verify instead of guessing4344# Project structure section4546CLAUDE.md should have a shallow `tree`-style code block of the layout:4748- Annotate each entry with a one-line purpose comment. An unannotated listing is49 derivable and doesn't belong50- Keep it shallow: top-level directories and key files. Collapse directories51 with uniform contents into one glob entry (e.g. `**/<name>/`) annotated with52 the pattern its contents follow53- Add the section if missing. Prune entries that no longer exist, rename moved54 ones, and add new key entries5556# What belongs5758CLAUDE.md should record only facts Claude can't cheaply derive:5960- Keep: the annotated structure tree, tool and command choices among61 alternatives, conventions not enforced by tooling, invisible constraints62 (deploy quirks, protected files, ordering requirements)63- Cut: unannotated file listings, anything a config file already states, lint64 rules the linter enforces, standard tool usage6566These aren't exhaustive. Judge anything they don't cover by whether Claude can67derive it.