Communityコーディング&開発github.com

ChandraChaan/release-check

FlutterプロジェクトがGoogle PlayやApp Storeに提出する前に、リリース前チェックを実行します。「アプリはリリース可能ですか」「公開前に確認して」「リリースチェックリスト」「アプリがなぜリジェクトされたか」といった質問や、flutter build appbundle / ipaを実行する前に使用します。

release-check とは?

このスキルは、Flutter開発者がアプリをGoogle PlayやApp Storeでリジェクトされずに公開できるよう支援します。まず、プロジェクトルートから決定論的なプリフライトスクリプトを実行し、バージョン、変更履歴、静的解析、テスト、デバッグの残骸、Android、iOSの各セクションごとにOK/WARN/FAILを出力します。FAILやWARNが検出された場合は、スクリプトが示すファイルを開いて確認し、具体的な修正方法(例:pubspec.yamlにビルド番号を追加、applicationIdの変更、リリース署名設定、デバッグフラグの削除など)を提示します。さらに、スクリプトでは検出できない、ターゲットSDKのバージョン、アプリアイコン、スプラッシュ画面、パーミッション、ストアアセット、アカウント削除機能、レビュアー用ログイン情報なども手動で確認します。最終的に、”READY”または”NOT READY”の判定と、必須修正・推奨修正のリスト、次のコマンドを短いレポートで返します。このスキルは、Claude CodeやCursorなどのAIエージェントプラットフォーム上で動作し、Flutterプロジェクトのリリース準備を包括的にサポートします。

対応✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/ChandraChaan/flutter-release-kit/tree/HEAD/skills/release-check

Installed? Explore more コーディング&開発 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

リリースチェック

あなたは、Google PlayやApp StoreのレビューでリジェクトされないFlutterアプリのリリースを支援しています。具体的に、問題があるファイル名と正確な変更箇所をすべて挙げてください。

ステップ1: 決定論的プリフライトを実行する

Flutterプロジェクトのルートから以下を実行してください:

bash "${CLAUDE_PLUGIN_ROOT}/scripts/preflight.sh" $ARGUMENTS

このスクリプトは、セクション(Version、Changelog、Static analysis、Tests、Debug leftovers、Android、iOS)ごとにOK / WARN / FAILの行を出力し、FAILがある場合は終了コード1で終了します。テストが実行されるときに時間がかかることがあります。ユーザーが明らかに開発途中であり、簡単な確認だけを希望する場合は、--skip-testsを渡してください。

ステップ2: すべてのFAILとWARNを調査する

各項目について、スクリプトが指定したファイルを開き、結果を確認してから報告してください。よくある修正:

調査結果修正方法
バージョンにビルド番号がないpubspec.yaml で version: 1.2.0 を version: 1.2.0+1 に変更する。
このバージョンのタグがすでに存在するbump-version スキルを実行する。
com.example のapplicationIdまたはバンドルIDflutter pub run change_app_package_name:main com.yourco.app を使用するか、android/app/build.gradle(.kts) と ios/Runner.xcodeproj/project.pbxproj 内の3つの PRODUCT_BUNDLE_IDENTIFIER エントリを編集する。
デバッグキーでリリース署名key.properties のロードと release 署名設定を追加する。詳細は references/android-signing.md を参照。
key.properties または *.jks がgitで追跡されている.gitignore に追加し、git rm --cached <ファイル> を実行する。リポジトリが公開されている場合はキーストアのパスワードを変更する。
PrivacyInfo.xcprivacy がないios/Runner/PrivacyInfo.xcprivacy を作成する。テンプレートは references/privacy-manifest.md を参照。
debuggable=true、クリアテキストトラフィック、localhost URLリリース前に削除する。
アナライザーエラー / テスト失敗修正する。スキップを提案しないこと。

ステップ3: スクリプトがチェックできない項目を確認する

プロジェクトを確認し、以下を考慮してください:

  • ターゲットSDK: Google Playでは、新しいアプリとアップデートは最近のAndroid APIレベルをターゲットにする必要があります(Playのローリング要件はおおよそ前年のリリースです)。android/app/build.gradle(.kts) またはFlutterのデフォルトで targetSdk を確認してください。
  • アプリアイコンとスプラッシュ: デフォルトのFlutterアイコンはレビューでリジェクトされ、ユーザーに即座にアンインストールされます。flutter_launcher_icons / flutter_native_splash の設定またはmipmapフォルダを確認してください。
  • パーミッション: マニフェストにINTERNET以外のパーミッションがある場合は、permission-audit スキルを実行するよう提案してください。
  • ストアアセット: フィーチャーグラフィック1024x500(Play)、各必須デバイスクラス用のスクリーンショット、プライバシーポリシーURL(アプリがデータを収集する場合や機密パーミッションを要求する場合に必須)。
  • アカウント削除: どちらのストアでも、アプリがアカウント作成をサポートする場合、アプリ内でのアカウント削除パスが必要です。
  • レビュアー用ログイン: ログイン画面がある場合、レビューノートにデモアカウントを提供するようユーザーに注意してください。

ユーザーがリジェクト理由を尋ねたり、より詳細なレビューを希望する場合は、references/store-rejections.md を読んで、一般的なリジェクト理由とその修正の完全なリストを確認してください。

ステップ4: 報告

短いレポートを返してください:

  1. 判定: READY / NOT READY。
  2. 必須修正(FAIL項目、それぞれファイルと正確な変更箇所を添えて)。
  3. 推奨修正(このアプリにとって重要なWARN項目)。
  4. 次のコマンド: 通常は flutter build appbundle --release と flutter build ipa --release。バージョンがすでに出荷済みの場合は、その前に bump-version と changelog を実行します。

簡潔に保ってください。ユーザーが完全な出力を要求しない限り、OKの行を繰り返さないでください。

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

関連スキル