Respect the local repo
Directive¶
A repo's existing, deliberate choices win over the defaults of a standard. An existing version pin, lint config, dependency or layout is not overwritten because the default differs. When a standard conflicts with a considered local decision, the change is an explicit, discussed migration and not a silent rewrite.
Why¶
- A tool that bootstraps a repo adds what is missing and defers to what is already there. The same restraint applies to people and agents working in the repo.
- The configuration of a repository records decisions that its team made. Overwriting it to match a default can break the build.
In practice¶
- An existing
requires-pythonpin wins over the default of CES-77. - An existing
prek.tomlorpyproject.tomlis not replaced: new rules are merged in by hand, deliberately. - A standard is adopted on the next natural touch, or as a named migration pull request, and never as a drive-by overwrite.
When in doubt¶
Standards are defaults. Add alongside and leave the existing choice intact until a migration is agreed.
Rules¶
respect-local-repo(BTPROC002)