Quick Start

Create your first Better-T-Stack project in minutes

Philosophy

  • Roll your own stack: pick only what you need, nothing extra.
  • Minimal templates: bare-bones scaffolds with zero bloat.
  • Latest dependencies: always current and stable by default.
  • Free and open source: forever.

Get Started

CLI (prompts)

bun create better-t-stack@latest
pnpm create better-t-stack@latest
npx create-better-t-stack@latest

Follow the interactive prompts to choose your frontend, backend, database, ORM, API layer, and addons.

Skip prompts and use the default stack:

bun create better-t-stack@latest  --yes
pnpm create better-t-stack@latest  --yes
npx create-better-t-stack@latest  --yes

Stack Builder (UI)

  • Visit /new to pick your stack and copy the generated command
  • Or open it via:
bun create better-t-stack@latest builder
pnpm create better-t-stack@latest builder
npx create-better-t-stack@latest builder

Common Setups

Default Stack

bun create better-t-stack@latest my-webapp \
  --frontend tanstack-router \
  --backend hono \
  --database sqlite \
  --orm drizzle \
  --auth better-auth \
  --addons turborepo
pnpm create better-t-stack@latest my-webapp \
  --frontend tanstack-router \
  --backend hono \
  --database sqlite \
  --orm drizzle \
  --auth better-auth \
  --addons turborepo
npx create-better-t-stack@latest my-webapp \
  --frontend tanstack-router \
  --backend hono \
  --database sqlite \
  --orm drizzle \
  --auth better-auth \
  --addons turborepo

Convex + React + Clerk

bun create better-t-stack@latest my-convex-app \
  --frontend tanstack-router \
  --backend convex \
  --auth clerk
pnpm create better-t-stack@latest my-convex-app \
  --frontend tanstack-router \
  --backend convex \
  --auth clerk
npx create-better-t-stack@latest my-convex-app \
  --frontend tanstack-router \
  --backend convex \
  --auth clerk

API Only

bun create better-t-stack@latest my-api \
  --frontend none \
  --backend fastify \
  --runtime node \
  --database postgres \
  --orm prisma \
  --api trpc
pnpm create better-t-stack@latest my-api \
  --frontend none \
  --backend fastify \
  --runtime node \
  --database postgres \
  --orm prisma \
  --api trpc
npx create-better-t-stack@latest my-api \
  --frontend none \
  --backend fastify \
  --runtime node \
  --database postgres \
  --orm prisma \
  --api trpc

Mobile App (Expo)

bun create better-t-stack@latest my-native \
  --frontend native-nativewind \
  --backend hono \
  --database sqlite \
  --orm drizzle \
  --auth better-auth
pnpm create better-t-stack@latest my-native \
  --frontend native-nativewind \
  --backend hono \
  --database sqlite \
  --orm drizzle \
  --auth better-auth
npx create-better-t-stack@latest my-native \
  --frontend native-nativewind \
  --backend hono \
  --database sqlite \
  --orm drizzle \
  --auth better-auth

Empty Monorepo

bun create better-t-stack@latest my-workspace \
  --frontend none \
  --backend none
pnpm create better-t-stack@latest my-workspace \
  --frontend none \
  --backend none
npx create-better-t-stack@latest my-workspace \
  --frontend none \
  --backend none

Flags Cheat Sheet

See the full list in the CLI Reference. Key flags:

  • --frontend: tanstack-router, react-router, tanstack-start, next, nuxt, svelte, solid, native-nativewind, native-unistyles, none
  • --backend: hono, express, fastify, elysia, next, convex, none
  • --runtime: bun, node, workers, none
  • --database: sqlite, postgres, mysql, mongodb, none
  • --orm: drizzle, prisma, mongoose, none
  • --api: trpc, orpc, none
  • --auth: better-auth, clerk, none
  • --addons: turborepo, pwa, tauri, biome, husky, starlight, fumadocs, ultracite, oxlint, ruler, none
  • --examples: todo, ai, none

Next Steps