release について
現在のリポジトリで変更履歴の草案を作成し、ユーザーの明示的な承認後にリリースを行うスキルです。コミットの分類、バージョン更新、タグ付け、公開、日本語での報告手順を定めています。
主な機能
- 01分類した Unreleased の草案を作成
- 02リリース前にユーザーの確認を取得
- 03バージョン更新・コミット・タグ作成
- 04GitHub Release を公開して変更を push
活用シーン
- 01タグ以降の変更からリリースノートを作成
- 02承認後にパッチリリースを公開
- 03リリース対象ファイル・タグ・URLを報告
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ yoshiko-pg/ difit --skill releaseインストール後、Claude Code で/releaseを入力して読み込まれたか確認します。
詳細
リリースワークフロー
現在のリポジトリでは、次のワークフローに従ってください。
変更履歴のドラフトを準備する
./scripts/get-changes-since-tag.shを実行します。- 必要に応じて、変更を次のセクションに分類します:
Added、Changed、Deprecated、Removed、Fixed、Security、Thanks。 - スクリプトの出力には、次のルールを適用します。
- スクリプトの出力にある GitHub ユーザー名を使用します。
Thanksからyoshiko-pgとrenovate[bot]を除外します。- 利用可能な場合は PR 番号を含めます。
- 各セクション内で、PR 番号を含む箇条書きは PR 番号の昇順に並べ、1 つの箇条書きに複数の PR 番号を記載する場合も昇順にします。
- 分類にはコミットの件名と本文を使用します。
- グループ化された依存関係の更新、パッケージマネージャーのバージョン更新、通常の個別依存関係の更新など、定例の依存関係のみの更新は、
- Update dependencies (#123 #124 #125)の形式のChangedの箇条書き 1 つにまとめます。依存関係の変更が定例のメンテナンスを超えて明らかにユーザーに影響する場合に限り、別の箇条書きにします。
- 分類した内容を
CHANGELOG.mdの## [Unreleased]の下に記載します。 - 日本語でユーザーに確認を求めます。
明示的な OK の後にリリースする
- OK の後に許可される
CHANGELOG.mdの編集は、次のものに限ります。- 今日の日付を付けた新しいバージョン見出しを
## [Unreleased]の直下に挿入する - 記録した
Unreleasedの本文を変更せずに新しい見出しの下へ移動する ## [Unreleased]を空にするUnreleasedと新しいバージョンの下部の比較リンクを更新する
- 今日の日付を付けた新しいバージョン見出しを
npm version --no-git-tag-version patchを実行します。- 現在の
Unreleasedの内容を、今日の日付を付けた新しいバージョンセクションに移動します。 - 下部のリンクを更新します。
Unreleasedの比較リンクを新しいバージョンタグに更新します。- 新しいバージョンの比較リンクを追加します。
CHANGELOG.mdとpackage.jsonを、英語のコミットメッセージchore: release vX.Y.Zでコミットします。vX.Y.Zタグを作成します。mainとタグをプッシュします:git push origin main --tags。- プッシュが non-fast-forward により拒否された場合:
git pull --rebase origin mainを実行します。git push origin main --tagsを再実行します。
CHANGELOG.mdの新しいバージョンセクションのテキストからリリースノートを作成します。- origin に GitHub リリースを作成します。
gh release create vX.Y.Z --title "vX.Y.Z" --notes-file <notes-file>
ユーザーへの出力
- 日本語で回答します。
- 更新したファイル、作成したタグ、GitHub リリースの URL を報告します。
- non-fast-forward によるリベースなど、復旧手順が必要だった場合はその旨を伝えます。
コメント
Markdown 対応