Skip to main content
Budget an hour the first time. Most of it goes into step 3 — the repository settings — which is the part that pays off on every workspace afterwards.

1. Authenticate the tools it drives

Archductor shells out to CLIs you have already authenticated. It stores no credentials and proxies no API calls.
archductor setup --recheck re-reads the process environment first, which is what you want immediately after installing a tool in another terminal.
You do not need any agent CLI to get value out of Archductor. Isolated worktrees, the diff surface, checks, and the pull-request flow all work with Shell sessions alone.

2. Add the repository

In the app: the Projects page, pointing at an existing folder or cloning a Git URL. One project wraps one repository. Read repo doctor rather than skimming it. It tells you whether the default branch, the remote, and the worktree parent directory are what you assume — all three are baked into every workspace created afterwards.

3. Configure it before creating workspaces

A workspace picks up configuration when it is created, so it is much faster to write the file first than to fix three workspaces later.
.archductor/settings.toml
Four things earn their keep immediately:
  • setup runs once per new workspace. A fresh worktree has no node_modules, no target/, no .venv — nothing gitignored. Without a setup script, every new workspace starts broken.
  • file_include_globs lists gitignored files to copy from the main checkout into each new worktree. This is how .env gets there. Only gitignored files are ever copied; tracked files come from Git.
  • $ARCHDUCTOR_PORT is a stable per-workspace port. Use it in run or two workspaces will fight over 3000.
  • test and lint become the workspace’s checks. There is no separate checks configuration — these keys are it.
Full schema in Project setup and the settings reference.

4. Create the workspace

Or from a prompt, a GitHub issue, a GitHub pull request, or a Linear issue — --prompt, --from-issue, --from-pr, --from-linear. Issue-sourced workspaces seed the branch name and the agent’s first message from the issue, which is worth more than it sounds when you create a dozen a day. You get a Git worktree, a branch, a .context/ directory for scratch state, a reserved port block, and your copied local files.
One workspace is one reviewable unit. If two changes should land as two pull requests, they need two workspaces. Several chats inside one workspace is fine — they share the branch on purpose.

5. Start an agent

In the app this is the Chat panel. Either way the message enters a durable queue owned by the daemon, not a terminal buffer. It survives the app restarting, and it is delivered when the agent is ready for it rather than being typed into the middle of a running turn. That distinction — queueing versus steering — is the thing most worth understanding early. See Agent sessions.

6. Review

The Changes panel is the same data. Prefer reviewing in the app: the panel also carries todos, local review comments, sibling-workspace conflicts, pull-request checks, and GitHub PR comments — and any of them can be pushed straight into the agent’s input queue instead of being copy-pasted. Sibling conflicts are the underrated one. If another in-flight workspace has touched the same files, you see it here, before the merge.
archductor archcar workspace-diff inverts the default: it shows everything against the review base, and takes --uncommitted to narrow. Use it when you want the whole branch.

7. Ship

pr create --from-context fills the title and body from the generated draft — the summary, tasks, per-agent contributions, check results, and recorded risks. Better than a hand-written stub when the work spanned several sessions.

Merge blockers

Enforced by pr merge. Two are on by default, which surprises people:
Archiving keeps the record and the transcripts; --remove-worktree reclaims the disk. archductor workspace restore brings it back.

When it goes wrong

Ordered by how often it is the answer. archductor archcar processes <workspace> lists every setup, run, check, and session process the daemon believes it owns — the fastest way to find a process that outlived its session.

Next

Running work in parallel

The reason to install any of this.

Project setup

Scripts, copied files, prompts, checks, merge rules.