Open source AGPL-3.0 Single binary + Postgres

Coverage in every pull request.

Diff coverage, merge gates and line annotations — for Bitbucket, GitHub and GitLab. Self-host it free, or let us run it from $6/user/mo.

Bitbucket · GitHub · GitLab

Up in a minute: docker compose up — migrations apply themselves.

gocov coverage — check run · pull request #142 Gate passed
84.2% +0.6% diff coverage 91.7% changed lines 110 / 120 covered
internal/billing/invoice.go — 2 uncovered changed lines
87
	if err := tx.Commit(); err != nil {
88
		return fmt.Errorf("commit: %w", err)
89
	}
One endpoint, format auto-detected Go cover profiles JS / TS LCOV — Jest, Vitest, nyc Java / Kotlin JaCoCo XML Python Cobertura — coverage.py PHP / .NET / C++ Cobertura XML

Up and running in three commands

No SaaS onboarding, no per-seat pricing. Run the server, register your workspace, point CI at it.

1

Run the server

One container plus Postgres. Migrations apply automatically on boot.

$ docker compose up
2

Register your workspace

One token for the whole org — repos register themselves on first upload.

$ gocov-server workspace add \ -prefix myorg -forge github
3

Upload from CI

The CLI auto-detects GitHub Actions and Bitbucket Pipelines.

# in your workflow $ go run github.com/gocov/gocov/cmd/gocov@latest \ upload coverage.out

Your coverage tool treats you like an edge case.

Codecov and Coveralls are GitHub-first — if your code lives anywhere else, you get the side-port: no annotations in the diff view, half-supported APIs, and feature requests that sit open for years.

gocov is the only tool with in-diff coverage annotations on Bitbucket Cloud.
+ BCLOUD-22379 · Bitbucket Cloud · public issue tracker

Show code coverage in the pull request diff view

Gathering Interest since 2022 77 votes 47 watchers

Coverage where reviewers already look

Not another dashboard to check — results land inside the pull request.

Diff coverage PR comments

Changed lines are intersected with coverage; a comment lists what's untested. Re-uploads update the same comment — no stacking.

Gates that block merges

Per-repo minimums for total and diff coverage plus a drop tolerance. Violations fail the commit status, so branch protection can block the PR.

Native in-PR reports

GitHub check runs and Bitbucket Code Insights report cards, with inline annotations on uncovered changed lines right in the diff view.

Line-by-line source view

Every file renders with coverage overlay and hit counts, fetched from the forge at the exact commit and cached immutably.

Trends & badges

A coverage trend chart per branch — rendered server-side, no JS chart library — and an SVG badge per repo for your README.

OAuth sign-in, no passwords

Web UI sign-in with GitHub and Bitbucket, restricted to members of the orgs you track. No passwords ever stored. One-click workspace connect.

Run it yourself, or let us run it

Same product either way — pick the operations model that fits.

Self-hosted

$0 forever
  • AGPL-3.0 — full product, no feature gates
  • Your infra, your data
  • Community support
Deploy from GitHub

Open source? Public repos are free on hosted, forever. Badge included.

Your coverage data stays on your infra

gocov is a single Go binary in front of Postgres. No vendor gets your source, your coverage, or your commit metadata — and there is nothing per-seat to pay. The architecture is deliberately extensible: formats, forges and blob storage sit behind interfaces.

AGPL-3.0 licensed — fork it, patch it, ship it docker compose up — production-shaped from day one GitHub + Bitbucket Cloud — one instance, both forges Unlimited repos & users — it's your server

Get early access

We're onboarding teams gradually — waitlist members lock in early-adopter pricing.

No spam — one email when your spot opens.