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.