release について
jackin のメンテナー向けリリースオーケストレーションスキルです。リリース前チェック、変更履歴の作成、バージョンの提案を行い、明示的な承認後に cargo release を実行します。
主な機能
- 01リリース前検証
- 02変更履歴の生成
- 03バージョンの提案
- 04承認後の cargo release 実行
- 05リリースタグのプッシュ確認
活用シーン
- 01jackin の新バージョンを準備
- 02変更履歴に基づくバージョン更新レベルの選択
- 03リリースタグのプッシュ確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ jackin-project/ jackin-dev --skill releaseインストール後、Claude Code で/releaseを入力して読み込まれたか確認します。
詳細
リリース
jackin プロジェクトのリリースを一括で実行するオーケストレーターです。リリース前の検証、変更履歴の生成、バージョンの推奨を行い、cargo release を実行します。
使用するタイミング
- 新しいリリースを作成するとき
- 「リリースして」「バージョンを切って」「出荷して」と依頼されたとき
使用しないタイミング
- 準備状況だけを確認したい場合:代わりに
release-checkを使用してください - 変更履歴だけを更新したい場合:代わりに
release-notesを使用してください
前提条件
cargo-releaseがインストールされている必要があります:cargo install cargo-releaseghCLI が認証済みである必要があります:gh auth statusrelease.tomlで CHANGELOG.md 用のpre-release-replacementsが設定されている必要がありますCHANGELOG.mdに `` マーカーが存在する必要があります.github/workflows/ci.ymlが存在する必要があります
プロセス
ステップ 1:リリースチェックを実行する
release-check スキルの手順にすべて従ってください。skills/release-check/SKILL.md を読み、すべてのチェックを実行します。
ブロッキングチェックに失敗した場合は、停止してください。準備状況レポートを提示し、修正が必要な項目をユーザーに伝えます。先に進んではいけません。
警告またはレビュー項目のみがある場合は、レポートを提示して、次のように尋ねてください:「警告が見つかりました。リリースを続行しますか?(yes/no)」
ステップ 2:リリースノートを作成する
release-notes スキルの手順にすべて従ってください。skills/release-notes/SKILL.md を読み、すべての手順を実行します。
生成された変更履歴のセクションを提示します。ユーザーが確認して編集できるようにします。
ユーザーが変更履歴を承認するまで先に進んではいけません。
ステップ 3:バージョンを推奨する
CHANGELOG.md の承認済み [Unreleased] セクションを読み、カテゴリを分析します。
| 条件 | 推奨 |
|---|---|
| Removed に項目がある、またはいずれかの項目に "breaking" と記載されている | major バンプ |
| Added に項目がある | minor バンプ |
| Fixed、Changed、Security、Deprecated のみ | patch バンプ |
現在のバージョンを取得します:
grep '^version' Cargo.toml | head -1 | sed 's/.*"\(.*\)"/\1/'
推奨する次のバージョンを計算し、次のように提示します:
"現在のバージョン:v0.4.0 変更履歴:Added 2 件、Fixed 1 件、Changed 1 件 推奨:v0.5.0(minor — 新機能が追加されています)
このバージョンを承認しますか、それとも別のバンプレベルを指定しますか?(major/minor/patch)"
ユーザーの確認を待ちます。
ステップ 4:変更履歴をコミットする
CHANGELOG.md に未コミットの変更(ステップ 2 での変更)がある場合は、コミットします:
git add CHANGELOG.md
git commit -m "docs: update changelog for vX.Y.Z"
X.Y.Z をステップ 3 で推奨されたバージョンに置き換えます。
ステップ 5:最終確認
次の概要を提示します:
Release Summary
===============
Version: v0.5.0 (minor)
Changelog: 2 Added, 1 Fixed, 1 Changed
Checks: all green (1 warning)
Command: cargo release minor --execute
This will:
1. Bump version in Cargo.toml to 0.5.0
2. Rename [Unreleased] to [0.5.0] - 2026-04-04 in CHANGELOG.md
3. Add new [Unreleased] section
4. Create release commit: "chore: release v0.5.0"
5. Create tag: v0.5.0
6. Push commit and tag to origin
Proceed? (yes/no)
ユーザーから明示的に「yes」と返答されるまで、cargo release を実行してはいけません。
ステップ 6:リリースを実行する
cargo release {major|minor|patch} --execute
{major|minor|patch} は、ステップ 3 でユーザーが確認したバンプレベルに合わせます。
出力を監視します。cargo release が失敗した場合は、エラーを提示して停止します。
ステップ 7:リリース後の検証
タグがプッシュされたことを確認します:
git tag -l "vX.Y.Z"
git ls-remote --tags origin "refs/tags/vX.Y.Z"
ユーザーに次の内容を伝えます:
"リリース v0.5.0 にタグが付けられ、プッシュされました。GitHub Actions が次の処理を実行します:
- すべてのターゲット向けにリリースバイナリをビルドする
- 成果物を含む GitHub Release を作成する
- Homebrew tap を更新する
次の URL で進行状況を確認してください:https://github.com/jackin-project/jackin/actions/workflows/release.yml"
エラーからの復旧
いずれかのステップで問題が起きた場合:
cargo releaseの実行前: 安全に修正して/releaseを再実行できます。このスキルはすべてを再検証します。cargo releaseの実行中: コミットまたはタグの状況を確認してください。タグが作成されていてプッシュされていない場合は、手動でプッシュできます:git push origin vX.Y.Z。バージョン更新のコミットは作成されていてタグが付いていない場合は、リセットして再試行する必要があるかもしれません。cargo releaseの実行後: リリースは完了しています。CI が失敗した場合は、GitHub Actions のワークフローを確認してください。