█████╗██████╗ ███████╗ █████╗ ████████╗███████╗ ██╔══╝██╔══██╗██╔════╝██╔══██╗╚══██╔══╝██╔════╝ ██║ ██████╔╝█████╗ ███████║ ██║ █████╗ ██║ ██╔══██╗██╔══╝ ██╔══██║ ██║ ██╔══╝ ╚████╗██║ ██║███████╗██║ ██║ ██║ ███████╗ ╚═══╝╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝ ╚═╝ ╚══════╝
████████╗██╗ ██╗██████╗ ██████╗ ██████╗ ╚══██╔══╝██║ ██║██╔══██╗██╔══██╗██╔═══██╗ ██║ ██║ ██║██████╔╝██████╔╝██║ ██║ ██║ ██║ ██║██╔══██╗██╔══██╗██║ ██║ ██║ ╚██████╔╝██║ ██║██████╔╝╚██████╔╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═════╝ ╚═════╝
███████╗████████╗ █████╗ ██████╗██╗ ██╗ ██╔════╝╚══██╔══╝██╔══██╗██╔════╝██║ ██╔╝ ███████╗ ██║ ███████║██║ █████╔╝ ╚════██║ ██║ ██╔══██║██║ ██╔═██╗ ███████║ ██║ ██║ ██║╚██████╗██║ ██╗ ╚══════╝ ╚═╝ ╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═╝
Scaffold production-ready Turborepo monorepos in seconds, not days. Database, auth, API, shared UI, environment validation — all wired correctly from the start.
The hard part isn't creating files
It's wiring them correctly across packages — the part every starter skips.
Wiring > scaffolding
File count is easy. Correct cross-package wiring is the value — Tailwind @source, catalog deps, env chains, tsconfig refs, all consistent.
@source "../../packages/ui/src"; "react": "catalog:" extends: [authEnv, dbEnv]
Zero version drift
Every dependency is pinned once in the root catalog. Workspaces use the catalog: protocol — no mismatched React across packages, ever.
Env validation
t3-env chains per app. Missing vars crash at boot, not in prod.
tsconfig chain
One shared base, per-package extends. Same compiler options everywhere.
Synced with the schema
Every option on this page is read from the same Zod schema the CLI and builder use. The site can't drift from what's actually supported.
Preset = universal contract
CLI, web builder, community registry and MCP all emit the same Preset JSON. Save it, share it by URL, reuse it.
One preset, fully wired
Three steps from an empty folder to a monorepo that already compiles.
Answer the prompts
Pick a package manager, database, auth, API layer and styling — or load a preset to skip ahead.
$ npx create-turbo-stackCore resolves the preset
One Preset JSON drives the engine: file tree, dependency catalog, CSS @source, env chains and tsconfig refs.
preset.json → TreeDiffShip a wired monorepo
Apps and packages, correctly cross-wired from the first commit. Run install, then dev. That's it.
$ bun install && bun devChoose your stack
Read straight from the schema — the same list the CLI and builder use.
Batteries, optional
Drop-in providers wired with env validation and per-app packages.
Analytics
03- ›PostHog
- ›Vercel Analytics
- ›Plausible
Error Tracking
02- ›Sentry
- ›Bugsnag
- ›React Email + Resend
- ›Nodemailer
Rate Limit
01- ›Upstash
AI
02- ›Vercel AI SDK
- ›LangChain
The wiring you'd otherwise hand-write
A few of the cross-package files the engine generates and keeps consistent.
{
"workspaces": {
"catalog": {
"react": "19.2.4",
"next": "16.2.0",
"zod": "4.3.6"
}
}
}
// packages/ui/package.json
"dependencies": {
"react": "catalog:"
}@import "tailwindcss"; /* generated — every package that ships classes is wired in */ @source "../../packages/ui/src"; @source "../../packages/email/src";
import { createEnv } from "@t3-oss/env-nextjs";
import { env as auth } from "@acme/auth/env";
import { env as db } from "@acme/db/env";
export const env = createEnv({
extends: [auth, db],
server: { RESEND_KEY: z.string() },
});Next.js + UI package + Tailwind 4 + Biome
$ npx create-turbo-stack --preset minimalSupabase + tRPC + shadcn + i18n + Sentry + PostHog
$ npx create-turbo-stack --preset saas-starterHono + Drizzle + Upstash — no frontend
$ npx create-turbo-stack --preset api-onlyScaffold from your editor
An MCP server exposes the engine to AI agents. Claude Code and Cursor run the CLI through the Model Context Protocol — they emit a Preset, not raw files.
Read the MCP docs▸ create_preset({
apps: ["web"],
database: "drizzle",
auth: "better-auth"
})
✓ preset resolved → 6 packages
✓ ready to scaffold