Docs / Worktrees
One agent per worktree.
Parallel agents want parallel checkouts. raven-term builds git-worktree management into the terminal: a picker to create, open, and remove worktrees, and per-project environment scripts that bring a worktree's services up in panes of their own.
The picker (raven-term worktree)
The picker has no chord and no palette row — raven-term worktree (alias wt) is the way in. It lists every worktree of the current repo — parsed from git worktree list — labeled by branch, with the primary and locked ones marked. From it you create a worktree (new branch, new directory), open one in a space, or remove one. Mutations run through the git CLI on a worker thread, and failures surface their actual stderr in the picker footer instead of a generic error.
Worktree environments
A project can declare up and down scripts. worktree up runs each up script in its own pane of a space dedicated to the worktree — dev server here, watcher there — and worktree downruns the down scripts headless before closing the environment's panes. The worktree itself stays on disk.
# .raven-term.toml at the repo root (checked in, shared)
[[up]]
name = "web"
command = "npm run dev"
cwd = "marketing-site"
[[up]]
name = "agent"
command = "cargo run"
[[down]]
name = "stop"
command = "docker compose down"Configuration resolves from two layers: the repo-local .raven-term.toml (shared with the team) wins section-by-section over a [[projects]]entry in the global config (per-machine). Environment spaces show a marker glyph and the branch's CI verdict from the last GitHub status fetch.
From the CLI
raven-term worktree # open the picker overlay
raven-term worktree up # env up for the focused pane's worktree
raven-term worktree up ~/w/x # env up for a specific worktree
raven-term worktree down # run down scripts, close the env panes