Chat
Interactive session in the project root — pair-program, ask, iterate.
Six annotated screens, one screen per step. By the end you'll know what a project, a task, a worktree, and Wildfire mode are — and how the TUI and GUI fit together.
watchfire init drops a project.yaml in your repo. It pins the default agent, the sandbox policy, and a plain-English definition the agent reads on every task — so context arrives the same way every time.
# .watchfire/project.yaml project_id: a1b2c3d4-e5f6-... name: my-project default_agent: claude-code sandbox: auto auto_merge: true auto_start_tasks: true definition: | Marketing site for Watchfire. Next.js + Tailwind. Fire palette. Reuse existing SVG components. next_task_number: 5
claude-code, codex, opencode, gemini, copilot, or cursor. A task can override it.false to review first.Full schema in /docs/quickstart.
A task is a title, a prompt, acceptance criteria, and a status. Tasks flow draft → ready → done. The daemon never starts a draft; only ready tasks get an agent.
# .watchfire/tasks/0042.yaml task_id: a1b2c3d4 task_number: 42 title: "Fix pagination cursor" prompt: | Cursor in lib/paginate.ts returns one fewer row than `limit` on the first page. Fix + add a regression test. acceptance_criteria: | - First page returns exactly `limit` rows - Existing tests pass status: ready position: 1
Build one interactively at /playground, or copy a template.
watchfire opens a Bubbletea TUI: task list on the left, live agent terminal on the right, status bar at the bottom. Everything is keyboard-driven and works the same over SSH.
j/k to move, s to start the selected one. CLI docs →? opens the full key map.Ctrl+f for the cross-project fleet view to jump between repos without leaving the TUI.Each mode wires the agent to a different scope of work — from a single conversation to a fully autonomous loop. Pick one in the TUI with a single keystroke, or pass it to watchfire run.
Interactive session in the project root — pair-program, ask, iterate.
Run one task in its own worktree on branch watchfire/<n>.
Drain every ready task sequentially, one worktree per task.
Autonomous loop — execute, refine drafts, generate new tasks, repeat.
One-shot: scan the codebase and write project.definition.
One-shot: read the definition and create new task files.
Plain-English definitions of every mode in /glossary.
When a task starts, the daemon creates a fresh git worktree on watchfire/<n>, sandboxes the agent inside it, and streams its terminal. When the agent finishes, the branch merges back to main.
sandbox-exec; ~/.ssh, ~/.aws, and .env are off-limits.success: true lands in the task file, the daemon merges the branch back to main and deletes the worktree.Architecture deep-dive: /docs/components/daemon.
Watchfire.app is an Electron client over the same daemon — a mission-control home window for the whole fleet, plus an independent window per project with the agent chat as the wide main pane and a tabbed reference panel beside it.
Full GUI walkthrough: /docs/components/gui.
Three ways to keep going — install the binary, read the long form, or grab the one-page cheatsheet.