Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

129 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Rudder

Rudder 🫧

Measure your own input on AI generated code.

GitHub stars npm downloads npm Discord License

Rudder is a local plugin for Claude Code and Codex that generates tests directly from your prompts. Rudder forces your agent to write tests solely from your session history, turning test coverage into a proxy for how much of your generated code resulted from your own decision making.

Why use it: Coding agents are now generating mass amounts of code, but with very little oversight into whether that code actually reflects the intent of the developer. Rudder solves this by using the age-old method of checking if code does what its supposed to do--unit testing.

How it works: Rudder installs hooks in your coding agents to record the repository and branch that your agents are working in. When invoked at the end of a session, Rudder instructs your agent to rewrite unit tests with the requirement that each test is tied directly to a prompt recorded for your working branch. Rudder uses the repository's own test and coverage tools, and test generation stays with the coding agent and model you already use.

Quick start

Requirements

  • Node.js 24 or newer
  • npm and Git on PATH
  • A current Claude Code or Codex installation with plugin support

Claude Code

Add the Rudder marketplace:

/plugin marketplace add RudderCode/Rudder

Install the plugin:

/plugin install rudder@rudder

Restart the session before running Rudder.

Codex

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.

Run Rudder

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.

Features

  • Bring your own agent (BYOA): Rudder is a plugin for your existing coding agent, and runs directly in your agent's coding session.
  • Multi-agent support: Install hooks into each of your coding agents to aggregate sessions across multiple providers.
  • Local storage: Your prompt data used by Rudder is stored in a local SQLite DB and never leaves your device.
  • Easy setup: Plugin installation is the only requirement to get started using Rudder.

Local data and privacy

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:

  • show the local storage path, capture status, and prompt count; or
  • delete all stored prompt records after explicit confirmation.

See the privacy notice for the complete data-handling description.

Development

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.

Contributing

We welcome contributions! Please read our Contributing Guide and Code of Conduct before getting started.

Documentation

License

Rudder is licensed under the Apache License 2.0.

Releases

Packages

Used by

Contributors

Languages