CLI

Options Reference

Complete reference for all CLI options and flags

General Options

--yes, -y

Use default configuration and skip interactive prompts.

create-better-t-stack --yes

--package-manager <pm>

Choose package manager: npm, pnpm, or bun.

create-better-t-stack --package-manager bun

--install / --no-install

Control dependency installation after project creation.

create-better-t-stack --no-install

--git / --no-git

Control Git repository initialization.

create-better-t-stack --no-git

--yolo

Bypass validations and compatibility checks. Not recommended for normal use.

create-better-t-stack --yolo

--verbose

Show detailed result information in JSON format after project creation.

create-better-t-stack --verbose

--render-title / --no-render-title

Control whether the ASCII art title is shown. Enabled by default.

# Hide the title (useful in CI)
create-better-t-stack --no-render-title

--directory-conflict <strategy>

How to handle existing, non-empty target directories:

  • merge: Keep existing files and merge new ones
  • overwrite: Clear the directory before scaffolding
  • increment: Create a suffixed directory (e.g., my-app-1)
  • error: Fail instead of prompting
# Overwrite an existing directory without prompting
create-better-t-stack my-app --yes --directory-conflict overwrite

# Safely create a new directory name if it exists
create-better-t-stack my-app --yes --directory-conflict increment

--disable-analytics / --no-disable-analytics

Control whether analytics and telemetry data is collected.

# Disable analytics collection
create-better-t-stack --disable-analytics

# Enable analytics collection (default)
create-better-t-stack --no-disable-analytics

Analytics help improve Better-T-Stack by providing insights into usage patterns. When disabled, no data is collected or transmitted.

Database Options

--database <type>

Database type to use:

  • none: No database
  • sqlite: SQLite database
  • postgres: PostgreSQL database
  • mysql: MySQL database
  • mongodb: MongoDB database
create-better-t-stack --database postgres

--orm <type>

ORM to use with your database:

  • none: No ORM
  • drizzle: Drizzle ORM (TypeScript-first)
  • prisma: Prisma ORM (feature-rich)
  • mongoose: Mongoose ODM (for MongoDB)
create-better-t-stack --database postgres --orm drizzle

--db-setup <setup>

Database hosting/setup provider:

  • none: Manual setup
  • turso: Turso (SQLite)
  • d1: Cloudflare D1 (SQLite)
  • neon: Neon (PostgreSQL)
  • supabase: Supabase (PostgreSQL)
  • prisma-postgres: Prisma Postgres via Prisma Accelerate
  • mongodb-atlas: MongoDB Atlas
  • docker: Local Docker containers
create-better-t-stack --database postgres --db-setup neon

Backend Options

--backend <framework>

Backend framework to use:

  • none: No backend
  • hono: Hono (fast, lightweight)
  • express: Express.js (popular, mature)
  • fastify: Fastify (fast, plugin-based)
  • elysia: Elysia (Bun-native)
  • next: Next.js API routes
  • convex: Convex backend
create-better-t-stack --backend hono

--runtime <runtime>

Runtime environment:

  • none: No specific runtime (only with convex or none backend)
  • bun: Bun runtime
  • node: Node.js runtime
  • workers: Cloudflare Workers
create-better-t-stack --backend hono --runtime bun

--api <type>

API layer type:

  • none: No API layer
  • trpc: tRPC (type-safe)
  • orpc: oRPC (OpenAPI-compatible)
create-better-t-stack --api trpc

Frontend Options

--frontend <types...>

Frontend frameworks (can specify multiple):

Web Frameworks:

  • tanstack-router: React with TanStack Router
  • react-router: React with React Router
  • tanstack-start: React with TanStack Start (SSR)
  • next: Next.js
  • nuxt: Nuxt (Vue)
  • svelte: SvelteKit
  • solid: SolidJS

Native Frameworks:

  • native-nativewind: React Native with NativeWind
  • native-unistyles: React Native with Unistyles

No Frontend:

  • none: Backend-only project
# Single web frontend
create-better-t-stack --frontend tanstack-router

# Web + native frontend
create-better-t-stack --frontend next native-nativewind

# Backend-only
create-better-t-stack --frontend none

Authentication

--auth <provider>

Choose authentication provider:

  • better-auth: Better-Auth authentication (default)
  • clerk: Clerk authentication (only with Convex backend)
  • none: No authentication
create-better-t-stack --auth better-auth
create-better-t-stack --auth clerk
create-better-t-stack --auth none

Note:

  • better-auth requires both a database and backend framework
  • clerk is only available with Convex backend
  • Authentication is automatically set to none when using --backend none or --database none (unless using Convex)

Addons

--addons <types...>

Additional features to include:

  • none: No addons
  • pwa: Progressive Web App support
  • tauri: Desktop app support
  • starlight: Starlight documentation site
  • fumadocs: Fumadocs documentation site
  • biome: Biome linting and formatting
  • husky: Git hooks with Husky
  • turborepo: Turborepo monorepo setup
  • ultracite: Ultracite configuration
  • oxlint: Oxlint fast linting
  • ruler: Centralize your AI rules with Ruler
create-better-t-stack --addons pwa biome husky

Examples

--examples <types...>

Example implementations to include:

  • none: No examples
  • todo: Todo app example
  • ai: AI chat interface example
create-better-t-stack --examples todo ai

Deployment

--web-deploy <setup>

Web deployment configuration:

  • none: No deployment setup
  • wrangler: Cloudflare Workers deployment
  • alchemy: Cloudflare Workers deployment (via Alchemy infrastructure as code)
create-better-t-stack --web-deploy wrangler
create-better-t-stack --web-deploy alchemy

Note: Alchemy uses TypeScript to define infrastructure programmatically. See the Infrastructure as Code with Alchemy Guide for details.

--server-deploy <setup>

Server deployment configuration:

  • none: No deployment setup
  • wrangler: Cloudflare Workers deployment (when runtime is workers)
  • alchemy: Cloudflare Workers deployment (when runtime is workers, via Alchemy infrastructure as code)
create-better-t-stack --server-deploy wrangler
create-better-t-stack --server-deploy alchemy

Note: Alchemy uses TypeScript to define infrastructure programmatically. See the Infrastructure as Code with Alchemy Guide for details.

Option Validation

The CLI validates option combinations and will show errors for incompatible selections. See the Compatibility page for detailed rules.

Examples

Full Configuration

create-better-t-stack \
  --database postgres \
  --orm drizzle \
  --backend hono \
  --runtime bun \
  --frontend tanstack-router \
  --api trpc \
  --auth better-auth \
  --addons pwa biome \
  --examples todo \
  --package-manager bun \
  --web-deploy wrangler \
  --server-deploy alchemy \
  --install

Minimal Setup

create-better-t-stack \
  --backend none \
  --frontend tanstack-router \
  --addons none \
  --examples none