Production‑ready SaaS infrastructure with world‑class human and agent DX
Modern, type-safe/RPC starter monorepo with foundations for building scalable SaaS products with clean architecture, automation, and great developer experience.
bunx zerostarter init
bun run devPowered by portless: named .localhost URLs that never collide across worktrees and share one sign-in.
One contract from database to UI
Hono RPC exposes your API as a single AppType, so the client infers every request and response automatically. Rename a route and the frontend stops compiling. No codegen. No duplicated types. No drift.
import { apiClient, unwrap } from "@/lib/api/client"
// fully typed { data, error }
const { data, error } = await unwrap(apiClient.health.$get())Wired together, not just installed
The boring, critical pieces every serious SaaS needs are already connected and working on first run. The dashboard and console ship as auth-gated shells, ready for your product logic.
Agents operate the real app, behind auth
SKILL.md playbooks, AGENTS.md, and generated llms.txt give Claude Code, Cursor, and Copilot the repo-specific context they need. A dev-only login lets agent-browser drive the running app for real, no mocks and no fixtures.
# sign an agent in, drive the app
agent-browser open "$(bunx portless get zerostarter)"
agent-browser snapshot # read the UI
agent-browser click "@e5" # actAuth & organizations
GitHub and Google OAuth, secure sessions, organizations, teams, and admin roles wired through Better Auth.
Database & migrations
PostgreSQL and Drizzle on Bun's SQL driver, with migrations generated locally and applied automatically on Vercel deploys.
Deploy without assembly
Web and API deploy as two apps sharing one PostgreSQL database, with production and Docker configs included from the first commit. On Vercel, the API runs migrations during deploy.
# two Vercel projects, one database
vercel --prod
# or the whole stack, anywhere
docker compose up --buildRole-gated console
A protected /console area powered by the Better Auth admin plugin. Access control is handled; the product surface is yours.
Rate-limited API
Production-ready limits by IP, user, or API key, with Arcjet IP detection and environment-driven defaults.
Multi-tenant, day one
Organizations, teams, roles, invitations, and active-org switching are built into the dashboard from the first run.
Fork and rebrand
Edit one site.ts and the CLI rebrands the whole fork: name, dev URLs, and metadata. Re-baseline on the latest starter anytime with a single sync.
Indexable and shareable by default
takumi renders a unique social card for every page at request time, alongside a generated sitemap, robots, and metadata. The preview here is this page's own, rendered live.
Docs agents can read
Fumadocs, full-text search, MDX content, and generated llms.txt make the project readable for developers, contributors, and coding agents.
Not another starter. A better default.
Most starters give you folders and dependencies. ZeroStarter gives you the decisions already made and wired: one file rebrands the fork, one command re-baselines it on upstream, and a canary-to-main pipeline versions and ships it. You inherit a way of building, not just a pile of code.
Minimal footprint, maximum leverage
Two apps over a few shared packages, one import graph. No framework soup to fight, no speculative layer to delete: every package earns its place.
Automation from PR to release
One canary-to-main flow runs the checks, writes the changelog, versions the repo, and cuts the release, so shipping never rides on remembering the steps.
Centralized where it matters
Brand, env, auth, schema, and build config each live in one file. Edit site.ts and the CLI rebrands the entire fork; the rest stay just as single-sourced.
Docs as part of the product
Structured docs, a generated API reference, and llms.txt ship with the code, and a strict build fails when a doc drifts, so onboarding stays true for humans and agents.
Start at zero. Ship like you have done this before.
ZeroStarter is the foundation for building real SaaS products with speed, clarity, and discipline: production-ready infrastructure, clean architecture, automated workflows, and documentation both humans and agents can trust. It does not choose your payments or email vendor; the parts that make your product yours stay yours.
Open source. Use it freely, including for commercial products.