Skip to content
Docs
Start hereUpdated 2026-08-20

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:

bash
pnpm tanstarter create my-saas --mail ses

The 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

bash
cd my-saas
pnpm dev

Open http://127.0.0.1:3000.

Fresh local configuration enables deterministic preview providers:

env
MAIL_PREVIEW=true
NEWSLETTER_PREVIEW=true
NOTIFICATION_PREVIEW=true

This 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:

env
ADMIN_EMAILS=owner@example.com

A matching user is promoted when the account is first created.

Verify the local product

bash
pnpm check
pnpm e2e
pnpm build

pnpm 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:

bash
pnpm tanstarter resume

Completed steps are stored in .tanstarter/state.json and are not repeated.

Next steps

  1. Read Configuration.
  2. Choose and configure real providers.
  3. Review Deployment.
  4. Complete the Production checklist.
TanStarter SES documentationBuilt with TanStack Start and Content Collections.