Quick start
Create a configured local project, run migrations, and open the product in about five minutes.
Requirements
- Node.js 20 or newer.
- pnpm.
- Cloudflare authentication only when you deploy.
- Provider credentials only for the integrations you enable in production.
Create the project
From the template repository, run:
pnpm tanstarter create my-saas --mail sesThe command installs dependencies, writes local and production environment files, creates a Better Auth secret, compiles localization, generates Worker types and Drizzle migrations, applies local D1 migrations, and verifies a production build.
Start development
cd my-saas
pnpm devOpen http://127.0.0.1:3000.
Fresh local configuration enables deterministic preview providers:
MAIL_PREVIEW=true
NEWSLETTER_PREVIEW=true
NOTIFICATION_PREVIEW=trueThis lets registration, email verification, password recovery, contact, waitlist, newsletter, and notification workflows complete before external credentials exist.
Create the first administrator
Set one or more comma-separated addresses:
ADMIN_EMAILS=owner@example.comA matching user is promoted when the account is first created.
Verify the local product
pnpm check
pnpm e2e
pnpm buildpnpm check runs Biome, locale parity, unit tests, and TypeScript. Playwright covers desktop and mobile product workflows. The production build creates both the client bundle and the Cloudflare Worker server bundle.
Continue after a failed setup
If an external prerequisite interrupts setup, fix it and resume:
pnpm tanstarter resumeCompleted steps are stored in .tanstarter/state.json and are not repeated.
Next steps
- Read Configuration.
- Choose and configure real providers.
- Review Deployment.
- Complete the Production checklist.