HeyDeer が読み込む情報
レビューでは、プルリクエストの変更をリポジトリ全体のコンテキストの中で読み、PR の議論や HeyDeer に与えたガイダンスもあわせて参照します。 このページでは、ガイダンスの種類ごとの置き場所と、そのうちプルリクエストで変更できるものを説明します。
コードと議論
HeyDeer はプルリクエストの変更内容をレビューし、PR の head にある任意のファイルとコミット履歴を読んだり検索したりできます。変更によって壊れる差分外のコードを指摘することもあります。
PR のタイトル、説明、議論も読み込みます。
関連する Issue とプルリクエスト
関連する Issue と PR を読むがオン(デフォルト)の場合、HeyDeer は、PR が修正する Issue など、変更の背景を説明する同じリポジトリ内の Issue やプルリクエストを読み込めます。この設定はレビュールール → レビュー方法で変更します。設定リファレンスを参照してください。
ガイダンスの種類ごとの置き場所
始めるのにガイダンスは必要ありません。HeyDeer は最初のレビューからリポジトリ全体を踏まえてレビューします。最初の何回かのレビューで見えてきた不足を補うように、ガイダンスを追加してください。
コードベース固有のことだけを書きます。HeyDeer は一般的なエンジニアリングのプラクティスをすでに知っており、どのレビューでもバグやセキュリティの問題を探すため、それを繰り返すガイダンスは役に立ちません。
| HeyDeer に伝えたいこと | 置き場所 |
|---|---|
| コードの仕組みと、従っている規約。コーディングエージェントもこれに従います。 | AGENTS.md |
| レビューで注目すべきこと、対象外にすること、問題の深刻度 | REVIEW.md |
| 特定のファイルを変更するすべてのプルリクエストで、HeyDeer に必ず検証させたい要件 | .agents/checks/ |
| 複数のチェックで共有する手順 | .agents/skills/ |
| プルリクエストで変更されてはならない、またはすべてのリポジトリに適用するレビューのガイダンス | レビューへの指示 |
| チケットや社内ドキュメントなど、リポジトリ外のコンテキスト | コネクタ |
チェックか REVIEW.md か
レビューは変更全体を調べながら AGENTS.md と REVIEW.md に従います。さらに、該当するチェックにはそれぞれ専用のレビュアーが付き、その要件だけを検証します。そのためチェックはより徹底的ですが、より多くのクレジットを使います。
API ルートのアクセス制御のように、見落とすと影響が大きく、見落としやすい要件はチェックにします。それ以外は REVIEW.md に書きます。効果的なチェックの書き方を参照してください。
ガイダンスが矛盾する場合
レビューへの指示は REVIEW.md、AGENTS.md、CLAUDE.md、スキルより優先され、リポジトリの指示はワークスペースの指示より優先されます。指示やリポジトリ内のどの内容によっても、該当するリポジトリのチェックの実行を止めることはできません。
HeyDeer がガイダンスを無視しているように見える場合は、トラブルシューティングを参照してください。
プルリクエストで変更できるもの
HeyDeer は、AGENTS.md、CLAUDE.md、REVIEW.md、リポジトリのチェック、スキルをプルリクエストの head コミットから読み込みます。これらを編集するプルリクエストは編集後のバージョンでレビューされるため、プルリクエストは自身のレビューに使われるガイダンスを変更できます。 HeyDeer はこのようなプルリクエストを自動承認しません。
レビューへの指示とコネクタは HeyDeer に保存されるため、プルリクエストで変更することはできません。プルリクエストで変更されてはならないガイダンスは、レビューへの指示に書いてください。
HeyDeer は .gitattributes をベースブランチから読み込むため、プルリクエストが自身のファイルを自動生成ファイルとして指定して、レビューの対象から外すことはできません。各設定の保存場所と変更できるユーザーについては、設定リファレンスを参照してください。
自動生成ファイル
生成されたクライアントなどの自動生成ファイルには、.gitattributes で linguist-generated を指定します。HeyDeer はこれらのファイルをレビューとリポジトリのチェックでスキップします。この属性はベースブランチから読み込まれます。
ベースブランチにすでにあるロックファイルは、属性を指定しなくてもスキップされます。ロックファイルをレビューするには、-linguist-generated を指定します。HeyDeer は、どのフォルダーにあっても次のファイル名をロックファイルとして扱います: package-lock.json, npm-shrinkwrap.json, yarn.lock, pnpm-lock.yaml, bun.lock, bun.lockb, deno.lock, Cargo.lock, go.sum, Gemfile.lock, composer.lock, poetry.lock, Pipfile.lock, uv.lock, pdm.lock, pubspec.lock, Podfile.lock, Package.resolved, mix.lock, packages.lock.json, gradle.lockfile, flake.lock, MODULE.bazel.lock, .terraform.lock.hcl
# .gitattributes
src/generated/** linguist-generated
# Review this lock file anyway
Cargo.lock -linguist-generated変更されたファイルがすべてスキップされた場合、HeyDeer Review チェックには「レビュー対象のファイルがありません」と表示され、クレジットは消費されません。
HeyDeer が読み込まないもの
自動生成ファイルのほかに、HeyDeer は次のものを読み込みません:
- 他のリポジトリの Issue とプルリクエスト。
- AGENTS.md や CLAUDE.md がインポートするファイル。AGENTS.md を参照してください。
.claude/settings.json、.mcp.json、フックなど、リポジトリ内のエージェント設定。レビューに外部のコンテキストを与えるには、コネクタを使用します。- コードの実行結果。HeyDeer はコードとテストを読みますが、ビルドや実行はしません。
HeyDeer は議論のコンテキストを約 180 KB、コード上の会話を 200 件以内に収めます。古いレビューと解決済みの会話を優先して省き、必要に応じてほかの議論も省きます。議論が多くてもレビューは実行できます。
AGENTS.md、リポジトリのチェック、スキル、レビューへの指示、コネクタのサイズ上限については、設定リファレンスを参照してください。