Initial commit
This commit is contained in:
48
commands/update-pr-description.md
Normal file
48
commands/update-pr-description.md
Normal file
@@ -0,0 +1,48 @@
|
||||
# PR/Issue 説明更新コマンド
|
||||
|
||||
このコマンドは、git push 後に指定された番号のPRまたはIssueの説明を最新のコミット内容に基づいて更新します。
|
||||
|
||||
## 手順
|
||||
|
||||
1. 引数から PR/Issue 番号を抽出(#123, PR #123, Issue #123 などの形式に対応)
|
||||
2. 現在のブランチの最新コミット履歴を確認
|
||||
3. PR または Issue の現在の説明を取得
|
||||
4. `pr-<no>.md` または `issue-<no>.md` というファイル名で docs 以下に現在の説明を保存
|
||||
5. 新しいコミット内容を分析して説明のファイルを更新
|
||||
6. 更新された説明のファイルでPR/Issueを編集
|
||||
|
||||
## 引数
|
||||
|
||||
$ARGUMENTS - PR/Issue番号(必須)
|
||||
- 例: "#123", "PR #123", "Issue #123", "123"
|
||||
|
||||
## 実装詳細
|
||||
|
||||
1. `git branch --show-current` で現在のブランチを確認
|
||||
2. `git log --oneline -10` で最新10件のコミットを取得
|
||||
3. 番号からタイプを判定:
|
||||
- まず `gh pr view <番号>` を試行してPRかチェック
|
||||
- 失敗した場合は `gh issue view <番号>` を試行してIssueかチェック
|
||||
4. PRの場合:
|
||||
- `gh pr view <番号> --json title,body` で現在のタイトルと説明を取得
|
||||
- `git log main..HEAD --oneline` でPR対象のコミット一覧を取得
|
||||
- コミット内容を分析して説明を生成・更新
|
||||
- `gh pr edit <番号> --body "更新された説明"` で説明を更新
|
||||
5. Issueの場合:
|
||||
- `gh issue view <番号> --json title,body` で現在のタイトルと説明を取得
|
||||
- 関連するコミットの変更内容を分析
|
||||
- `gh issue edit <番号> --body "更新された説明"` で説明を更新
|
||||
|
||||
## 説明生成ルール
|
||||
|
||||
- 元の説明を保持しつつ、「## 最新の変更」セクションを追加または更新
|
||||
- コミットメッセージから主要な変更点を抽出
|
||||
- 変更されたファイルの種類に応じて適切なカテゴリで整理
|
||||
- Conventional Commit形式のコミットメッセージを理解して要約
|
||||
|
||||
## エラーハンドリング
|
||||
|
||||
- PR/Issue番号が指定されていない場合は、入力を求める
|
||||
- 指定された番号のPR/Issueが見つからない場合は、エラーメッセージを表示
|
||||
- コミット履歴が取得できない場合は、現在のブランチ状態を確認するよう促す
|
||||
- GitHub CLIの認証エラーの場合は、`gh auth login` を案内
|
||||
Reference in New Issue
Block a user