Rudder

Your first agent

Type a task, watch it work in its own tree, read the diff, merge it. This is the whole loop.

Start one

Open Rudder in your repository and type what you want, in plain language, into the task box at the bottom:

fix the login redirect losing the query string

Press Enter. That is the default path and it means one thing: one isolated agent. Rudder creates a workspace for it, launches your chosen backend inside, and adds a row to the agents list.

why plain text is the safe default

Typing a task can never touch your working tree. If you actually want an agent in your real checkout, that is /main, and you have to ask for it.

rudder~/code/api
agents
/main1 agent
tag the releaserunning
workspaces3 agents
rate-limit the public APIrunning
port the settings screendone
drop the legacy session tablemerged
rate-limit the public API
workspace .rudder-workspaces/rate-limit

 Read src/server/middleware.ts
 Edit src/server/rate-limit.ts +64
 Bash npm test · 41 passed

 writing the burst-window test…
Three agents in their own workspaces, one in your checkout, and the selected agent's own terminal beside them.

Watch it

Press Option-2 for the worker pane. That is the agent's own terminal, unmodified: its prompts, its output, its permission questions. You can talk to it directly. Option-1 goes back to the agents list.

With several agents running, Option-[ and Option-] step between them from any pane.

Review the diff

When the row says done, select it and press v. That is the live jj diff of that agent's workspace: exactly what it changed, and nothing of it is in your checkout yet.

Merge it

Press m. Rudder confirms, then merges that workspace into your branch. The row becomes merged.

Changed your mind? u undoes the merge, using jj's operation log, and puts the change back where it was.

Then do four at once

Type another task. And another. Each gets its own workspace and its own row, all running at the same time, none of them able to see each other's edits. Merge them in whatever order they finish.

When the work is big enough to need ordering, that is a plan.