feat(infra): deploy the dashboard to Cloudflare with Alchemy

- Add an infra/ workspace with an Alchemy v2 stack (alchemy and
  @alchemy.run/frontend-frameworks 2.0.0-beta.79, effect 4.0.0-rc.117):
  a D1 database with apps/web/drizzle migrations and a SvelteKit website
  bound to it as DB. Prod keeps the names atlantis-db and atlantis, adopts
  the wrangler-created worker, and retains both on destroy. Other stages
  get suffixed names.
- Add deploy:cloudflare, plan:cloudflare, and destroy:cloudflare root
  scripts, and cover infra in lint, typecheck, and CI.
- Remove wrangler.jsonc, the wrangler deploy and d1 scripts,
  adapter-cloudflare, and wrangler from apps/web. Alchemy injects its own
  adapter at deploy time.
- Upgrade drizzle-kit and drizzle-orm to 1.0.0-rc.5 and convert the
  migrations to the v1 directory layout that Alchemy reads.
- Load cloudflare:workers lazily and keep it external so kit's route
  analysis can run in Node, and reject the d1 driver under vite serve.
- Patch the published SvelteKit adapter to use generateServerInstance,
  backporting the upstream fix for kit 3.0.0-next.27.
- Document Alchemy deploys, migrations, Time Travel, and the first prod
  deploy.
cf14c0f2c6flamboh committed on 9/28/2026, 9:49:16 PMparentb72af58
53 files changedLine totals unavailable