Gitリリースノート作成
目的
指定したタグ間のコミット履歴とコード差分を分析し、カテゴリ分類・統計情報を含むリリースノートを生成する。
ワークフロー
- 対象タグ(前回/現在)と対象リポジトリを確認する。
- 必要なコマンドを実行してコミット履歴・差分・統計を収集する。
- コミットメッセージからIssue番号(#数字)を抽出する。
- 差分内容を読み、変更の詳細を補足する。
- コミットをカテゴリに分類し、重要度順に並べる。
- 指定フォーマットでリリースノートを作成する。
必要なコマンド
# 指定タグ間のコミット取得
git log [前回のタグ]..[現在のタグ] --pretty=format:"%h %s"
# 指定タグ間のコード差分取得
git diff [前回のタグ] [現在のタグ] --name-status
git diff [前回のタグ] [現在のタグ]
# 統計情報の取得
コミット数: git log [前回のタグ]..[現在のタグ] --oneline | wc -l
貢献者数: git log [前回のタグ]..[現在のタグ] --format="%an" | sort -u | wc -l
変更ファイル数: git diff --name-only [前回のタグ] [現在のタグ] | wc -l
分類ルール
- ✨ 新機能: feat、add、新機能、追加 など
- 🐛 バグ修正: fix、修正、バグ など
- ⚡ パフォーマンス改善: perf、performance、最適化 など
- 📚 ドキュメント: doc、ドキュメント など
- 🔧 設定変更: config、設定、環境 など
- 🔄 その他: 上記以外
出力フォーマット
以下のテンプレートを厳守する。
# 🚀 リリースノート: [現在のタグ]
## 🗓️ [現在の日付]
## ✨ 新機能
- 🆕 [コミットメッセージ] ([Issue番号])
- [コード差分から得られた詳細情報]
## 🐛 バグ修正
- 🔧 [コミットメッセージ] ([Issue番号])
- [バグの詳細と修正内容]
## ⚡ パフォーマンス改善
- ⚡ [コミットメッセージ] ([Issue番号])
- [パフォーマンス改善の詳細]
## 📚 ドキュメント
- 📝 [コミットメッセージ] ([Issue番号])
- [ドキュメント更新の詳細]
## 🔧 設定変更
- 🔧 [コミットメッセージ] ([Issue番号])
- [設定変更の詳細]
## 🔄 その他の変更
- 🔄 [コミットメッセージ] ([Issue番号])
- [変更の詳細]
## 📊 統計
- 📦 コミット数: [数値]
- 👥 貢献者数: [数値]
- 📄 変更ファイル数: [数値]
- 📈 追加行数: [数値]
- 📉 削除行数: [数値]
注意点
- 絵文字を適切に使用し、視認性を高める。
- Issue番号が不明な場合は「確認が必要」と明示する。
- 破壊的変更や重要変更は強調して記載する。
- 同一カテゴリ内は重要度順に並べる。
