Test intelligence for AI tools and teams

One command adds flaky detection, failure clusters, and health scores to every test run. Same data in your terminal, your AI agent, and your team dashboard.

Works with Playwright, Jest, Vitest, pytest, and any JUnit XML reporter.

CLI wraps your test command and enriches output. Same data available via MCP.

What Gaffer does

AI agents act on intelligence, not raw output

Give Claude Code, Cursor, or any MCP client structured access to your test history. Agents query flaky tests, failure clusters, and coverage gaps — then fix the code.

Find flaky and failing tests faster

See flip rates, P95 durations, and root cause clusters. Identify which tests flip between pass and fail, and which failures share the same underlying cause.

Coverage tracking with PR gating

Track line, branch, and function coverage over time. Set thresholds and block PRs via GitHub commit status when coverage drops below your target.

Share results via link

Upload test reports from any CI provider. Generate public links with expiration controls — no account required to view. Track everything in your team dashboard.

Works with everything

Playwright, Jest, Vitest, Pytest, JUnit XML, CTRF — and any CI provider. One CLI command to upload. No agents to install.

Track health over time

Monitor pass rates, test counts, and suite health. Spot regressions before they compound. Export to OpenTelemetry for your existing observability stack.

You can't fix what you don't measure
- test runs ingested
|
- tests analyzed
Playwright Playwright Vitest Vitest Pytest Pytest Jest Jest JUnit JUnit PHP PHP XML XML JSON JSON .NET .NET RSpec RSpec