Skip to content
PluginStats

@windyroad/tdd weekly downloads statistics

By windyroad (9 listings) · npm · Claude Code

TDD state machine enforcement (Red-Green-Refactor cycle)

View on npm Fresh · Oct 27, 2026 · data Jul 1, 2026

@windyroad/tdd has 4,299 recorded weekly downloads on npm.

Weekly downloads
4,299
Official API · Jul 1, 2026
7-day growth
—
Insufficient history
30-day growth
—
Insufficient history
90-day growth
—
Insufficient history
Rank
—
Among tracked npm listings

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:

  1. Write a test file (*.test.ts, *.spec.ts, etc.) that describes the desired behaviour
  2. The test must fail (RED state) -- proving the test is meaningful
  3. Write the minimum implementation to make it pass (GREEN state)
  4. Refactor while keeping tests green
  5. 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):

ShapeImpl pathTest path
Same-directorysrc/foo.jssrc/foo.test.js or src/foo.spec.js
__tests__/-adjacentsrc/foo.jssrc/__tests__/foo.test.js
Parent __tests__/src/components/Hero.tsxsrc/__tests__/Hero.test.tsx
test/-mirror (Vitest default; many Jest setups)src/foo.js, src/a/b/foo.js, packages/<pkg>/src/foo.jstest/foo.test.js, test/a/b/foo.test.js, packages/<pkg>/test/foo.test.js
Cucumber step-definitionsfeatures/step_definitions/checkout.steps.jsfeatures/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

HookTriggerWhat it does
tdd-inject.shEvery promptInjects the current TDD state into the prompt
tdd-enforce-edit.shEdit or WriteBlocks implementation edits in IDLE or BLOCKED state
tdd-post-write.shAfter editRuns tests and transitions the state machine
tdd-review-test.shAfter editClassifies new test files as STRUCTURAL (asserts source content) or BEHAVIOURAL (exercises the target) and surfaces structural-test regressions per ADR-052
tdd-setup-marker.shSkill completesMarks test setup as done
tdd-reset.shSession endResets the TDD state

Updating and Uninstalling

npx @windyroad/tdd --update
npx @windyroad/tdd --uninstall

Licence

MIT

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

@windyroad/tdd weekly downloads on npm, last 90 days: 4,299 weekly downloads as of Jul 1, 2026.@windyroad/tddWeekly downloads on npm · Last 90 days4,299downloads / weekNo observations recorded in this periodno observations · 0 observations · Updated Jul 1, 2026pluginstats.com
@windyroad/tdd weekly downloads on npm, last 90 days: 4,299 weekly downloads as of Jul 1, 2026.

7/30/90-day growth

@windyroad/tdd weekly downloads growth on npm: 7-day growth unavailable, 30-day growth unavailable, 90-day growth unavailable.@windyroad/tddWeekly downloads growth on npm4,299downloads / week now7-day growthinsufficient historyInsufficient history30-day growthinsufficient historyInsufficient history90-day growthinsufficient historyInsufficient historyGrowth vs. nearest observation to each baseline date · Updated Jul 1, 2026pluginstats.com
@windyroad/tdd weekly downloads growth on npm: 7-day growth unavailable, 30-day growth unavailable, 90-day growth unavailable.

Ranking history

@windyroad/tdd has no ranking history on npm yet.@windyroad/tddnpm ranking · by weekly downloads · Last 90 daysNo ranking observations in this periodno observations · 0 observations · Updated Jul 1, 2026pluginstats.com
@windyroad/tdd has no ranking history on npm yet.

Listing placement

All npm2,577 listings · 129 pages · 1,290 shown · page 64, #6 (overall #1,266)
All npm: every listing in weekly downloads order

Listing placement

Claude Code351 listings · 18 pages · page 6, #5 (overall #105)
Claude Code: every listing in weekly downloads order

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)
Recent weekly downloads observations for @windyroad/tdd
Date (UTC)Weekly downloadsChange vs. previous
4,299—

Similar npm Claude Code plugins

All 20 @windyroad/tdd alternatives

Data 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.