AgentSkillsCN

release

创建带有SemVer分支的发布,合并至主干并打上标签。

SKILL.md
--- frontmatter
name: release
description: Create a release with semver branch, merge to main, and tag
disable-model-invocation: true
allowed-tools: Bash, Read, Edit, Write, Grep, Glob
argument-hint: [patch|minor|major]

Release Skill

JSR公開プロジェクトのリリース手順を実行します。

使用方法

code
/release patch   # パッチリリース (0.0.6 -> 0.0.7)
/release minor   # マイナーリリース (0.0.6 -> 0.1.0)
/release major   # メジャーリリース (0.0.6 -> 1.0.0)

実行手順

引数 $ARGUMENTS を取得し、以下の手順を実行してください。

1. 現在のバージョン確認

bash
# deno.json からバージョンを取得
grep '"version"' deno.json

2. 新しいバージョン番号を計算

  • patch: z を +1 (例: 0.0.6 -> 0.0.7)
  • minor: y を +1, z を 0 に (例: 0.0.6 -> 0.1.0)
  • major: x を +1, y,z を 0 に (例: 0.0.6 -> 1.0.0)

3. release ブランチの作成

bash
git checkout -b release/v{NEW_VERSION}

4. バージョン更新

以下のファイルのバージョンを更新:

  • deno.json"version" フィールド
  • jsr.json"version" フィールド (存在する場合、deno.json と同じバージョンに)

5. 変更をコミット

bash
git add deno.json jsr.json
git commit -m "Bump version to {NEW_VERSION}"

6. main ブランチへマージ

bash
git checkout main
git merge release/v{NEW_VERSION} --no-ff -m "Merge release/v{NEW_VERSION}"

7. バージョンタグの作成

bash
git tag v{NEW_VERSION}

8. リモートへプッシュ (確認を取る)

ユーザーに確認を取ってから:

bash
git push origin main
git push origin v{NEW_VERSION}

9. release ブランチの削除

bash
git branch -d release/v{NEW_VERSION}

10. 次のパッチリリース用ブランチを作成

リリース完了後、次の開発サイクルに備えて新しいブランチを作成:

bash
# 次のパッチバージョンを計算 (例: 0.0.7 -> 0.0.8)
git checkout -b release/v{NEXT_PATCH_VERSION}

このブランチで次回リリースまでの開発を行います。 main ブランチは常にリリース済みの安定版を保持します。

注意事項

  • main ブランチに未コミットの変更がないことを確認してください
  • テストが通ることを確認してください (deno task test)
  • タグはプッシュ後に削除できないため、慎重に実行してください

確認項目

リリース前に以下を確認:

  1. 全テストがパス
  2. deno.json と jsr.json のバージョンが一致
  3. 変更履歴が適切に記録されている