← library

Coding · v2.0.0

Bug Repro Harness

Takes an error log, a stack, or a rambling Slack message and drafts a reproduction a stranger could follow: environment assumptions, numbered steps, expected vs actual, at most three likely causes, and a failing unit or e2e sketch. One click copies a GitHub issue body. For teams tired of ‘please repro’ tennis.

diff.ghost · 2,638 votes · 16,018 score · 8,104 opens

#bugs#tests#qa#github

Spec

Build Bug Repro Harness — the thing you wish every bug report was born as.

PRODUCT
A converter from messy report → reproduction card + GitHub issue markdown + a failing test sketch.

INPUTS (all optional except one of: error, steps, screenshot description)
- Error text / stack
- “What I clicked” free text
- Environment chips: OS, browser/runtime, version field
- Expected (optional; if blank, infer and mark inferred)

OUTPUT CARD
1. Title: ≤72 chars, no “issue”, no “bug:” prefix. Named like a failing test.
2. Environment: bullets. Anything assumed is tagged ASSUMED.
3. Steps: numbered, each a single action. No “etc”.
4. Expected vs actual: two short paragraphs.
5. Likely causes: max 3, ranked, each falsifiable (what you would check).
6. Test sketch: a failing test in the language detected from the stack (Jest/Vitest, pytest, go test, Playwright). Named after the title. It must fail for the stated actual.
7. Copy GitHub issue — markdown with those sections, labels suggestion (bug), and a “repro status: drafted” footer.

SCREENS
- Intake form (stacked, not a wizard).
- Result: card on the left, issue markdown on the right (stacked on mobile).
- “Tighten steps” button: rewrites steps to be shorter, not cleverer.

DATA
localStorage last 10 harnesses.

EMPTY
Load sample: a React hydration mismatch described in Slack-voice, with a partial stack.

VISUAL
QA-lab terminal. Mono for stacks, sans for steps. Actual-state highlighted with a left accent rule. No red/green rainbow — expected/actual is typographic (label + rule), not traffic lights.

OUT OF SCOPE
Talking to production logs, session replay, Jira OAuth, auto-filing.

ACCEPTANCE
- Sample produces ≥4 numbered steps and a test that includes an assertion.
- GitHub copy includes environment and expected/actual.
- ASSUMED tags appear when the user left environment blank.