From tdd-guard
Set up or update TDD Guard for the current project. Detects the test framework, installs or updates the matching reporter, and configures or migrates its configuration to match the current specification.
How 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:
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 |
| Minitest | tdd-guard-minitest | 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"
Minitest — Require tdd_guard_minitest/autorun from test/test_helper.rb (or pass -rtdd_guard_minitest/autorun via Rake::TestTask ruby_opts) and set TDD_GUARD_PROJECT_ROOT to the absolute project root path.
# test/test_helper.rb
require "tdd_guard_minitest/autorun"
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.mdnpx claudepluginhub p/shaneholloman-tdd-guard-pluginGuides completion of development work by verifying tests, detecting environment, and presenting structured options for merge, PR, or cleanup.
Enforces test-driven development: write failing test first, then minimal code to pass. Use when implementing features or bugfixes.
Guides creation and editing of skills using test-driven development with pressure scenarios and subagents to verify agent compliance.