Repository has a README
docs/readme@v1
The repository has a README, and it says more than its title.
| Id | docs/readme |
| Version | v1 |
| Category | docs |
| Default severity | warning |
| Interpreter | python3 |
| Timeout | 30 seconds |
| Violations tolerated | 0 |
| Collects | files |
Collectors
This guardrail gathers nothing itself. It depends on the collectors below, which the CLI runs once per build before any check, and reads what they found out of GUARDRAIL_FACTS. A collector that collects nothing skips this guardrail rather than failing it.
| Collector | Gathers | Inputs it is given |
|---|---|---|
files | Presence, size and line counts of the well known files a repository is expected to carry, plus any extra path the guardrail asks for. | path |
The inputs above are this guardrail's own, passed straight through. Configuring one in buildnote.json changes what is collected, and two guardrails configured the same way share the one collection.
Configuration
json
{
"guardrails": {
"failOn": "error",
"comment": true,
"checks": [
{
"use": "docs/readme@v1",
"severity": "warning",
"with": {
"path": "README.md",
"minLines": "10"
},
"exemptions": []
}
]
}
}Inputs
| Input | Description | Default | Environment variable |
|---|---|---|---|
path | Path to the README, relative to the directory the CLI runs in. | README.md | GUARDRAIL_INPUT_PATH |
minLines | How many non-blank lines the README must have before it counts as written. | 10 | GUARDRAIL_INPUT_MINLINES |
How to fix
Add a README.md at the repository root covering what the project is, how to build it and how to run it. A stub that only repeats the repository name is worse than none, because it looks answered.
More in docs
docs/agent-instructions. The repository carries an agent instruction file, and it is long enough to say something and short enough to be read.docs/changelog. The repository carries a changelog, so what changed between two releases is written down rather than reconstructed from commits.docs/code-of-conduct. The repository carries aCODE_OF_CONDUCT.md, so the standard contributors are held to is written down and so is who enforces it.docs/contributing. The repository carries aCONTRIBUTING.mdsaying how a change is proposed, built and reviewed.docs/license-present. The repository carries a licence file, so what may be done with the code is written down rather than assumed.docs/security-policy. The repository carries aSECURITY.mdnaming where a security problem should be reported.