mcpField
R
release

release

github.com/jackin-project開発3162 回インストール4 週間前に更新
リポジトリ

release について

jackin のメンテナー向けリリースオーケストレーションスキルです。リリース前チェック、変更履歴の作成、バージョンの提案を行い、明示的な承認後に cargo release を実行します。

主な機能

  1. 01リリース前検証
  2. 02変更履歴の生成
  3. 03バージョンの提案
  4. 04承認後の cargo release 実行
  5. 05リリースタグのプッシュ確認

活用シーン

  1. 01jackin の新バージョンを準備
  2. 02変更履歴に基づくバージョン更新レベルの選択
  3. 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-release
  • gh CLI が認証済みである必要があります:gh auth status
  • release.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 のワークフローを確認してください。

コメント