Agent skill

release-app

アプリのリリース(バージョンbump + CHANGELOG + タグ → GH Actions で自動ビルド・配布)。iOS / Android / macOS の任意の組み合わせでリリースできる。「リリース」「バージョン上げて」「リリースして」と言われたときに使う。

Stars 163
Forks 31

Install this agent skill to your Project

npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/other/other/release-app

SKILL.md

アプリ リリース

Flutter アプリのリリースを行う。 タグ push 後は GH Actions が自動でビルド・署名・配布・GitHub Release を作成する。

前提

  • main ブランチで作業中であること
  • 未コミットの変更がないこと

手順

1. 現在のバージョン確認 & 変更内容の収集

bash
grep '^version:' apps/mobile/pubspec.yaml

version: X.Y.Z+N の形式。+N は build number。

前回リリースからの差分を確認する:

bash
# 前回のタグ(iOS/Android/macOS のいずれか新しい方)
git tag -l 'ios/v*' 'android/v*' 'macos/v*' --sort=-v:refname | head -1

# 差分コミット(bridge 以外)
git log $(git tag -l 'ios/v*' 'android/v*' 'macos/v*' --sort=-v:refname | head -1)..HEAD --oneline -- apps/mobile/ CHANGELOG.md

2. バージョンとプラットフォームをユーザーに確認

差分コミットの内容を分析し、AskUserQuestion で 2つの質問を同時に 確認する。

質問 1: バージョン

選択肢の決定ルール:

  • feat コミットがある → minor を推奨(1番目の選択肢にし「(Recommended)」を付ける)
  • feat がなく fix のみ → patch を推奨
  • 破壊的変更がある → major を推奨

選択肢は具体的なバージョン番号で提示する(例: 「1.20.0+43 (minor)」「1.19.1+43 (patch)」)。 build number は現在の値 +1 で統一する。

質問 2: プラットフォーム

以下の選択肢を提示する:

  • iOS + Android + macOS 全部 (Recommended)
  • iOS + Android のみ(モバイルのみ)
  • macOS のみ
  • iOS のみ
  • Android のみ

3. CHANGELOG 更新

CHANGELOG.md(ルート)の先頭に新しいセクションを追加する。

markdown
## [X.Y.Z] - YYYY-MM-DD

### Added
- ...

### Changed
- ...

### Fixed
- ...

ステップ 1 で確認したコミットを元に、Added / Changed / Fixed に分類する。 空のセクション(該当なし)は省略する。

4. バージョン bump

apps/mobile/pubspec.yamlversion をステップ 2 で決定したバージョンに更新する。

5. ローカル検証

タグ push 前に、CD と同じチェックをローカルで実行する。 すべて pass しなければ次のステップに進まない。

bash
# 静的解析
dart analyze apps/mobile

# テスト
cd apps/mobile && flutter test

失敗した場合はユーザーに報告し、修正を待つ。

6. コミット & タグ

bash
git add apps/mobile/pubspec.yaml CHANGELOG.md
git commit -m "chore: bump version to X.Y.Z+N"
git push origin main

ステップ 2 で選択されたプラットフォームのタグを打つ:

bash
# iOS(選択された場合)
git tag ios/vX.Y.Z+N
git push origin ios/vX.Y.Z+N

# Android(選択された場合)
git tag android/vX.Y.Z+N
git push origin android/vX.Y.Z+N

# macOS(選択された場合)
git tag macos/vX.Y.Z+N
git push origin macos/vX.Y.Z+N

7. 完了確認

タグ push 後、GH Actions が自動実行される:

タグ ワークフロー 内容
ios/v* ios-release.yml Shorebird release iOS → TestFlight → GitHub Release
android/v* android-release.yml Shorebird release Android → Google Play (internal draft) → GitHub Release
macos/v* macos-release.yml Developer ID 署名 → 公証 → DMG → GitHub Release
bash
# 各プラットフォームのワークフロー確認(タグを打ったもののみ)
gh run list --workflow=ios-release.yml --limit 1
gh run list --workflow=android-release.yml --limit 1
gh run list --workflow=macos-release.yml --limit 1

成功を確認したら完了。

Expand your agent's capabilities with these related and highly-rated skills.

Didn't find tool you were looking for?

Be as detailed as possible for better results