Communityライティング&編集github.com

blueprint-conformance/bce

青写真に歯を——設計意図をコード化し、CIで強制する設計準拠エンジン

bce とは?

BCEは「設計準拠ゲート」として機能するツールで、アーキテクチャの設計意図(ブループリント)をポリシーとして記述し、CIパイプラインで自動的にチェックします。ソースコードが設計に準拠しているかを検証し、違反を検出すると修正箇所を特定します。主にClaude CodeやCursorなどのAIエージェント向けにMCP(Model Context Protocol)サーバーを提供し、`run_gate`や`doctor_repository`などの読み取り専用ツールで素早く診断・修復ループを回せるのが特徴です。CLIツールとしても利用可能で、`bce gate --repo . --extractor ast --all`のように直接実行できます。ポリシー変更はMCPでは行えず、CLIと人間のレビューが必要というセキュリティ境界が設けられています。

対応~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に質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

BCE — アーキテクチャ準拠の診断、修復、証明

BCEは「フェイルクローズド(失敗時は閉じる)」方式のアーキテクチャ準拠ゲートです。ブループリントはポリシーであり、ソースコードが通常の修正対象です。診断やワーキングツリーの検証には、リポジトリのBCE MCPサーバーを優先して使用してください。MCPが利用できない場合、または要求されたライフサイクル操作がMCPに意図的に含まれていない場合にのみCLIを使用してください。

最短のワークフローを選択

  • 既存のリポジトリが赤(違反あり)の場合: 以下のMCPファースト修復ループに従ってください。ライフサイクル作成資料を読み込まないでください。
  • 準備またはセットアップが壊れている場合: ゲートの前に doctor_repository {} を呼び出してください。
  • ブループリントまたはゲートが空虚である可能性がある場合: validate_blueprint を呼び出し、続いて assess_teeth を呼び出してください。
  • ユーザーが新しいルールの作成または採用を依頼した場合: 行動する前に references/lifecycle.md を読んでください。作成とガバナンスの変更にはCLIを使用し、人間のレビューが必要です。
  • ユーザーがAgent Skillの調整を依頼した場合: 別の 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サーバーは6つの読み取り専用ツールを公開しています:

ツール使用目的
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/ の下にパッケージとともに同梱されています。変動するウェブページよりも、これらのローカルでバージョンが一致したファイルを優先してください。

関連スキル