Community寫作與編輯github.com

blueprint-conformance/bce

具有實效的藍圖 — 藍圖合規引擎:將架構意圖化為政策,並在 CI 中強制執行。

bce 是什麼?

BCE 是一個「失敗即關閉」的架構合規閘門,能讓團隊將架構意圖撰寫為明確政策,並在 CI 流程中自動強制執行。此工具支援 MCP 伺服器與命令列 (CLI) 兩種操作方式,但優先推薦使用儲存庫內的 MCP 伺服器進行診斷與工作目錄驗證:MCP 提供唯讀工具如 `run_gate`(即時違規診斷)、`doctor_repository`(就緒性檢查)、`validate_blueprint`(藍圖驗證)等,而 CLI 則作為無法使用 MCP 時的備援方案。BCE 的核心工作流程是修復循環:每次閘門失敗時只修改原始碼,絕不為了解除違規而改動政策檔案(如藍圖、基線、豁免等)。系統會輸出結構化欄位(`gateFailed`、`outcome`、`verdict`),輔助開發者精確定位違規項目與預期修正。BCE 支援多種平台與 CI 環境,尤其適合要求嚴格架構治理的軟體專案。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add blueprint-conformance/bce

Installed? Explore more 寫作與編輯 skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

BCE — 診斷、修復並證明架構合規

BCE 是一個「失敗即關閉」的架構合規閘門。藍圖即是政策;原始碼是正常的修復範圍。優先使用儲存庫的 BCE MCP 伺服器進行診斷與工作目錄驗證。僅在 MCP 不可用,或要求的生命週期操作有意排除於 MCP 之外時,才使用 CLI。

選擇最短路徑工作流程

  • 現有儲存庫為紅燈: 遵循下方的 MCP 優先修復循環。請勿載入生命週期撰寫材料。
  • 就緒性或設定看起來有問題: 在閘門檢查前先呼叫 doctor_repository {}。
  • 藍圖或閘門可能空洞無效: 先呼叫 validate_blueprint,再呼叫 assess_teeth。
  • 使用者要求建立或採用一條新規則: 在行動前先閱讀 references/lifecycle.md。撰寫與治理變更需使用 CLI,且需要人工審查。
  • 使用者要求調整 Agent 技能: 使用獨立的 skill-tuning 技能。

MCP 優先修復循環

  1. 呼叫 run_gate {}。產生的伺服器會在儲存庫內啟動,因此除非使用者刻意指定另一棵目錄樹,否則請省略 repoDir。
  2. 讀取結構化欄位,而非僅看程序退出碼:
    • gateFailed: true、outcome: "violation" 或報告 verdict: "fail" 為紅燈;
    • outcome: "refusal" 為紅燈,不得繞過;
    • 建議模式可能回傳 exitCode: 0,但實質裁定仍為紅燈。
  3. 使用每項違規的 constraintId、evidenceRef、observed 和 expected 來找出最小的原始碼修正。
  4. 修改程式碼,而非政策。不得僅為清除違規而編輯藍圖、基線、模式、豁免、工作流程、MCP 設定、已安裝技能或引擎固定版本。
  5. 再次對即時工作目錄呼叫 run_gate {}。僅在 gateFailed 為 false、outcome 為 pass 且所有選定報告皆通過時才算完成。
  6. 報告已修正的具體違規、變更的程式碼檔案、最終分數/裁定,以及政策是否變更。正常的修復必須聲明政策未變。

MCP 伺服器公開六個唯讀工具:

工具用途
doctor_repository安裝、範圍、證明、政策、CI、技能與 MCP 就緒性檢查
run_gate即時目錄樹診斷與最終完成檢查
validate_blueprint結構與安全模式驗證
assess_teeth非空洞性證明
check_baseline在不改變政策的情況下,檢查新增債務與縮減基線的機會
get_report引擎已寫入的確定性報告

MCP 無法批准、修正、升級、建立基線或削弱政策。此限制是安全邊界,而非功能缺失。

CLI 備援方案

若專案無可用的 BCE MCP 伺服器,請使用確切的本地套件,而非取得浮動版本:

bce gate --repo . --extractor ast --all

針對未提交的修復,gate 已掃描即時目錄樹。若你刻意直接執行一個藍圖,請加上 --no-pin;否則 run 預設會評分已提交的 HEAD:

bce run --blueprint <path> --ct-repo . --no-pin --extractor ast --out compliance-report.json

退出碼 0 僅在讀取建議狀態與報告裁定後才視為程序通過。退出碼 1 表示已評分的違規或結構性拒絕;退出碼 2 表示以失敗關閉的掃描/拒絕條件。將 1 和 2 視為紅燈。

政策邊界

以下為受治理的表面:.blueprints/**、.bce-mode.json、基線與豁免檔案、BCE 工作流程、代理/MCP 設定、已安裝技能與引擎固定版本。不得將其作為附帶修復而變更。若合約本身有誤,請停止並提出單獨的、經審查的政策變更,並附上理由。

絕不可:

  • 降低門檻、擴大基線或縮小範圍僅為取得綠燈;
  • 在報告仍顯示失敗時,將建議模式的退出碼 0 解釋為合規;
  • 在沒有具體的紅燈案例下,聲稱某條約束生效;
  • 將 evaluator-refutable 回報為萃取器的實際牙齒;
  • 將結構性拒絕視為通過;
  • 聲稱代理操作即為獨立的人為證明。

撰寫與採用

僅在任務為建立、驗證、證明、導入、批准或執行合約時,才載入 references/lifecycle.md。該文件包含約束語法、萃取設定檔、確切命令、建議/基線/升級路徑與 CI 不變量。

詳細規格與證明語義隨套件置於 spec/ 和 docs/ 中。請優先使用這些本地的、版本匹配的檔案,而非浮動網頁。

相關技能