Skip to content

Workspaces & worktrees

A workspace is the top-level unit in Agentissimo. It holds one or more members — git repositories or plain folders. Each git member is backed by a worktree — a separate checkout sharing the repository’s history but with its own working directory and branch.

When an agent edits code, it edits inside its own worktree, not your main checkout. That isolation means:

  • Several agents can work the same repo at once without colliding.
  • An agent’s in-progress edits never disturb the files you have open.
  • A change lives on its own branch from the start, ready for the lifecycle.

A workspace can hold more than one member. A member is either a git repo (its own worktree and branch) or a plain folder mounted for context. Add repos from different repositories plus reference folders, and one agent drives the whole set from a single working directory — the way to run a refactor that spans several repos at once.

Each git member keeps its own branch and PR. The PR set acts on them together: push every member, open one cross-linked PR per member, and merge them in a chosen order. The merge walk stops on the first repo that isn’t mergeable and reports where — “Merged 1/3 — web blocked: checks failing” — leaving the rest for you to unblock. There is no cross-repo rollback; already-merged repos stay merged.

A classic single-repo workspace is just a workspace with one git member — unchanged.

New work targets a base branch. defaultBase in agentissimo.yaml sets it — seeded as origin/<your-default-branch> on first open. Workspace creation branches from this base; the lifecycle resolves PR targets against it (overridable per workspace under lifecycle.defaultBase).

If you drive an editor against the same checkout an agent is using, the working tree’s HEAD can move under you. Keep agent worktrees distinct from the checkout you edit by hand.