Free · Self-hosted · Source-available

Self-hosted test management
that's actually yours.

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.

TTGO test library — hierarchical folder tree, a filterable test grid and categories
🏠

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.

🤖

AI test generation

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.

⌨️

CLI & Claude Code automation

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.

Real-time collaboration

WebSocket-powered live sync keeps every open tab and teammate up to date as runs are executed and test cases change.

A complete QA workflow

Everything teams expect from commercial test management — without the per-seat bill or the data leaving your network.

Rich test cases

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.

TTGO test case detail — rich-text description, ordered steps and version history

Run execution

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.

TTGO run execution — per-result pass/fail, defect classification and durations

Analytics

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.

TTGO analytics dashboard — pass-rate trends and flaky-test detection

Requirements & traceability

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.

TTGO traceability matrix — requirements linked to test cases with coverage gaps

Native defect tracking

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.

TTGO defects — native bug tracking with severity, status and an optional external reference

AI test generation

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 AI test generation studio — draft test cases from a requirement

Built for automation & AI agents

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.

🔌

Rich REST API

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.

⌨️

First-class CLI

The ttgo CLI drives tests, runs and analytics straight from your terminal or CI pipeline — no browser required.

🤖

Skill for AI agents

Ships with a Claude Code skill so an AI agent can operate TTGO in plain English — drop it straight into your agent workflow.

TTGO vs TestRail, Xray & qTest

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.

Built on a boring, reliable stack

One Go binary, one SQLite file, a React front end. Easy to run, easy to trust.

  • Go 1.25
  • GORM
  • SQLite
  • net/http + routegroup
  • Gorilla WebSocket
  • React 19.2
  • Vite
  • TipTap
  • Recharts
  • @dnd-kit
  • Cobra CLI
  • Docker

Measured, not promised

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.

🚀

~500 results/s ingest

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.

📊

Dashboards unfazed by CI

Read latencies are statistically unchanged while CI ingests at half the write ceiling — SQLite's concurrent-read promise, verified empirically, not assumed.

🔍

A million results, still fast

Full-text search stays at ≤16 ms and the runs list serves a page in ~61 ms p95 with 1M results in the database.

🔔

1,000 live viewers

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.

Free to use

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.

Free for

  • Running it internally — your team, your company, your infrastructure
  • Personal projects, side projects, and evaluation
  • Embedding it inside your own product, as long as that product doesn't compete with TTGO

The only catch

  • Re-offering TTGO itself as a hosted service (SaaS)
  • White-labeling or reselling it as a standalone product
  • Using it to build a competing test-management tool

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).

Run it yourself in minutes

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