@amanv/create-better-t-stack@2.18.3
Create Better-T-Stack CLI
A modern CLI tool for scaffolding end-to-end type-safe TypeScript projects with best practices and customizable configurations
Quick Start
Run without installing globally:
# Using npm npx create-better-t-stack@latest # Using bun bun create better-t-stack@latest # Using pnpm pnpm create better-t-stack@latest
Follow the prompts to configure your project or use the --yes
flag for defaults.
Features
Category | Options |
---|---|
TypeScript | End-to-end type safety across all parts of your application |
Frontend | • React with TanStack Router • React with React Router • React with TanStack Start (SSR) • Next.js • SvelteKit • Nuxt (Vue) • SolidJS • React Native with NativeWind (via Expo) • React Native with Unistyles (via Expo) • None |
Backend | • Hono • Express • Elysia • Next.js API routes • Convex • Fastify • None |
API Layer | • tRPC (type-safe APIs) • oRPC (OpenAPI-compatible type-safe APIs) • None |
Runtime | • Bun • Node.js |
Database | • SQLite • PostgreSQL • MySQL • MongoDB • None |
ORM | • Drizzle (TypeScript-first) • Prisma (feature-rich) • Mongoose (for MongoDB) • None |
Database Setup | • Turso (SQLite) • Neon (PostgreSQL) • Prisma Postgres (via Prisma Accelerate) • MongoDB Atlas • None (manual setup) |
Authentication | Better-Auth (email/password, with more options coming soon) |
Styling | Tailwind CSS with shadcn/ui components |
Addons | • PWA support • Tauri (desktop applications) • Starlight (documentation site) • Biome (linting and formatting) • Husky (Git hooks) • Turborepo (optimized builds) |
Examples | • Todo app • AI Chat interface (using Vercel AI SDK) |
Developer Experience | • Automatic Git initialization • Package manager choice (npm, pnpm, bun) • Automatic dependency installation |
Usage
Usage: create-better-t-stack [project-directory] [options] Options: -V, --version Output the version number -y, --yes Use default configuration --database <type> Database type (none, sqlite, postgres, mysql, mongodb) --orm <type> ORM type (none, drizzle, prisma, mongoose) --auth Include authentication --no-auth Exclude authentication --frontend <types...> Frontend types (tanstack-router, react-router, tanstack-start, next, nuxt, svelte, solid, native-nativewind, native-unistyles, none) --addons <types...> Additional addons (pwa, tauri, starlight, biome, husky, turborepo, none) --examples <types...> Examples to include (todo, ai, none) --git Initialize git repository --no-git Skip git initialization --package-manager <pm> Package manager (npm, pnpm, bun) --install Install dependencies --no-install Skip installing dependencies --db-setup <setup> Database setup (turso, neon, prisma-postgres, mongodb-atlas, none) --backend <framework> Backend framework (hono, express, elysia, next, convex, fastify, none) --runtime <runtime> Runtime (bun, node, none) --api <type> API type (trpc, orpc, none) -h, --help Display help
Examples
Create a project with default configuration:
npx create-better-t-stack my-app --yes
Create a project with specific options:
npx create-better-t-stack my-app --database postgres --orm drizzle --auth --addons pwa biome
Create a project with Elysia backend and Node.js runtime:
npx create-better-t-stack my-app --backend elysia --runtime node
Create a project with multiple frontend options:
npx create-better-t-stack my-app --frontend tanstack-router native
Create a project with examples:
npx create-better-t-stack my-app --examples todo ai
Create a project with Turso database setup:
npx create-better-t-stack my-app --database sqlite --orm drizzle --db-setup turso
Create a project with Convex backend:
npx create-better-t-stack my-app --backend convex --frontend tanstack-router
Create a project with documentation site:
npx create-better-t-stack my-app --addons starlight
Compatibility Notes
- Convex backend: Automatically disables authentication, database, ORM, and API options
- Backend 'none': If selected, this option will force related options like API, ORM, database, authentication, and runtime to 'none'. Examples will also be disabled (set to none/empty).
- SvelteKit, Nuxt, and SolidJS frontends are only compatible with oRPC API layer
- PWA support requires React with TanStack Router, React Router, or SolidJS
- Tauri desktop app requires React (TanStack Router/React Router), Nuxt, SvelteKit, or SolidJS
- AI example is not compatible with Elysia backend or SolidJS frontend
Project Structure
The created project follows a clean monorepo structure:
my-better-t-app/ ├── apps/ │ ├── web/ # Frontend application │ ├── server/ # Backend API │ ├── native/ # (optional) Mobile application │ └── docs/ # (optional) Documentation site ├── packages/ # Shared packages └── README.md # Auto-generated project documentation
After project creation, you'll receive detailed instructions for next steps and additional setup requirements.
Sponsors
Add Package
deno add jsr:@amanv/create-better-t-stack
Import symbol
import * as create_better_t_stack from "@amanv/create-better-t-stack";
Import directly with a jsr specifier
import * as create_better_t_stack from "jsr:@amanv/create-better-t-stack";
Add Package
pnpm i jsr:@amanv/create-better-t-stack
pnpm dlx jsr add @amanv/create-better-t-stack
Import symbol
import * as create_better_t_stack from "@amanv/create-better-t-stack";
Add Package
yarn add jsr:@amanv/create-better-t-stack
yarn dlx jsr add @amanv/create-better-t-stack
Import symbol
import * as create_better_t_stack from "@amanv/create-better-t-stack";
Add Package
vlt install jsr:@amanv/create-better-t-stack
Import symbol
import * as create_better_t_stack from "@amanv/create-better-t-stack";
Add Package
npx jsr add @amanv/create-better-t-stack
Import symbol
import * as create_better_t_stack from "@amanv/create-better-t-stack";
Add Package
bunx jsr add @amanv/create-better-t-stack
Import symbol
import * as create_better_t_stack from "@amanv/create-better-t-stack";