gate について
gate は、aiglare、bouncer、tieline、repoctx の検査結果を統合し、ローカルや CI でリポジトリを評価するための出荷可否を示します。コマンドラインツール、MCP サーバー、エディター拡張も備えています。
主な機能
- 014 つのツールの検査結果を統合
- 02状態を正規化して総合判定
- 03JSON 出力と CI のビルド制御
- 04検査の選択とスキップ
- 05エディター拡張と MCP ツールを提供
活用シーン
- 01問題がブロッキングの場合に CI ビルドを停止
- 02マージ前にリポジトリの状態を確認
- 03構造化された結果をダッシュボードや監査記録に利用
- 04エージェントから一度の呼び出しで総合判定を取得
MCP 対応
gate は MCP サーバーを提供し、gate_check と list_checks の 2 つのツールをクライアントに公開します。エージェントは一度の呼び出しでリポジトリの総合判定と各検査の説明を取得できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
2掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| ci | boolean | いいえ | CI ゲートと同様に gate.failed を計算します(fail 判定の場合はブロック)。 |
| only | array | いいえ | これらのチェックのみを実行します。 |
| path | string | いいえ | リポジトリのパスです。既定値は現在の作業ディレクトリです。 |
| skip | array | いいえ | これらのチェックをスキップします。 |
| strict | boolean | いいえ | WARN/UNKNOWN もブロック対象として扱います。 |
詳細
gate
nugehs ツールチェーン全体から、リリース可否をひとつの判定で示します。

