Monorepo SaaS starter
The Next.js + Supabase boilerplate, ready to fork.
zerostack ships a working auth flow, Row-Level-Security schema, and a typed CRUD example — wired up across a pnpm + Turborepo monorepo. Clone it, run one command, and start building the app instead of the plumbing.
No boilerplate · No config hell · Just ship
Built on
Built for SaaS
Everything you keep rebuilding, already wired up.
Auth & Sessions
Supabase magic-link sign-in, PKCE callback, and session refresh in the root proxy. Protected /app routes out of the box.
Database with RLS
Postgres + per-user Row Level Security on every table. Example notes migration ships with explicit select/insert/update/delete policies.
Server Actions UI
shadcn/ui + Server Actions for CRUD. No client fetch boilerplate, no API routes to maintain, revalidatePath where it matters.
Type-safe Contracts
Zod schemas in @zerostack/contracts are the single source of truth — types are inferred, never duplicated across web, mobile, and server.
Monorepo DX
pnpm workspaces + Turborepo. One lockfile, filtered commands per package, shared tsconfig base. Mobile app slot ready.
Production CI
GitHub Actions runs typecheck, lint, and build on every push and PR. MIT-licensed, no telemetry, no vendor lock-in beyond Supabase.
Quick start
From zero to a running app in four steps.
- 01
Clone the template
npx degit zerox9dev/zerostack my-app
- 02
Install deps
cd my-app && pnpm install
- 03
Wire Supabase
cp .env.example apps/web/.env.local # fill NEXT_PUBLIC_SUPABASE_URL and NEXT_PUBLIC_SUPABASE_ANON_KEY
- 04
Run it
pnpm dev
Stay in the loop
Get a heads-up when new modules ship.
Drop your email — we'll send a short note when major additions (Stripe, teams, mobile) land. No noise.