Forge Orchestrator

io.github.nxtg-ai由 GitHub 帳號 nxtg-ai 發布v1.8.0更新於 Nov 6, 2026

Forge orchestrator MCP server for Claude Code (alpha). Codex/Gemini runners are not in the alpha.

概覽

AI 產生的概覽

Alpha 階段的 Rust 協調器,為 AI 助理提供共用任務板、檔案鎖與知識庫,用來在同一個儲存庫上協調多個 AI 編碼工具。

可以做什麼
  • 在具相依關係的共用任務板上建立、認領與完成任務
  • 檢查並記錄檔案鎖,讓檔案重疊的任務被拒絕
  • 記錄決策、模式與經驗,並在後續工作階段中搜尋
  • 讀取與更新 Claude Code、Codex CLI 與 Antigravity CLI 共用的協調狀態
  • 透過命令列從規格產生任務計畫並檢視專案狀態
適用情境
當多個 AI 編碼工具同時處理同一個程式碼庫,希望共用任務狀態、以檔案鎖協調並保留決策紀錄,而不是互相覆蓋時值得加入。它是 alpha 軟體,鎖定共用儲存庫上的 Claude Code 使用者。
執行需求
需在本機安裝 Forge 二進位檔(單一 Rust 二進位檔,無執行階段相依);可用廠商安裝腳本或各平台安裝包。伺服器以 forge mcp 透過 stdio 執行,作用於啟動時所在的專案目錄,或以 FORGE_PROJECT_ROOT 指定的目錄。漂移偵測需要 openai 大腦與 API 金鑰;預設的規則型大腦免費。
安裝前請注意
處於 alpha 階段,無 SLA,介面可能隨時變動。安裝腳本會修改 shell 設定檔,若偵測到 claude CLI 還會向 Claude Code 加入市集與外掛;可用 FORGE_NO_MODIFY_PATH 與 FORGE_NO_CLAUDE_PLUGIN 略過。鎖只約束認領而非編輯,沒有逾時,狀態檔也沒有跨程序鎖。自主模式 forge run 既不檢查也不記錄鎖。openai 大腦需要 API 金鑰。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Forge Orchestrator,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

[Forge]

forge-orchestrator

[stage: alpha] [MCP Registry] [License: FSL-1.1-ALv2] [Version] [docs.rs] [CI] [GitHub stars] [crates.io]

Stage: Alpha. The Forge plugin and orchestrator are in alpha. On 2026-10-15 (UTC) a separate NXTG.AI team (product-oracle) ran the pre-registered core-job test on a clean install of the plugin (v3.14.0) and the orchestrator (forge 1.7.0). The test passed; each repeated check passed 3 of 3 (run 7). The evidence is attached to the forge-plugin v3.14.0 release. No SLA; interfaces may change without notice.

Orchestration for Claude Code on shared repos, with Codex CLI and Antigravity CLI (agy) as task runners — single Rust binary, zero deps.

Multi-agent inside a single tool works fine. Claude Code runs 20 subagents and they stay aligned because the tool manages that orchestration internally. The problem is multi-tool: several AI coding tools on the same repo with no shared state. That's what the orchestrator solves: today for Claude Code, with Codex CLI and Antigravity CLI (agy) as task runners. The orchestrator launches agy as a task runner; Forge makes no other claim about agy.

It adds file locking, knowledge capture, task planning, drift detection, and multi-tool orchestration to your development workflow. The tools read from and write to a single state directory. A 12-tool MCP server exposes the full orchestration state to any connected AI client, and can create, claim and complete tasks.

The orchestrator exists because I ran two AI tools on the same codebase and watched them fail in the same ways human teams fail. Claude refactored a module. Codex updated tests against the pre-refactor interface. Both saved. Tests failed. Neither tool knew the other existed. I'd spent 23 years watching this exact scenario with talented human teams. The solution was always the same: orchestration infrastructure.

Install

bash
curl -fsSL https://forge.nxtg.ai/install.sh | shexport PATH="$HOME/.local/bin:$PATH"   # this shell only; new shells already have itforge init

The installer installs Forge v1.8.0, the pinned release, not whichever release is newest. It puts forge in ~/.local/bin (change it with FORGE_INSTALL_DIR) and adds that directory to your PATH with one guarded line in ~/.profile, ~/.bashrc and, if you have zsh, ~/.zshenv. Set FORGE_NO_MODIFY_PATH=1 to leave your shell files alone.

If the claude CLI is on your PATH, the installer then adds forge's MCP tools to Claude Code, using only that CLI: it adds and refreshes the nxtg-forge marketplace (nxtg-ai/forge-plugin), updates nxtg-forge@nxtg-forge if you already have it, and installs the companion plugin nxtg-forge-orchestrator@nxtg-forge. It prints one line per change and changes no Claude configuration any other way. Without claude, or if a step fails, it prints the commands for you to run and still exits 0. Set FORGE_NO_CLAUDE_PLUGIN=1 to skip it.

