Vue 3 + Nuxt 4 + tRPC app on Cloudflare Workers (D1 + R2).
/ Landing
/signin Sign in / sign up
/profile Current user session
/dash Dashboard layout
/dash/counter Counter demo
/dash/files File upload / list / delete
/api/auth/* Better Auth handler
/api/trpc tRPC endpoint
ping query public
health query public
counter.get query protected
counter.inc mutation protected
counter.dec mutation protected
files.list query protected
files.create mutation protected (FormData, max 10MB)
files.delete mutation protected
pnpm install
cp -v .env.example .env
pnpm db:migrate -- --local
pnpm dev# After schema changes
pnpm db:generate
# Apply migrations
pnpm db:migrate -- --local
pnpm db:migrate -- --remotepnpm build
pnpm cf:deployRegenerate Worker binding types after changing wrangler.jsonc:
pnpm cf:types