Quality Dashboard
Verified main builds and nightly upgrade runs execute the exhaustive gate (npm run gate:full), then append metrics to the time-series history via a bot-authored [skip ci] artifact commit.
Current metrics
Loading metrics...
Trends over time
What the quality gates enforce
The developer gate (npm run gate) runs:
- Format check — Prettier on all source and test files
- Lint — ESLint with
recommendedTypeChecked+ strict TypeScript (tsc --noEmit) - Builds — root package plus all demo packages
- Unit tests — Vitest with v8 coverage thresholds
- Core e2e tests — Playwright functional tests, desktop + mobile
- Integration/demo e2e tests — production demo validation across all demos
- Summary — Pass/fail with statistics
The exhaustive gate (npm run gate:full) adds:
- Performance benchmarks — Playwright load/perf scenarios (
@bench) - Metrics collection — bundle sizes, coverage, e2e results, benchmarks →
reports/+ history append - Docs build — VitePress static site generation
The developer gate runs:
- On every
git commitafterlint-staged(pre-commit hook) - On every
git push(pre-push hook)
The exhaustive gate runs:
- On every PR and push to
main(GitHub Actions CI) - Nightly (dependency update workflow)
- Before
npm publish
Coverage thresholds
| Metric | Minimum |
|---|---|
| Lines | 80% |
| Branches | 70% |
| Functions | 80% |
| Statements | 80% |
These are enforced by Vitest. The gate fails if any threshold is not met.
