Site

Start with a fresh Supabase or Neon PostgreSQL database and choose Supabase Auth or Better Auth independently. The local foundation guide walks through credentials, sign-in and troubleshooting; Automatic Setup is the complete wizard reference.

1. Install dependencies

Clone the repository and activate Node 24.18.1 from .nvmrc before installing. With nvm on macOS/Linux, run nvm install and nvm use in the repository. With nvm-windows, run nvm install 24.18.1 and nvm use 24.18.1.

bash
git clone <your-boilerplate-repo-url> my-saas
cd my-saas
# Activate Node 24.18.1 here, then:
node --version
corepack enable
pnpm --version
pnpm install --frozen-lockfile
pnpm run db:client:generate

The version checks must print v24.18.1 and 11.20.0. Corepack must be available in your Node installation; the repository's packageManager field selects pnpm. Keep the committed lockfile. The explicit generation step refreshes both application and Better Auth Prisma clients from the repository schemas.

2. Initialize the project

bash
pnpm run init

Choose Simple for a first local installation. Use http://localhost:3777 as the application URL, enter your administrator email, and supply matching direct and pooled owner URLs for the fresh database. Init derives and attests separate application credentials; owner URLs never go into .env.local. For Better Auth, accept or supply a signing secret and keep its URL on the same origin as the application. For Supabase Auth or Storage, supply the project URL, publishable key and server-only secret key.

Simple mode defers payment credentials, AI keys and real email delivery. Advanced exposes optional services and infrastructure tuning. Follow the scheduler and rate-limit prompts; PostgreSQL pg_cron also requires an application worker. Review the configuration before installation. Type :back to revisit a section. Keep automatic database reset disabled for a normal fresh installation.

Init creates .env.local and config/app.ts, generates config/workspace.ts for B2B, and updates the default currency in config/pricing.ts. It backs up existing managed files and preserves custom environment keys. Do not overwrite the generated .env.local with .env.example afterward.

3. Start and check the application

bash
pnpm run dev

Open localhost:3777 and check /api/health. A database health response is HTTP 200 with {"status":"ok"}; it does not verify email, payments or scheduling. Restart Next.js after changing environment variables.

When JOB_SCHEDULER_PROVIDER=postgres_pg_cron, run this in a second terminal:

bash
pnpm jobs:worker

Include web and worker processes in the connection budget. For Neon's native scheduler, init reserves at least three application instances because the generated Docker Compose profile runs the web process plus separate critical and background workers. Confirm the backend limit against your provider tier.

Simple mode uses EMAIL_PROVIDER=noop, which sends no email and logs no usable sign-in link. Configure Brevo or Mailjet before testing sign-in through an inbox. For automated Auth checks without an email service, use the disposable local QA runner below. See Wire up the essentials for registration, administrator access, test checkout and AI setup.

4. Verify and prepare for release

bash
# Requires a running Docker engine; owns a separate disposable local target.
pnpm run qa:local:gate

This checks the local supabase:supabase reference, not the hosted database configured by init. Other provider combinations have their own QA profiles.

Runtime startup checks supported providers and valid configuration independently of release evidence. Before publishing a release, run pnpm run qa:release and resolve its certification blockers. A successful init, development server or Docker build does not certify a release. Do not change compatibility evidence or activation fields to bypass that gate.

Next taskGuide
Understand prompts, drafts, recovery and resetAutomatic Setup
Configure server credentials and connection limitsEnvironment Setup
Choose B2C/B2B and subscription, one-time or hybrid billingMake it yours
Configure products, prices and signed webhooksPayments & Billing
Deploy the app and workersDeployment