Git
The hard dependency. Every task is a branch, every branch is a worktree.
What is Git?
Git is the substrate Watchfire is built on. Every task is a branch, every branch lives in its own worktree, and the daemon handles the create-merge-clean lifecycle for you.
Git + Watchfire
Watchfire is opinionated about git in the same way a CI server is — it owns the branch namespace it touches (watchfire/<n>) and the worktree directory (.watchfire/worktrees/<n>/), and leaves the rest of your repo alone.
When you start a task, the daemon creates a fresh worktree at HEAD of your default branch, runs the agent in that worktree, and merges the branch back into the default when the task is marked done — tearing the worktree down on the way out.
Because each task is its own branch and its own worktree, you can run several agents in parallel without them stepping on each other's changes. The git model is what makes that possible.
Setup
Works out of the box. Watchfire init runs inside any existing git repo and assumes main is your default branch — change it in project.yaml if yours is named otherwise.
# .watchfire/project.yaml
default_branch: main
auto_merge: true
auto_delete_branch: trueOther version control integrations
Get started with Watchfire
Install in seconds. Define tasks. Let agents ship code for you.
Download for macOSAvailable for macOS, Linux, and Windows
# Install via Homebrew (macOS)brew tap watchfire-io/tapbrew install --cask watchfire-io/tap/watchfire# Set up your project and gowatchfire initwatchfire task add "Build the login page"watchfire start --allIncludes GUI, CLI, and daemon. Also available via Homebrew.