A README describes one repo. How the repos connect lives here, not duplicated across fifty READMEs that drift.A repo’s
README.md is its front door: install and usage for that repo alone. The ecosystem
story, which repo feeds which, what depends on what, lives on this site, maintained in one place.
A README that re-explains its neighbors copies that story dozens of times, and every copy rots the
moment a sibling changes. So the rule is simple: READMEs are standalone; one footer link points
back here.
This formalizes what the introduction already says: per-repo READMEs cover install; this site covers how it all fits together.
Required shape
Use these sections, in this order. Omit one only if it genuinely doesn’t apply to the repo; never reorder, never rename. The Installation and Usage headings are used verbatim in every repo. Uniform names keep the whole portfolio reading the same, even for libraries and Nix modules. There, “Installation” is how you add it as a dependency and “Usage” is how you consume it. A repo’s.readme-validator.yaml, if
present, enforces exactly this set; legacy configs that required other headings are deleted or
updated to match.
The standalone rule
A README names exactly one repo: this one. Concretely:- No “Related Repos” table, no sibling list, no repo-relationship diagram. That map lives on how it fits together and in the repository catalog, maintained once.
- Don’t describe what another repo does. If you must reference a sibling, link to its hub page or GitHub, don’t summarize it. The summary drifts the instant the sibling changes.
- Dependencies are contracts, not names. When this repo consumes another’s output, describe the
shape it expects, such as “reads an inventory matching
<schema>” or “expectsNETWORK_CIDR_*in the environment,” not “run the provisioning repo first.” The contract is what you actually depend on, and it’s stable; the sibling that satisfies it today might be replaced tomorrow. Pin the contract; link the map.
The footer — one link, routed by visibility
End every README with exactly one ecosystem pointer, chosen by the repo’s visibility: Public repo:Template
Scaffolding a repo? CopyREADME.template.md from the org
.github repo. It ships the shape described in the preceding table, with the footer pre-filled for a public repo.