---
title: Quick Start
description: 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)

<Tabs items={['bun', 'pnpm', 'npm']}>
  <Tab value="bun">
    ```bash
    bun create better-t-stack@latest
    ```
  </Tab>
  <Tab value="pnpm">
    ```bash
    pnpm create better-t-stack@latest
    ```
  </Tab>
  <Tab value="npm">
    ```bash
    npx create-better-t-stack@latest
    ```
  </Tab>
</Tabs>

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

Skip prompts and use the default stack:

<Tabs items={['bun', 'pnpm', 'npm']}>
  <Tab value="bun">
    ```bash
    bun create better-t-stack@latest  --yes
    ```
  </Tab>
  <Tab value="pnpm">
    ```bash
    pnpm create better-t-stack@latest  --yes
    ```
  </Tab>
  <Tab value="npm">
    ```bash
    npx create-better-t-stack@latest  --yes
    ```
  </Tab>
</Tabs>

 

### Stack Builder (UI)

- Visit [/new](/new) to pick your stack and copy the generated command
- Or open it via:

<Tabs items={['bun', 'pnpm', 'npm']}>
  <Tab value="bun">
    ```bash
    bun create better-t-stack@latest builder
    ```
  </Tab>
  <Tab value="pnpm">
    ```bash
    pnpm create better-t-stack@latest builder
    ```
  </Tab>
  <Tab value="npm">
    ```bash
    npx create-better-t-stack@latest builder
    ```
  </Tab>
</Tabs>

## Common Setups

### Default Stack

<Tabs items={['bun', 'pnpm', 'npm']}>
  <Tab value="bun">
    ```bash
    bun create better-t-stack@latest my-webapp \
      --frontend tanstack-router \
      --backend hono \
      --database sqlite \
      --orm drizzle \
      --auth \
      --addons turborepo
    ```
  </Tab>
  <Tab value="pnpm">
    ```bash
    pnpm create better-t-stack@latest my-webapp \
      --frontend tanstack-router \
      --backend hono \
      --database sqlite \
      --orm drizzle \
      --auth \
      --addons turborepo
    ```
  </Tab>
  <Tab value="npm">
    ```bash
    npx create-better-t-stack@latest my-webapp \
      --frontend tanstack-router \
      --backend hono \
      --database sqlite \
      --orm drizzle \
      --auth \
      --addons turborepo
    ```
  </Tab>
</Tabs>

### Convex + React

<Tabs items={['bun', 'pnpm', 'npm']}>
  <Tab value="bun">
    ```bash
    bun create better-t-stack@latest my-convex-app \
      --frontend tanstack-router \
      --backend convex
    ```
  </Tab>
  <Tab value="pnpm">
    ```bash
    pnpm create better-t-stack@latest my-convex-app \
      --frontend tanstack-router \
      --backend convex
    ```
  </Tab>
  <Tab value="npm">
    ```bash
    npx create-better-t-stack@latest my-convex-app \
      --frontend tanstack-router \
      --backend convex
    ```
  </Tab>
</Tabs>

### API Only

<Tabs items={['bun', 'pnpm', 'npm']}>
  <Tab value="bun">
    ```bash
    bun create better-t-stack@latest my-api \
      --frontend none \
      --backend fastify \
      --runtime node \
      --database postgres \
      --orm prisma \
      --api trpc
    ```
  </Tab>
  <Tab value="pnpm">
    ```bash
    pnpm create better-t-stack@latest my-api \
      --frontend none \
      --backend fastify \
      --runtime node \
      --database postgres \
      --orm prisma \
      --api trpc
    ```
  </Tab>
  <Tab value="npm">
    ```bash
    npx create-better-t-stack@latest my-api \
      --frontend none \
      --backend fastify \
      --runtime node \
      --database postgres \
      --orm prisma \
      --api trpc
    ```
  </Tab>
</Tabs>

### Mobile App (Expo)

<Tabs items={['bun', 'pnpm', 'npm']}>
  <Tab value="bun">
    ```bash
    bun create better-t-stack@latest my-native \
      --frontend native-nativewind \
      --backend hono \
      --database sqlite \
      --orm drizzle \
      --auth
    ```
  </Tab>
  <Tab value="pnpm">
    ```bash
    pnpm create better-t-stack@latest my-native \
      --frontend native-nativewind \
      --backend hono \
      --database sqlite \
      --orm drizzle \
      --auth
    ```
  </Tab>
  <Tab value="npm">
    ```bash
    npx create-better-t-stack@latest my-native \
      --frontend native-nativewind \
      --backend hono \
      --database sqlite \
      --orm drizzle \
      --auth
    ```
  </Tab>
</Tabs>

### Empty Monorepo

<Tabs items={['bun', 'pnpm', 'npm']}>
  <Tab value="bun">
    ```bash
    bun create better-t-stack@latest my-workspace \
      --frontend none \
      --backend none
    ```
  </Tab>
  <Tab value="pnpm">
    ```bash
    pnpm create better-t-stack@latest my-workspace \
      --frontend none \
      --backend none
    ```
  </Tab>
  <Tab value="npm">
    ```bash
    npx create-better-t-stack@latest my-workspace \
      --frontend none \
      --backend none
    ```
  </Tab>
</Tabs>

## Flags Cheat Sheet

See the full list in the [CLI Reference](/docs/cli). 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
- `--addons`: turborepo, pwa, tauri, biome, husky, starlight, none
- `--addons`: turborepo, pwa, tauri, biome, husky, starlight, fumadocs, ultracite, oxlint, ruler, none
- `--examples`: todo, ai, none

## Next Steps

<Cards>
  <Card href="/docs/cli" title="CLI (per-command)">
    Flags, usage, and examples for each command
  </Card>
  <Card href="/docs/project-structure" title="Project Structure">
    See how web/server/native and Convex layouts are generated
  </Card>
  <Card href="/docs/compatibility" title="Compatibility">
    Valid combinations for backend, runtime, database, ORM, API
  </Card>
  <Card href="/docs/bts-config" title="bts.jsonc">
    Required for the add command; safe to delete if you don’t use add
  </Card>
  <Card href="/docs/contributing" title="Contributing">
    Dev setup and contribution flow
  </Card>
</Cards>
