MuseMVP Docs
Deployment

Release Checklist

Verify environments, migrations, auth, billing, and storage before real traffic.

Shared Gates

pnpm type-check
pnpm check:error
pnpm lint:ws
pnpm test:unit
pnpm apps:parity
pnpm build:cf

These do not prove external services work. Confirm .source/ is generated by install/dev/build, not hand-edited. Record whether SCENARIOS.md changed or already covers the journey and report unrun checks.

Production Readiness

  • Back up remote D1, run pnpm db:migrate:d1:remote, then pnpm db:migrate:d1:status --strict.
  • Verify DB and R2_BUCKET; run pnpm cf:typegen.
  • Configure Cloudflare Email Sending credentials and a verified domain.
  • Set public variables at build time and server secrets on the Worker.

Manual and Automated Acceptance

  1. Bilingual home/docs/blog/legal, navigation, sitemap/robots; no dangling removed-page links.
  2. Actual production origin, OAuth callbacks, trusted origins; login, OTP, logout, expiry, onboarding, 2FA.
  3. Unauthenticated denial, user/admin boundaries, session-service errors distinct from login redirects; visible and escapable impersonation.
  4. Sandbox checkout, signed webhooks, renewals/cancellation/refunds, access and customer portals; bad gateways/products never falsely succeed.
  5. Own avatar/assets upload/download/delete, cross-user denial, missing storage, and empty lists.
  6. Contact, newsletter, and signed unsubscribe; no credentials/personal data leaked into clients or logs.

Use pnpm cf:preview to verify real Worker bindings. The current pnpm test:e2e:cf server does not prove native D1/R2 behavior; see Testing.

Do not seed development accounts in production, enable Better Auth testUtils, or bypass environment validation to hide missing config. Rehearse existing-database incremental upgrades on clones and keep build rollback/database restore plans.

On this page