takt/builtins/ja/facets/instructions/gather-review.md
nrslib cc7f73dc3e review ピースに拡張: PR/ブランチ/現在の差分の3モード自動判定に対応
pr-review → review にリネームし、gather が入力テキストからモードを自動判定する。
ブランチ名の判定を git branch -a で確認する方式に強化、直近Nコミット指定に対応、
output contract にコミット履歴セクションを追加。
2026-02-24 13:11:31 +09:00

43 lines
2.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

レビュー対象の情報を収集し、レビュアーが参照するレポートを作成してください。
## レビューモードの自動判定
タスクテキストを分析し、適切なモードを判定してください。
### モード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」と記載する
- 必須項目: レビュー対象概要、目的、変更ファイル一覧、差分