[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-81796":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":13,"openIssues":14,"contributorsCount":15,"subscribersCount":15,"size":15,"stars1d":15,"stars7d":15,"stars30d":13,"stars90d":15,"forks30d":15,"starsTrendScore":15,"compositeScore":16,"rankGlobal":10,"rankLanguage":10,"license":17,"archived":18,"fork":18,"defaultBranch":19,"hasWiki":18,"hasPages":18,"topics":20,"createdAt":10,"pushedAt":10,"updatedAt":31,"readmeContent":32,"aiSummary":33,"trendingCount":15,"starSnapshotCount":15,"syncStatus":34,"lastSyncTime":35,"discoverSource":36},81796,"forge","ForgeAILab\u002Fforge","ForgeAILab","AI coding agent workflow engine for structured task lifecycles.","https:\u002F\u002Fforgeailab.github.io\u002F",null,"Rust",42,1,10,0,41,"MIT License",false,"main",[21,22,23,24,25,5,26,27,28,29,30],"ai","automation","coding-agents","developer-tools","development","mcp","rust","self-hosted","task-management","workflow","2026-06-12 04:01:35","\u003Cdiv align=\"center\">\n\n\u003Cpicture>\n  \u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"assets\u002Fforge-wordmark-transparent.png\">\n  \u003Cimg src=\"assets\u002Fforge-wordmark.png\" alt=\"Forge\" width=\"420\">\n\u003C\u002Fpicture>\n\n**Make multiple coding agents collaborate on one repo — without stepping on each other.**\n\n[![CI](https:\u002F\u002Fgithub.com\u002FForgeAILab\u002Fforge\u002Factions\u002Fworkflows\u002Fci.yml\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002FForgeAILab\u002Fforge\u002Factions\u002Fworkflows\u002Fci.yml)\n[![Release](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fv\u002Frelease\u002FForgeAILab\u002Fforge?include_prereleases&sort=semver)](https:\u002F\u002Fgithub.com\u002FForgeAILab\u002Fforge\u002Freleases)\n[![npm](https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fv\u002F@forgeailab\u002Fforge)](https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002F@forgeailab\u002Fforge)\n[![License: MIT](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flicense-MIT-blue.svg)](LICENSE)\n[![Status: public beta](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fstatus-public%20beta-orange.svg)](#status)\n\nForge gives every task its own isolated git worktree, then runs your CI gate and\nreview step before changes touch `main`. Drive Claude Code, Codex, Gemini, opencode,\nand your own shell agents through one local-first task lifecycle — REST API, MCP\nendpoint, CLI, and web UI in a single binary. Self-hosted, MIT, no cloud.\n\n[Quickstart](#5-minute-quickstart) · [Why Forge](#why-forge) · [Docs](docs\u002F) · [Changelog](CHANGELOG.md) · [Contributing](CONTRIBUTING.md)\n\n\u003C\u002Fdiv>\n\n---\n\n## Why Forge\n\nRunning two coding agents against the same repo is how you lose diffs. Forge fixes\nthat: every task runs in its own git worktree, hits your CI gate, and waits for\nreview before it merges. **Agents collaborate; they don't collide.**\n\n- **One isolated git worktree per task** — Claude Code, Codex, and Gemini can each work in parallel without overwriting each other or polluting your main checkout.\n- **Review gate with your CI** — define `ci_steps` per task; the review runner blocks merge until they pass. Human approval is an explicit transition, not an afterthought.\n- **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.\n- **BYO agent** — first-class adapters for Claude Code, Codex, Gemini, opencode, and a generic shell executor. Add your own with a small adapter.\n- **One binary, every surface** — REST API, MCP JSON-RPC, `forge-ctl` CLI, and a React web UI ship together. Drive Forge from a script, an editor, or a browser.\n- **Local-first by default** — single binary, SQLite, loopback-only server with a persisted local port. No telemetry, no SaaS, your data stays on disk.\n\n## Who it's for\n\n- **Developers already running more than one coding agent** (Claude Code + Codex, Codex + Gemini, …) who keep losing diffs to branch collisions or shared-tree edits.\n- **Small engineering teams** piloting agent workflows who need worktree isolation, audit trails, and a review gate before code lands on `main`.\n- **Builders** who want a local, hackable control plane for AI coding work — not another hosted dashboard.\n\nIf you only want a chat UI bolted onto your editor, Forge is not for you. Try Continue or Cline instead.\n\n## 5-minute quickstart\n\n```bash\n# Run instantly through npm (macOS \u002F Linux)\nnpx @forgeailab\u002Fforge --demo\n\n# Install via Homebrew (macOS \u002F Linux)\nbrew install forgeailab\u002Ftap\u002Fforge\n\n# Or grab the latest release directly\ncurl -fsSL https:\u002F\u002Fraw.githubusercontent.com\u002FForgeAILab\u002Fforge\u002Fmain\u002Finstall.sh | bash\n\n# Start the server with seeded demo data if you installed it locally\nforge --demo\n```\n\nOpen the `management_url` printed in the server logs. That's it — you should\nsee a demo project with a labelled task and a fake daemon report. From here:\n\n- Drive a real task end-to-end → [docs\u002Fgetting-started.md](docs\u002Fgetting-started.md)\n- Wire up Claude Code \u002F Codex \u002F Gemini → [docs\u002Fgetting-started.md#agents](docs\u002Fgetting-started.md#configuring-agents)\n- Hit the API directly → [docs\u002Fapi.md](docs\u002Fapi.md)\n\nPrefer to build from source? `cargo run -p forge-cli -- --demo`.\n\n## Core concepts\n\n\u003Cpicture>\n  \u003Cimg src=\"assets\u002Fscreenshots\u002Fboard.png\" alt=\"Forge kanban board showing tasks across backlog, todo, in_progress, review, and done columns\">\n\u003C\u002Fpicture>\n\n| Concept | What it is |\n|---|---|\n| **Project** | A workspace grouping repos, tasks, agents, and a workflow definition. |\n| **Repo** | A pointer to a local git checkout that tasks operate on. |\n| **Task** | A unit of agent work with a state, optional CI steps, and an audit log. |\n| **Agent** | A registered AI executor (Claude Code, Codex, shell, …) bound to a daemon. |\n| **Daemon** | The local process that reports installed CLIs and runs executions. |\n| **Worktree** | An isolated git checkout created per task, cleaned up on `done`\u002F`cancelled`. |\n| **Review gate** | The CI steps + optional human approval that block `review → merging`. |\n\n\u003Ctable>\n  \u003Ctr>\n    \u003Ctd width=\"50%\">\u003Cimg src=\"assets\u002Fscreenshots\u002Ftask-detail.png\" alt=\"Task detail page with status, assignees by role, observability metrics, and lifecycle actions\">\u003C\u002Ftd>\n    \u003Ctd width=\"50%\">\u003Cimg src=\"assets\u002Fscreenshots\u002Fdaemons.png\" alt=\"Daemon detail showing auto-detected CLIs: codex, claude_code, gemini, opencode, shell\">\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd>\u003Csub>\u003Cem>Task detail — lifecycle, role assignments, CI\u002Freview gate, audit log\u003C\u002Fem>\u003C\u002Fsub>\u003C\u002Ftd>\n    \u003Ctd>\u003Csub>\u003Cem>Daemon — auto-detects installed CLIs on the host (Claude Code, Codex, Gemini, opencode, shell)\u003C\u002Fem>\u003C\u002Fsub>\u003C\u002Ftd>\n  \u003C\u002Ftr>\n\u003C\u002Ftable>\n\nDeeper dive → [docs\u002Farchitecture.md](docs\u002Farchitecture.md).\n\n## Documentation\n\n| Doc | What's in it |\n|---|---|\n| [Getting started](docs\u002Fgetting-started.md) | Install, first project, agents, end-to-end task walkthrough. |\n| [Architecture](docs\u002Farchitecture.md) | Crate graph, task state machine, database, event bus. |\n| [API reference](docs\u002Fapi.md) | REST endpoints, query params, pagination, MCP tools, SSE. |\n| [forge-ctl CLI](docs\u002Fcli.md) | Subcommands, daemon link, scripted runs. |\n| [Execution logs](docs\u002Fexecution-logs.md) | JSONL log schema and chat-history reconstruction. |\n| [Changelog](CHANGELOG.md) | Per-release changes and breaking notes. |\n\n## Status\n\nForge is in **public beta** (`0.1.x`). The local-first single-user product is usable\nend-to-end, but APIs, schemas, and CLI flags can change without deprecation cycles.\nTrack breaking changes in [CHANGELOG.md](CHANGELOG.md). A stable `1.0` will land\nonce the workflow engine, multi-user story, and release artifacts (signing, SBOMs,\nHomebrew, Windows builds) are finalized.\n\n## Contributing\n\nIssues, PRs, and design discussion are welcome. Start with [CONTRIBUTING.md](CONTRIBUTING.md)\nand check `good first issue` and `help wanted` labels. By participating you agree to\nthe [Code of Conduct](CODE_OF_CONDUCT.md).\n\n## Security\n\nPlease report vulnerabilities privately per [.github\u002FSECURITY.md](.github\u002FSECURITY.md).\n\n## License\n\n[MIT](LICENSE) © Forge contributors.\n","Forge 是一个用于结构化任务生命周期的AI编码代理工作流引擎。它通过为每个任务分配独立的git工作树来确保多个编码代理在同一个仓库中协作时不会相互干扰，并且在更改合并到主分支之前会先经过CI门和审查步骤。项目采用Rust编写，支持Claude Code、Codex、Gemini等主流编码代理，提供REST API、MCP端点、CLI以及Web UI等多种交互方式，适合已经在使用多个编码代理但遇到版本冲突问题的开发者，或是希望在代码正式合并前增加额外审查环节的小型工程团队使用。此外，对于偏好本地部署解决方案的技术爱好者来说，Forge也是一个不错的选择，因为它默认采用本地优先策略，不依赖云服务。",2,"2026-06-11 04:06:45","CREATED_QUERY"]