Single binary. No runtime dependencies.

Connect Codex CLI to the MCP server

Register the orchestrator's MCP server with Codex CLI, then check that Codex lists it:

bash
codex mcp add forge -- forge mcpcodex mcp list

This writes the entry to ~/.codex/config.toml:

toml
[mcp_servers.forge]command = "forge"args = ["mcp"]

The server works on the project in the directory it starts in. To pin one project, bind it when you register: codex mcp add forge --env FORGE_PROJECT_ROOT=/path/to/project -- forge mcp. Checked with codex-cli 0.162.1: codex mcp list shows forge enabled over stdio, and the server answers tools/list with its 12 tools. A tool call made through this registration from inside a Codex session has not been measured.

Quick Demo

Four commands from zero to task board:

bash
# 1. Initialize — creates .forge/ directory with state, event log, knowledge baseforge init
# 2. Configure the AI brain — choose 'openai' (needs API key) or 'rule-based' (free)forge config brain openai
# 3. Generate tasks — reads your SPEC.md or README, creates dependency-aware task graphforge plan --generate
# 4. See the result — task board with assignments, dependencies, and project healthforge status

From here you can:

  • forge run — execute tasks headlessly (autonomous mode, great for CI)
  • forge dashboard --pty — launch the TUI dashboard with interactive agent panes

Past Result: Stargate Mode (before v1.6.1)

From a 94-line specification, an earlier version of the orchestrator coordinated three AI coding tools to build a complete CLI toolkit. That run drove the retired Gemini CLI; since v1.6.1 the adapter launches Antigravity CLI (agy) instead, and the run has not been re-measured.

SPEC.md (94 lines) → forge plan --generate → 15 tasks
Claude Code:  6 design tasks     → completedCodex CLI:    6 implementation   → completedGemini CLI:   3 test/doc tasks   → completed   (pre-1.6.1 adapter)
Result: 5,306 lines of working code        10 auto-committed git entries        13 Python files (CLI + tests)        Zero file conflicts

Three companies. Three tools. One orchestrator. One command:

bash
forge dashboard --pty

What You Get

FeatureWhat It Does
File lockingA task names the files it touches; a claim through MCP or forge run --task … --agent … is refused while another task holds one of them
Knowledge flywheelCaptures decisions, patterns, learnings across tools. Auto-classified and searchable.
Plan generationforge plan --generate decomposes specs into dependency-aware task graphs
Drift detectionCompares completed tasks against SPEC.md. Needs the openai brain; the default rule-based brain does not score drift
Task boardDependency-tracked tasks, tool assignment, progress monitoring
Multi-tool adaptersClaude Code (MCP stdio); Codex CLI and Antigravity CLI (agy) as task runners (filesystem). Codex CLI can also register the MCP server (see below)
TUI dashboardforge dashboard: live tool panes, task status, lock state
Headless modeforge run: autonomous execution for CI/CD pipelines
MCP server12 tools accessible by any connected AI tool via stdio, including forge_create_task

Key Commands

bash
forge init                     # Initialize Forge in a projectforge plan --generate          # Generate task plan from specforge dashboard                # Live TUI dashboardforge dashboard --pty          # TUI with interactive agent panes (Stargate)forge run                      # Headless autonomous modeforge status                   # Current state summaryforge verify                   # Create verify tasks for completed build tasksforge uat                      # Interactive UAT test runnerforge ship                     # Ship phase: changelog, archive, clean state for the next cycle

Every command and its options, as the binary prints them. CI regenerates this block from forge --help and fails if it differs:

text
$ forge --helpForge orchestrates Claude Code on shared repos, with Codex CLI and Antigravity CLI (agy) as task runners: file locking, knowledge capture and a shared task board.
Usage: forge [OPTIONS] <COMMAND>
Commands:  init       Initialize Forge in a project — scaffold .forge/, detect AI tools  plan       Show or generate the master plan  status     Show orchestration status — task board, agent activity, governance  run        Execute tasks headlessly. Omit --task/--agent for autonomous parallel mode  start      Start autonomous orchestration — run all tasks with auto-claim/complete  sync       Reconcile state — update summaries, render adapter configs, check governance  mcp        Start the MCP server (stdio transport) — AI tools connect to query/update state  dashboard  Live TUI dashboard — task board, agent output, event log  doctor     Aggregate health verdict — quality, release debt, and drift in one fail-closed exit code  pod        Declarative tmux pod management — start, stop, and recover multi-pane agent pods  verify     Generate verify subtasks for completed build tasks  uat        Interactive UAT — describe issues naturally, capture findings  ship       Ship phase — generate changelog, archive artifacts, clean state for next cycle  uninstall  Uninstall Forge — remove binary and optionally project data  config     Get or set configuration values  help       Print this message or the help of the given subcommand(s)
Options:      --project <PROJECT>          Path to the project root (defaults to current directory)
          [default: .]
  -h, --help          Print help (see a summary with '-h')
  -V, --version          Print version

