A JSON file in your repo lists every metric and any quality gate.
npx unentropy init writes a sensible default for
your project type — JavaScript, PHP, Go, or Python.
Two actions read the same config. track-metrics
updates history on every push to main; quality-gate
evaluates your thresholds on every pull request and comments back.
# Track metrics on every push to main# .github/workflows/metrics.ymlon:
push:
branches: [main]
jobs:
track:
runs-on: ubuntu-lateststeps:
- uses: actions/checkout@v4
- uses: unentropy/track-metrics-action@v1# Gate every pull request# .github/workflows/quality-gate.ymlon:
pull_request: ~
jobs:
gate:
runs-on: ubuntu-lateststeps:
- uses: actions/checkout@v4
- uses: unentropy/quality-gate-action@v1
03REPORT
Trends, gates, dashboards
A static HTML report published to GitHub Pages — sparklines per
metric, deltas vs the previous commit, and pass/warn pills from
your quality gate. PR comments mirror the same status.
Test coverage
87.30% ▲ +0.40
PASS · MIN 80%
Bundle size
41,204 B ▲ +216
WARN · +0.5%
Lines of code
12,341 ±0
FLAT
04 · FEATURES
Six things you get out of the box
F · 01
Built-in Metrics
Start tracking coverage, bundle size or lines of code in minutes.
F · 02
Trend Visualization
Generate interactive HTML reports showing how your metrics evolve
over time.
F · 03
Custom Metrics
Track domain-specific indicators — framework adoption ratios, API
endpoint counts, or refactoring progress — using simple command
outputs.
F · 04
Quality Gates
Set thresholds and get automated PR feedback — fail the build if
coverage drops or bundle size exceeds limits.
F · 05
Complete Ownership
Store metrics in GitHub Actions artifacts or your own S3-compatible
storage — your data never leaves your infrastructure.
F · 06
Git-Native
Every metric is tied to its commit SHA. Configuration lives in your
repo and evolves with your code.