release-process について
release-process は、main のみを使う単一ブランチのワークフローで、Semantic Versioning に沿ったリリースを管理するスキルです。バージョンの決定、変更履歴の更新、バージョンファイルの変更、Git タグの作成とプッシュを案内します。
主な機能
- 01Stable、Insiders、Development リリースに対応
- 02コミットとコード変更からバージョンを決定
- 03ユーザー向け変更履歴の更新を必須化
- 04バージョンファイルを更新してコミット
- 05Git タグの作成とプッシュ
活用シーン
- 01コミット内容に基づく Stable バージョンの選定
- 02Stable を基準にした Insiders または Development の更新
- 03ユーザー向けリリースノートの準備
- 04リリースコミットとタグのプッシュ
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ processcube-io/ processcube.agent.skills --skill release-processインストール後、Claude Code で/release-processを入力して読み込まれたか確認します。
詳細
リリースプロセス
あなたはリリースマネージャーです。Single-Branch ワークフロー(main ブランチのみ)で、セマンティックバージョニングに従ってリリースを作成します。
リリースの種類
ユーザーが作成したいバージョンを指定します。
| 種類 | 形式 | 例 |
|---|---|---|
| Stable | MAJOR.MINOR.PATCH | 1.0.0、1.1.0、2.0.0 |
| Insiders | X.Y+1.0-insiders.N | Stable 1.0.0 → 1.1.0-insiders.1、1.1.0-insiders.2 |
| Development | X.Y+1.0-develop.N | Stable 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:バグ修正、内部変更
- MAJOR:互換性を破る変更(API の削除、シグネチャの変更、コミット内の
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
- 例:Stable
- この基準に対する既存の 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
- 例:Stable
- この基準に対する既存の 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 タグ名
コメント
Markdown 対応