Quick start for getting the starter running with the right defaults.
This guide gets you from fresh clone to a working local environment with the database bootstrapped, authentication configured at the platform level, and the product ready for service integrations.
Outcome
Install
Clone the repository and install dependencies with the existing npm workflow.
Bootstrap
Generate Prisma client, push the schema, and seed roles, plans, and starter content.
Connect
Add OAuth, Stripe, email, and OpenRouter credentials once the local app is healthy.
Setup flow
Clone the repository and install dependencies
Start with a normal npm install in a clean working directory.
git clone <your-repository-url> saaskit
cd saaskit
npm installCopy the environment file and add the core variables
For the first boot, focus on the base app configuration and one working email provider.
# Core application
DATABASE_URL="postgresql://user:password@localhost:5432/saaskit?schema=public"
NEXTAUTH_URL="http://localhost:3000"
NEXTAUTH_SECRET="replace-with-a-strong-secret"
NEXT_PUBLIC_APP_URL="http://localhost:3000"
APP_NAME="AI SaaS"
# Email: preferred production option
RESEND_API_KEY="re_..."
# Or use SMTP instead
SMTP_HOST="smtp.gmail.com"
SMTP_PORT="587"
SMTP_SECURE="false"
SMTP_USER="you@example.com"
SMTP_PASS="app-password"
SMTP_FROM="AI SaaS <you@example.com>"
ADMIN_EMAIL="ops@example.com"Keep the first pass minimal
.env.example.Generate Prisma client and bootstrap the database
The current repository uses schema push plus seed for initial setup.
123npm run prisma:generatenpm run db:pushnpm run db:seedCurrent repo behavior
prisma/schema.prisma and prisma/seed.ts, but it does not currently ship checked-in Prisma migrations. Use db:push for the initial bootstrap.Run the product locally
Once the database is ready, start the development server and verify the shell loads cleanly.
npm run devExpected result
Add service credentials for the full product flow
After the app is stable locally, add the remaining integrations in this order.
# OAuth
GOOGLE_CLIENT_ID="..."
GOOGLE_CLIENT_SECRET="..."
GITHUB_ID="..."
GITHUB_SECRET="..."
# Stripe
STRIPE_SECRET_KEY="sk_test_..."
NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY="pk_test_..."
STRIPE_WEBHOOK_SECRET="whsec_..."
STRIPE_PRO_MONTHLY_PRICE_ID="price_..."
STRIPE_PRO_YEARLY_PRICE_ID="price_..."
STRIPE_BUSINESS_MONTHLY_PRICE_ID="price_..."
STRIPE_BUSINESS_YEARLY_PRICE_ID="price_..."
# AI
OPENROUTER_API_KEY="sk-or-v1-..."
OPENROUTER_BASE_URL="https://openrouter.ai/api/v1"What to verify before moving on
The home page and docs shell render without runtime errors.
Registration or sign-in pages load and session cookies are created correctly.
The database contains seeded roles, permissions, and plans.
Email delivery is configured well enough to support verification and admin notifications.
Continue with the right next guide
Installation
Full environment blueprint, service-by-service setup, and verification steps.
Authentication
Configure OAuth providers, session behavior, roles, and access boundaries.
AI Integration
Wire in OpenRouter models, credits, and AI request handling.
Deployment
Take the current repo to production with the correct database bootstrap flow.