June 9, 2026

The Tester Agent — Every Stack, One QA Layer

How Datarim's Tester agent auto-detects the project's test runner, runs unit and integration suites inside Docker when available, and reports structured results.

Running tests sounds simple until there are a dozen different stacks in a single engineering organization. Node with Vitest, Python with pytest, Rust with cargo test — each has its own invocation, its own output format, its own idea of what «pass» means. The Tester agent handles that variation so the pipeline does not have to hard-code it.

The agent's defining quality is that it does not assume. It probes the project for manifest files before deciding how to run anything, and it checks whether the service is running in a container before deciding where to run the tests.

What it does

Detection starts at the project root. The presence of package.json points toward Node.js — then a second check reads the scripts block to pick between npm, pnpm, Jest, and Vitest. A Cargo.toml means Rust, a go.mod means Go, and so on. If the project's own CLAUDE.md specifies custom test commands, those take precedence over the auto-detected ones.

Docker awareness changes where the tests run, not just how. If a compose file is present and the service is up, tests execute inside the container — the same environment CI uses. If Docker is not running, the agent falls back to the host and warns about the difference. For deployed services, API smoke tests run via curl against the health endpoints the project declares.

For website projects, the agent runs four specific checks in order: HTTP smoke for every public URL, content parity between language files, visual verification via screenshot, and a CSS audit for common anti-patterns like hardcoded colors or missing motion preferences.

One concrete example

A backend service has a compose file with a running container. The Tester checks the container is up, then runs docker compose exec api pnpm test. The result comes back as a structured table: suite name, test count, passed, failed, skipped, duration. Any failure includes the test name, the error message, and the file path — enough to find the line without re-running.

Where it sits

The Tester runs at /dr-qa, the quality assurance stage, alongside the Reviewer agent. The Tester's job is execution and reporting; the Reviewer's job is judgment. A task clears QA when both have completed their pass.

See the full agent roster on the Tester reference card, or read what Datarim is for the bigger picture.