replica-deploy は何をしますか?
replica/ 内のすべてを読み取ります。replica/deploy.md(このフォルダの preflight.md にあるチェックリストを埋めたもの)を書き込みます。
ルール
- ユーザーの承認なしに本番公開してはいけません。 プレフライトの結果を表示して確認を取ってください。
- ユーザーが購入とサインインを行います。 エージェントはドメインの購入、カード情報の入力、パスワードの入力、ライブキーの貼り付けを絶対に行いません。エージェントは正確なDNSレコード、環境変数名、コマンドを書き出します。ユーザーがアカウント操作を行います。
- ブランドが統一されるまで公開してはいけません。 スイープが完全にクリーンである必要があります。例外はありません。
ステップ 1: プレフライト
すべてのチェックを実行し、結果を deploy.md に貼り付けます。
npx playwright test # replica-test
python3 .cursor/skills/replica-diff/parity.py replica/features.csv # 必須機能の完了確認
python3 .cursor/skills/replica-brand/sweep.py . --config replica/brand.json # exit 0 でクリーン
python3 .cursor/skills/replica-launch/listing.py replica/launch/listing.json # ストア公開用
npm run build # 本番ビルドが通ること
(パスはパックがプロジェクトルートの .cursor/skills/ にあることを前提としています。フォルダを別の場所にコピーした場合は、python3 コマンドのパスを適宜変更してください。)
さらに手動で確認:未解決のS1/S2バグがないこと、プライバシーポリシーと利用規約のページが公開されていること(すべてのプロセッサを記載)、EUまたは英国で非必須クッキーを使用する場合はクッキーバナーがあること、アカウント削除が機能すること、ファビコン、タイトル、OG画像が自社のものであること。
いずれかのチェックが失敗した場合、デプロイは中止されます。どのチェックがなぜ失敗したかを明示してください。
ステップ 2: 本番サービス
- データベース用の独立した本番プロジェクト(開発用は絶対に使用しないこと)、バックアップを有効に、マイグレーションはデプロイ時に自動実行(手動は不可)。
- 本番環境用の環境変数をホスティング先に設定し、
.env.exampleと一致させること。ライブキーはここでのみ使用。 - Stripe:ライブモードに切り替え、商品と価格を再作成し、本番ウェブフックエンドポイントとその署名シークレットを追加し、実際の購入を1回テストして返金すること。
- OAuth:すべてのプロバイダーのリダイレクトURIと認証済みオリジンに本番ドメインを追加すること。Googleの検証が必要なスコープは承認されている必要があるか、テストユーザーのみがサインイン可能。
- メール:送信ドメインをプロバイダーで検証すること。
ステップ 3: ホストとドメイン
デフォルト:Next.jsの場合はVercel(それ以外の場合はNetlify、Cloudflare Pages、Fly、Render)。リポジトリを接続して main ブランチがデプロイされ、プルリクエストにプレビューURLが付与されるようにします。
ユーザーが任意のレジストラでドメインを購入した後:
| レコード | 名前 | 値 |
|---|---|---|
| A | @ | ホストのApex IP(Vercel:ドメイン設定に表示) |
| CNAME | www | ホストのターゲット(Vercel:cname.vercel-dns.com) |
| TXT | @ またはサブドメイン | ホストの検証値(要求された場合) |
メールプロバイダーからのメールDNS:SPF(TXT)、DKIM(CNAMEまたはTXT)、および v=DMARC1; p=none; rua=mailto:you@yourdomain で始まり、レポートがクリーンになったら quarantine に強化するDMARCレコード。これらがないと、確認メールがスパムフォルダに振り分けられます。
正規のホスト(apex または www)を1つ選び、もう一方にリダイレクトします。上記のホストではHTTPSは自動的に有効になります。確認してください。
ステップ 4: 監視
エラー追跡(Sentryまたはホストの機能)、ホームページとコアフローのAPIのアップタイムチェック、ログの保持、分析(プライバシーに配慮したものを使用するとクッキーバナーを回避できます)、およびユーザーのメールまたは電話へのアラート。その後、ライブサイトでコアフローを自分で実行し、ユーザーにも自分の電話で実行してもらいます。
ステップ 5: モバイル(アプリがある場合)
Expo:eas build を実行し、次に eas submit でTestFlightとPlay内部テストに提出。ネイティブ:Xcodeでアーカイブし、App Store Connectにアップロード。GradleバンドルをPlay Consoleにアップロード。ユーザーは開発者アカウントを所有します(Appleは年間99ドル、Googleは一度25ドル)。最初はベータ版で、その後 replica-launch のリスティングを使ってレビューを受けます。
出力
replica/deploy.md に、すべてのチェックとその結果、ライブURL、設定されたDNSレコード、および最初の1週間に監視すべき項目を出力します。これでクローンはあなたの名前が付いたアプリになりました。