Budgets & baselines
Refresh-rate-aware gates and deliberate golden updates — never silent overwrites.
Performance regressions, testable.
Latest 0.6.0 on pub.dev
Capture Flutter frame timings, classify jank, enforce budgets, compare baselines, and fail CI on measurable UI regressions — locally, with no backend.
Add FrameGuard to your Flutter project, then capture a session or assert in tests.
pubspec.yaml
dependencies:
frameguard: ^0.6.0
Package page: pub.dev/packages/frameguard · Notes: v0.6.0 release
DevTools answers what happened. FrameGuard answers whether this build should fail.
Refresh-rate-aware gates and deliberate golden updates — never silent overwrites.
FG001–FG010 diagnostics with measured facts separated from heuristics.
JSON, HTML, Markdown, JUnit, SARIF, CSV — plus exit codes for pipelines.
No telemetry, no accounts, no required dashboard. Reports stay on disk.
Local history, budget suggestions, and a reusable GitHub Action for CI gates.
history and gradual drift checkssuggest-budget drafts budgets from measured reports.github/actions/frameguard-checkfinal report = await FrameGuard.runSession(
name: 'home_scroll',
body: () async {
await scrollHome();
},
);
await report.writeJson(File('reports/home_scroll.json'));
await report.writeMarkdown(File('reports/home_scroll.md'));