
Make multiple coding agents collaborate on one repo — without stepping on each other.
Forge gives every task its own isolated git worktree, then runs your CI gate and
review step before changes touch main. Drive Claude Code, Codex, Cursor,
Gemini, opencode, and your own shell agents through one local-first task
lifecycle — REST API, MCP endpoint, CLI, and web UI in a single binary.
Self-hosted, MIT, no cloud.
Quickstart · Why Forge · Docs · Changelog · Contributing
Running two coding agents against the same repo is how you lose diffs. Forge fixes that: every task runs in its own git worktree, hits your CI gate, and waits for review before it merges. Agents collaborate; they don't collide.
ci_steps per task; the review runner blocks merge until they pass. Human approval is an explicit transition, not an afterthought.todo → in_progress → review → merging → done, with an audit log and explicit cancellation paths so handoffs between agents (and humans) are legible.forge-ctl CLI, and a React web UI ship together. Drive Forge from a script, an editor, or a browser.main.If you only want a chat UI bolted onto your editor, Forge is not for you. Try Continue or Cline instead.
# Run instantly through npm (macOS / Linux)
npx @forgeailab/forge --demo
# Install via Homebrew (macOS / Linux)
brew install forgeailab/tap/forge
# Or grab the latest release directly
curl -fsSL https://raw.githubusercontent.com/ForgeAILab/forge/main/install.sh | bash
# Start the server with seeded demo data if you installed it locally
forge --demo
Open the management_url printed in the server logs. That's it — you should
see a demo project with a labelled task and a fake daemon report. From here:
Prefer to build from source? cargo run -p forge-cli -- --demo.

| Concept | What it is |
|---|---|
| Project | A workspace grouping repos, tasks, agents, and a workflow definition. |
| Repo | A pointer to a local git checkout that tasks operate on. |
| Task | A unit of agent work with a state, optional CI steps, and an audit log. |
| Agent | A registered AI executor (Claude Code, Codex, Cursor, shell, …) bound to a daemon. |
| Daemon | The local process that reports installed CLIs and runs executions. |
| Worktree | An isolated git checkout created per task, cleaned up on done/cancelled. |
| Review gate | The CI steps + optional human approval that block review → merging. |
![]() |
![]() |
| Task detail — lifecycle, role assignments, CI/review gate, audit log | Daemon — auto-detects installed CLIs on the host (Claude Code, Codex, Cursor, Gemini, opencode, shell) |
Deeper dive → docs/architecture.md.
| Doc | What's in it |
|---|---|
| Getting started | Install, first project, agents, end-to-end task walkthrough. |
| Architecture | Crate graph, task state machine, database, event bus. |
| API reference | REST endpoints, query params, pagination, MCP tools, SSE. |
| forge-ctl CLI | Subcommands, daemon link, scripted runs. |
| Execution logs | JSONL log schema and chat-history reconstruction. |
| Changelog | Per-release changes and breaking notes. |
Forge is in public beta (0.1.x). The local-first single-user product is usable
end-to-end, but APIs, schemas, and CLI flags can change without deprecation cycles.
Track breaking changes in CHANGELOG.md. A stable 1.0 will land
once the workflow engine, multi-user story, and release artifacts (signing, SBOMs,
Homebrew, Windows builds) are finalized.
Issues, PRs, and design discussion are welcome. Start with CONTRIBUTING.md
and check good first issue and help wanted labels. By participating you agree to
the Code of Conduct.
Please report vulnerabilities privately per .github/SECURITY.md.
MIT © Forge contributors.
$ claude mcp add forge \
-- python -m otcore.mcp_server <graph>