mcpField
R
release-process

release-process

github.com/processcube-io開発0104 回インストール16 週間前に更新
リポジトリ

release-process について

release-process は、main のみを使う単一ブランチのワークフローで、Semantic Versioning に沿ったリリースを管理するスキルです。バージョンの決定、変更履歴の更新、バージョンファイルの変更、Git タグの作成とプッシュを案内します。

主な機能

  1. 01Stable、Insiders、Development リリースに対応
  2. 02コミットとコード変更からバージョンを決定
  3. 03ユーザー向け変更履歴の更新を必須化
  4. 04バージョンファイルを更新してコミット
  5. 05Git タグの作成とプッシュ

活用シーン

  1. 01コミット内容に基づく Stable バージョンの選定
  2. 02Stable を基準にした Insiders または Development の更新
  3. 03ユーザー向けリリースノートの準備
  4. 04リリースコミットとタグのプッシュ

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/processcube-io/processcube.agent.skills --skill release-process

インストール後、Claude Code で/release-processを入力して読み込まれたか確認します。

詳細

リリースプロセス

あなたはリリースマネージャーです。Single-Branch ワークフロー(main ブランチのみ)で、セマンティックバージョニングに従ってリリースを作成します。

リリースの種類

ユーザーが作成したいバージョンを指定します。

種類形式例
StableMAJOR.MINOR.PATCH1.0.0、1.1.0、2.0.0
InsidersX.Y+1.0-insiders.NStable 1.0.0 → 1.1.0-insiders.1、1.1.0-insiders.2
DevelopmentX.Y+1.0-develop.NStable 1.0.0 → 1.1.0-develop.1、1.1.0-develop.2

重要:Insiders と Development は、常に直近の Stable バージョンを基準に Minor を増やします。

一般的な手順

1. 準備(必ず最初に実行)
# Prüfe aktuellen Branch
git branch --show-current

# Prüfe auf uncommitted changes
git status --porcelain
  • main ブランチにいない場合:切り替えるかどうかを確認します
  • コミットされていない変更がある場合:git stash を実行し、その旨を記録します
  • 更新します:git pull origin main
2. バージョンを確認
  • package.json または他のバージョンファイルから現在のバージョンを読み取ります
  • 既存のタグを検索します:git tag -l "v*"
3. 新しいバージョンを決定

Stable リリースの場合:

  • 直近の安定版タグ以降のコミットを分析します:git log v{LAST_VERSION}..HEAD --oneline
  • コードの変更を分析します:git diff v{LAST_VERSION}..HEAD
  • リリースの種類を決定します:
    • MAJOR:互換性を破る変更(API の削除、シグネチャの変更、コミット内の BREAKING CHANGE、feat!: または fix!:)
    • MINOR:新機能(feat: コミット、新たにエクスポートされた関数)
    • PATCH:バグ修正、内部変更

Insiders リリースの場合:

  • 直近の Stable バージョンを探します:git tag -l "v[0-9]*.[0-9]*.[0-9]*" | grep -v "-" | sort -V | tail -1
  • 基準バージョンを計算します:直近の Stable の Minor を増やし、Patch を 0 にします
    • 例:Stable 1.0.0 → 基準 1.1.0
    • 例:Stable 2.3.5 → 基準 2.4.0
  • この基準に対する既存の Insiders タグを検索します:git tag -l "v{BASIS}-insiders.*" | sort -V | tail -1
  • タグが存在する場合:番号を増やします(例:1.1.0-insiders.3 → 1.1.0-insiders.4)
  • タグが存在しない場合:.1 から始めます(例:1.1.0-insiders.1)

Development リリースの場合:

  • 直近の Stable バージョンを探します:git tag -l "v[0-9]*.[0-9]*.[0-9]*" | grep -v "-" | sort -V | tail -1
  • 基準バージョンを計算します:直近の Stable の Minor を増やし、Patch を 0 にします
    • 例:Stable 1.0.0 → 基準 1.1.0
    • 例:Stable 2.3.5 → 基準 2.4.0
  • この基準に対する既存の Develop タグを検索します:git tag -l "v{BASIS}-develop.*" | sort -V | tail -1
  • タグが存在する場合:番号を増やします(例:1.1.0-develop.5 → 1.1.0-develop.6)
  • タグが存在しない場合:.1 から始めます(例:1.1.0-develop.1)
4. 変更履歴を生成(必須)

リリース前に変更履歴スキルを実行します。 skills/changelog/SKILL.md ファイルを読み、記載された指示に完全に従ってください。

  • 対象読者:ユーザー(ユーザーの視点で変更履歴を作成)
  • モード:更新(前回の記載以降の新しい変更のみ)
  • 前回のタグ以降のすべてのコミットが変更履歴に記載されていることを確認します
  • 変更履歴の更新が正常に完了した場合のみ、手順 5 に進みます
5. バージョンを更新
  • package.json および他のバージョンファイルを更新します
  • コミットします:git commit -am "chore: release v{VERSION}"
6. タグを作成してプッシュ
git tag v{VERSION}
git push origin main
git push origin v{VERSION}
7. 変更を復元
  • 手順 1 で stash した場合:git stash pop
  • ユーザーに知らせます
8. まとめ

以下を表示します:

  • 旧バージョン → 新バージョン
  • リリースの種類
  • 主な変更点
  • Git タグ名

コメント