2 種類の Kody ルール
Kody ルールは 2 つのカテゴリに整理されており、設定のタブインターフェースで管理されます:- レビュールール
- メモリ
専用のコードレビューステージで実行される従来のコードレビュールール。ファイルの差分と PR メタデータを分析してコーディング標準を強制します。
- ファイルレベルまたはプルリクエストレベルで適用
- 変数、ファイル参照、MCP 関数をサポート
- 自動コードレビュー時にトリガー
レビュールール
カスタムルールの作成
チームの正確なニーズに基づいてルールを定義します。レビュールールは ファイルレベル と プルリクエストレベル の 2 つの異なるレベルで適用できます。両方のレベルで変数、ファイル参照、MCP 関数をサポートし、強力でコンテキスト対応のルールを構築できます。変数、ファイル参照 & MCP 関数
ルールは変数、ファイル参照、MCP 関数を通じてリッチなコンテキストにアクセスできます。利用可能なものを以下に示します: 変数: 変数はルール実行時に利用可能なコンテキストデータを表します。利用可能なものを理解することで、変数と MCP 関数およびファイル参照を組み合わせてより優れたルールを作成できます。-
ファイルレベル:
fileDiff- 分析中の個別ファイルに対する特定の変更
-
PR レベル:
pr_title- プルリクエストのタイトルpr_description- プルリクエストの説明/本文pr_total_additions- 追加された行の合計数pr_total_deletions- 削除された行の合計数pr_total_files- 変更されたファイルの合計数pr_total_lines_changed- 変更された行の合計数pr_files_diff- プルリクエスト全体のすべての変更の完全な差分pr_tags- プルリクエストに関連するタグpr_author- プルリクエストの作者pr_number- プルリクエスト番号
-
@file:path/to/file.ts- ルールを編集している同じリポジトリのファイルを参照- 現在のリポジトリ内のテンプレート、例、または設定ファイルを参照する場合に使用
- 例:
@file:src/services/userService.ts
-
@repo:org/project- 別のリポジトリのファイルを参照するか、リポジトリコンテキスト外でルールを設定する場合に使用- 複数のリポジトリ全体で一貫性を強制したり、共有標準を参照する場合に使用
- 例:
@repo:team/api-standards
- Kody はルールを保存するときにファイル参照を自動的に識別します
- 参照はバックグラウンドで解決されます。完了を確認するためにエディタ横のステータスインジケーターを確認してください
- プレースホルダーではなく正確な blob スタイルのパスを使用してください(例:
src/utils/helpers.ts) - ファイルの内容はルールコンテキストに注入され、Kody がパターンを比較、検証、または強制できます
- ファイルレベルとプルリクエストレベルの両方のルールで機能します
@MCP ドロップダウンを通じて MCP(Model Context Protocol)関数にアクセスし、追加のデータとコンテキストを取得します。ワークスペースのプラグインページで接続された MCP ツールやサーバーを使用できます。
利用可能な関数には以下が含まれます:
- リポジトリ操作:リポジトリのリスト、リポジトリファイル、コンテンツ、言語の取得
- PR 分析:プルリクエストの詳細取得、コミットのリスト、PR ファイルコンテンツの分析
- ファイルコンテンツの取得:ファイルコンテンツと差分の取得
- クロスファイル検証:複数ファイルにわたる高度な分析
- カスタム統合:プラグインとして接続された MCP サーバー(Jira、カスタムツールなど)
- 一般的なプレースホルダーではなく特定のファイルパスを使用する
- チームの標準を表す安定したファイルを参照する
- 解決エラーを避けるためにルールを保存する前にファイル参照が存在することをテストする
- 包括的な検証のために変数、ファイル参照、MCP 関数を組み合わせる
ファイルレベルルール
特定のコードファイル内の問題を捕捉するために個別ファイルを分析します。 利用可能なコンテキスト: 詳細については上記の変数、ファイル参照 & MCP 関数セクションを参照してください。このレベルで利用可能:fileDiff 変数、ファイル参照(@file、@repo)、MCP 関数。
できること:
@fileまたは@repoを使用して参照ファイルと比較する- MCP 関数を使用して関連ファイルやリポジトリデータを取得する
- 変数、ファイル参照、MCP 関数を組み合わせてパターンを検証し、一貫性を確認し、アーキテクチャルールを強制する
- ルール名:ルールの目的を明確に定義する
- ファイルパス:glob パターンを使用して特定のファイルまたはディレクトリにルールを制限する
- 重大度:クリティカル、高、中、低に設定する
- 詳細な指示:
fileDiffを使用し、@file/@repoでファイルを参照し、MCP 関数を呼び出してリッチなコンテキストで強力なルールを作成する
src/**/*.ts
⚠️ 重大度:クリティカル
📝 指示:「等値演算子(== または !=)を使用すると、正確な値が一致しない場合に無限ループが発生する可能性があります。」
❌ 悪い例:
プルリクエストレベルルール
クロスファイル検証と PR 固有の要件のためにプルリクエスト全体を分析します。 利用可能なコンテキスト: 詳細については上記の変数、ファイル参照 & MCP 関数セクションを参照してください。このレベルで利用可能:PR 変数(pr_title、pr_description、pr_files_diff など)、ファイル参照(@file、@repo)、MCP 関数。
できること:
pr_title、pr_description、pr_authorなどの変数を使用して PR メタデータを検証する@fileまたは@repoを使用して設定ファイルやテンプレートを参照する- MCP 関数を使用して追加コンテキストを取得する(例:関連ファイルが存在するか確認、リポジトリ構造に対して検証)
- PR 変数、ファイル参照、MCP 関数を組み合わせて包括的な検証ルールを作成する
- すべてのサービスファイルには対応するテストファイルが必要
- PR の説明は完全で、追加または削除された内容を明確に述べる必要がある
- コントローラーに新しいルートが作成された場合、routes.json に登録する必要がある
pr_total_lines_changedを使用してサイズ制限を超える PR をフラグするpr_files_diffと MCP 関数を組み合わせてクロスファイルの依存関係を検証する@file:routes.jsonを参照して新しいルートが登録されていることを確認する- MCP 関数を使用して変更されたサービスファイルにテストファイルが存在するか確認する
強力なルールの作成
変数、MCP 関数、ファイル参照を組み合わせて、リッチなコンテキストを持つ高度なルールを作成します。各レベルで利用可能なものを以下に示します: ファイルレベルの構成:fileDiffを使用してファイルの特定の変更を分析する@file:path/to/template.tsで関連ファイルを参照してパターンと比較する- MCP 関数を呼び出してリポジトリデータを取得したり、関連ファイルが存在するか確認する
- 例:「
fileDiffを分析し、@file:src/utils/example.tsのパターンに従っているか確認します。MCP を使用して関連するテストファイルが存在するか検証します。」
- PR 変数(
pr_title、pr_description、pr_files_diffなど)を使用して PR メタデータとサイズを検証する @file:config.jsonまたは@repo:org/shared-configで設定ファイルを参照して一貫性を強制する- MCP 関数を呼び出してクロスファイル検証を実行したり、リポジトリ構造を確認したり、コミット履歴を取得する
- 例:「
pr_files_diffに新しいルートが含まれている場合、@file:routes.jsonに登録されていることを確認します。MCP を使用して変更されたすべてのサービスファイルに対応するテストファイルが存在するか確認します。」
@repo:org/projectで他のリポジトリのファイルを参照してプロジェクト全体の一貫性を維持する- MCP 関数と組み合わせて共有標準やテンプレートと照合して検証する
- 例:「
@repo:org/api-standardsで定義されたパターンに API エンドポイントが従っていることを確認します。MCP を使用して最新の標準ドキュメントを取得します。」
- MCP 関数はルール評価時に実行され、現在のリポジトリ状態に適応するルールを可能にする
- ファイル、コミット、リポジトリ構造についてリアルタイムデータを取得する
- 例:「MCP を使用して現在のリポジトリ構造を確認し、新しいファイルが既存のディレクトリパターンに従っていることを確認します。」
ルールライブラリからインポート
実証済みのベストプラクティスを即座に活用します:- Kodus ダッシュボードのディスカバリールールに移動します。
- 重大度、言語、またはタグでルールをフィルタリングします。
- ワンクリックでルールをインポートして有効化します。
- セキュリティ:「安全でない MD5 ハッシングの使用を禁止する。」
- 保守性:「React コンポーネントを 150 行未満に制限する。」
メモリ
メモリは、Kody がチームの会話とコーディング実践から学習する永続的なコンテキスト指示です。コードレビュー中に実行されるレビュールールとは異なり、メモリはすべてのプロンプトと会話に注入されて継続的な高優先度コンテキストを提供します。メモリの仕組み
- どこにでも注入:メモリはコードレビュー分析(クロスファイル、セーフガード、PR レベルルール)と会話でのインタラクションに含まれます
- 高優先度コンテキスト:メモリは AI によって高優先度のガイダンスとして扱われ、チームの規約が一貫して適用されます
- インテリジェントな重複排除:新しいメモリが作成されると、Kody は LLM ベースの解決メカニズムを使用して作成するか、スキップするか(重複の場合)、既存のメモリを更新するかを決定します
メモリの作成
メモリを作成する方法は 2 つあります:会話経由
メモリを作成する最も自然な方法は、PR コメントで Kody との会話を通じてです。Kody は規約を保存する明示的および暗黙的な意図の両方を検出します: 明示的 — Kody に記憶を依頼する:Kody は一時的な指示(例:「今これを修正して」)、デバッグのやり取り、質問、曖昧な発言、または単一のタスクや PR に明示的にスコープされたリクエストに対してはメモリを作成しません。
UI 経由
メモリを手動で作成することもできます:- コードレビュー設定 → リポジトリ → Kody ルールに移動します
- メモリタブに切り替えます
- メモリを追加をクリックして新しいエントリを作成します
- メモリのコンテンツとスコープを入力します
メモリのスコープ
各メモリには適用先を決定するスコープがあります:| スコープ | 説明 | 例 |
|---|---|---|
| ディレクトリ | リポジトリ内の glob パターンに一致するファイルに適用 | src/components/ui、src/**/*.ts |
| リポジトリ | リポジトリ全体に適用 | リポジトリ内のすべてのファイル |
| 組織 | 組織内のすべてのリポジトリに適用 | 組織内のすべてのリポジトリ |
LLM 生成メモリの承認
デフォルトでは、AI 生成のメモリは自動的に有効化されます。有効になる前に手動承認を要求できます:- コードレビュー設定 → リポジトリ → Kody ルール → メモリタブに移動します
- LLM 生成メモリの承認を有効にします
- AI 生成のメモリは保留状態に入り、承認されるまで有効化されません
- 保留中のメモリ数を示す通知バッジが表示されます
- 保留中のメモリをクリックして、保留中のアイテムを確認、承認、破棄、または変換します
- 新しいメモリの作成と既存のメモリの更新の両方が承認フローを通じます
kodus-config.yml でも設定できます:
保留中のメモリのレビュー
保留中のメモリモーダルは 2 つのカテゴリを示します:- 新しいメモリ:承認待ちの AI 生成メモリ
- メモリの更新:既存のメモリへの提案された変更
- 適用:メモリを有効化するか更新を適用する
- 破棄:メモリまたは更新を拒否する
- レビュールールに変換:メモリを標準のレビュールールに変換する
次のステップ
IDE ルールの同期
Cursor、Copilot、Claude および他の AI コーディングツールからルールを自動インポートします。
リポジトリルール
構造化されたマークダウンファイルを使用してリポジトリに直接ルールを作成します。
AI 生成
コードベースのパターンと過去のレビューに基づいて AI がルールを生成します。