Skip to content

docs(claude-md): make CLAUDE.md the contributor guide (ADR 0019) - #66

Merged
chrispezza merged 1 commit into
mainfrom
docs/claude-md-contributor-focus
Oct 12, 2026
Merged

chrispezza merged 1 commit into
mainfrom
docs/claude-md-contributor-focus

Conversation

@chrispezza

Copy link
Copy Markdown
Collaborator

Summary

  • CLAUDE.md goes from about 2,000 words to about 650. What left was restated product specification: the four workflow tables, the tier and run-conditionality model, the plugin tree, the deliverables and the ADR list. Each is now a link to its source.
  • What it gained: the difference between working on the repo and using the plugin here, and nine rules for changing the repo. Three of those were written nowhere before: a request that conflicts with an Accepted ADR has a legal move; a finding is never cleared by editing the check or a limit; hook kill-switches belong to the owner.
  • Nothing was silently dropped. Four runtime rules existed only in CLAUDE.md and so never reached plugin users. They stay in a labelled section and issue Move the runtime rules that live only in CLAUDE.md into the plugin #62 tracks moving them into the plugin, which is a product decision.
  • ADR 0019 records the decision, its alternatives and its evidence limits. ADRs 0006, 0016 and 0017 get appended back-link notes.
  • claude-md-scope check (warn): every relative link resolves, and the file stays within 1,000 words.
  • Guard: an ADR is protected only once it exists in HEAD, so a draft can be corrected before its first commit.

Behaviour change

Contributor sessions in this repo no longer receive the instruction to read .product-dev/ and greet with project status. Running the plugin's commands here is unchanged: the skills carry their own instructions.

Evidence and its limits

The constitution-lift experiment found no behavioural gain from splitting rules across layered files, so this does not layer rules. It did not test removing restated product documentation, and it did not test this repo. The case for this change is maintainability and audience separation.

Test plan

  • python checks/run_checks.py --ci — 18 checks, 0 findings
  • python -m unittest discover -s checks/tests — 26 tests pass
  • claude-md-scope reports a broken link and an over-budget file when given them
  • CI green

ADR impact

  • New ADR added: docs/adrs/0019-claude-md-contributor-guide.md
  • Existing ADRs amended by appended, dated sections: 0006, 0012, 0016, 0017

🤖 Generated with Claude Code

The root CLAUDE.md was about 2,000 words, mostly restating the skills, the
tier model, the plugin tree and the ADR list, and it told contributor
sessions to behave as the product. Every restatement in it had drifted at
least once, and plugin users never receive the file.

- Rewrite CLAUDE.md as about 650 words: two modes, a table of pointers to
  each source of truth, and nine rules for changing the repo, including a
  legal move for requests that conflict with an Accepted ADR
- Keep four runtime rules that never shipped in the plugin in a labelled
  section pending issue #62
- Add ADR 0019 and back-link amendments on ADRs 0006, 0016 and 0017
- Add the claude-md-scope check at warn: links resolve, 1,000-word budget
- Guard: protect an ADR only once it exists in HEAD so drafts can be revised
- Mark the two CLAUDE.md-era test documents as historical

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@chrispezza
chrispezza merged commit 4a6ed66 into main Oct 12, 2026
2 checks passed
@chrispezza
chrispezza deleted the docs/claude-md-contributor-focus branch October 12, 2026 18:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant