Archcore MCP

官方

本地 stdio MCP 伺服器,讓 AI 編碼代理能直接從你的儲存庫中讀取並維護結構化的架構、規則與決策。

你可以用 Archcore MCP 做什麼?

  • 載入專案脈絡 — 要求你的助理在修改模組前,透過 list_documents 與 search_documents 擷取相關的 ADR、規則與規格。

  • 將決策記錄為持久化文件 — 請你的助理使用 create_document 在 .archcore/ 中建立型別化的 Markdown 文件(ADR、規則、計畫),並將脈絡版本化於 Git 中。

  • 連結相關文件 — 指示你的助理使用 add_relation 以 implements、depends_on 或 supersedes 等關係連接文件,建構脈絡圖。

  • 更新既有脈絡 — 要求你的助理透過 update_document 與 remove_document 修訂或移除 .archcore/ 中過時的文件,保持專案知識為最新狀態。

  • 在任何儲存庫中啟動脈絡 — 請你的助理在空工作區中從零開始使用 init_project 初始化 .archcore/,立即啟用脈絡追蹤。

文件

Archcore CLI — 以 Git 為本、專為 AI 編碼代理打造的上下文層

Archcore 已遷移至 github.com/archcore-ai/archcore。 本儲存庫已封存。CLI 現位於該儲存庫中的 cli/,與外掛程式並列,且自 v0.10.1 起的每個版本皆發布於 archcore-ai/archcore/releases。 在 macOS、Linux 與 WSL 上,請使用 curl -fsSL https://archcore.ai/install.sh | bash 安裝或更新;在 Windows 上則使用 irm https://archcore.ai/install.ps1 | iex。從本儲存庫安裝的二進位檔(v0.8.7 或更早版本)不再自動更新;請執行一次安裝程式以切換至新管道。問題回報請至:archcore-ai/archcore/issues。

License Go Release Platform

Archcore 是專為 AI 編碼代理打造的、以 Git 為本的上下文層。

這款 CLI 將規格、架構決策、規則、計畫與專案知識保存在 .archcore/ 中,與你的程式碼一同進行版本控管,並透過 MCP 與工作階段鉤子(session hooks)將相關上下文提供給編碼代理。

它以 CLI 與本機 stdio MCP 伺服器的形式發布,因此任何相容 MCP 的編碼代理都能透過標準工具讀取與寫入你的專案上下文。可用於在 Claude Code、Cursor、Codex CLI、GitHub Copilot、Gemini CLI、OpenCode、Roo Code 與 Cline 之間維持持久的專案上下文。

實際運作示範

那段上下文來自 .archcore/ —— 以 Git 進行版本控管的 Markdown 文件,透過 MCP 工具與工作階段鉤子提供給任何代理。

archcore demo

有何不同

❌ 沒有 Archcore

每次工作階段都從零開始。代理會:

  • 猜測你的架構並破壞你的慣例
  • 重複已存在的邏輯
  • 重新爭論你的團隊早已做出的決策
  • 每次對話都需要重新解釋相同的上下文

✅ 有了 Archcore

你的決策、規則與慣例以結構化上下文的形式存在於 Git 中。代理會:

  • 在工作階段開始時載入適用的決策與規則
  • 將程式碼放在你的架構所指定的位置
  • 尊重儲存庫中既有的 ADR、規格與規則
  • 將新決策記錄為持久上下文——可在 PR 中審查,並可跨代理移植

代理不再猜測,而是開始遵循系統。

60 秒快速上手

curl -fsSL https://archcore.ai/install.sh | bash    # macOS / Linux
cd your-project && archcore init

archcore init 會建立 .archcore/、偵測你的編碼代理,並為它們設定鉤子與 MCP。

接著開啟你的代理並說:

「我們主要使用 PostgreSQL 作為儲存。請記錄這項決策。」

完成——現在 .archcore/ 中已有一份結構化的 ADR,未來任何代理的任何工作階段都會看到它。

在 Windows 上:irm https://archcore.ai/install.ps1 | iex。至於 WSL、go install 與從原始碼建置,請參閱下方的 安裝方式 或完整安裝指南。

與你的代理相容

這款 CLI 本身就是一個本機 stdio MCP 伺服器——為所有相容 MCP 的代理提供單一整合介面。鉤子則在代理支援時,於工作階段開始時加入上下文。

代理鉤子MCP
Claude Code是是
Cursor是是
Gemini CLI是是
GitHub Copilot是是
OpenCode—是
Codex CLI—是
Roo Code—是
Cline—手動

archcore init 會自動設定偵測到的代理。若要手動設定一個:

archcore mcp install --agent cursor      # write MCP config for a specific agent
archcore hooks install                   # install session-start hooks for detected agents
claude mcp add --transport stdio archcore -- archcore mcp   # or add the server manually

運作方式

  1. 初始化 — archcore init 會建立 .archcore/ 並安裝代理整合。
  2. 擷取 — 決策、規則、計畫與指南會以帶有 YAML frontmatter 的 Markdown 文件形式儲存。
  3. 重用 — 代理在作業時可透過 MCP 工具讀取、建立、更新與連結文件;鉤子則在工作階段開始時載入上下文。
  4. 保留在 Git 中 — 像審查程式碼一樣審查上下文變更、隨時間演進,並保持跨工具的可移植性。
.archcore/
├── settings.json
├── auth/
│   ├── jwt-strategy.adr.md
│   └── auth-redesign.prd.md
├── backend/
│   └── error-wrapping.rule.md
├── incidents/
│   └── connection-pool-exhaustion.cpat.md
└── notifications/
    └── notifications-implementation.plan.md

結構是自由形式的——可按領域、功能或團隊組織。文件的類型存在於其檔名中(slug.type.md):橫跨三個層級共 23 種類型——知識(ADR、規則、規格、指南)、願景(PRD、計畫、想法、需求軌道)與經驗(事件模式、重複性任務)。本儲存庫自身的 .archcore/ 就是一個實際範例。

詢問你的代理

「在我動 auth 模組之前,這裡適用了哪些決策與規則?」

在代理編輯任何一行程式碼之前,先載入與該區域相關的 ADR 與規則。

「我們有個慣例:一律用 fmt.Errorf 與 %w 包裝錯誤。把這設為規則。」

建立 backend/error-wrapping.rule.md,內容包含命令式指引、理由與好/壞範例。

「上週我們發生了一次連線池耗盡事件。請記錄下來,避免重蹈覆轍。」

建立 incidents/connection-pool-exhaustion.cpat.md,內容包含根本原因分析與預防步驟。

比較

如果你依賴的是…缺口Archcore 的替代做法
什麼都沒有代理每次工作階段都重新學習你的儲存庫,並重新爭論已定案的決策在工作階段開始時載入決策、規則與慣例——適用於任何代理
扁平指令檔(CLAUDE.md、.cursorrules)一面不斷增長的文字牆——沒有類型、沒有連結、沒有生命週期,且需為每個工具複製貼上類型化文件、關聯圖、草稿 → 已接受的生命週期、一次設定即可用於所有代理
記憶工具(claude-mem、Mem0)記住的是「你做過什麼」——易變、不透明、受供應商綁定儲存「系統如何建置、做了哪些決策」——以 Git 版本控管、由你擁有
方法論套件(BMAD、Spec Kit、Agent OS)規定一套流程,通常是一次性的交接儲存產出物——一個隨程式碼庫演進的活上下文圖
RAG/更大的上下文視窗檢索的是程式碼「說了什麼」,而非「做了什麼決策、為何如此」明確且選擇性地保留決策與理由——代理載入適用的部分,而非全部

不適用於——聊天記憶、提示詞庫,或一次性規格轉程式碼生成器。Archcore 是編碼代理的儲存庫真相層,而非方法論套件。

參考資料

隨附內容:23 種文件類型、7 種關聯類型、10 個 MCP 工具、4 個代理的鉤子整合與 8 個代理的 MCP 整合。

文件類型 — 橫跨願景、知識與經驗共 23 種類型

知識

類型全名描述
adr架構決策記錄(ADR)記錄已定案之技術決策,包含背景、替代方案與後果
rfc意見徵求(RFC)提出重大變更,開放團隊審查與回饋
rule規則編碼或流程標準,含命令式指引與範例
guide指南完成特定任務的逐步說明
doc文件參考文件、登錄與描述性資料
spec規格針對他人依賴之邊界或功能/子系統的規範性行為契約
evidence證據一份外部材料,含其定位、摘錄與詮釋筆記
scenario情境主體—受體流程與 Given/When/Then 範例,用以闡明單一規格之條款

願景

類型全名描述
prd產品需求文件(PRD)目標、使用者故事、驗收標準與成功指標
idea想法輕量捕捉產品或技術想法,供未來探索
plan計畫分階段任務清單,含驗收標準與依賴關係
rnd研究限時調查,回答阻礙決策的問題
journey旅程在涵蓋此互動的規格存在之前,單一使用者類型在系統中的預期路徑
research研究領域調查,含範圍、涵蓋範圍、註明日期之來源、發現與未解缺口

另有兩條需求軌道,供需要結構化探索或正式分解的團隊使用:

來源軌道(MRD → BRD → URD)——捕捉需求「從何而來」:

類型全名描述
mrd市場需求文件市場概況、TAM/SAM/SOM、競爭分析與市場需求
brd商業需求文件商業目標、利害關係人、ROI 與商業規則
urd使用者需求文件使用者人物誌、旅程、可用性需求與驗收標準

ISO/IEC/IEEE 29148:2018 軌道(BRS → StRS → SyRS → SRS)——捕捉需求「如何分解」:

類型全名描述
brs商業需求規格使命、目標、目的與商業營運概念
strs利害關係人需求規格利害關係人需求、營運概念與使用者需求
syrs系統需求規格系統功能、介面、效能與設計限制
srs軟體需求規格軟體功能、外部介面與詳細行為規格

多數專案使用 PRD 即可;需要結構化需求探索時可加入來源軌道;在受監管或複雜的多團隊系統中,需要正式追溯性時則使用 ISO 29148。可自由混用。

經驗

類型全名描述
task-type任務類型重複性任務的可重用檢查清單與工作流程
cpat程式碼變更模式錯誤或事件的根本原因分析,含預防步驟

每份文件都是一個帶有 YAML frontmatter 的 Markdown 檔案:

---
title: "Use PostgreSQL for Primary Storage"
status: draft
tags: [database, infrastructure]
---

## Context

...

有效狀態:draft、accepted、rejected。標籤為選用且自由形式。

MCP 工具與關聯

MCP 工具

10 個工具:init_project、list_documents、get_document、search_documents、create_document、update_document、remove_document、add_relation、remove_relation、list_relations。伺服器也能在空儲存庫中運作——代理程式可透過 init_project 自行引導建立 .archcore/。

關聯

文件透過七種由 MCP 工具管理的定向關聯相互連結。

軸向關聯方向
結構性related來源與目標相關聯
結構性implements來源實作目標
結構性extends來源建構於目標之上
結構性depends_on來源需要目標
證據性supports材料支持目標陳述
證據性contradicts挑戰者質疑目標陳述
時間性supersedes較新文件取代較舊文件

端點是各自獨立且已存在的本機文件。關聯不會自動改變文件狀態或解決矛盾。較舊的 CLI 版本會拒絕包含這三個新值的清單。

來源最初是調查中的一行。當多份文件重複使用它、涉及矛盾,或較新資料取代它時,為它提供一個 evidence 檔案。引擎儲存定位器與摘錄;它不會擷取或驗證來源。

本機 MCP 伺服器

archcore mcp 透過 stdio 從目前目錄提供文件。當伺服器從非您工作區的目錄啟動時(例如由編輯器整合啟動),請傳入 --project /path/to/repo(或設定 ARCHCORE_PROJECT_ROOT)。

指令
指令說明
archcore init以互動方式初始化 .archcore/ 目錄
archcore doctor檢查您的 archcore 設定並修正問題
archcore status檢查 .archcore/ 結構與文件健康狀態
archcore config檢視或修改設定
archcore hooks install為偵測到的 AI 代理程式安裝掛鉤
archcore mcp執行 MCP stdio 伺服器
archcore mcp install為偵測到的代理程式安裝 MCP 設定
archcore instructions管理指令檔案中的 Archcore 提示
archcore plugin安裝、更新或回報 Archcore 外掛程式
archcore update將 Archcore 更新至最新版本

archcore update 檢查 GitHub Releases、下載較新版本、驗證 SHA-256 校驗和,並以原子方式取代二進位檔。接著它會更新每個已安裝 Archcore 外掛程式的主機,並為 CLI 無法觸及的主機列印要執行的指令。

archcore plugin 直接在 Claude Code、Cursor、Codex CLI 與 GitHub Copilot 上管理該外掛程式。archcore init 會為您在此處選取的主機安裝它。

更新與遙測

無人看管更新

從 v0.8.0 起,CLI 也會在無人看管時自行更新。archcore mcp——您的代理程式啟動的伺服器——在背景執行相同的檢查,每台機器每 24 小時最多一次,且僅會以本專案發佈的版本取代二進位檔,並先執行下載的二進位檔一次以證明它能啟動。執行中的程序絕不會被重新啟動或中斷;新版本會在二進位檔下次啟動時生效。您自行編譯的建置、分支與 CI 執行器絕不會自行更新。

沒有任何變數或 .archcore/settings.json 金鑰能停用此功能。如果某台機器不得自行更新,請將二進位檔安裝到其使用者無法寫入的目錄——例如 root 擁有的位置——那麼每次嘗試都會在下載任何內容前停止。

更新分析

發行版建置每次更新嘗試會傳送一個事件:它移動的版本、您的作業系統與 CPU 架構、執行是否看起來像 CI、您是輸入指令還是背景檢查執行它,以及失敗時是哪個步驟失敗。它絕不會傳送錯誤訊息、路徑、使用者名稱、主機名稱或任何與您的儲存庫相關的內容。設定 DO_NOT_TRACK=1 或 ARCHCORE_TELEMETRY_OPTOUT=1 即可完全不傳送任何內容。這兩個變數僅管分析——都不會阻止 CLI 自行更新。完整詳情:archcore.ai/privacy。

安裝方法

macOS / Linux

curl -fsSL https://archcore.ai/install.sh | bash

Windows

irm https://archcore.ai/install.ps1 | iex

在 %LOCALAPPDATA%\Programs\archcore 下安裝 archcore.exe,並將其加入您的使用者 PATH。安裝後開啟新的 PowerShell 視窗。

Windows (WSL)

安裝 WSL,然後在其中執行 macOS/Linux 指令碼。

Go 安裝

go install github.com/archcore-ai/cli@latest

從原始碼

git clone https://github.com/archcore-ai/cli.git
cd cli
go build -o archcore .

支援的平台: macOS、Linux、Windows——amd64 與 arm64。

如需環境變數(ARCHCORE_VERSION、ARCHCORE_INSTALL_DIR、GITHUB_TOKEN),請參閱安裝設定。如需 PATH 問題,請參閱安裝疑難排解。

設定

設定位於 .archcore/settings.json,由 archcore init 建立。

欄位說明值
sync同步模式。雲端與內部部署即將推出。none(僅本機)、cloud、on-prem
language文件語言。協助代理程式以正確語言產生文件。字串,預設為 en
archcore config                    # show all settings
archcore config get <key>          # get a specific value
archcore config set <key> <value>  # set a value

生態系統

  • Archcore 外掛程式 — 使用 Claude Code 或 Cursor?此外掛程式與 CLI 搭配:相同引擎,加上技能、意圖指令與護欄。一個產品、兩個入口——單獨使用 CLI 即可涵蓋所有其他代理程式。
  • docs.archcore.ai — 完整文件。
  • 此儲存庫中的 .archcore/ — 一個實際範例:CLI 使用自己的上下文層建置。

開發

需要 Go 1.25+。

go build -o archcore .   # build
go test ./...            # run all tests

連結與授權