Orbit
TanStack Start SaaS boilerplate

The TanStack Start SaaS boilerplate for multi-tenant apps.

Orbit is a CLI that scaffolds a production-ready, multi-tenant SaaS on TanStack Start in minutes. File-based routing, React 19, Vite, server functions — paired with a Hono REST + WebSocket API, Prisma 7, better-auth, and a clean DDD core. No glue code to write on day one.

$npx create-orb@latest
What you get
TanStack Start, idiomatic

First-class TanStack Start app with React 19 + Vite. Loader-driven data fetching, file-based routing, server functions — set up the way the TanStack docs recommend, not retrofitted from another framework.

Hono API + WebSocket realtime

Separate Hono service exposes a typed REST API and a WebSocket hub. The frontend ships with a query-keyed React Query layer and a realtime store that applies domain events as they happen.

Multi-tenant workspaces

Workspace is the tenant root. Slug URLs, ownership transfer, member management, invites, plus optional nested teams with their own roles and permissions.

Permission-based access control

PBAC at workspace and team scope, enforced by middleware on the server and surfaced by useCan() / useCanTeam() hooks on the client. System and custom roles included.

Billing, three providers

Stripe, Polar, or Dodo Payments behind one BillingProvider port. Checkout, customer portal, signature-verified webhooks, and an append-only billing event ledger.

Typed end-to-end

TypeScript 6, Prisma 7, branded prefixed UUIDv7 IDs, Zod validation, vitest + Testcontainers. The CLI strips features you don't pick at scaffold time, so you only ship what you use.

FAQ
Is this a real TanStack Start app or a Next.js port?
It's a real TanStack Start app. The TanStack frontend lives in apps/web-tanstack with file-based TanStack Router routes, server functions, and Vite. There is also a Next.js variant — the CLI keeps whichever you pick and deletes the other.
What's in the box on day one?
better-auth (magic link, OAuth, password), multi-tenant workspaces, PBAC, a Hono API with WebSocket realtime, a 55-component UI library, settings screens, member invites, and an opinionated DDD layout. Optional paid features add teams, billing, audit logs, uploads, jobs, rate limiting, and email.
Can I use Stripe, Polar, or Dodo Payments?
All three. Billing is a port with adapters for each. Pick one at scaffold time with --billing-provider; the others are stripped from the output.
Do I have to keep PBAC, teams, or audit logs?
No. The CLI removes any feature you don't select — files, routes, env vars, and Prisma models all vanish. You can ship a single-tenant TanStack app or a full multi-tenant SaaS from the same template.
How do I install it?
Run npx create-orb@latest, choose --framework=tanstack, and pick the features you want. The CLI clones the right template, installs dependencies, and gets you running with one command.