Getting Started
Create your first project with create-turbo-stack
Quick Start
npx create-turbo-stack my-projectThe CLI will guide you through:
- Package manager — bun, pnpm, npm, or yarn
- Organization scope — e.g.
@my-project - Database — Supabase, Drizzle, Prisma, or none
- API layer — tRPC v11, Hono, Next.js Routes, or none
- Authentication — Supabase Auth, Better Auth, Clerk, NextAuth, Lucia, or none
- CSS framework — Tailwind 4, Tailwind 3, vanilla, CSS Modules
- UI library — shadcn/ui, Radix, or none
- Apps — Add one or more apps (Next.js, Hono, Vite, etc.)
- Packages — Add shared packages (UI, utils, etc.)
- Integrations — Sentry, PostHog, React Email, Vercel AI SDK
After confirmation, the CLI generates all files, initializes git, and installs dependencies.
Using a Preset
Skip the prompts with a preset:
# Built-in presets
npx create-turbo-stack --preset minimal
npx create-turbo-stack --preset saas-starter
npx create-turbo-stack --preset api-only
# Community preset (any URL)
npx create-turbo-stack --preset https://example.com/my-stack.jsonProject Structure
A generated project looks like this:
my-project/
├── apps/
│ └── web/ # Next.js app
│ ├── src/app/
│ │ ├── globals.css # Tailwind + @source directives
│ │ ├── layout.tsx
│ │ └── page.tsx
│ ├── package.json # catalog: deps
│ └── tsconfig.json # extends @scope/typescript-config
├── packages/
│ ├── typescript-config/ # Shared TS configs
│ ├── env/ # Environment validation
│ └── ui/ # Shared UI components
│ ├── src/
│ │ ├── index.ts
│ │ └── globals.css
│ └── package.json
├── package.json # Root with catalog + workspaces
├── turbo.json # Task pipeline
├── biome.json # Linter config
└── .turbo-stack.json # CLI config (tracks selections)What's Next
cd my-project
bun devYour monorepo is ready. Add more apps or packages anytime:
npx create-turbo-stack add app
npx create-turbo-stack add package