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