release-applisted
Install: claude install-skill chenyynx/claudio
# アプリ リリース
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/Linux/Windows のいずれか新しい方)
git tag -l 'ios/v*' 'android/v*' 'macos/v*' 'linux/v*' 'windows/v*' --sort=-v:refname | head -1
# 差分コミット(bridge 以外)
git log $(git tag -l 'ios/v*' 'android/v*' 'macos/v*' 'linux/v*' 'windows/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 + Linux + Windows 全部** (Recommended)
- **iOS + Android のみ**(モバイルのみ)
- **macOS + Linux + Windows のみ**(デスクトップのみ)
- **macOS のみ**
- **Linux のみ**
- **Windows のみ**
- **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.yaml` の `version` を