A dashboard for your browser tests, across projects and over time.
Playwright, Vitest browser mode and Storybook, with the full Playwright trace viewer built in.
Website · Live demo · Docs · Open a trace · Cloud
Playwright ships a great HTML report for a single run. kinora sits one level up: push every CI run to a kinora server and get one place to track pass rates, spot trends, tell flaky tests from broken ones, and follow accessibility violations over time. Failing tests get a View trace button that opens the full Playwright trace (DOM, timeline, network, console) right in the dashboard.
Add the reporter to your Playwright config, it uploads at the end of every run:
// playwright.config.ts
export default defineConfig({
reporter: [['@kinora/reporter', { project: { slug: 'web-app' } }]],
// enable tracing so View trace works
use: { trace: 'on-first-retry' },
})KINORA_TOKEN=<token> npx playwright testUsing Vitest browser mode or Storybook? @kinora/vitest-reporter does the same from vitest.config.ts, and each story shows up on the Components page:
// vitest.config.ts
export default defineConfig({
test: {
reporters: ['default', ['@kinora/vitest-reporter', { project: { slug: 'web-app' } }]],
},
})Git and CI metadata are filled in automatically on GitHub Actions. No reporter? @kinora/cli uploads an existing results.json and can bulk-import a backlog of past reports. Self-hosting? Point either one at your server with KINORA_URL.
Download for macOS, Windows or Linux. It signs into your account and opens on the latest run's failures, re-runs a failing test locally, and opens any local trace.zip without an account, a self-contained replacement for playwright show-trace.
Point a coding agent at your kinora data with @kinora/mcp: it serves the last run's failures (error, file:line, trace) plus per-test history, so the agent can go straight to the fix.
One docker compose brings up the whole stack (Postgres + server + dashboard, single origin, local-FS artifacts). The images are prebuilt for amd64 and arm64 (ghcr.io/kinora-dev/kinora-server, ghcr.io/kinora-dev/kinora-web), so there is nothing to clone or compile. See selfhost/README.md.
pnpm install
# 1. server + database
cd packages/server
cp .env.example .env
docker compose up -d # Postgres on :5436
pnpm migrate latest # create tables
pnpm db:seed # seed a demo account + data, prints login + an API token
pnpm dev # server on :3000
# 2. web
cd packages/web
cp .env.example .env
pnpm dev # dashboard on :5173
# 3. trace viewer (from the repo root)
pnpm dev:viewer # trace viewer on :5174Open http://localhost:5173 and sign in with the seeded credentials (demo@kinora.dev / password123). See CONTRIBUTING.md to go further.
Fair source. The deployable product (server, web, desktop) is FSL-1.1-MIT, the client libraries you embed (reporter, vitest-reporter, cli, mcp, core, ui) and the trace viewer are MIT. The trace engine under packages/trace-viewer/src/core and src/sw is vendored from microsoft/playwright (Apache-2.0).