Make your specs actually comprehensive. Pair your specs with tests to make your coding agent stop improvising bad code
23
stars
137
commits
TypeScript
primary language
Sep 3, 2026
updated
Rudder is a local plugin for Claude Code and Codex that makes verifiably comprehensive specs from your session history and any existing specs. Rudder then uses specs to generate unit tests, turning test coverage into a proxy for how comprehensive your specs really are.
Why use it:
"I want my agents to stop guessing what I want when coding, but I don't want to have to pre-write super long specs"
Rudder solves this by retrospectively writing specs for you based on your prompt history, then asking you questions until the spec is comprehensive enough to stop any guesswork.
"I love Spec-Driven Development, but I'm worried my specs aren't comprehensive enough"
Rudder starts with the spec you give it, generates a coverage percentage showing how well your spec covers your agent's code, and then asks you questions to improve your spec until its sufficiently comprehensive.
How it works:
Rudder uses the repository's own test and coverage tools, and test generation stays with the coding agent and model you already use.
PATHAdd the Rudder marketplace:
/plugin marketplace add RudderCode/Rudder
Install the plugin:
/plugin install rudder@rudder
Restart the session before running Rudder.
Add the Rudder marketplace:
codex plugin marketplace add RudderCode/Rudder
Install the plugin:
codex plugin add rudder@rudder
Start a new Codex session and review the bundled prompt hook when Codex asks you to trust it.
Build your feature in a Git branch as usual, then ask your agent:
Run Rudder
You can also provide it an explicit coverage target:
Use $rudder to verify this branch at 90% coverage.
Rudder inspects the branch and session before proposing a test reset. Review the exact paths if tests have already changed. Approve the backup and reset only when those paths are correct.
The prompt hook links submitted prompts to the active repository and branch. Records are stored in a local SQLite database:
~/.rudder/rudder.db
Set RUDDER_HOME to use a different state directory.
The current plugin does not transmit captured prompts to RudderCode. Your coding agent may process that context when you invoke Rudder. Its provider terms and configuration still apply.
You can also ask the installed skill to:
See the privacy notice for the complete data-handling description.
Clone the repository, install dependencies, and run the validation suite:
npm ci
npm run format:markdown:check
npm run typecheck
npm test
npm run build
npm test uses Node's built-in test runner and rebuilds the bundled prompt hook
before running the suite.
To load the repository directly in Claude Code during development:
claude --plugin-dir .
See the installation guide for local Codex setup and the published-package workflow.
We welcome contributions! Please read our Contributing Guide and Code of Conduct before getting started.
Rudder is licensed under the Apache License 2.0.
TypeScript
71.1%
JavaScript
28.9%
Make your specs actually comprehensive. Pair your specs with tests to make your coding agent stop improvising bad code
23
stars
137
commits
TypeScript
primary language
Sep 3, 2026
updated
Rudder is a local plugin for Claude Code and Codex that makes verifiably comprehensive specs from your session history and any existing specs. Rudder then uses specs to generate unit tests, turning test coverage into a proxy for how comprehensive your specs really are.
Why use it:
"I want my agents to stop guessing what I want when coding, but I don't want to have to pre-write super long specs"
Rudder solves this by retrospectively writing specs for you based on your prompt history, then asking you questions until the spec is comprehensive enough to stop any guesswork.
"I love Spec-Driven Development, but I'm worried my specs aren't comprehensive enough"
Rudder starts with the spec you give it, generates a coverage percentage showing how well your spec covers your agent's code, and then asks you questions to improve your spec until its sufficiently comprehensive.
How it works:
Rudder uses the repository's own test and coverage tools, and test generation stays with the coding agent and model you already use.
PATHAdd the Rudder marketplace:
/plugin marketplace add RudderCode/Rudder
Install the plugin:
/plugin install rudder@rudder
Restart the session before running Rudder.
Add the Rudder marketplace:
codex plugin marketplace add RudderCode/Rudder
Install the plugin:
codex plugin add rudder@rudder
Start a new Codex session and review the bundled prompt hook when Codex asks you to trust it.
Build your feature in a Git branch as usual, then ask your agent:
Run Rudder
You can also provide it an explicit coverage target:
Use $rudder to verify this branch at 90% coverage.
Rudder inspects the branch and session before proposing a test reset. Review the exact paths if tests have already changed. Approve the backup and reset only when those paths are correct.
The prompt hook links submitted prompts to the active repository and branch. Records are stored in a local SQLite database:
~/.rudder/rudder.db
Set RUDDER_HOME to use a different state directory.
The current plugin does not transmit captured prompts to RudderCode. Your coding agent may process that context when you invoke Rudder. Its provider terms and configuration still apply.
You can also ask the installed skill to:
See the privacy notice for the complete data-handling description.
Clone the repository, install dependencies, and run the validation suite:
npm ci
npm run format:markdown:check
npm run typecheck
npm test
npm run build
npm test uses Node's built-in test runner and rebuilds the bundled prompt hook
before running the suite.
To load the repository directly in Claude Code during development:
claude --plugin-dir .
See the installation guide for local Codex setup and the published-package workflow.
We welcome contributions! Please read our Contributing Guide and Code of Conduct before getting started.
Rudder is licensed under the Apache License 2.0.
TypeScript
71.1%
JavaScript
28.9%