概要
ドキュメント
ドキュメントの構成
- ベストプラクティス:コードレビューがあるチームとないチームそれぞれに合った設定、チームへの展開、ノイズを減らす方法。
- GitHub 上のレビュー:レビューの読み方、HeyDeer で修正、HeyDeer Review チェック、PR コメントのコマンド、フォローアップレビュー。
- レビューの設定:設定の仕組み、自動レビューとそのフィルター、レビューの深さ、フィードバックの範囲、結果の公開、自動承認。
- HeyDeer にコードベースを教える:HeyDeer が読み込む情報、AGENTS.md、REVIEW.md、リポジトリのチェック、スキル、レビューへの指示、コネクタ。
- ワークスペースと請求:メンバー、インサイト、通知メール、クレジット、プラン、自動チャージ、使用量の上限。
- リファレンス:すべての設定、GitHub App の権限、トラブルシューティング、よくある質問。
うまく動作しない場合は、トラブルシューティングを参照してください。
仕組み
プルリクエストが作成される人またはコーディングエージェントが作成します。
HeyDeer がレビューするリポジトリ全体とチームの基準を踏まえてレビューします。
指摘事項が GitHub に表示されるレビューコメントと HeyDeer Review チェックに表示されます。
修正してマージする自分で修正するか、「HeyDeer で修正」を使います。
修正をプッシュすると、フォローアップレビューが新しいコミットを検証し、懸念が解消された会話を解決済みにします。
プルリクエストに表示される内容
HeyDeer は指摘事項を GitHub のレビューとして投稿します。ほとんどは対象の行へのインラインコメントで、深刻度、何が問題になるか、多くの場合は修正案も示されます。差分外のコードに関する指摘事項は、レビュー本文に表示されます。レビューの読み方を参照してください。
src/sync/retry.ts
18for (let attempt = 1; ; attempt++) {
19 const res = await fetch(url);
20 if (res.ok) return res;
21 await sleep(backoff(attempt));
heydeerbot
🟠 高(信頼性):404 のときにリトライのループが止まらない
fetchWithRetry() は、何度試しても成功しない 404 を含め、失敗したレスポンスをすべてリトライするため、同期ジョブがタイムアウトするまでループし続けます。
変更案
- if (res.ok) return res;
+ if (res.ok) return res;
+ if (res.status < 500 && res.status !== 429) throw new HttpError(res);
詳しく見る
修正案: リトライはサーバーエラーと 429 レスポンスに限定し、それ以外のクライアントエラーでは例外をスローします。
選んだ指摘事項を HeyDeer に修正させるには、レビューでHeyDeer で修正を選択します。HeyDeer が別の PR を作成するので、それをレビューしてマージします。HeyDeer で修正を参照してください。
HeyDeer を選ぶ理由
- HeyDeer は、コードを書いた人やエージェントとは独立して各変更をレビューします。
- 投稿前に、各指摘事項をコードと照合して検証します。
- AGENTS.md の規約とリポジトリのチェックの要件を、それぞれの対象ファイルに適用します。
HeyDeer を設定する
新しいワークスペースは無料プランで始まり、初月は 1,000 クレジット、以降は毎月 300 クレジットを利用できます。クイックスタートでは、GitHub App のインストールから最初のレビューまでを説明しています。
次に、現在のチームのマージ方法に合った構成を選びます:
- コードレビューのないチーム:エージェントが main に直接コミットする、または CI が通ればプルリクエストをマージするチーム。
- 人のレビュアーがいるチーム:すべてのプルリクエストをマージ前に人がレビューするチーム。