Test Case Management, Inside Your Repository

TCMS is a test case management system that keeps every test case as a markdown file in your product’s repository: versioned with the code, reviewed in pull requests, and readable by the coding agents already working there. A web panel runs the process, so what was tested, on which version, and with what result is a record, not a recollection.

Why Test Cases Belong in the Repository

A test case is a statement of how the system should behave. Kept as a repository artifact, it is versioned, reviewed, and visible to every tool that reads the code. Kept in a separate database, it drifts.

The system drifts in silence

Features change and the cases describing them do not. When nothing connects a code change to the cases it invalidates, coverage quietly stops meaning anything, and regressions surface in front of users.

Knowledge locked away from the code

Established test management suites keep cases in their own database. Code review never sees them, version history never covers them, and the coding agents working in your repository cannot read them.

Testing without a record

“We tested it” is not a record. Without a log of which cases ran, on which version, with what verdict and comment, every release is an argument from memory.

AI-first, down to the file format

LLMs read files, not vendor databases. Cases in plain markdown next to the code are context that Claude Code or Codex uses natively: open the case, follow it, update it. It is also the natural first step toward agents running the automation, with QA overseeing the verdicts.

how it works

The Repository Writes, the Panel Runs

Test cases are markdown files in your repository. An agent keeps them current, a pre-push check keeps them honest, and a web panel turns them into runs, verdicts, and history.

Markdown cases in your repo

Each case is a markdown file with structured frontmatter: module, tags, priority, and the source files it covers. Grouped the way your repository is grouped, edited in the panel or in the editor, committed either way.

Written by coding agents

A packaged agent skill reads the diff, updates the cases it touches, and writes new cases for code nothing covers. Testers review and refine instead of transcribing.

Enforced at push time

A pre-push check blocks source changes that skip the test-case sync, so the case library cannot silently fall behind the code. Per repository, it can warn instead of block.

Runs as a record

A run locks its scope and case versions, then takes pass, fail, blocked, or skipped verdicts with comments, from the keyboard or in bulk. Runs close; they are never deleted.

Versions with outdated flags

Every case carries a version. A run remembers which version it graded, and a case whose latest version has never been tested is flagged, so stale confidence is visible.

Coverage and regressions

Each case names the source files it exercises, so the panel shows what the library covers, and a pass that later fails on the same case version surfaces as a regression.

the panel

One Panel for Cases, Runs, and Results

The panel reads the repository and manages everything around it: projects, cases, runs, verdicts, and history. Screenshots from a demonstration project; click any to see the full screen.

The project dashboard: changed cases needing attention, new cases, regressions
Every connected repository: cases, runs, last activity
Cases grouped by module, tagged, prioritized, searchable
A case in full: steps, expected results, version, and the runs that graded it
Open runs with live progress, per environment
A closed run: verdicts, rate, and what needs attention
early version

Get Your Hands on the Early Version

TCMS runs in production on Brival client projects: the case libraries our QA grades daily live in those clients’ repositories, maintained by the agents working there.

We install it for interested teams too, ahead of the open-source release. Leave your email and we will get in touch about setting it up for your projects. You will also hear when the release goes public.

faq

Common Questions

How is TCMS different from TestRail, Zephyr, or Xray?

Those tools keep test cases in their own database, managed through their UI. TCMS keeps cases as markdown files in your product’s repository, so they are versioned with the code, reviewed in pull requests, and readable by coding agents; the web panel manages runs and reporting on top of that source of truth.

Do the test cases really live in our repository?

Yes. Each case is a markdown file with structured frontmatter under a configurable directory in your repo. Edits made in the panel are committed back to the repository, and edits made in the repository show up in the panel.

What does the coding agent actually do?

A packaged skill for Claude Code reads the diff, updates affected cases, writes new cases for uncovered code, and records what it considered. It never touches tester notes or protected cases, and a tester reviews what it wrote.

What happens when someone pushes code without updating test cases?

A pre-push check compares the push against the last test-case sync and blocks it, with instructions to run the sync first. It can be configured per repository to warn instead of block.

Is TCMS open source?

Not yet. We install it for clients and interested teams today, and an open-source release is planned. Leave your email in the box above to get your hands on the early version and to hear when the release goes public.

work with us

Quality Is a System. We Build the System.

TCMS is one instrument of a larger practice: senior engineers delivering to a written standard, measured at every step. If releases feel like a gamble, start with a conversation about your system.