gate は、リポジトリに対して aiglare、
bouncer、
tieline、
repoctx を実行し、
それぞれ異なる4つの結果を 正規化されたひとつの判定 にまとめます。各ツールはすでに「これはリリースできるか」という異なる問いに答えており、最終的に答えをひとつにまとめるのが gate の役割です。
npx @nugehs/gate # audit the current repo
npx @nugehs/gate ./service --ci # fail the build on a blocking verdict
npx @nugehs/gate --json # the unified verdict, machine-readable
┌──────────────────────────────────────────────┐
│ gate │
│ one config · one verdict · one report │
└──────────────────────────────────────────────┘
│ │ │ │
aiglare bouncer tieline repoctx
red/amber/ pass/fail/ matched/ PASS/WARN/
green unknown drift FAIL
│ │ │ │
└──── normalize to pass · warn · fail ─────┘
│
✗ FAIL ⚠ WARN ✓ PASS
報告内容
gate · /path/to/repo
✗ AI governance fail 2 red · 1 amber · 13 green · 1 blocking side-effect
· Compliance skipped not configured (run `bouncer init`)
· Contract drift skipped not configured (run `tieline init`)
⚠ Merge readiness warn 1 of 8 checks need attention
verdict: FAIL — 1 blocking · 1 warn · 2 skipped
各ツール固有の結果は、次の共通ステータスに正規化されます。
| ステータス | 意味 |
|---|---|
pass | チェックが実行され、問題はありません |
warn | 実行され、確認が必要な項目が見つかりましたが、ブロック対象ではありません |
fail | 実行され、ブロック対象の問題が見つかりました |
unknown | 実行されましたが、判定できませんでした。明示的に pass ではありません |
skipped | このリポジトリには該当しない、または設定されていません |
error | ツールを実行できなかったか、無効な結果が返されました |
最上位の判定は、実際に実行されたドメインのうち最も悪い結果になります(skipped は対象外です)。unknown と error は warn にまとめられるため、何も知らせずに pass になることはありません。
各結果の対応付け
| ツール | 固有のシグナル | → gate |
|---|---|---|
| aiglare | 副作用のあるシンクに対する赤判定 | fail。赤または黄があれば warn |
| bouncer | fail の検出結果(必須の制御が不足) | fail。不明な制御があれば unknown |
| tieline | drift > 0(BE ルートのない FE 呼び出し) | fail。unverifiable > 0 なら warn |
| repoctx | FAIL/BLOCK のマージ判定 | fail。WARN なら warn |
gate は aiglare を
--ciなしで実行し、ブロック対象の判定を独自に行います。 そのため、パイプをフラッシュする前にprocess.exit()するツールがあっても、 gate に渡されるレポートが途中で切れることはありません。
チェックをひとつも実行しなかった場合、pass にはなりません。 すべてのドメインがスキップまたは選択解除されている場合(たとえば --skip で全部をスキップした場合や、--only の指定を間違えた場合)、gate は NO
CHECKS RAN(ok:false)を報告し、--ci では失敗します。設定ミスによって gate が気づかれないまま green になることはありません。
repoctx とローカルモードについて。 repoctx のマージ準備状況の判定では、GitHub などのホストに対してレビュー状態(承認、CODEOWNERS、必須チェック)を検証する必要があります。ローカルで実行すると、これらは WARN として報告されるため、問題のないローカルリポジトリでも gate に merge readiness: warn と表示されることがよくあります。これはローカルでは確認できない内容を repoctx が正直に報告しているのであり、変更に問題があるという意味ではありません。
CLI
gate [path] [options]
--json Emit the unified verdict as JSON
--ci Exit non-zero when the gate fails (blocking by default)
--strict Treat WARN/UNKNOWN as blocking too
--only <list> Run only these tools (aiglare,bouncer,tieline,repoctx)
--skip <list> Skip these tools
-h, --help Show this help
gate mcp Start the MCP server (stdio)
デフォルトでは、--ci でブロックされるのは fail 判定のみです。警告でチームを圧倒せず、安全に導入できます。警告もゲート対象にしたい場合は --strict を追加してください。
ツールの解決
gate は4つのツールを同梱せず、実行時にそれぞれを探します。ツールごとに、最初に見つかったものが使用されます。
GATE_<TOOL>_BIN環境変数(明示的な上書き)- インストール済みの
@nugehs/<tool>パッケージ(node_modules内) - 隣接するチェックアウトの
../<tool>(ローカル開発用)
解決できないツールはハードエラーではなく skipped として報告されるため、一部のツールだけを使うリポジトリでも gate を安全に実行できます。
CI での使用
- run: npx @nugehs/gate . --ci
機械可読な記録が必要な場合、--json を指定すると、ダッシュボードや監査証跡に使える判定全体(スキーマのバージョン、ドメインごとの結果、件数、ブロック理由)が出力されます。
MCP
gate は MCP サーバーでもあるため、エージェントは「これをリリースできますか?」と 1 回の呼び出しで尋ねられます。4 つの別々のツールではなく、統合された判定を返します。
gate mcp # stdio JSON-RPC server
npx @nugehs/gate mcp
ツール:
| ツール | 返される内容 |
|---|---|
gate_check | リポジトリの統合判定(path、任意の only/skip/ci/strict) |
list_checks | gate が実行する 4 つのチェック。それぞれの対象領域と確認内容を返します |
レジストリマニフェスト: server.json(io.github.nugehs/gate)。
エディター拡張機能
同じ正規化された判定が VS Code / Cursor 拡張機能
(clients/vscode)を動かし、ゲートを CI からエディターへシフトレフトします。
- gate 独自のアクティビティバーコンテナーにある 判定コックピットとチェックツリー。
- 検出された問題に対する インライン診断、ホバー、クイックフィックス(ミュート/ドキュメントを開く)、CodeLens。
- AI ネイティブのゲーティング —
@gateチャット参加者、完了を宣言する前にエージェントモードから呼び出せるgate_checkツール、MCP サーバープロバイダー。これにより、コードを作成するアシスタントも CI と同じゲートでチェックされます。 - 実行中の処理をキャンセルできる、デバウンス付きの保存時実行と、マルチルートのサポート。
ロードマップ
gate は共通の基盤です。同じ JSON がすでに CLI、--ci ゲート、MCP サーバー、上記のエディター拡張機能を動かしています。同じ JSON を使う次のクライアント:
- Web コックピット — JSON を使ったリポジトリ/PR の判定ボードで、4 つの
*-webサイトを統合します。
ライセンス
MIT © Oluwasegun Olumbe
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。