Analysis updated 2026-05-18
Run in CI to catch README claims that no longer match your code's real output.
Automatically update stale numbers in a README with the --update flag.
Mark timing benchmarks with a tilde so natural machine variance is not flagged as broken.
Verify numeric claims written in plain sentences, not just in code blocks.
| wasserpuncher/readme-check | 0xustaz/streamgate | a-bissell/unleash-lite | |
|---|---|---|---|
| Stars | 1 | 1 | 1 |
| Language | Python | Python | Python |
| Setup difficulty | easy | hard | hard |
| Complexity | 2/5 | 4/5 | 4/5 |
| Audience | developer | developer | researcher |
Figures from each repo's GitHub metadata at analysis time.
Requires Python and a README with fenced console blocks to check against real command output.
readme-check is a Python tool that checks whether the console output shown in a README actually matches what the code produces today. The author's motivation came from personally auditing eight of their own repositories by hand and finding that six had a wrong number somewhere, with four of those wrong from the moment they were written. The tool scans a README for fenced console blocks, the kind that show a command and its printed output, actually runs those commands, and confirms that every line the README promised still appears in the real output, in the same order. Extra output beyond what was shown is fine, since a README is allowed to abbreviate, but a promised line that goes missing is flagged as broken. It handles a few special cases sensibly. A number written with a tilde, like about 19 milliseconds, is treated as an approximate claim that tolerates some variation between runs, rather than an exact one. A line of three dots skips output that is genuinely unpredictable, such as a timestamp or random address. Blocks that need special setup, like root access or a network connection, can be marked to be skipped entirely with a comment. The tool can even check numbers written in ordinary prose sentences, not just in code blocks, by pointing at a hidden comment that names the command which measures that number. When a number in the README goes stale, an update flag will rerun the checks and rewrite only the specific digits that changed, leaving timing figures, tilde estimates, and skipped blocks untouched, since rewriting those would just introduce a different kind of inaccuracy. The project is intended to run as part of continuous integration, checking a project's own README on every change so documentation claims are tested the same way code is.
A tool that runs the example commands shown in your README and fails your build if the real output no longer matches what you promised.
Mainly Python. The stack also includes Python.
No license information is stated in the text provided.
Setup difficulty is rated easy, with roughly 30min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.