mergewarden について
MergeWardenは公開GitHubリポジトリのプルリクエストを調べ、決定論的なルールでコンテキスト不足やレビュー上のリスクを示します。AIは使わず、評価、ラベル付け、コメントも行いません。
主な機能
- 01関連Issueの欠落を検出
- 02説明不足やテンプレート未使用を指摘
- 03大規模な変更を特定
- 04ワークフローとエージェント指示のリスクを検査
- 05CLIとGitHub Actionに対応
活用シーン
- 01レビュー前にコンテキスト不足のPRを確認
- 02ワークフロー権限とトリガーの変更を点検
- 03エージェント指示ファイルの変更を確認
- 04CIでプルリクエストのリスクを検査
MCP 対応
READMEにはMCPサーバーへの言及がありますが、機能や設定方法の説明はありません。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
1掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| task | string | いいえ | 依頼内容を一行で記述します。解釈せず、逐語的に記録します。 |
| allowedPaths | array | はい | 変更範囲として指定された Glob パス。例:['src/auth/**', 'test/auth/**']。ユーザーが実際に依頼した内容から取得します。 |
| blockedPaths | array | いいえ | 変更しないよう明示的に指示された Glob パス。 |
| changedPaths | array | はい | 実際に変更されたリポジトリ相対パス。`git diff --name-only` から取得します。 |
詳細
MergeWarden
コードレビューの前に、どのプルリクエストに情報が不足しているかを確認できます。
公開されている GitHub リポジトリを貼り付けると、MergeWarden が不足している Issue へのリンク、 説明の簡潔さ、テンプレートの未使用、変更規模の大きさを表示します。ログインは不要です。AI は使用しません。
これは実験的なツールです。レビュー時間の短縮やメンテナーによる継続的な利用は 実証されていません。製品の拡張は保留中です。ロードマップとエビデンスの限界をご覧ください。
公開リポジトリをレビューする
スタートガイドでは、キューの状態、 詳細な PR の結果、Action のインストール手順について説明しています。
owner/repository または GitHub リポジトリの完全な URL を貼り付けます。ブラウザーは
最新のオープンなプルリクエスト概要を 30 件読み込み、信頼されたリポジトリロール、
ベースリポジトリのブランチ、既知のメンテナンス自動化を除外してから、外部のプルリクエストを最大 10 件まで読み込みます。
各行は、メンテナーがコードを読む前に確認するであろう決定論的な事実に基づいて並べられます。
| 事実 | 意味 |
|---|---|
| Issue リンクなし | 本文に Issue 番号、Issue URL、またはクローズを示すキーワードがありません |
| 説明が簡潔 | 本文の説明が 80 文字未満です |
| テンプレート未使用 | リポジトリに公開されている PR テンプレートの構成があるものの、本文で使用されていません |
| 大規模な変更 | 変更が 50 ファイルまたは 1,500 行を超えています |
初回のコントリビューションは参考情報として表示され、スコアには使用されません。MergeWarden は コントリビューションをスパム、低品質、または AI 生成と呼ぶことはありません。プルリクエストを クローズ、ラベル付け、スコアリング、コメントすることもありません。
キューでは公開メタデータとベースブランチのプルリクエストテンプレートを使用します。 変更されたファイルの内容の取得、コードの実行、バックエンドの使用、対象の保存は行いません。
より大規模な認証済みキューには、CLI を使用してください。
GH_TOKEN=... npx --yes [email protected] triage owner/repository
詳細な PR リスクスキャンを実行する
同じページで、プルリクエストの完全な URL または owner/repository#number を指定できます。
キューの各行から、この詳細スキャンに移動できます。
詳細スキャンでは、次の 4 つのセキュリティ境界を確認します。
| チェック | 確認が必要な内容 |
|---|---|
| ワークフローの権限 | ワークフローが書き込みアクセス権を取得する、危険なトリガーを使用する、または変更可能な Action 参照に依存する |
| エージェントへの指示 | PR が AGENTS.md、CLAUDE.md、.mcp.json、またはコーディングエージェントを誘導するその他のファイルを変更する |
| 信頼されていないプロンプト入力 | プルリクエストのテキストがワークフロー内のエージェントプロンプトに渡される |
| インストールスクリプト | パッケージマニフェストがインストール時のライフサイクルコードを追加または変更する |
設定リファレンスには、すべての決定論的なルールと重大度が記載されています。
対象リポジトリをクローンせずに、ターミナルから同じスキャンを実行できます。
npx --yes [email protected] scan https://github.com/owner/repository/pull/123
Action を追加する
Action は詳細な PR リスクチェックを自動化します。レビューキューの順序は決めません。
.github/workflows/mergewarden.yml を作成します。
name: MergeWarden PR Risk Check
on:
pull_request:
permissions:
contents: read
pull-requests: write
jobs:
mergewarden:
runs-on: ubuntu-latest
steps:
- uses: sjh9714/[email protected]
with:
comment: auto
comment: auto は、対応が必要な項目がなければ何もせず、対応が必要な検出事項がある場合は 1 件のコメントを更新します。既存の Action のデフォルト設定は変更されません。
不変のインストールにするには、リリースコミットを指定します。
MergeWarden は変更可能な v0 タグを公開も推奨もしていません。
- uses: sjh9714/mergewarden@d63b4fc8c09c540375f039ecd30d2fce56abf31f
安全性の境界
- Web アプリは公開 GitHub API と直接通信し、テレメトリーはありません。
- キューは各 PR の正確なベースコミットにあるメタデータとテンプレートを読み取ります。詳細スキャンでは、決定論的なルールで必要なファイルのみを読み取ります。
- チェックアウトは行いません。MergeWarden は Web アプリや Action でプルリクエストのコードを実行しません。
- ポリシーは、信頼できない PR のヘッドではなく、正確なベースコミットから取得します。
- 分析で言語モデルを呼び出すことはありません。
- 証拠が不完全な場合は不完全と報告し、合格として提示することはありません。
- ブラウザーのサンプル数には明確な上限があります。30 件の概要に達した場合や、外部 PR が詳細表示の 10 件の上限を超えた場合、キューは完全なものではありません。
信頼境界の詳細については、セキュリティモデルと 証拠モデルをご覧ください。
証拠と高度なインターフェース
トリアージは役立つか?では、既存のキューの測定結果と主な限界を記録しています。測定したのは、行ごとに判別できるかどうかであり、メンテナーの時間を節約できるかどうかではありません。メンテナーがその価値を確認するまでは、現在の Web キューはプロダクト実験として扱われます。
ドキュメント一覧には、設定、Action と CLI のリファレンス、コーディングツールとの統合、再現可能な調査、 MCP サーバーが含まれています。
貢献
pnpm install --frozen-lockfile
pnpm build
pnpm test
pnpm typecheck
pnpm lint
pnpm format:check
新しいルールには、合格するフィクスチャ、失敗するフィクスチャ、レポートのスナップショットがそれぞれ必要です。貢献ガイドをご覧ください。
ライセンス
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。