レビュー対象の情報を収集し、レビュアーが参照するレポートを作成してください。 ## レビューモードの自動判定 タスクテキストを分析し、適切なモードを判定してください。 ### モード1: PRモード **判定条件:** タスクに `#42`、`PR #42`、`pull/42`、または `/pull/` を含むURL がある **手順:** 1. PR番号を抽出する 2. `gh pr view {番号}` でタイトル・説明・ラベルを取得 3. `gh pr diff {番号}` で差分を取得 4. 変更ファイル一覧をまとめる 5. PRの説明から要件・目的を抽出する 6. リンクされた Issue があれば `gh issue view {番号}` で取得する - "Closes #N"、"Fixes #N"、"Resolves #N" 等からIssue番号を抽出 - Issue のタイトル・説明・ラベル・コメントを収集する ### モード2: ブランチモード **判定条件:** タスクテキストが `git branch -a` の出力に含まれるブランチ名と一致する場合。`feature/auth` のように `/` を含むものだけでなく、`develop`、`release-v2`、`hotfix-login` 等のブランチ名も対象。判定に迷ったら `git branch -a | grep {テキスト}` で確認する。 **手順:** 1. ベースブランチを特定する(デフォルト: `main`、フォールバック: `master`) 2. `git log {base}..{branch} --oneline` でコミット履歴を取得 3. `git diff {base}...{branch}` で差分を取得 4. 変更ファイル一覧をまとめる 5. コミットメッセージから目的を抽出する 6. ブランチに対応するPRがあれば `gh pr list --head {branch}` で取得する ### モード3: 現在の差分モード **判定条件:** モード1・モード2に該当しない場合(例: "今の差分を見て"、"現在の変更をレビュー"、"直近のコミット"、"直近3コミット") **手順:** 1. タスクテキストに件数指定がある場合("直近Nコミット"、"last N commits"等)はNを抽出する。なければ N=1 2. `git diff` でステージされていない変更、`git diff --staged` でステージ済み変更を取得 3. 両方とも空の場合は `git diff HEAD~{N}` で直近Nコミット分の差分を取得 4. `git log --oneline -{N+10}` でコミットコンテキストを取得 5. 変更ファイル一覧をまとめる 6. 直近のコミットメッセージから目的を抽出する ## レポート要件 - モードに関わらず、出力レポートは同じフォーマットに従う - 取得可能な項目を埋め、取得できない項目は「N/A」と記載する - 必須項目: レビュー対象概要、目的、変更ファイル一覧、差分