Wrap your test command. Get intelligence.
gaffer test enriches your existing test runner with flaky detection, health scores, and failure clusters. No config files. No agents to install.
CI passes but flaky tests waste your morning
A test fails. You investigate. It passes on re-run. Repeat three times before lunch. Without flip rate tracking, you can't tell which tests are unreliable.
You can't tell if test health is trending up or down
Each test run is isolated. You see pass/fail right now, but not whether the suite is getting more reliable or slowly rotting.
Failures cluster by root cause but you debug them one at a time
Five tests fail with "Connection refused" but you investigate each separately. Without failure clustering, you miss the pattern.
One command. Full picture.
~/my-project $ gaffer test -- npm test gaffer 40 passed 2 failed 3 skipped 12.4s Health: 87 (good) ^ Slow: p95 245.3ms Flaky: 2 tests src/auth.test.ts > login — 40% flip rate (4/10 runs) src/api.test.ts > timeout handler — 20% flip rate (2/10 runs) Clusters: 1 pattern (3 tests) "Connection refused" — 3 tests New failures: 1 src/billing.test.ts > charge card Pre-existing: 1 src/db.test.ts > connection timeout Coverage: 78.5% lines (1234/1572) Synced: 1 run uploaded
CLI wraps your test command and enriches output. Same data available via MCP and dashboard.
What the CLI gives you
gaffer test
Wraps any test runner — npm test, pytest, cargo test, go test. Auto-detects framework. Adds intelligence to the output.
gaffer query
Query health, flaky tests, and failures from your terminal. gaffer query health shows your suite's composite score.
Auto-sync to dashboard
Every run uploads automatically. Your team sees the same data in the web dashboard without any extra steps.
gaffer affected-tests
Map changed files to relevant test specs. Get a suggested run command for your framework. Run only what matters.
--fail-on=new
Exit 0 when only pre-existing or flaky failures exist. Stop blocking PRs on failures that aren't yours.
Works with everything
Playwright, Jest, Vitest, pytest, Go, .NET, Cargo, PHPUnit, Mocha, JUnit XML, CTRF. Any CI provider. One binary, no dependencies.