Help us improve
Share bugs, ideas, or general feedback.
From tdd-guard
Sets up or updates TDD Guard by detecting test framework (Vitest, Jest, Storybook, pytest, etc.), installing matching reporter, and configuring to output results to .claude/tdd-guard/data/test.json.
npx claudepluginhub nizos/tdd-guard --plugin tdd-guardHow this skill is triggered — by the user, by Claude, or both
Slash command
/tdd-guard:setupThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Set up TDD Guard for the current project. Your goal is to:
Checks and configures testing frameworks like Vitest, Jest, pytest, and nextest against best practices. Supports setup, migration to modern stacks, coverage validation, and auto-fixes for JS/TS, Python, Rust projects.
Runs tests across JavaScript/TypeScript (Jest/Vitest/Mocha/Playwright), Python (pytest/unittest), Go, Rust, Java; analyzes failures with root causes/fixes, reports coverage, supports TDD.
Orchestrates TDD workflows enforcing red-green-refactor cycles, coordinates multi-agent testing agents, and applies modern practices like Chicago/London school, ATDD, and BDD.
Share bugs, ideas, or general feedback.
Set up TDD Guard for the current project. Your goal is to:
| Framework | Reporter package | Registry |
|---|---|---|
| Vitest | tdd-guard-vitest | npm |
| Jest | tdd-guard-jest | npm |
| Storybook | tdd-guard-storybook | npm |
| pytest | tdd-guard-pytest | PyPI |
| PHPUnit | tdd-guard/phpunit | Packagist |
| Go | github.com/nizos/tdd-guard/reporters/go/cmd/tdd-guard-go | go install |
| Rust | tdd-guard-rust | crates.io |
| RSpec | tdd-guard-rspec | RubyGems |
All reporters write test results to .claude/tdd-guard/data/test.json relative to the project root.
Vitest — Add the reporter entry to the reporters array with projectRoot in the options object.
reporters: [
'default',
['tdd-guard-vitest', { projectRoot: '/absolute/path/to/project' }],
]
Jest — Add reporter entry to the reporters array with projectRoot option.
reporters: [
'default',
['tdd-guard-jest', { projectRoot: '/absolute/path/to/project' }],
]
Storybook — Construct StorybookReporter in .storybook/test-runner.ts and wire it into the postVisit hook.
// .storybook/test-runner.ts
import { StorybookReporter } from 'tdd-guard-storybook'
const reporter = new StorybookReporter({
projectRoot: '/absolute/path/to/project',
})
module.exports = {
async postVisit(page, context) {
await reporter.onStoryResult(context)
},
}
process.on('exit', () => {
reporter.onComplete()
})
pytest — Set tdd_guard_project_root in pytest config (pyproject.toml, pytest.ini, or setup.cfg).
[tool.pytest.ini_options]
tdd_guard_project_root = "/absolute/path/to/project"
PHPUnit — Add extension (PHPUnit 10+) or listener (PHPUnit 9.x) to phpunit.xml with project root path.
<!-- PHPUnit 10+ -->
<extensions>
<bootstrap class="TddGuard\PHPUnit\TddGuardExtension">
<parameter name="projectRoot" value="/absolute/path/to/project"/>
</bootstrap>
</extensions>
<!-- PHPUnit 9.x -->
<listeners>
<listener class="TddGuard\PHPUnit\TddGuardListener">
<arguments>
<string>/absolute/path/to/project</string>
</arguments>
</listener>
</listeners>
Go — Add a test target using the piped command below. Update an existing Makefile, Taskfile, or similar build system if one exists.
go test -json ./... 2>&1 | tdd-guard-go -project-root /absolute/path/to/project
Rust — Add a test target using the piped command below. Update an existing Makefile, Taskfile, or similar build system if one exists.
cargo nextest run 2>&1 | tdd-guard-rust --project-root /absolute/path/to/project --passthrough
RSpec — Add the formatter to .rspec and set TDD_GUARD_PROJECT_ROOT environment variable to the absolute project root path.
--format TddGuardRspec::Formatter
export TDD_GUARD_PROJECT_ROOT="/absolute/path/to/project"
Your scope is limited to installing, updating, configuring, and migrating a TDD Guard reporter. Do not make changes beyond that.
Once complete, inform the user of what was done and that:
tdd-guard off / tdd-guard on to toggle it mid-session.claude/tdd-guard/data/instructions.md