docs: prune CLAUDE.md to navigation pointers - #292
Merged
Merged
Conversation
CLAUDE.md had accumulated duplicates of content owned by other files: the Justfile recipe list, CONTRIBUTING's code-quality and testing rules, README's cache locations, pyproject's coverage threshold and markers, and two divergent copies of the "adding a check/connector" steps. Some had already drifted — it documented connectors/script.py, which no longer exists, and omitted utils/project_config.py and utils/reapply_utils.py. Replace it with a table pointing at the document that owns each topic, plus rules for agents: use the documented just recipes, always open PRs with the repository template, never commit generated output_view_?.py, never persist credentials. Move the content that had no other home rather than dropping it: - docs/ARCHITECTURE.md (new): package layout, data flow, cache and storage locations, session state, generated output views, credentials, DataFrame and SQL conventions - CONTRIBUTING.md: view UI consistency rules (ui_utils), shared fixtures, view test harness and the Windows INTERNALERROR note, coverage threshold, PR template requirement; the duplicated source tree becomes a link to docs/ARCHITECTURE.md - README.md: documentation map table Rewrite the /update_claude command, which previously mandated the exact sections removed here. It now routes changes to the owning document and treats an unchanged CLAUDE.md as the expected outcome. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
NKeleher
approved these changes
Sep 21, 2026
NKeleher
left a comment
Contributor
There was a problem hiding this comment.
Good idea to update and clean up the documentation.
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.



Pull Request Summary 🚀
What does this PR do? 📝
Prunes
CLAUDE.mdfrom 273 lines to 51 — a table of navigation pointers plus a short set of rules for agents — and moves the content it uniquely held into the documents that own those topics.Two rules were added for agents by request: always use the documented
justrecipes for linting and testing rather than ad-hocruff/pytestinvocations, and always open pull requests using.github/pull_request_template.md.Why is this change needed? 🤔
CLAUDE.mdhad become a second copy of documentation owned elsewhere, and the copies had already drifted:connectors/script.pyas "an empty placeholder slated for removal (issue 194)" — the file no longer exists.utils/inventory omittedproject_config.pyandreapply_utils.py.fmt-py,fmt-md,fmt-all,pre-commit-run,test-cov-html, andpackage-workflow.CONTRIBUTING.md.Duplicated facts go stale silently, and an agent reading the stale copy acts on it. Single-sourcing each topic removes that failure mode.
CLAUDE.mdis also read by agents rather than people, so human-oriented material (project overview prose, installation context, architecture narrative) belongs inREADME.mdand thedocs/guides instead.How was this implemented? 🛠️
Each claim in
CLAUDE.mdwas checked against the filesystem to find its real owner, then routed:One further change was needed to make this durable:
.claude/commands/update_claude.mdpreviously instructed an agent to regenerateCLAUDE.mdwith "Architecture", "Setup & Installation", "API Documentation", "File Structure", and a "Recent Updates" section — running/update_claudeonce would have reverted this PR. It is rewritten as a router that sends changes to the owning document, treats an unchangedCLAUDE.mdas the expected outcome, and enumerates what must not be added back.No Python source was touched.
How to test or reproduce ? 🧪
Review suggestion: read
CLAUDE.mdfirst and confirm every pointer resolves to a file that genuinely covers that topic.Screenshots (if applicable) 📷
N/A — documentation only, no UI change.
Checklist ✅
pre-commitpasses on all five files; no Python changed, so the pytest suite is unaffected and was not runmarkdownlint-fixpassesorigin/mainis these five files onlyReviewer Emoji Legend
:code::smiley::+1::100:...and I want the author to know it! This is a way to highlight positive parts of a code review.
:star: :star: :star:And I am providing reasons why it needs to be addressed as well as suggested improvements.
:star: :star:And I am providing suggestions where it could be improved either in this PR or later.
:star:...and consider this a suggestion, not a requirement.
:question:This should be a fully formed question with sufficient information and context that requires a response.
:memo::pick:This does not require any changes and is often better left unsaid. This may include stylistic, formatting, or organization suggestions and should likely be prevented/enforced by linting if they really matter
:recycle:Should include enough context to be actionable and not be considered a nitpick.
🤖 Generated with Claude Code