PRを更新するカスタムスラッシュコマンド
Custom Commandという機能がある。あらかじめ作っておいた指示をコマンドで呼び出せる機能だ。
ghコマンドを使うと CLIでPRのタイトルと説明を更新できるので ~/.claude/commands/update-pr.md にPRのタイトルと説明を更新する指示を書いたmarkdownファイルを追加して、/update-pr で呼び出せるようにした。
--- allowed_tools: [Bash] description: "現在のブランチのプルリクエストのタイトルと説明を、変更の差分に基づいて適切に更新します" --- # プルリクエストの更新 現在のブランチに対応するプルリクエストを見つけて、以下の手順でタイトルと説明を更新してください: 1. **現在のブランチ確認**: `git branch --show-current` で現在のブランチを確認 2. **プルリクエスト確認**: `gh pr view` で現在のブランチのプルリクエストを確認(存在しない場合はエラーメッセージを表示) 3. **変更の差分確認**: `gh pr diff` で変更内容を確認 4. **既存のタイトル確認**: 既存のプルリクエストにタイトルが十分に内容を反映した内容に設定されている場合は、そのタイトルを変更しない 5. **タイトルと説明の生成**: - 既存のタイトルがないか適切でない場合: 差分の内容から適切な日本語のタイトルを生成 - 説明: 差分の内容を分析し、変更内容の要約を日本語で作成(機能追加、バグ修正、リファクタリングなどを明記) 6. **プルリクエスト更新**: `gh pr edit --title "<title>" --body "<description>"` でプルリクエストを更新 **注意事項**: - 説明は変更の内容を分かりやすく日本語で要約する - コミットメッセージの履歴も参考にする - プルリクエストが存在しない場合は、その旨を伝える - リポジトリにPRのテンプレートがある場合はそのテンプレートを使用する
このカスタムコマンド自体、Claude に生成してもらったもので、あまり手を加えていないため、改善の余地はあると思う。
背景
AIを使ったコーディングでもこれまでの開発スタイルで重要だと思われていたことは、変わらずに重要だということが分かってきた。
なので適度な粒度でプリクエストを使って、レビューをしてマージをしていきたい。
AIを使うと大量のコードを書くことができる。その結果、プルリクエストの数も増える。タイトルや説明を書く作業も増える。
AIを使えば変更内容の概要などある程度のことはできるので、AIにやってもらうことにした。
まとめ
- 繰り返し行うような作業はスラッシュコマンドにどんどん追加して便利にしていきたい。リファクタリングやテスト用のカスタムスラッシュコマンドがあると便利かもしれない。
- このことを同僚に話したら似たようなスラッシュコマンドを作っていた。他の人が追加している便利なスラッシュコマンドも知りたい。