Run several features in flight at once
Queue background work and let Wildfire keep it moving while you ship the main thing.
Who this is for.
You have one feature that needs your full attention and four others that need to land this sprint. You don't want to ignore the four, but you also don't want to babysit them. You want background work running in isolation, surfacing for review when it's actually ready — not interrupting you mid-flow.
The workflow in 4 steps.
Draft every feature as its own task
Write a task YAML per feature — prompt, acceptance criteria, status `ready`. Don't lump them together; the whole point is that each one can land or fail independently and the queue can pick the next one up the moment one finishes.
Turn on Wildfire mode
Flip Wildfire on in the TUI or GUI. The daemon picks ready tasks off the queue, refines drafts that aren't tight enough, and even drafts new tasks from the project definition when the queue runs dry. You stop being the dispatcher.
Keep coding on `main`
While Wildfire chews on the queue, your working tree is untouched — every task lives in its own `watchfire/<n>` worktree. You can keep editing on `main`, commit, push, even rebase, without colliding with any in-flight agent session.
Review what landed when you come up for air
Background tasks merge into reviewable branches (or auto-merge if you trust the criteria). When you're ready, you do a single review pass over the batch instead of context-switching one PR at a time — and the messy ones go back as new tasks with sharper criteria.
A real task you can copy.
Drop this into .watchfire/tasks/<n>.yaml, tweak it to your repo, and start it from the TUI or GUI.
task_id: para0009
task_number: 9
title: "Add per-org rate limits to /api/* (Wildfire-friendly slice)"
prompt: |
Add per-organization rate limits to every route
under `/api/`. Use the existing Redis client at
`lib/redis.ts` and the token-bucket helper at
`lib/rate-limit.ts`. Read the org id from the
request context populated by
`middleware/auth.ts` — do not introduce a new
way to derive the org.
Limits, defaults:
- 60 requests / minute for GET routes.
- 30 requests / minute for POST/PUT/PATCH.
- 10 requests / minute for DELETE.
Allow overrides by setting
`org.rateLimitOverrides` in the user-loaded
context; respect them when present.
When a request exceeds the limit, return 429
with body `{ "error": "rate_limited",
"retryAfterSeconds": <int> }` and a
`Retry-After` header.
Out of scope:
- Touching any non-`/api/` route.
- UI changes.
- Adding a new dependency.
acceptance_criteria: |
- Every `app/api/*` route applies the rate
limit before reaching the handler body.
- The 429 response matches the spec above (body
and header).
- New tests exist under `app/api/__tests__/`
covering: GET above limit, POST under limit,
override honoured, missing org id returns 401.
- `npm run test` and `npm run lint` pass.
- No new runtime dependencies in
`package.json`.
status: ready
More starters in the task template library.
Why Watchfire makes this faster.
- Per-task git worktrees mean background tasks can't touch the file you're editing on `main` — there's no 'oh, the agent stomped my work' failure mode.
- Wildfire mode keeps the queue moving on its own, refining drafts and starting the next ready task as soon as one finishes, so the background pile actually drains instead of stalling.
- Each task gets its own sandbox, so a feature that wedges a process, opens a port, or spawns a watcher only wedges its own session.
- The daemon survives client restarts — close the TUI, reboot the laptop, the background tasks keep running and pick back up.
- When a feature lands, it's on its own reviewable branch with the full transcript attached, so you can context-switch in for a focused review without losing your place on the main thread.
Related use cases.
Drive a migration or codemod in parallel
Slice a framework upgrade per package and run them concurrently.
Read the playbook
Refactor a tangled module
Carve a sprawling refactor into scoped diffs you can actually review.
Read the playbook
Refresh docs from the source of truth
Ship a docs pass page by page — not as one unreviewable docs-mega-PR.
Read the playbook
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.