heydeer
サインイン
HeyDeer にコードベースを教える

REVIEW.md

コードレビューでだけ意味を持つガイダンスは REVIEW.md に書きます。確認すべきこと、触れなくてよいこと、問題の深刻さなどです。Claude Code Review など他のコードレビューツールも同じファイルを読み込むため、今ある REVIEW.md をそのまま使えます。

書く内容

  • すべてのプルリクエストで確認すべきこと。たとえば、データベースクエリの対象範囲の絞り方です。
  • 触れなくてよいこと。たとえば、CI がすでに報告する問題です。除外は範囲を絞り、対象のパスを明記します。
  • ある種類の問題がチームにとってどれだけ深刻か。HeyDeer の深刻度(緊急、高、中、低)で書きます。

REVIEW.md

# Review instructions

## Always check

- Database queries in src/api/ are scoped to the caller's
  workspace.
- Log lines don't include email addresses or request bodies.

## Leave alone

- Formatting and lint issues. CI enforces them.
- Code in tests/fixtures/ that breaks production rules on purpose.

## Severity

- A migration that isn't backward compatible is High.
- Naming and refactoring suggestions are Low.

コーディング規約は AGENTS.md に書くと、コーディングエージェントもそれに従います。該当するすべてのプルリクエストで HeyDeer に必ず検証させたい要件は、リポジトリのチェックに書きます。

ルートとサブディレクトリのファイル

REVIEW.md はリポジトリのルートに追加します。独自のガイダンスが必要なディレクトリには、src/payments/REVIEW.md のように専用のファイルを置けます。

REVIEW.md は、そのディレクトリ以下の変更に適用されます。深い階層のファイルは上位のファイルに内容を追加し、内容が矛盾する場合は深い階層のファイルが優先されます。

変更されたファイル適用されるファイル(適用順)
src/api/invoices.tsREVIEW.md
src/payments/refund.tsREVIEW.md, src/payments/REVIEW.md

設定で決まること

REVIEW.md で変わるのは、HeyDeer が何に注目するかと問題の深刻さであり、報告方法ではありません。報告方法は設定で指定します:レビューの言語、フィードバックの範囲、自動承認。たとえば、深刻度「低」の指摘事項を減らすには、フィードバックの範囲で「簡潔」を選びます。

REVIEW.md はリポジトリのチェックには適用されません。該当するチェックは常に実行され、何が違反になるかはチェック自体だけが決めます。

自動生成ファイルをスキップするには、代わりに .gitattributes で指定します。そうすれば、これらのファイルはレビューの対象外になります。自動生成ファイルを参照してください。

REVIEW.md を編集するプルリクエスト

HeyDeer は REVIEW.md をプルリクエストから読み込むため、これを編集するプルリクエストは編集後のバージョンでレビューされ、HeyDeer が自動承認することはありません。プルリクエストで変更されてはならないガイダンスは、レビューへの指示に書いてください。

Claude Code Review から移行する場合

今ある REVIEW.md はそのまま使えます。ただし、次の違いがあります:

  • HeyDeer は REVIEW.md をプルリクエストから読み込みますが、Claude Code Review はベースブランチから読み込みます。
  • Important は深刻度「中」以上、Nit は「低」に相当します。
  • Nit の数の上限は適用されません。代わりにフィードバックの範囲で「簡潔」を選びます。
  • HeyDeer は @review-security.md のような取り込みを展開しません。取り込んでいたファイルのガイダンスは REVIEW.md に移してください。