# Ponshu Room Lite — AI 規約 ## デプロイ手順(必ず守ること) ### Android APK ビルド ```bash bash build_consumer.sh # maita + eiji の consumer APK を生成 bash build_4_apks.sh # 全4バリアント(consumer + business × maita/eiji) ``` - `.env` から `MAITA_API_KEY` / `EIJI_API_KEY` を読んで `--dart-define` に渡す - 直接 `flutter build apk` を叩かないこと(キーが secrets.local.dart にフォールバックする) ### ダウンロードページ(Vercel) ```bash # 必ず web/download/ ディレクトリから実行すること(web/ からではない) cd web/download && vercel --prod vercel alias set ponshu-room-download.vercel.app ``` - **URL**: https://ponshu-room-download.vercel.app - `releases.json` を更新してからデプロイする - `web/` ルートは Flutter web アプリなので絶対にデプロイしない ### Gitea リリース(APK アップロード) ```bash # APK ビルド後に Gitea の API でリリース作成 → アセットアップロード # 認証: git credential store(provider=generic)から自動取得 GITEA_TOKEN=$(echo "protocol=http\nhost=100.76.7.3:3000" | git credential fill | grep password | cut -d= -f2) ``` ### iOS / TestFlight - GitHub tag push(`v*`)で自動トリガー(.github/workflows/ios_build.yml) - Flutter バージョンは **3.38.x** を使用(pubspec の sdk: ^3.10.1 に対応) ## リリース手順チェックリスト 1. `pubspec.yaml` のバージョン番号を上げる 2. `git tag vX.Y.Z && git push gitea main`(タグも push) 3. `bash build_consumer.sh` で APK ビルド 4. Gitea API でリリース作成 + APK アップロード 5. `web/download/releases.json` を新バージョンに更新 6. `cd web/download && vercel --prod` → alias set 7. iOS CI は GitHub tag push で自動実行 ## ディレクトリ構成の注意点 | ディレクトリ | 内容 | デプロイ先 | |-------------|------|-----------| | `lib/` | Flutter アプリ本体 | APK / TestFlight | | `web/download/` | ダウンロードページ | ponshu-room-download.vercel.app | | `web/` ルート | Flutter web ビルド出力 | **デプロイ対象外** | ## secrets の扱い - `lib/secrets.local.dart` — gitignore 済み。ローカル開発専用 - リリースビルドは必ず `build_consumer.sh` 経由(`--dart-define` でキーを注入) - 直接 `flutter build apk --release` すると secrets.local.dart がバイナリに入る