show-summary
Context
- •Current branch: !
git branch --show-current - •Branches: !
git branch --format='%(refname:short)'
概要
ローカルブランチ間の差分を分析し、変更内容を要約する。
実行手順
1. ベースブランチの選択
Contextセクションを確認。Branchesからカレントブランチを除外したリストを表示。
比較可能なブランチが存在しない場合
「比較可能なブランチがありません。」と出力して処理を終了。
比較可能なブランチが存在する場合
text
🔀 ベースブランチの選択 ──────────────────────────────────────── 1. branch-name-1 2. branch-name-2 3. branch-name-3 (1-3):
ユーザーが番号を選択したら以下を実行。
- •有効な番号が選択された場合
- •選択されたベースブランチを記録
- •無効な番号が選択された場合
- •「無効な番号です。もう一度番号を選択してください。」と再入力を促す
2. 差分の取得と分析
2.1 差分の取得
選択されたベースブランチとの差分を取得。
bash
git diff ${selected_branch}...HEAD --stat
git diff ${selected_branch}...HEAD --name-status
git diff ${selected_branch}...HEAD --ignore-all-space --ignore-blank-lines
- •変更がない場合
- •「変更内容がありません」を出力し、処理を終了
2.2 差分の分析
収集した差分を整理して、以下の項目に分類。
- •追加された機能
- •変更された機能
- •削除された機能
3. 変更要約の出力
変更内容を開発者が理解しやすい形式にまとめる。
出力ルール
- •テンプレートの内容のみを出力する
- •テキスト形式で出力する(
textブロックで囲む) - •テンプレート以外の説明や補足は追加しない
- •
{{! ... }}で囲まれた例文は出力しない(内部参照用) - •
[...]のプレースホルダはAIが適切な内容を生成して置き換える - •変更を機能単位や関連性でグループ化する
- •簡潔で分かりやすい表現を使用する
出力テンプレート
text
🤖 変更要約
────────────────────────────────────────
🔀 ブランチ: ${selected_branch} ← ${current_branch}
📊 統計情報: [統計情報] {{! 5ファイル (+120行 -45行) }}
📋 [変更カテゴリ] ([総件数]) {{! 機能追加 (2件) }}
────────────────────────────────────────
▸ [変更内容のタイトル]
{{! usersテーブルにphoneカラムを追加 }}
[詳細な説明]
{{! ユーザー情報に電話番号フィールドを追加して連絡手段を拡充 }}
📍 [ファイル名]
{{! db/schema.rb, db/migrate/20240101_add_phone_to_users.rb }}
▸ [変更内容のタイトル]
{{! Userモデルにphone属性を追加 }}
[詳細な説明]
{{! 電話番号のバリデーションとフォーマット処理を実装 }}
📍 [ファイル名]
{{! app/models/user.rb }}
📋 [変更カテゴリ] ([総件数]) {{! 機能改善 (1件) }}
────────────────────────────────────────
▸ [変更内容のタイトル]
{{! パスワードリセットメール再送機能 }}
[詳細な説明]
{{! パスワードリセットメールの再送信機能を追加し、ユーザビリティを向上 }}
📍 [ファイル名]
{{! app/controllers/password_resets_controller.rb, app/mailers/user_mailer.rb }}