Fresh Astro 6 project replacing the Next.js site. Deployed to Cloudflare Workers.
- Framework: Astro 6 (SSR mode)
- Deployment: Cloudflare Workers via
@astrojs/cloudflare - CMS: Sanity via
@sanity/astro - Auth: better-auth + Drizzle + Cloudflare D1
- Search: Sanity Dataset Embeddings
- Styling: Tailwind CSS v4 + shadcn/ui
- Interactive Islands: React via
@astrojs/react
From repo root:
pnpm install
pnpm --filter @codingcatdev/web devOr from apps/web:
pnpm install && pnpm devFor Cloudflare Workers preview: pnpm preview (from apps/web).
- Build: Copy
.env.exampleto.envor.env.local. Sanity project/dataset have defaults; optional vars are commented. - Runtime (local): Copy
.dev.vars.exampleto.dev.varsand set secrets (Sanity token, better-auth, Google OAuth). In production, set these viawrangler secret put <NAME>.
npm run deployRequires wrangler CLI authenticated with Cloudflare.