prompt engineering → context engineering → graph engineering

The agent multiplexer in your shell.

One agent is a conversation. Five at once need a multiplexer — isolated worktrees, hosted sessions, and one SSH connection you can close.

Get started ↗

Runs on macOS & Linux (Windows via WSL). npm, bun, npx, or one curl line — Rove brings its own Bun runtime. Needs git and one engine CLI on your PATH.

FOUR TASKS RUNNING, NOBODY ATTACHED PICK A TASK →

ROVE

+ New taskn

J/K move · ⏎ open

claude
shell

[⌃ A P] Create PR

AllChanges

scope: vs main

CLAUDE 5h 42% → 14:00 · 7d 12% ⌃ A commands · F1 help · [settings]

A real session: three repositories, four tasks, each with its own worktree, branch and terminal tabs. Nothing is attached to any of them right now — every engine runs in a hosted PTY behind the daemon, so the work continues with the TUI closed. This is zen mode: Files is collapsed and the workspace takes the freed width. Hit ☯ ZEN at the bottom of the rail to bring it back, or pick a task on the left — this is a live layout, not a screenshot.

one node = git worktree + hosted engine session + branch
1.0 · MULTIPLEX

One prompt becomes N isolated attempts.

Each attempt gets its own worktree, branch and engine. No shared state, nothing to step on.

you

2.0 · SSH-NATIVE

It’s a TUI. That is the whole remote story.

Engines live in hosted PTYs behind a daemon — drop the connection and the fleet keeps working. No terminal to hand? rove web.

devbox

$

3.0 · PEERS

Agents message each other. No coordinator.

One rove api send lands in another agent’s session — both directions, mid-flight, while you sleep.

orchestrator

claude · tab-1

attempt b

codex · fix/auth-b

rove api send — one verb, either direction

Spin it up where your code lives.

One line, then one command. The only metric that matters: merged code per hour of your attention.

$ curl -fsSL https://rove.sma1lboy.me/install.sh | sh
$ ssh devbox && cd repo
$ rove
3 attempts running. Go do something else.