Score any Git repository's health in seconds
36 checks across docs, tests, CI, security, dependencies, and activity. Offline, deterministic, CI-ready.
go install github.com/spbuilds/repohealth/cmd/repohealth@v0.5.3 repohealth --versionrepohealth version v0.5.3repohealth .
RepoHealth v0.5.3
See it in action

Scores for 19 well-known repositories
RepoHealth v0.5.3 benchmark, evaluated on 2026-09-17 (UTC) against pinned upstream revisions with full git history. Scores measure repository hygiene and project-maintenance signals, not source-code quality or overall project quality, and they are a snapshot for that date rather than a permanent rating. Pinned commits and per-category results are in the public benchmark manifest.
| # | Repository | Score | Grade | Files |
|---|---|---|---|---|
| 1 | prometheus/prometheus | 86 | A- | 1,668 |
| 2 | gin-gonic/gin | 85 | A- | 130 |
| 3 | hashicorp/terraform | 82 | B+ | 5,452 |
| 4 | docker/compose | 82 | B+ | 835 |
| 5 | facebook/react | 82 | B+ | 7,195 |
| 6 | grafana/grafana | 81 | B+ | 22,738 |
| 7 | vercel/next.js | 72 | B- | 30,709 |
| 8 | spf13/cobra | 70 | B- | 66 |
| 9 | rails/rails | 68 | C+ | 4,960 |
| 10 | python/cpython | 68 | C+ | 6,268 |
| 11 | rust-lang/rust | 68 | C+ | 61,340 |
| 12 | pallets/flask | 67 | C+ | 232 |
| 13 | fastapi/fastapi | 66 | C+ | 3,139 |
| 14 | django/django | 66 | C+ | 7,006 |
| 15 | kubernetes/kubernetes | 65 | C+ | 25,788 |
| 16 | vuejs/vue | 65 | C+ | 505 |
| 17 | expressjs/express | 55 | C- | 212 |
| 18 | laravel/laravel | 53 | D | 52 |
| 19 | golang/go | 51 | D | 14,698 |
How does your repo score?
Run it on any local Git repository. One command, instant results.
repohealth . repohealth /path/to/any/repo36 checks across 8 categories
Scores are reproducible for the same repository state and evaluation date.
Documentation
Testing
CI/CD
Dependencies
Security
Code Statistics
Activity
TODO / Debt
Three commands to repo health
Install
go install github.com/spbuilds/repohealth/cmd/repohealth@v0.5.3Run
repohealth .Get Score
Score: 81/100 (B+)CI quality gate in 3 lines
Add a health threshold to your pipeline. Exit 0 if score meets threshold, exit 2 if below. Works with GitHub Actions, GitLab CI, CircleCI, and any CI system.
name: Repo Health Check
on: [push, pull_request]
jobs:
health:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- uses: actions/setup-go@v7
- run: |
go install github.com/spbuilds/repohealth/cmd/repohealth@v0.5.3
repohealth . --ci --threshold 70Four output formats
default--format json--format markdown--format html