このガイドが重要な理由
すべてのエンジニアリングチームには、どこかに「ベストプラクティス」ドキュメントがあります。問題は、IDE の提案がそれを読まず、レビュアーが細かいニュアンスを忘れ、ドキュメントが徐々に権威を失っていくことです。このガイドでは、ハンドブックをアクティブなガードレールに変換して、Kodyがそれらのルールを自動的に適用し、コードがルールから外れるたびに関連セクションを引用する方法を示します。 2つの構成要素に焦点を当てます:- Kodyルール – 各ポリシーの箇条書きを確定的なファイルレベルまたはPRレベルのチェックとしてエンコードする。
- カスタムプラグイン – 信頼できる情報源がGitの外部にある場合、リモートMCPサーバーから標準を取得する。
事前確認チェックリスト
- コードレビュー設定 → Kodyルール を編集する権限がある。
- ポリシーパックがリポジトリ内に存在する(例:
docs/engineering-standards.md)。別のパスにある場合は適宜調整してください。Notion、Confluence、またはGoogle Docsにある場合は、リモートMCPエンドポイントを通じて公開する計画を立ててください。 - どのトピックをファイルレベル(コントローラー、設定)とPRレベル(フィーチャーフラグ、ロールアウトの説明、アーキテクチャ)で評価すべきかを把握している。
ハンドブックをバージョン管理下に置いてください。すべての編集はオーナーが承認するPRを通じて行うべきです。この規律がルールを現実に根ざしたものに保ちます。
フェーズ1 – ルールに適したポリシーパックを作成する
docs/engineering-standards.mdのようなマークダウンファイルを作成または再利用します。唯一の要件:Kodyが@file:...経由で参照できることです。- コンテンツを短い、チェック可能な箇条書きに整理します:
[Owner: Backend Platform]や[Risk: High]のようなメタデータを追加して、違反のルーティングに役立てます。
信頼できる情報源がGitの外部にある場合は、同じ構造を採用しますが、リモートMCPサーバーを通じて公開してルールが
@MCP:policy_pack.getSection(...) を呼び出せるようにします。フェーズ2 – すべてのルールを実際のドキュメントに向ける
ルールはファイルとリモートMCPペイロードを読み取ることができます。各指示にスニペットを貼り付けるのではなく、実際のハンドブックを参照します。- ドメイン固有のパック(例:
@file:docs/mobile.md)用に他のファイルパスを置き換える。 - ファイルの一部だけが必要な場合は、行アンカーを追加します—
@file:docs/engineering-standards.md#L40-L72—ルールがそのセクションのみを参照するように。 - ポリシーがNotion/Confluenceなどから来る場合は、ファイル参照を
@MCP:policy_pack.getSection({"id":"security"})に置き換える。 - ルールが静的テンプレートと動的データの両方を必要とする場合は両方を組み合わせる(例:ログフォーマット用の
@file+ 現在の機密フィールド用の@MCP:piiRegistry.list())。
1つの参照ですべてを同期に保てます。ハンドブックを一度更新すれば、すべてのルールが最新バージョンを適用します。
フェーズ3 – セクションをKodyルールに変換する
コードレビュー設定 → Kodyルール を開き、各ポリシーセクションを適切なスコープにマッピングします。| ポリシーセクション | ルールタイプ | スコープの例 | 重要度 |
|---|---|---|---|
| エラー処理 | ファイルレベル | backend/**/*.ts | 高 |
| アーキテクチャ | PRレベル | pr_files_diff 経由の全ファイル | 重大 |
| ロギングとトレーシング | ファイルレベル | web/apps/**/controllers/**/*.ts | 中 |
| セキュリティ / PII | ファイル + MCP | **/* PIIリスト取得付き | 重大 |
ファイルレベルの例
PRレベルの例
ルールはすでに変数(
fileDiff、pr_files_diff など)、ファイル参照、MCPの呼び出しを理解しています。完全なマトリックスは Kodyルールガイド を参照してください。フェーズ4 – MCP経由で外部標準をミラーリングする(オプション)
ハンドブック(またはその一部)がNotion、Confluence、Google Docs、または別のシステムに残る必要がある場合もあります。それでもKodyに供給できます:listSections()とgetSection(id)を公開するリモートMCPエンドポイントを構築または採用します。- カスタムプラグインを追加 からインストールします。正確なフローについては カスタムプラグインガイド に従ってください。
@file参照を@MCP:policy_pack.getSection({"id":"architecture"})に置き換えます。- MCPサーバー上でレスポンスをキャッシュして、複数のルールがレビューごとにペイロードを共有できるようにします。
フェーズ5 – テスト、観察、維持
検証PRを作成する
検証PRを作成する
各セクションに違反する使い捨てPRを作成します。@kodyをメンションして、インラインとPRレベルのコメントが正しい箇条書きを引用していることを確認します。
ノイズと重要度を調整する
ノイズと重要度を調整する
ロールアウト中に、各ルールが発火する頻度を観察します。シグナルが期待に合うまで、ファイルグロブを絞り込み、除外を追加するか、重要度を調整します。
ドキュメントとルールを一緒に更新する
ドキュメントとルールを一緒に更新する
ハンドブックが変更されるたびに、レビュアーがパイプライン全体を検証できるよう、マークダウン(またはMCPペイロード)と関連ルールを同じPRで更新します。
クイックチェックリスト
-
docs/engineering-standards.md(またはMCP相当)が、スキャン可能でタグ付きの箇条書きで存在する。 - すべてのルールが
@fileまたは@MCP経由でポリシーパックを参照し、最新のテキストを読み取ることを保証している。 - ファイルレベルとPRレベルのKodyルールが重要なセクションをカバーしている。
- オプションのMCPプラグインが必要に応じてリポジトリ外の標準をミラーリングしている。
- ドライランPRが広範なロールアウト前にインラインコメントとPRサマリーを確認した。