@windyroad/tdd weekly downloads statistics
By windyroad (9 listings) · npm · Claude Code
TDD state machine enforcement (Red-Green-Refactor cycle)
@windyroad/tdd has 4,299 recorded weekly downloads on npm.
About @windyroad/tdd
@windyroad/tdd
TDD state machine enforcement for Claude Code. Forces the Red-Green-Refactor cycle so your AI agent writes tests before implementation -- every time. Maturity: Experimental.
Part of Windy Road Agent Plugins.
What It Does
AI agents love to jump straight to implementation. This plugin stops that. It enforces a strict TDD state machine:
IDLE ──> RED ──> GREEN ──> RED (next test)
│
└──> Refactor (staying GREEN)
- IDLE -- No test written yet. Implementation file edits are blocked.
- RED -- A failing test exists. Implementation edits are allowed.
- GREEN -- Tests pass. You can refactor or write a new failing test.
- BLOCKED -- Test runner error or timeout. Fix the setup before continuing.
The agent must write a failing test first. There are no shortcuts.
Install
npx @windyroad/tdd
Restart Claude Code after installing.
Usage
The plugin activates automatically. On first use in a project without a test framework, it directs you to set one up:
/wr-tdd:setup-tests
This examines your codebase, recommends a test runner, configures package.json, and creates an example test.
Once active, the workflow is enforced on every edit:
- Write a test file (
*.test.ts,*.spec.ts, etc.) that describes the desired behaviour - The test must fail (RED state) -- proving the test is meaningful
- Write the minimum implementation to make it pass (GREEN state)
- Refactor while keeping tests green
- Repeat
Test files and config/doc files are always writable regardless of state.
Supported test layouts
The hook associates an implementation file with its tracked test by matching one of the following path shapes (per P201):
| Shape | Impl path | Test path |
|---|---|---|
| Same-directory | src/foo.js | src/foo.test.js or src/foo.spec.js |
__tests__/-adjacent | src/foo.js | src/__tests__/foo.test.js |
Parent __tests__/ | src/components/Hero.tsx | src/__tests__/Hero.test.tsx |
test/-mirror (Vitest default; many Jest setups) | src/foo.js, src/a/b/foo.js, packages/<pkg>/src/foo.js | test/foo.test.js, test/a/b/foo.test.js, packages/<pkg>/test/foo.test.js |
| Cucumber step-definitions | features/step_definitions/checkout.steps.js | features/checkout.feature |
The test/-mirror rule replaces the last src path segment with test, so it works at any nesting depth and for monorepo workspace layouts.
How It Works
| Hook | Trigger | What it does |
|---|---|---|
tdd-inject.sh | Every prompt | Injects the current TDD state into the prompt |
tdd-enforce-edit.sh | Edit or Write | Blocks implementation edits in IDLE or BLOCKED state |
tdd-post-write.sh | After edit | Runs tests and transitions the state machine |
tdd-review-test.sh | After edit | Classifies new test files as STRUCTURAL (asserts source content) or BEHAVIOURAL (exercises the target) and surfaces structural-test regressions per ADR-052 |
tdd-setup-marker.sh | Skill completes | Marks test setup as done |
tdd-reset.sh | Session end | Resets the TDD state |
Updating and Uninstalling
npx @windyroad/tdd --update
npx @windyroad/tdd --uninstall
Licence
Description from the npm listing.
- claude-code
- claude-code-plugin
- codex
- ai-agent
- ai-coding
README badge
Show your rank in a README or on your website. The badge updates automatically.
Charts
Images: 30d · 1y · all time · 1600×900 dark
Adoption over time
7/30/90-day growth
Ranking history
Listing placement
Listing placement
Filled points are observed values; hollow points come from Internet Archive snapshots of the listing page. Dashed segments span periods with no observations — values between points are not interpolated.
Each band is one page of 20. Weekly downloads on a linear scale. Placement is projected from weekly downloads, so it can differ from the marketplace's own sort order. Hover a dot to see the listing.
Recent observations
Full history (1)Similar npm Claude Code plugins
All 20 @windyroad/tdd alternativesData source
Weekly downloads (trailing 7 complete days) come from the official npm downloads API. Downloads include CI and mirrors and are not equivalent to installs or users. npm publishes no ratings.
Listing: https://www.npmjs.com/package/@windyroad/tdd. First seen Oct 27, 2026; last successful collection Oct 27, 2026. See the methodology.