repro.fyi

A minimal repro is the smallest set of steps that reliably reproduces your bug.

Why bother?

Minimal repros are valuable for a couple reasons:

1. Aiding debugging. Minimal repros are a boon for fixing bugs. They save engineers a lot of time.

2. We know when the bug is fixed. Without it, you may find yourself chasing phantoms.

How to make one

Start fresh: Create a new file or sandbox. Add only what's needed to show the bug. If you can't reproduce it in isolation, that tells you something — the bug is in the stuff you left out.

Or strip down: Copy your project, delete half. Still broken? Delete half again. Fixed? The bug was in what you deleted — put it back, delete the other half. Repeat until nothing's left to remove.

When to ask for help: Keep isolating until you hit someone else's black box — a platform, library, or API you can't see inside. That's when you've earned the right to ask.

Good vs bad

Chrome, macOS.

To Repro:

  1. Open /dashboard
  2. Click "Export"
  3. Select CSV

Expected: File downloads.

Actual: Console shows TypeError: Cannot read property 'map' of undefined

vs.

"File exports are broken, please fix ASAP"

Common mistakes

Further reading


Edit on Val Town →