PR説明の生成
包括的なプルリクエストの説明を生成するタスクです。
実行手順
1. 説明するPRを特定する
- •現在のブランチに関連するPRがあるか確認する:
bash
gh pr view --json url,number,title,state 2>/dev/null
- •現在のブランチにPRが存在しない場合、またはmain/masterにいる場合、オープンなPRをリストする:
bash
gh pr list --limit 10 --json number,title,headRefName,author
- •不明な場合はユーザーにどのPRを説明したいか確認する
2. 包括的なPR情報を収集する
- •完全なPR diffを取得する:
bash
gh pr diff {number} - •デフォルトのリモートリポジトリに関するエラーが発生した場合、ユーザーに
gh repo set-defaultの実行を指示する - •コミット履歴を取得する:
bash
gh pr view {number} --json commits - •ベースブランチを確認する:
bash
gh pr view {number} --json baseRefName - •PRメタデータを取得する:
bash
gh pr view {number} --json url,title,number,state
3. 変更を徹底的に分析する
- •diff全体を注意深く読み込む
- •コンテキストのため、diffに表示されていないが参照されているファイルを読み込む
- •各変更の目的と影響を理解する
- •ユーザー向けの変更と内部実装の詳細を区別する
- •破壊的変更やマイグレーション要件を特定する
4. 検証要件を処理する
- •自動化可能な検証ステップ(テスト、リント、ビルド)を探す
- •各検証ステップについて:
- •実行可能なコマンド(
make test、npm testなど)の場合、実行する - •合格した場合、検証済みと記録する
- •失敗した場合、何が失敗したかを記録する
- •手動テストが必要な場合、ユーザーに記録する
- •実行可能なコマンド(
5. 説明を生成する
以下のテンプレート構造を使用する:
markdown
## 概要 [このPRが何をするか、なぜ行うかの簡単な説明] ## 変更内容 - [変更1] - [変更2] - [変更3] ## 変更の種類 - [ ] バグ修正(問題を修正する非破壊的変更) - [ ] 新機能(機能を追加する非破壊的変更) - [ ] 破壊的変更(既存の機能を変更する修正または機能) - [ ] ドキュメントの更新 ## テスト方法 1. [ステップ1] 2. [ステップ2] 3. [ステップ3] ## 検証 - [ ] テスト合格 - [ ] リンティング合格 - [ ] ビルド成功 - [ ] 手動テスト完了 ## 追加の注意事項 [追加のコンテキスト、スクリーンショット、または情報]
6. PRを更新する
- •PR説明を直接更新する:
bash
gh pr edit {number} --body "$(cat description.md)" - •または生成された説明をユーザーにレビュー用に表示する
- •更新が成功したことを確認する
重要な注意事項
- •徹底的かつ簡潔に - 説明はスキャン可能であるべき
- •「何を」と同様に「なぜ」に焦点を当てる
- •破壊的変更やマイグレーションの注意事項を目立つように含める
- •PRが複数のコンポーネントに触れる場合、説明をそれに応じて整理する
- •可能な場合は常に検証コマンドの実行を試みる
- •どの検証ステップが手動テストを必要とするかを明確に伝える