Use as a library

Since v1.8.0, the crate also builds a library, forge_orchestrator, for tools that read or write a project's .forge/ directory without running forge. Its documented surface is forge_orchestrator::core: project state and file locks, tasks, the event log, the knowledge base and the plan. The rest of the crate is the binary's internals, hidden from the docs. Like the binary, the library is alpha, and its API may change.

toml
[dependencies]forge-orchestrator = "1.8"   # the first version with the library
rust
use forge_orchestrator::core::task::{Task, TaskManager};
let tasks = TaskManager::new(".forge");tasks.create_task(&Task::new("T-001", "Parse the config", "Read forge.toml into Config"))?;for task in tasks.list_tasks()? {    println!("{} {:?} {}", task.id, task.status, task.title);}

API docs: https://docs.rs/forge-orchestrator. To build them locally: cargo doc --open in a checkout.

Runnable examples, run in CI against the built binary:

bash
cargo build && cargo run --example mcp_stdio -- target/debug/forge /tmp/democargo run --example task_board -- /tmp/demo

Architecture

The orchestrator holds Forge's shared state: tasks, file locks, knowledge and the event log. The plugin (L1: Vibe Coder) adds Claude Code commands, skills and hooks, and its guard hooks run inside Claude Code. The UI (L3: Ship Lord) is a separate React dashboard.

┌──────────────────────────────────────┐│        forge-orchestrator            ││        (Rust)                        ││                                      ││  File locking · Task planning        ││  Knowledge · Governance · MCP        ││  Multi-tool adapters                 ││                                      ││  Shared state lives here.            ││  Guard hooks live in forge-plugin.   │└───────────┬──────────────────┬───────┘            │                  │   ┌────────┴────────┐  ┌────┴────────┐   │  forge-plugin   │  │  forge-ui   │   │  (L1 Safety)    │  │  (L3 MC)    │   │  Claude Code    │  │  React      │   │  adapter        │  │  dashboard  │   └─────────────────┘  └─────────────┘

Communication: .forge/ filesystem + MCP stdio. No daemon. No database. State is files.

Tool adapters: Claude Code uses MCP stdio. Codex CLI and Antigravity CLI (agy) run tasks through filesystem conventions. The agy adapter keeps the agent id gemini in task files, config keys and MCP arguments, so existing projects keep working. Each tool reads its own config format. No Forge-specific configuration language.

How File Locking Works

File locking exists because I've watched teams lose days to conflicting edits.

Each task lists the files it touches. A claim through the forge_claim_task MCP tool or single-task forge run --task <id> --agent <agent> first checks those files against the locks held in .forge/state.json. If any overlap, the claim is refused, and the refusal names the task and agent that hold them; otherwise the files are recorded as locked by that task. forge start and the dashboard record locks the same way when they launch a task, but do not check for overlap first. Autonomous forge run (no --task) neither checks for overlap nor records locks. Finishing the task releases its locks.

The lock governs claims, not edits: it does not stop a tool from writing a file. Locks have no timeout: if the process that took a lock dies, the lock stays in the state file. The state file is read and rewritten without a cross-process lock, so two claims made at the same moment can both succeed.

How the Knowledge Flywheel Works

The knowledge flywheel exists because I've watched decisions evaporate between sprints.

Decisions, patterns, learnings and research captured through forge_capture_knowledge are stored in .forge/knowledge/, one directory per category, and classified automatically. Any tool connected to the MCP server can search them with forge_get_knowledge, in a later session as well as the current one.

Forge UI

forge-ui is a separate React dashboard for Forge, released on its own; its README states its stage. To run it from source:

bash
git clone https://github.com/nxtg-ai/forge-ui && cd forge-ui && npm install && npm run dev

Links

License

Source available under the Functional Source License 1.1 (FSL-1.1-ALv2). Converts to Apache License 2.0 on 2028-03-18. See LICENSE.md for full terms.

來源:README.md,提交 163e620

工具

0
SourceWeft 曾在隔離沙箱中以無憑證方式啟動該軟體包一次,以列出其工具,但未能完成:該軟體包類型無法在沙箱中執行。

版本歷史

7
  1. v1.8.0最新Nov 6, 2026
  2. v1.7.1Oct 15, 2026
  3. v1.7.0Oct 14, 2026
  4. v1.6.4Oct 14, 2026
  5. v1.6.3Oct 14, 2026
  6. v1.6.2Oct 7, 2026
  7. v1.6.0Sep 16, 2026

評分

已滿足適用檢查項的 40%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

    請在儲存庫或註冊中心條目中宣告授權條款。