How to use it
Three states instead of two, and the third is what keeps the score honest: whatever does not apply leaves the denominator. An empty folder does not get a good grade.
The scoreboard for one repository
npx github:Navesz/rebar .rebar-check · prumo
✓ editorconfig has an .editorconfig
✓ dependabot automated dependency updates
✓ ci has CI
✗ ci-gates the CI reaches the verification the repository has the CI does not reach: lint
– orphan-schema no orphan JSON Schema no .schema.json in the repository
14 of 17 · 1 not applicable · 2 warning(s)The dash is the third state. Before it existed, an empty folder with an empty .git/ scored 8 of 14 and tied with rebar itself. An excerpt: five of the rules and the closing line, from a real run on 2026-09-17 against another repository of mine.
Several repositories at once
npx github:Navesz/rebar ../a ../b ../cA comparable summary comes out at the end. This is how the forensic pass over 161 commits in six repositories was put together.
One rule at a time, to fix without noise
npx github:Navesz/rebar --rule=ci-gates .The filter is for fixing, not for passing: run it without the filter before you commit.
Structured output, for CI
npx github:Navesz/rebar --json .Every rule comes out with an id, a class, a level and a state. That is what the CI step consumes.
Heuristics failing the build too
npx github:Navesz/rebar --heuristics .By default a heuristic only informs. A wrong automatic rule costs more than a missing one — one of them was measured at seven hits and zero true positives.