Self-hosted — own your data
Runs entirely on your infrastructure as a single Go binary and one SQLite file. Source-available under PolyForm Shield — no per-seat SaaS bills, nothing leaving your network.
Free · Self-hosted · Source-available
TTGO is a modern, self-hosted test management platform — rich test cases, run execution, analytics, AI test generation and a first-class CLI, all running as a single Go binary against one SQLite file. Own your data, automate everything.
Runs entirely on your infrastructure as a single Go binary and one SQLite file. Source-available under PolyForm Shield — no per-seat SaaS bills, nothing leaving your network.
Draft test cases from requirements using your own LLM provider (bring your own key). A review-and-approve flow means nothing is saved until you accept it.
A first-class ttgo CLI drives tests, runs and analytics from the terminal or CI — and a bundled Claude Code skill lets you operate TTGO in plain English.
WebSocket-powered live sync keeps every open tab and teammate up to date as runs are executed and test cases change.
Everything teams expect from commercial test management — without the per-seat bill or the data leaving your network.
TipTap rich-text descriptions, ordered steps with expected results, and full version history with a diff view. Tabs for runs, defects and linked requirements keep everything in one place.

Snapshot-based runs with per-result pass/fail, defect classification (product / automation / system), defect links, durations and comments. Group results live by status, AI verdict or error signature.

Pass-rate trends, flaky-test detection, slowest tests, component health and side-by-side run comparison across any date range — so you know where quality is actually moving.

A coverage-at-a-glance matrix links requirements to test cases and surfaces the gaps. Import requirements from Jira or Confluence and keep traceability honest.

Log lightweight defects with severity and status right where tests fail, link them to results, and manage them on a dedicated Defects page in the Quality workspace — with an optional reference out to Jira or any external tracker.

Pick a requirement for context, describe what you want, and let your configured model draft test cases for review. Nothing is saved until you approve it — your key, your data.

TTGO is API-first: a documented REST API, a first-class CLI, and a bundled agent skill let you wire it into CI pipelines, scripts, or an autonomous AI-agent workflow.
Every test case, run, result and requirement is scriptable over a documented REST API (Swagger) with bearer-token auth — automate anything the UI can do.
The ttgo CLI drives tests, runs and analytics straight from your terminal or CI pipeline — no browser required.
Ships with a Claude Code skill so an AI agent can operate TTGO in plain English — drop it straight into your agent workflow.
How TTGO compares to popular commercial and self-hosted test management tools — TestRail, Xray, qTest, Kiwi TCMS and Qase.
| Capability | TTGO | TestRail | Xray | qTest | Kiwi TCMS | Qase |
|---|---|---|---|---|---|---|
| Self-hosted / on-prem | ✓ | ~ | ~ | ✓ | ✓ | ~ |
| Source-available / open source | ✓ | ✕ | ✕ | ✕ | ✓ | ✕ |
| Free to self-host (no per-seat license) | ✓ | ✕ | ✕ | ✕ | ✓ | ✕ |
| Built-in AI test generation | ✓ | ✓ | ✓ | ✓ | ✕ | ✓ |
| First-class CLI | ✓ | ✓ | ✕ | ✕ | ~ | ✓ |
| REST API | ✓ | ✓ | ✓ | ✓ | ~ | ✓ |
| Webhooks / push notifications | ✓ | ✓ | ~ | ✓ | ~ | ~ |
| Requirements & traceability matrix | ✓ | ✓ | ✓ | ✓ | ~ | ✓ |
| Native Jira integration | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
✓ yes · ~ partial, paid-tier-only or caveated · ✕ no
Competitor capabilities are summarized from public documentation as of mid-2026 and change frequently — verify current details with each vendor.
One Go binary, one SQLite file, a React front end. Easy to run, easy to trust.
Every number below comes from the k6 load-test suite that ships in the repo, measured against a single instance — one Go binary, one SQLite file — on an ordinary laptop (M1 Pro), so they're conservative. A committed regression gate keeps them honest on every change.
Around 55 CI pipelines can report simultaneously before add-result p95 crosses 500 ms — and overload degrades gracefully: latency rises, errors stay near zero, recovery is immediate.
Read latencies are statistically unchanged while CI ingests at half the write ceiling — SQLite's concurrent-read promise, verified empirically, not assumed.
Full-text search stays at ≤16 ms and the runs list serves a page in ~61 ms p95 with 1M results in the database.
A thousand concurrent WebSocket clients receive result updates with ~26 ms p95 broadcast lag.
Methodology, caveats, and how to reproduce every number: perf/README.md.
TTGO is source-available under PolyForm Shield. For almost everyone, that means one thing — it's free: no per-seat bills, no time limits, no catch.
In plain terms: build on it, run it, ship your product on it — just don't repackage TTGO into a competitor. Full terms are in the LICENSE (PolyForm Shield 1.0.0).
Clone the repo, drop in your admin credentials, and bring it up with Docker. It runs comfortably on a 1-core / 512 MB VPS — measured at ~30 MB RAM idle and under 200 MB at full load, with the database growing about 2 GB per million results.
# clone & configure
git clone https://github.com/runetsk/ttgo.git && cd ttgo
cp .env.example .env # set ADMIN_EMAIL and ADMIN_PASSWORD
# build & start (served on port 80)
docker compose up -d --build