| name | release-card |
| description | ccpocket の X 向けリリース告知カード画像を作成・更新する。最新の iOS/Android/macOS リリースタグ、App Store release_notes、既存の scripts/release-card/generate.mjs を使って英語・日本語の告知PNGを生成し、画像を目視確認して不備があれば生成スクリプトを修正する。「リリースカード」「X告知画像」「リリース報告用画像」「release-card」と言われたときに使用する。 |
Release Card
ccpocket のリリース告知用画像を、最新タグとストア用リリースノートから生成する。
ワークフロー
1. 最新リリース情報を確認
最新タグと現在のアプリバージョンを確認する。
git tag -l 'ios/v*' 'android/v*' 'macos/v*' --sort=-v:refname | head -10
grep '^version:' apps/mobile/pubspec.yaml
原則として最新タグの vX.Y.Z をカードのバージョンに使う。タグが ios/v1.86.1+148 のように build number を含む場合、画像表示とファイル名には 1.86.1 を使う。
タグと apps/mobile/pubspec.yaml のバージョンが一致しない、複数プラットフォームの最新タグがずれている、またはどのバージョンで作るべきか判断できない場合は、作業前にユーザーへ確認する。
2. リリースノートを確認
英語・日本語のリリースノートを読む。
sed -n '1,160p' apps/mobile/fastlane/metadata/en-US/release_notes.txt
sed -n '1,160p' apps/mobile/fastlane/metadata/ja/release_notes.txt
必要に応じて最新タグとの差分も確認する。
git log <latest-tag>..HEAD --oneline -- apps/mobile/ CHANGELOG.md
リリースノートが空、古そう、英日で内容が大きく食い違う、または画像に入れる文言の要約方針が曖昧な場合は、生成前にユーザーへ確認する。
3. 画像を生成
既存の生成スクリプトを使う。
npm run release-card
タグ由来のバージョンを明示したい場合は、直接スクリプトを実行する。
node scripts/release-card/generate.mjs --version <X.Y.Z>
出力先は docs/images/。ファイル名は蓄積運用のため、必ずバージョンを含む形式にする。
docs/images/release-card-v<X.Y.Z>-en.png
docs/images/release-card-v<X.Y.Z>-ja.png
4. 生成画像を確認
生成後、英語版・日本語版の両方を view_image で確認する。
確認観点:
- タイトルとバージョンが正しい
Claude Code ではなく Claude 表記になっている
Codex / Claude / Self-hosted のようなラベルが残っていない
- すべての変更点が画像内に収まっている
- テキストがカードからはみ出していない
- 文字が小さすぎず、Xのタイムライン上でも読める
- 余計なインストール手順・URL導線が入っていない
- 英日でレイアウト密度が破綻していない
5. 不備があればスクリプトを更新
画像に不備がある場合は、出力画像を直接加工せず scripts/release-card/generate.mjs を修正して再生成する。
よくある調整:
- release notes が長い場合はフォントサイズ・行間・カード高さを調整する
- 項目数が奇数の場合は最後のカードを横幅いっぱいにする
- 日本語が詰まりすぎる場合は compact 判定やフォントサイズを調整する
- 出力名にバージョンが入っていない場合は命名ロジックを修正する
修正後は必ず再生成し、もう一度 view_image で確認する。
6. 完了報告
完了時は以下を簡潔に報告する。
- 使用したバージョン
- 生成したPNGパス
- スクリプトを更新した場合は変更点
- 実行した検証