Code coverage intelligence engine & regression guard. Visualizes velocity, trends, and enforces quality gates.
npm install cocov

!License
!Version
   
   
Cocov is a Compliance Engine. It enforces strict coverage baselines, prevents merge regressions via husky hooks, and generates audit-ready artifacts in Markdown and HTML.
---
Run the interactive initializer. This handles Husky, CI, and Config for you.
``bash`
npx cocov init
> What this does:
> 1. Creates .cocov/config.json.husky
> 2. installs and adds a pre-commit hook..github/workflows/ci.yml
> 3. Creates a for automated checking.
---
Install as a dev dependency:
`bash`
npm install -D cocov
Cocov works by comparing your current coverage against a baseline (master branch).
Run it once to establish your first baseline:
`bash`Runs tests, checks coverage, and saves the baseline if compliant
npm run cocov
Stop bad code before it gets committed. Add this to your .husky/pre-commit:
`bash`.husky/pre-commit
npm run cocov
git add .cocov/history.jsonl # Auto-save the history log!
We recommend using OIDC (Trusted Publishers) for secure, keyless publishing.
.github/workflows/ci.yml:
`yaml
permissions:
contents: read
id-token: write # Required for Trusted Publishers
steps:
- uses: actions/checkout@v4
- run: npm ci
- run: npm run cocov # fails if coverage drops
`
Want those cool badges in your README?
`bash`
npx cocov inject-readme
This command:
1. Generates SVG badges in assets/badges/.README.md
2. Injects them into your with absolute GitHub URLs.npm run cocov
3. Updates automatically when you run .
---
Stored in .cocov/config.json.
`json`
{
"thresholds": {
"lines": 90,
"functions": 90,
"branches": 90
},
"git": {
"enforceClean": true
}
}
Cocov operates as a strict middleware between your test runner (Vitest/Jest) and your git history.
`mermaid
graph TD
A["Test Runner (Vitest)"] -->|Coverage JSON| B("Cocov Engine")
B -->|Compare| C{"Baseline Check"}
D["Baseline (.cocov/config.json)"] --> C
C -->|Regression| E["FAIL 🛑"]
C -->|Improvement| F["UPDATE ✅"]
C -->|Stable| G["PASS ✅"]
subgraph Outputs
B --> H["HTML Dashboard"]
B --> I["Markdown Summary"]
B --> J["Console Report"]
B --> K["SVG Badges"]
end
``
We welcome contributions! Please read CONTRIBUTING.md for details.
MIT © 2026