TDD Guard plugin
A Claude Code hooks plugin that blocks code without a failing test and implementation beyond the current test
- 2,369 ★ on the repository
- Last commit
- MIT
Extended access
Why this level
- Hooks run automatically with user permissions
- Sends code changes to a Claude model for validation
Install
- Works in
In your terminal, with SkillFoxx CLI
npx skillfoxx add plugins/tdd-guardDetects the agents on your machine, shows the access level and pins the version.
Other ways to install
Access and checks
How we reviewExtended accessThe tool runs code or makes network calls and only reads external data.
- Hooks run automatically with user permissions
- Sends code changes to a Claude model for validation
This is third-party code. Review the repository files before installing.
What it does
TDD Guard watches Claude Code edits through hooks and makes the agent follow TDD. When the agent writes implementation without a failing test or does more than the current test needs, the action is blocked with an explanation of what to do. Validation runs through a Claude model via the Agent SDK or API, and rules can be tuned with custom instructions. It reads test results through reporters for Vitest, Jest, Storybook, pytest, PHPUnit, Go, Rust, RSpec and Minitest, can hook in a linter for the refactor step, and can be toggled mid-session.
Who it is for. For teams practicing TDD who want the agent to stop cutting corners.
Good fit when
- The agent writes code before tests
- You need implementation kept minimal for each test
- You want a linter in the red, green, refactor loop
Not a fit when
- The project has no tests or an unsupported test framework
- A new project: the author recommends its successor Probity
Example request
Add email validation to the sign-up form, strictly test-firstLimitations
Requires Node 22 and a supported test framework with its reporter configured. Each check calls a Claude model, adding latency and using your subscription or API key. Hooks run with user permissions. The author moved development to Probity; TDD Guard stays maintained.
How to disable. Toggle validation off in the session or uninstall via /plugin uninstall tdd-guard@tdd-guard.
FAQ
Do I need a separate API key?
Not by default: validation goes through the Agent SDK and your Claude Code subscription. For CI set VALIDATION_CLIENT=api with a separate key.
How does Probity differ?
It continues the project with Codex and GitHub Copilot CLI support and no reporters to configure.
Discussion
No questions or reviews yet.
Related
PluginsQA agents, skills and an MCP server: test generation, coverage gaps, flaky tests, security scans and chaos testing
MCP server, agent and skills for end-to-end UI tests where the agent drives the computer through vision on cloud machines
A skill that tests your agent's code in a real browser: reads your changes, builds a test plan and runs it through Playwright with your own cookies
A CLI for testing and red teaming LLM applications: compares models, runs automated CI checks and finds vulnerabilities
A Claude Code and OpenCode plugin that will not let a session end until 1C edits pass standards, architecture and XML checks
Reviews the git diff and the conversation with the agent: catches bugs and gaps between your request and the agent's result. CLI, skill, GitHub Action
README in short
The README announces the move to Probity and describes the plugin's features. Install is three Claude Code commands, with manual setup in a separate guide. Links cover custom rules, linting, stronger enforcement, ignore patterns and model choice. It notes that hooks run with user permissions. MIT licensed.