Turn any failing command into a reproducible bug report.
npx reproshot -- npm testReproShot runs a command, shows its output as usual, and saves the useful debugging context in a local folder. There are no accounts, uploads, or hosted services.
ReproShot requires Node.js 20 or newer and works on Windows, Linux, and macOS. Run it from the project you want to debug:
npx reproshot -- npm test
npx reproshot -- pnpm build
npx reproshot -- cargo test
npx reproshot -- pytestThe command runs directly, without an extra shell, so its arguments keep their original boundaries. If you need pipes or other shell syntax, invoke the shell explicitly.
Each run creates a folder under .reproshot/ containing:
report.md
report.html
reproshot.svg
manifest.json
reproduce.sh
reproduce.ps1
stdout.log
stderr.log
changes.patch
SHA256SUMS
The reports combine the command, exit status, runtime versions, Git state, redacted logs, and reproduction helpers. changes.patch is included when there are eligible tracked text changes. Source code and dependencies are not copied into the bundle.
Here is the compact summary from the generated demo capture:
Open report.html for the full report or share reproshot.svg as a compact summary. To replay the command, restore the recorded source revision, install the project dependencies, and run the appropriate helper from the project directory. Review any patch before applying it.
The Repro Score describes how much useful evidence was captured. It is not a promise that the bug will reproduce.
To turn a capture into a GitHub issue body:
npx reproshot issue # latest capture in this project
npx reproshot issue .reproshot/<capture-id> # a specific captureThis prints Markdown for you to review and paste; it never posts anything to GitHub. For scripts and CI, add --json before -- to get a machine-readable summary.
ReproShot redacts detected secrets, but no redactor can catch everything. Review the report before sharing it. Live terminal output is unchanged, including any secrets printed by the command.
ReproShot does not read .env files, SSH keys, credential stores, browser data, or unrelated files. Untracked file contents are not included. Add .reproshot/ to your .gitignore if you use it regularly.
See the capture contract for the exact collection rules, limits, process behavior, exit codes, and Repro Score calculation.
npm ci --ignore-scripts
npm run check
npm run demoThe SVG is generated from the committed demo capture. The examples intentionally fail so the full capture path can be tested.