# claw-forge

> An open-source harness that runs multiple AI coding agents in parallel against
> one repository. It decomposes a written specification into a dependency graph
> of features, gives each agent an isolated git worktree, and merges work only
> after the project's own test suite passes.

Apache-2.0. Python 3.11+. Install: `uv tool install claw-forge`
Repository: https://github.com/clawinfra/claw-forge
Current version: 0.8.130

## What it is

claw-forge is a harness, not a model and not an editor plugin. It orchestrates
existing coding agents: you supply credentials for your own model providers, and
it decides what runs, in what order, in what isolation, and whether the result is
allowed to merge.

## How it differs from a single coding agent

A single agent works one task at a time in your working tree. claw-forge runs
many concurrently, each in its own git worktree, so they cannot overwrite one
another. It tracks dependencies between features, so a task starts only once the
work it builds on has merged, and it gates every merge on the project's real
test command rather than on the agent's own claim of success.

## Core mechanisms

- **Feature DAG** — a spec is parsed into features with declared dependencies;
  a task becomes eligible only when its parents have completed *and* merged.
- **Worktree isolation** — one git worktree per concurrent agent, sharing the
  object store. Agents never touch the parent checkout.
- **Acceptance gate** — after an agent reports success, the project's own test
  command runs in that worktree. A non-zero exit fails the task and the retry
  loop re-runs it with the failure as context.
- **Provider pool** — eight provider types (Anthropic API, Anthropic OAuth,
  Anthropic-compatible, Bedrock, Vertex, Azure, OpenAI-compatible, Ollama)
  behind a router with per-provider circuit breaking and rotation on rate limits.
- **Filesystem sandbox** — file and shell tool calls are confined to the agent's
  worktree; on macOS and Linux an OS-level jail denies writes to the parent
  project.
- **Kanban UI** — a local REST and WebSocket state service backs a board showing
  every task, its status, and live agent output.

## Constraints worth stating plainly

- It needs a git repository and your own provider credentials; token cost is
  whatever those providers charge.
- Agents are non-deterministic. The gate is what makes "done" mean "tests pass",
  and the retry budget is bounded rather than infinite.
- Parallelism is limited by how disjoint the features are: tasks whose declared
  file footprints overlap serialise rather than collide.

## Links

- Homepage: https://claw-forge.net/
- Tutorial: https://claw-forge.net/tutorial
- Features: https://claw-forge.net/features
- Source: https://github.com/clawinfra/claw-forge
- Package: https://pypi.org/project/claw-forge/
