mcpField
G
gate

gate

ローカル
github.com/nugehs開発ツール019 週間前に更新

gate について

gate は、aiglare、bouncer、tieline、repoctx の検査結果を統合し、ローカルや CI でリポジトリを評価するための出荷可否を示します。コマンドラインツール、MCP サーバー、エディター拡張も備えています。

主な機能

  1. 014 つのツールの検査結果を統合
  2. 02状態を正規化して総合判定
  3. 03JSON 出力と CI のビルド制御
  4. 04検査の選択とスキップ
  5. 05エディター拡張と MCP ツールを提供

活用シーン

  1. 01問題がブロッキングの場合に CI ビルドを停止
  2. 02マージ前にリポジトリの状態を確認
  3. 03構造化された結果をダッシュボードや監査記録に利用
  4. 04エージェントから一度の呼び出しで総合判定を取得

MCP 対応

gate は MCP サーバーを提供し、gate_check と list_checks の 2 つのツールをクライアントに公開します。エージェントは一度の呼び出しでリポジトリの総合判定と各検査の説明を取得できます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"nugehs-gate": {
"command": "npx",
"args": [
"-y",
"@nugehs/gate"
]
}
}
}
起動コマンドnpx -y @nugehs/gate

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@nugehs/gate0.3.0

ツール

2

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
cibooleanいいえCI ゲートと同様に gate.failed を計算します(fail 判定の場合はブロック)。
onlyarrayいいえこれらのチェックのみを実行します。
pathstringいいえリポジトリのパスです。既定値は現在の作業ディレクトリです。
skiparrayいいえこれらのチェックをスキップします。
strictbooleanいいえWARN/UNKNOWN もブロック対象として扱います。

詳細

gate

nugehs ツールチェーン全体から、リリース可否をひとつの判定で示します。

npm license: MIT node

gate demo

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
bouncerfail の検出結果(必須の制御が不足)fail。不明な制御があれば unknown
tielinedrift > 0(BE ルートのない FE 呼び出し)fail。unverifiable > 0 なら warn
repoctxFAIL/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つのツールを同梱せず、実行時にそれぞれを探します。ツールごとに、最初に見つかったものが使用されます。

  1. GATE_<TOOL>_BIN 環境変数(明示的な上書き)
  2. インストール済みの @nugehs/<tool> パッケージ(node_modules 内)
  3. 隣接するチェックアウトの ../<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_checksgate が実行する 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

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。