Web Performance Budget Gate
Check captured Lighthouse JSON against declared route-level performance budgets before a release. Compare repeated runs and distinguish a completed failure from incomplete evidence without loading a live page.
v1.0.0 · Node.js 22+ · MIT
Compare two public capture sets
Clone the repository, use Node.js 22 or newer, and run these commands from its root. The captures and budgets are checked-in synthetic examples.
Passing budget
node bin/web-performance-budget-gate.mjs --root examples/pass --budget budget.json --capture capture.jsonThe passing fixture evaluates three captured runs for one route and one median Largest Contentful Paint budget. It reports pass: one checked metric, zero errors and zero warnings.
Baseline regression
node bin/web-performance-budget-gate.mjs --root examples/fail --budget budget.json --capture capture.jsonThe failing fixture evaluates three captured runs and exits 1 with one regression-exceeded error. Its median exceeds the declared baseline tolerance even though it stays under the separate absolute ceiling.

What the result does and does not prove
The CLI evaluates supplied local budget and Lighthouse JSON capture files. It does not run Lighthouse, fetch a page, prove capture provenance, measure real-user performance or establish search ranking. A missing metric, too few runs or invalid input returns incomplete rather than a clean pass. Choose budgets and capture conditions for your own release workflow.
Continue the release review
Make performance budgets part of a release review
Discuss a practical capture, budget and review workflow with Edilec. Share only information you are permitted to disclose.