What you get
tanstarter/ is a TanStack Start app wired with common SaaS primitives:
- TanStack Start + TanStack Router (file-based routes)
- Postgres + Drizzle (schema + migrations)
- Better Auth (magic links via Resend, optional Google OAuth)
- Stripe (default checkout + webhook + portal)
- Optional: Polar, Supabase Storage, OpenAI (TanStack AI)
Where to start editing
- Routes/pages:
tanstarter/src/routes/* - Shared UI:
tanstarter/src/components/* - Env examples:
tanstarter/.env.example - DB schema:
tanstarter/src/db/schema.ts - Auth config:
tanstarter/src/auth.ts - Payments:
tanstarter/src/payments/*
Useful scripts
From tanstarter/package.json:
bun run dev
bun run build
bun run preview
bun run db:push
bun run db:generate
bun run db:migrate
bun run db:studio
Key endpoints
- Stripe checkout:
GET /api/checkout - Stripe webhook:
POST /api/webhooks/stripe - Stripe portal:
GET /api/portal - Subscription status (DB-backed):
GET /api/subscription - AI chat stream:
POST /api/ai-chat - Prompts API:
GET/POST /api/prompts