Documentation Index
Fetch the complete documentation index at: https://mintlify.com/amanvarshney01/create-better-t-stack/llms.txt
Use this file to discover all available pages before exploring further.
Overview
The Better-T-Stack CLI uses@clack/prompts for interactive questions. These prompts are fully keyboard-driven and work well in most terminals. This guide explains the prompt flow, navigation, and how to skip prompts with flags.
Navigation Basics
Core Keys
- Navigate: Up/Down arrow keys
- Confirm/Continue: Enter
- Go Back: Left arrow (navigable prompts)
- Cancel: Ctrl+C (exits the CLI)
Prompt Types
The CLI uses several types of prompts:Single Select (Choose One)
Single Select (Choose One)
How it works:
- Move with Up/Down arrow keys
- Press Enter to select the highlighted option
- Press Left arrow to go back to the previous prompt
- Web framework selection (TanStack Router, Next.js, Nuxt, etc.)
- Native framework selection (Bare, UniWind, Unistyles)
- Backend framework (Hono, Express, Fastify, etc.)
- Runtime (Bun, Node, Workers)
- Database type (SQLite, PostgreSQL, MySQL, MongoDB)
- ORM choice (Drizzle, Prisma, Mongoose)
- API type (tRPC, oRPC)
- Package manager (npm, pnpm, bun)
Multi-Select (Choose Many)
Multi-Select (Choose Many)
How it works:
- Move with Up/Down arrow keys
- Press Space to toggle the highlighted option on/off
- Press Enter to confirm your selection(s)
- Press Left arrow to go back
- Some prompts allow selecting none
- Project type selection (Web, Native, or both)
- Examples selection (Todo, AI)
Grouped Multi-Select (Addons)
Grouped Multi-Select (Addons)
How it works:
- Options are organized under group headings (Tooling, Documentation, Extensions, AI)
- Move with Up/Down arrow keys through all options
- Press Space to toggle an option on/off
- Press Enter to confirm selections
- Group headings are informational only
- Addons selection
Confirm (Yes/No)
Confirm (Yes/No)
How it works:
- Use Left/Right or Up/Down to highlight Yes/No
- Press Enter to confirm
- Install dependencies?
- Initialize Git repository?
Text Input
Text Input
How it works:Validation rules:
- Type your answer
- Press Enter to submit
- If validation fails, a message explains what to fix
- Project name/path
- Database URLs (for specific providers)
- Provider-specific configuration
- Cannot be empty
- Cannot start with
.(except for.) - Cannot start with
- - Cannot contain:
< > : " | ? * - Cannot be
node_modules - Max 255 characters
Prompt Flow
The CLI asks questions in this order (skipping irrelevant prompts based on your choices):Web Framework
If you selected Web, choose your web framework.Options depend on backend/auth:
- With Convex backend: Solid and Astro are hidden
- With Clerk auth + Convex: Nuxt, Svelte, Solid, Astro are hidden
Backend
Choose your backend framework.Options depend on frontend:
- With Next.js, TanStack Start, Nuxt, or Astro: “Self (Fullstack)” option appears
- With Solid or Astro frontend: Convex is hidden
Runtime
Choose your runtime environment.Automatically skipped when:
- Backend is
convex,none, orself
Database
Choose your database type.Automatically set to
none when:- Backend is
convexornone
- Runtime is
workers
ORM
Choose your ORM/ODM.Automatically skipped when:
- Database is
none - Backend is
convexornone
- PostgreSQL/MySQL/SQLite: Drizzle, Prisma
- MongoDB: Mongoose, Prisma
API Layer
Choose your API type.Automatically set to
none when:- Backend is
convexornone
- Frontend includes Nuxt, Svelte, Solid, or Astro
Authentication
Choose your auth provider.Automatically set to
none when:- Backend is
none
- Backend is
convex - Frontend is compatible (not Nuxt, Svelte, Solid, or Astro with Clerk)
Payments
Choose payments integration.Polar only available when:
- Auth is
better-auth - Has web frontend or no frontend
Addons
Select additional features (grouped by category).Available addons depend on:
- Frontend choice (PWA requires web, Tauri incompatible with native)
Examples
Select example implementations.Automatically set to
none when:- Backend is
none
- Database (or Convex backend)
- API layer (or Convex backend)
- Frontend is Solid or Astro
- Frontend is Nuxt or Svelte with Convex backend
Database Setup
Choose hosting/setup provider.Automatically skipped when:
- Database is
none - Backend is
convexornone
- SQLite: Turso, D1 (Workers only)
- PostgreSQL: Neon, Supabase, Prisma Postgres, PlanetScale
- MySQL: PlanetScale
- MongoDB: MongoDB Atlas
- All except SQLite: Docker (not with Workers)
Server Deployment
Configure server deployment.Automatically skipped when:
- Backend is
noneorconvex
Package Manager
Choose your package manager.Default: Detected from your environment (checks for lockfiles)Skip with:
Tips & Tricks
Skip All Prompts
Skip All Prompts
Use Defaults:
--yes to accept all defaults:- Frontend:
tanstack-router - Backend:
hono - Runtime:
bun - Database:
sqlite - ORM:
drizzle - API:
trpc - Auth:
none - Payments:
none - Addons:
none - Examples:
none - Git:
true - Install:
true - Package Manager: Auto-detected
Mix Flags and Prompts
Mix Flags and Prompts
You can specify some options via flags and answer prompts for others:
Navigate Backwards
Navigate Backwards
Cancel Safely
Cancel Safely
Press Ctrl+C at any time to cancel the operation. No files will be created.
Validation Errors
Validation Errors
If you enter invalid input (e.g., incompatible options), the CLI will show an error message and ask you to correct it.For example:Use
--yolo to bypass validation (not recommended).Common Prompt Scenarios
Full-Stack Web App
Backend-Only API
Convex Full-Stack
For a complete list of all available options, see the Options Reference.