Skip to main content
Watchfire
Version controlFirst-class

Git

The hard dependency. Every task is a branch, every branch is a worktree.

git-scm.com

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: true
Ready to go

Get started with Watchfire

Install in seconds. Define tasks. Let agents ship code for you.

Download for macOS

Available for macOS, Linux, and Windows

install
# Install via Homebrew (macOS)
$brew tap watchfire-io/tap
$brew install --cask watchfire-io/tap/watchfire
# Set up your project and go
$watchfire init
$watchfire task add "Build the login page"
$watchfire start --all

Includes GUI, CLI, and daemon. Also available via Homebrew.