Your first loop
A loop lives in a directory you choose. arthur init builds it with an interview; --demo skips straight to something worth looking at.
The fast way: a seeded demo
mkdir my-loop && cd my-loop
arthur init --demo
arthur status
arthur web
The demo seeds sample projects, a queued job, live sessions, an open human decision, and a quota bar — a busy loop, safe to break.
The real way: the interview
arthur init asks a handful of questions and writes config/arthur-loop.json. The first choice is the one everything hangs off:
Pick a master agent
The master agent is the AI that runs the show. The wizard detects what is installed on your machine — claude, codex, openclaw, gemini, grok, goose — and seeds the chosen one with the Arthur Loop skill plus a KICKOFF.md interview so it can wire the rest of the loop itself.
Pick a flow preset
| Preset | Shape |
|---|---|
guided | The default: advisor plans, executor builds, review gates on, human decisions on |
solo | One agent wears both hats — smallest setup |
pair | Distinct advisor and executor agents |
browser-advisor | A logged-in ChatGPT conversation is the advisor, via your own browser |
custom | You pick every piece by hand |
Scripting it
arthur init is an interview; without a terminal it exits 1 rather than hanging. From scripts, pass --yes plus the flags you want (for example --master-agent codex).
What lands on disk
my-loop/
config/arthur-loop.json # adapters, quota, projects — hand-editable
queue/ # append-only job ledger + events
projects/<ID>/artifacts/ # saved agent responses
human-decisions/open.md # the questions only you can answer
runtime/ # derived state, safe to lose
Every file is markdown or JSONL. Nothing phones home. See how the loop works for what moves through them.