SaaS Dev Team

Production-ready SaaS boilerplate with AI that knows your code.

SaaS Dev Team isn't just boilerplate — it's a full-stack template with Claude Code pre-configured to understand every file. Set up in 5 minutes, ship your MVP this weekend.

Price: $99 (one-time)

Quick Start

npx @aiorg/cli init saas-dev-team ~/my-saas
cd ~/my-saas
pnpm install
claude
> /setup

Overview

What You GetTraditional TemplateSaaS Dev Team
Auth systemCode to readClaude explains and modifies
DatabaseMigrations to runClaude handles migrations
PaymentsStripe docs to followClaude sets up webhooks
New featuresFigure it out yourself/new-feature scaffolds everything

Tech Stack

LayerTechnology
FrameworkNext.js 15 (App Router)
LanguageTypeScript (strict mode)
StylingTailwind CSS v4
UI Componentsshadcn/ui
DatabaseSupabase (PostgreSQL)
AuthSupabase Auth
PaymentsStripe
DeploymentVercel

What's Included

Commands

CommandDescription
/setupStart here! Guided setup with explanations for non-technical users
/roadmapSee progress and get personalized next steps
/new-featureScaffold a new feature (DB, API, UI)
/recipesBrowse step-by-step implementation guides
/deployDeploy to Vercel production
/db-migrateCreate and run database migrations
/troubleshootAuto-diagnose common issues
/report-issueGet help with problems

Recipes

Step-by-step implementation guides in recipes/:

RecipeDescriptionTime
setup-project.mdConfigure local dev environment~15 min
add-feature.mdScaffold new feature with DB, API, UI~30-60 min
add-google-oauth.mdAdd "Continue with Google" auth~15 min
add-stripe-billing.mdSubscription billing with plans~45-60 min
create-stripe-product.mdCreate Stripe products via CLI~10 min
security-audit.mdSecurity review (auth, RLS, API)~30-45 min
deploy-production.mdProduction deployment checklist~20-30 min

Template Code

src/
├── app/
│   ├── (marketing)/          # Landing, pricing pages
│   ├── (auth)/               # Login, signup
│   ├── (dashboard)/          # Protected dashboard
│   └── api/                  # API routes
├── components/
│   ├── ui/                   # shadcn/ui components
│   ├── marketing/            # Landing page components
│   └── dashboard/            # Dashboard components
├── lib/
│   ├── supabase/             # Supabase clients
│   └── stripe/               # Stripe utilities
└── hooks/                    # Custom React hooks

supabase/
├── migrations/               # Database migrations
└── seed.sql                  # Seed data

Pre-installed Components

  • Button (primary, outline, ghost, destructive)
  • Card (with header, content, footer)
  • Input, Label
  • More via shadcn MCP: just ask Claude to "add a dialog component"

Development Workflow

Local Development

pnpm dev              # Start dev server
pnpm db:start         # Start local Supabase (Docker required)
pnpm db:migrate       # Run migrations
pnpm stripe:listen    # Start Stripe webhook listener

Creating Features

Instead of writing boilerplate:

> /new-feature user-settings

Claude scaffolds:

  • Database migration
  • API routes
  • React components
  • TypeScript types

Database Migrations

Always use the CLI, never modify directly:

> /db-migrate add-user-preferences

Creates tracked, reviewable, deployable migrations.

Environment Variables

Required in .env.local:

# Supabase
NEXT_PUBLIC_SUPABASE_URL=
NEXT_PUBLIC_SUPABASE_ANON_KEY=
SUPABASE_SERVICE_ROLE_KEY=

# Stripe
STRIPE_SECRET_KEY=
STRIPE_WEBHOOK_SECRET=
NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=

# App
NEXT_PUBLIC_APP_URL=http://localhost:3000

Key Principles

Server vs Client Components

  • Server Components (default): For data fetching, no 'use client'
  • Client Components: Add 'use client' only for interactivity/hooks

Security

  • Write RLS policies for all tables
  • Never expose service role key to client
  • Use Server Components for sensitive operations

Stripe Products

Always create via CLI (reproducible across environments):

stripe products create --name="Pro Plan"
stripe prices create --product="prod_XXX" --unit-amount=2900 --currency=usd

Related Kits

Before:

  • Idea OS — Validate your idea first

After:

FAQ

Q: Do I need Docker?

Yes, for local Supabase development. Install Docker Desktop before running /setup. The setup wizard explains why Docker is needed (creates isolated containers for Supabase services).

Q: I'm not technical — will I understand this?

Yes! /setup includes "Learn as you go" mode that explains every tool and step. It also verifies everything works before moving on, so you never get stuck.

Q: Can I use a different database?

The template is optimized for Supabase, but you can swap it. Claude can help you integrate alternatives.

Q: Can I use a different payment provider?

Yes. Claude can help you integrate Paddle, Lemon Squeezy, or others.

Q: How do updates work?

Run npx @aiorg/cli upgrade to get the latest template updates. Your code is preserved, only .claude/ files are updated.

Q: What if something breaks?

Run /troubleshoot for auto-diagnosis, or paste the full error message to Claude — it will diagnose and explain the solution.