Make multiple coding agents collaborate on one repo — without stepping on each other.
Forge hosts durable embedded assistants and task-scoped coding agents in one
local control plane. Talk to one global Main Agent, hand approved context to
one Project Agent per Project, and keep each chat's continuity without granting
repository access outside an admitted Task. Every coding Task still gets an
isolated git worktree, CI gate, and review before changes touch main. REST,
MCP, CLI, and web UI ship in one self-hosted binary.
Quickstart · Why Forge · Docs · Changelog · Contributing
Why Forge
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.
- One isolated git worktree per task — Claude Code, Codex, Cursor, Gemini, and Smith can each work in parallel without overwriting each other or polluting your main checkout.
- Main Chat and Agent Workspaces — keep one global discovery timeline, one durable Project conversation beside typed Project records, and make Main-to-Project handoffs explicit and provenance-linked.
- Persistent embedded identities — use canonical Agent Settings for API keys or guided provider login, bind a profile explicitly as Main or Project Agent, and keep Task Worker/reviewer authority separate from chat bindings.
- Mission Control — inspect attention, commitments, current scope, health, and recent outcomes without opening a wall of runtime logs.
- Review gate with your CI — define
ci_stepsper task; the review runner blocks merge until they pass. Human approval is an explicit transition, not an afterthought. - Structured task lifecycle —
todo → in_progress → review → merging → done, with an audit log and explicit cancellation paths so handoffs between agents (and humans) are legible. - BYO agent — first-class adapters for Claude Code, Codex, Cursor, Gemini, opencode, Smith, and a generic shell executor. Add your own with a small adapter.
- One binary, every surface — REST API, MCP JSON-RPC,
forge-ctlCLI, and a React web UI ship together. Drive Forge from a script, an editor, or a browser. - Local-first by default — single binary, SQLite, loopback-only server with a persisted local port. No telemetry, no SaaS, your data stays on disk.
Who it's for
- Developers already running more than one coding agent (Claude Code + Codex, Cursor + Gemini, …) who keep losing diffs to branch collisions or shared-tree edits.
- Small engineering teams piloting agent workflows who need worktree isolation, audit trails, and a review gate before code lands on
main. - Builders who want a local, hackable control plane for AI coding work — not another hosted dashboard.
If you only want an unscoped chat UI bolted onto your editor, Forge is not for you. Forge is built around durable identity, explicit authority, delivery evidence, and gated repository work.
5-minute quickstart
# 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:
- Drive a real task end-to-end → docs/getting-started.md
- Wire up Claude Code / Codex / Cursor / Gemini → docs/getting-started.md#agents
- Hit the API directly → docs/api.md
Prefer to build from source? cargo run -p forge-cli -- --demo.
Core concepts
| Concept | What it is |
|---|---|
| Agent identity | A durable account-owned agent with immutable selectable provider/CLI profiles. |
| Main Agent | The account's single global assistant for discovery, Project lifecycle, bounded summaries, and explicit handoff. |
| Project | A workspace grouping repos, Tasks, one Project Agent Chat, and a workflow definition. |
| Project Agent | The single persistent manager for a Project; it manages Tasks only through the Project workflow. |
| Project Charter | The user-approved, revisioned source of Project identity, scope, constraints, success, and unresolved knowledge. |
| Agent Chat | The immutable, scope-isolated timeline for the Main Agent or one Project Agent. |
| 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. |
| Milestone / release | An outcome contract with evidence-backed readiness and an immutable Mxxx-rN Forge snapshot. |
| Evidence | Project-authorized image, video, or report metadata that can reuse Task media and survive release pinning. |
| 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. |
Deeper dive → docs/architecture.md.
Documentation
| Doc | What's in it |
|---|---|
| Getting started | Install, first project, agents, end-to-end task walkthrough. |
| Architecture | Authority model, Project truth, milestones/evidence, crate graph, task state machine, database, event bus. |
| API reference | Charter/Project/Document/Milestone/Release REST endpoints, media retention, 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. |
Status
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.
The Main/Project Agent Chat model described above is the approved replacement
surface currently being implemented; its data-preserving migration starts at
V071+. Check CHANGELOG.md for the visible breaking transition
before building against collaboration APIs.
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.
Contributing
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.
Security
Please report vulnerabilities privately per .github/SECURITY.md.
License
MIT © Forge contributors.
No comments yet
Be the first to share your take.