Your README is a promise nobody tests.
Setup instructions rot silently. You rename a script, add an env var, switch a package manager, and the quickstart keeps promising a path that stopped working weeks ago. Nobody on the team notices, because everyone who would notice already has the repo running. The only people who hit the wall are new users, and they bounce without filing an issue.
I got tired of wondering whether mine still worked, so I built a tool that checks.
What it does
coldstart stages your committed state in a temp dir. No node_modules, no .env, none of the untracked files that make it work on your machine and nowhere else. Then it parses the shell commands out of your README and replays them in order, tracking the working directory and environment between steps.
When a step fails, you get the exit code, the last output lines, and the exact README line that sent a new user there.
Static checks before anything runs
A lot of README bugs are detectable without executing a single command:
-
npm run startdocumented but no "start" script in package.json - pnpm lockfile present but the README says
npm install -
curl | bashinstallers, flagged because they execute on the reader's machine, not in any sandbox - commands that reference files the repo does not ship and the user cannot provide
What it found on my own repos
7 repos, 2 fail their own quickstart. The worst one documents npm run start and there is no start script anywhere in package.json. A reader following the README hits a wall at step 2 and leaves. That is a star I never got and never knew I lost.
Honest limits
It replays what the README documents, not what your CI does. Server-style commands get started, probed, and killed, so it can only tell you whether the app boots, not whether it works. Placeholder arguments like your-api-key get skipped with a note instead of failing.
Try it
npx coldstart-cli # current directory npx coldstart-cli <git-url> # or straight from GitHub npx coldstart-cli --docker # real clean room in a container Zero dependencies, Node 18+. Repo: https://github.com/princejain756/coldstart
If you run it on yours, I genuinely want to know what breaks. The weirder the README, the better the test case.

