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 standalone coding Task still
gets an isolated git worktree, CI gate, and review before changes touch main;
ordered child Tasks run serially in their coordination root's shared worktree.
REST, MCP, CLI, and web UI ship in one self-hosted binary.
Quickstart · Why Forge · Docs · Changelog · Contributing
Running two coding agents against the same repo is how you lose diffs. Forge fixes that: standalone tasks run in their own git worktrees, while ordered child tasks share a coordination root's worktree and run serially; every task hits your CI gate and waits for review before it merges. Agents collaborate; they don't collide.
- Isolated delivery worktrees — standalone Tasks get their own worktree; ordered child Tasks run serially in their coordination root's shared worktree, so agents do not overwrite each other or pollute your main checkout.
- Main Chat and Project Agent Chats — one global discovery timeline and one durable conversation per Project; the agent creates tasks and shapes Project records directly from chat, and Main-to-Project handoffs stay explicit and provenance-linked.
- Persistent embedded identities — use Agent Settings for API keys, guided provider login, and exact CLI runtimes. Any enabled configured Agent can serve as Main, Project, Worker, or reviewer—including the same Agent in multiple roles—while each turn or Task still receives only its scoped permissions.
- Mission Control — inspect attention, commitments, current scope, health, and recent outcomes without opening a wall of runtime logs.
- Review that follows the Task — define
ci_stepsper Task and choose Agent review, no review, or human-required review. Human-required review can be accepted or rejected by the user or the bound Project Agent. - 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.
- 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.
# 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 --demoOpen 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
Working in one checkout from a terminal? Open the Kanban-first Forge Solo.
Prefer to build from source? cargo run -p forge-cli -- --demo.
Running a public demo instance, and the pull-request check that tests it → docs/demo-instance.md.
https://forge.oc.mai1015.com — a throwaway Forge instance with a seeded
Demo project (14 tasks across every state). Register an account to look
around. Its data lives in memory and is wiped on every redeploy. In demo mode
the server runs no command from user configuration and no agent of its own;
see what a visitor can and cannot do.
Every pull request builds a fresh demo image, deploys it to that URL, waits until the exact build is serving, and runs a TestSprite browser suite against it. The check passes only when that build is live and the suite passes. The suite covers:
| Area | Tests |
|---|---|
| Task detail (open, edit title and description, priority, Escape, full page) | 10 |
| App shell and navigation (sidebar, brand, project switcher, theme, account menu) | 8 |
| Kanban board (create, move, search, filter, card actions) | 7 |
| Project settings (general, repositories, members, workflow, analytics, MCP) | 6 |
| Account pages (profile, settings, access tokens, usage) | 4 |
| Tasks table (open, sort, filter, combined filters) | 4 |
| Project overview (counts, charter state, chat entry points) | 4 |
| Task creation (board dialog, quick create, task types) | 4 |
| Task comments and task status moves | 6 |
How it is wired → docs/demo-instance.md.
| 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 for standalone Tasks; ordered children reuse their coordination root's root-owned checkout, cleaned up when that root is done/cancelled. |
| Review mode | Agent review, no review, or human-required review layered on the Task workflow and CI checks. |
![]() |
![]() |
| 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 | 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. |
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.
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.

