Rudder

plan, run in parallel, review, merge

Steer your coding agents.

Rudder is the terminal orchestrator. Describe a goal; it plans the work into a task DAG you can edit before it runs, executes Claude Code and Codex in parallel across isolated jj workspaces, then keeps review and merge in one dashboard.

$ npm install -g @viraatdas/rudder@latest
View source
Rudder's dashboard: an agents list on the left, the worker pane showing the orchestrator's live task DAG and plan on the right, and a task box along the bottom.

One goal in. A steered plan out.

You describe the outcome. Rudder turns it into a graph of tasks and drives each one from planned to merged, in parallel, while you watch.

Describe

The goal

Type what you want built into the task box, in plain language.

Plan

A task DAG

A read-only planner inspects the repo and proposes typed dependencies.

Run

In parallel

Claude Code and Codex build ready nodes in isolated jj workspaces.

Review

A live diff

Press v for the jj diff of any node, right inside the pane.

Merge

And unblock

Clean work merges mechanically and unblocks its children.

A plan you can watch and steer.

Rudder is not a transcript UI. You give it a goal, it decomposes the work, and shows every node's status live. Refine the plan by chat, add tasks while it runs, then review and merge.

Orchestrate

Plan into a DAG

Describe a goal once. A read-only planner inspects the repo and emits a task DAG with typed hard and soft dependencies. Edit any node inline, or refine the whole plan by chat, before it launches.

Parallel

Agents in jj workspaces

Ready nodes run Claude Code and Codex in parallel, each in its own isolated jj workspace, so they build concurrently without trampling the main checkout.

Review

Review and merge

Watch a live jj diff of any node, merge clean work mechanically, and let an AI resolver integrate conflicts. Merging a parent unblocks its children automatically.

A few opinions, made into a tool.

Rudder is not trying to be a faster chat window. It takes a stance on how agents should work: plan first, isolate the work, and keep you steering with full visibility and undo.

Plan before you build.

The planner is read-only. It inspects the repo, asks a round of questions before it assumes anything, and proposes a DAG. Nothing is written to your code until you approve it.

Isolate the work, don't coordinate it.

Every node runs in its own jj workspace, never nested in your repo, so parallel agents never collide live. The only thing left to reconcile is a merge, and Rudder handles that.

Steer, don't babysit.

The orchestrator acts on its own: it expands the plan, fixes drift, and merges clean work. Every action is logged and every action is undoable, so you stay in control without watching each step.

Block only on real gates.

Hard edges wait for a parent to merge; soft edges are context only. Work that can run in parallel does, and the plan blocks just where one task truly depends on another.

Edit the plan before it runs.

The DAG is a draft, not a verdict. Press v on the orchestrator to open plan review, then edit any node inline: its title, goal, success criteria, dependencies, and the prompt the agent will run. Approve once and Rudder launches the plan you actually want.

plan review node 04 · dashboard
titledashboard
goalrender the top-tracks view from the api client
donetracks list renders with cover art and play counts
hard deps02   03
soft depsnone
promptbuild the dashboard route, fetch via the api client, gate on auth…
plan review keys
vopen plan review on the orchestrator
Tabmove between fields on a node
Ctrl-Ssave your edits to the DAG
Ctrl-Enterapprove and launch the plan
Eschide review, back to the orchestrator

Three panes, three jumps.

Option-1, Option-2, and Option-3 always mean Agents, Worker, and Task. The Worker pane belongs to Claude or Codex, so dashboard commands from there start with the Ctrl-W leader.

Option-1

Agents

Pick a run, move with j/k, then review, merge, rename, or delete.

Option-2

Worker

Talk directly to Claude Code or Codex. Tab and prompts stay native.

Option-3

Task

Start a plan, answer planner questions, or add work to a running DAG.

task pane
build a spotify top-tracks dashboard_
from inside worker
Ctrl-W 1/2/3use the same pane jumps
Ctrl-W vopen review for the selected agent
Ctrl-W mmerge the selected agent
/modelswitch Claude, Codex, model, effort

Start steering.

Install Rudder, describe a goal, and watch the plan run. Free and open source.

$ npm install -g @viraatdas/rudder@latest
View source