Skip to content

Introduction

Brittle is an end-to-end test observability platform. You install one Docker container, point your test reporter at it, and the signals about your test suite start arriving on a dashboard you can actually read. Per-env health. Run-over-run regressions. Strong flakes. Failure clusters. Full session replay one click away.

Test health is a leading indicator of product health. A checkout-flow test that’s been quietly degrading for three weeks across four browsers is the product breaking, not the test. Brittle is the dashboard for both.

If your CI runs Playwright, WebdriverIO, Jest, or Vitest and you’ve ever re-run a failing test just to see it pass, this is built for that moment.

  • Collects results from your existing reporter. Drop the Brittle reporter into your test config next to whatever you already run (list, html, default). Each test posts its result, attachments, and any annotations to the hub as it finishes.
  • Groups runs by branch and commit. Each CI invocation becomes one Run row. Failures inside that run are grouped by test file, then by test name, with NEW / KNOWN / REGRESSED tags so you can ignore the ones you’ve already triaged.
  • Stores the evidence. Playwright trace, video, HAR, console log, network log. Anything the reporter captures rides along. All addressable from the Session Detail page, all replayable in the browser without leaving the dashboard.
  • Tracks each test through time. A per-test view shows the pass/fail ladder over the last 30 days, so a 95%-passing test stops reading as green.
  • Optionally clusters failures with AI. Bring your own provider key (Gemini, Anthropic, OpenAI), and the hub groups failure signatures into patterns like “17 tests blew up on the same locator selector”. Triage is one decision per cluster, not one per test. Off by default; you opt in per organisation.

Brittle deliberately stays out of a few lanes:

  • Not a test runner. Playwright is your runner. WebdriverIO is your runner. Brittle reads what your runner emits and stores it somewhere browsable.
  • Not a CI system. GitHub Actions, GitLab CI, Buildkite, Jenkins, whatever you have. Brittle plugs into the run; it doesn’t replace it.
Terminal window
curl -fsSL https://brittle.dev/install.sh | sh

Open http://localhost:3100, finish the setup wizard, mint a token, paste it into your test reporter. Full walkthrough including manual Docker Compose at Installation.