Trim repo-derivable content from CLAUDE.md - #384
Merged
Conversation
CLAUDE.md is loaded into context at the start of every session, so anything a session can reconstruct by reading the repo is dead weight it pays for each time. Remove the parts that qualify: - Project overview: a paraphrase of README.md and doc.go. - Build and Test Commands: the standard go build/test/install/fmt/mod invocations. go fmt, go build and go mod tidy are already enforced by .pre-commit-config.yaml, and the CI line restates validate.yaml. The non-standard build rule survives under Code Style, where it has its rationale. - Architecture: interface signatures copied from store.go, the store implementation and seed file listings, the data pipeline tour, the CLI command list, and the config/env-var inventory. - Three generic Key Patterns bullets describing what the code already shows. - The Module section, which was also stale: it claimed Go 1.24.0 while go.mod says 1.25.0. Derivable content goes out of date silently, which is the second reason to drop it. What remains is the content the code cannot teach on its own: the t.Fatal() and recompression gotchas with their PR references, and the testify and build-output conventions that differ from the Go defaults. This takes the file from 5627 to 1117 characters.
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.
CLAUDE.mdis loaded into context at the start of every session, so anything a session can reconstruct by reading the repo is dead weight it pays for each time. This drops the parts that qualify, taking the file from 5627 to 1117 characters.Removed:
README.mdanddoc.go.go build/test/install/fmt/mod tidyinvocations.go fmt,go buildandgo mod tidyare already enforced mechanically by.pre-commit-config.yaml, and the CI line restates.github/workflows/validate.yaml. The one non-standard rule here, building intocmd/desync/, survives under Code Style where it is stated with its rationale.store.go, the store implementation and seed file listings, the data pipeline tour, the CLI command list, and the config/env-var inventory.go.mod, which had also gone stale: it claimed Go 1.24.0 whilego.modsays 1.25.0. Derivable content goes out of date silently, which is the second reason to drop it.Kept — the content the code cannot teach on its own:
t.Fatal()-in-goroutines restriction and the avoid-recompression rule, both with their PR references (Do not call t.Fatal() from non-main goroutines #291, Do not recompress chunks if we already have the compressed form #289).No code changes.