Skip to main content

コア設定

Kodus には 3 つの設定レベルがあります:グローバル、リポジトリ、ディレクトリ。仕組みについては 設定の継承とオーバーライド を参照してください。

設定の優先度

Web UI の代わりに、リポジトリルートの kodus-config.yml ファイルでレビュー設定を管理できます。
オプトインするまでこのファイルは無視されます。 デフォルトでは kodusConfigFileOverridesWebPreferencesfalse のため、Kody は kodus-config.yml を 一切読み込みません — ファイルをコミットしただけでは何も起こりません。まず Settings → Code Review → 対象リポジトリ → General で有効化するか、Web UI から リポジトリ(またはディレクトリ)レベルで kodusConfigFileOverridesWebPreferences: true を 設定してください。それではじめてファイルが有効になります。
有効化すると、ファイルは Web 設定の上にマージされます。変更したいキーだけを書けばよく、 省略したものは Web 側の値がそのまま使われます。
未知のキーは警告なく破棄されます。 現在のスキーマに含まれないトップレベルのキーは、 設定が適用される前に削除されます — エラーも警告も出ません。設定が効いていないように 見える場合は、下のサンプルとスペルを照合してください。
このサンプルは出荷時のデフォルトを反映しています。正典となるのは kodus-ai リポジトリの default-kodus-config.yml です。

レビュー動作

自動レビュー

Kody は PR が開かれたときに自動的にレビューするか、@kody start-review とコメントしたときのみレビューできます。
これは初回レビューにのみ影響します。以降のコミットについては、下記のレビュー頻度を参照してください。

レビュー頻度

以降のコミットで Kody がレビューを処理する方法:
すべての新しいプッシュをレビュー。すべての変更に対して継続的なフィードバック。

PR ワークフロー

PR の自動承認

問題が見つからない場合、Kody は PR を承認します。 対応プラットフォーム: GitHub、GitLab、Bitbucket

変更のリクエスト

クリティカルな問題が見つかった場合、Kody は変更をリクエストします。 対応プラットフォーム: GitHub、Bitbucket

スキップ条件

無視するファイル: glob パターンを使用します(例:**/*.js)、1 行に 1 つ。デフォルト:yarn.lockpackage-lock.jsonpackage.json.env**/*.json 無視するタイトル: 特定のキーワードを含む PR をスキップします(大文字・小文字を区別しない、最大 100 文字) ベースブランチ: どのターゲットブランチをレビューするかを絞り込みます。
空(デフォルト)はすべてのターゲットブランチをレビューする意味ですdev/release/master といった組み込みのリストは存在しません。スコープを狭めたいときだけエントリを追加してください。 リストが空でなくなると、Kody はそれらのブランチ宛の PR だけをレビューします(リポジトリの デフォルトブランチは常に含まれます)。エントリは PR のターゲットブランチと照合され、専用の記法をサポートします:複数のエントリが一致した場合は、より具体的なものが優先されます。各エントリは 100 文字以内で、 使用できる文字は a-z A-Z 0-9 / * - _ ! = : のみ、** は使えません。
ドラフト PR: runOnDraft はデフォルトで true なので、ドラフトもレビューされます。 false にすると、PR が ready になるまでスキップされます。

分析タイプ

Kody は 4 つのカテゴリでレビューします。Analysis Types で、または kodus-config.ymlreviewOptions で個別に有効・無効を切り替えられます。
  • Bug — ロジックエラー、競合状態、null 参照、エッジケース、誤った挙動。
  • Security — 脆弱性、インジェクション、認証の問題、データ露出、シークレット。
  • Performance — N+1 クエリ、ホットパスでのアロケーション、キャッシュ不足、ブロッキング I/O。
  • Business Logic — PR に紐づくビジネスルール・要件・受け入れ基準に対して実装を検証します。 ビジネスロジック検証 を参照してください。
Kody Rules はこれらのカテゴリの 1 つではありませんreviewOptions とは無関係に常に実行されます。 Kody Rules を参照してください。