bug-report
Turn a /bug-recording output directory into a static report site.
Inputs
- Findings directory (the
/bug-recordingoutput that holdsfindings.json,videos/, andscreenshots/). Default:./bug-recording-output. - Site output directory. Default:
<findings>/../bug-report-site.
Preconditions
findings.jsonmust exist in the findings directory. If it does not, run/bug-recordingfirst and stop loudly.
Run
node report.mjs <findings-dir> [site-dir] [--serve] [--port=7800]
The script reads findings.json, copies each .mp4 and screenshot into the
site's assets/, and writes index.html. With --serve it then serves the
site over HTTP (with byte-range support so videos seek) and prints the URL.
The site
A single self-contained HTML file (inline CSS and JS, light theme) with three tabs:
- Bugs Found — a card per bug: class badge, description, route, component, and a one-line evidence summary.
- Videos — the recorded
.mp4per bug, selectable from a list, each using the captured screenshot as its poster. - Reproduction Steps — the ordered
navigate/click/observesteps per bug, reconstructed from the captured action log and sampled frames.
After running
-
Report the site path and open it. The report is a standalone static site — it is not served by the target app's dev server, so do not load it from the app's port (that returns 404). Either open the file directly:
open bug-report-site/index.htmlor serve it on its own port and open the printed URL:
node report.mjs <findings-dir> --serve --port=7800 -
You may enrich each bug's reproduction steps in
findings.json(from reading the sampledframes/*.png) before regenerating the site.