# Cistern Test Runner

> Test execution protocol for Cistern cataractae. Detects repo stack and runs the correct test/build commands. Use whenever a cataractae needs to verify code correctness before signaling.

- Skill: `michieldean/cistern-test-runner` (Agent Skill)
- Install (CLI): `npx skillmds@latest add michieldean/cistern-test-runner`
- Raw SKILL.md: https://api.skillmd.com/api/skills/michieldean/cistern-test-runner/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: michieldean (https://skillmd.com/u/michieldean)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/michieldean/cistern-test-runner

---


# Cistern Test Runner

## Detect the Stack

Check for these files in the repo root:
- `go.mod` → Go
- `package.json` → Node/TypeScript
- `pytest.ini`, `setup.py`, `pyproject.toml` with pytest → Python
- `Makefile` with test target → Make

## Build Commands

| Stack | Build |
|-------|-------|
| Go | `go build ./...` |
| Node/TS | `npm run build` or `tsc --noEmit` |
| Python | (no compile step) |
| Make | `make build` |

## Test Commands

| Stack | Test |
|-------|------|
| Go | `go test ./...` |
| Node/TS | `npm test` |
| Python | `pytest` |
| Make | `make test` |

## Lint Commands

| Stack | Lint |
|-------|------|
| Go | `go vet ./...` |
| Node/TS | `npm run lint` |
| Python | `ruff check .` |
| Make | `make lint` |

## Rules

1. Always run build before tests
2. Run the full test suite (no `-run` filtering) unless diagnosing a specific failure
3. Signal pass only after all tests pass — zero failures, zero exceptions
4. Failing tests = automatic recirculate (for review/QA cataractae) or must-fix (for implementer). This is unconditional — "pre-existing" failures are still failures. A red test suite means the codebase is broken. Fix it or recirculate; never pass with failing tests.
