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.
plan, run in parallel, review, merge
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
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.
Type what you want built into the task box, in plain language.
A read-only planner inspects the repo and proposes typed dependencies.
Claude Code and Codex build ready nodes in isolated jj workspaces.
Press v for the jj diff of any node, right inside the pane.
Clean work merges mechanically and unblocks its children.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Pick a run, move with j/k, then review, merge, rename, or delete.
Talk directly to Claude Code or Codex. Tab and prompts stay native.
Start a plan, answer planner questions, or add work to a running DAG.
Install Rudder, describe a goal, and watch the plan run. Free and open source.
$ npm install -g @viraatdas/rudder@latest