UNPKG

create-better-t-stack

Version:

A modern CLI tool for scaffolding end-to-end type-safe TypeScript projects with best practices and customizable configurations

104 lines (83 loc) 3.81 kB
# 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: ```bash # 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 - **Monorepo**: Turborepo for optimized build system and workspace management - **Frontend**: React, TanStack Router, TanStack Query, Tailwind CSS with shadcn/ui components - **Native Apps**: Create React Native apps with Expo for iOS and Android - **Backend Frameworks**: Choose between Hono, Express, or Elysia - **API Layer**: End-to-end type safety with tRPC - **Runtime Options**: Choose between Bun or Node.js for your server - **Database Options**: SQLite (via Turso), PostgreSQL, MongoDB, or no database - **ORM Selection**: Choose between Drizzle ORM or Prisma - **Authentication**: Optional auth setup with Better-Auth - **Progressive Web App**: Add PWA support with service workers and installable apps - **Desktop Apps**: Build native desktop apps with Tauri integration - **Documentation**: Add an Astro Starlight documentation site to your project - **Code Quality**: Biome for linting and formatting - **Git Hooks**: Husky with lint-staged for pre-commit checks - **Examples**: Todo app with full CRUD functionality, AI Chat using AI SDK - **Developer Experience**: Git initialization, various package manager support (npm, pnpm, bun) ## Usage ```bash 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) --auth Include authentication --no-auth Exclude authentication --frontend <types...> Frontend types (tanstack-router, react-router, tanstack-start, native, none) --addons <types...> Additional addons (pwa, tauri, starlight, biome, husky, none) --examples <types...> Examples to include (todo, ai) --no-examples Skip all examples --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, prisma-postgres, mongodb-atlas, none) --backend <framework> Backend framework (hono, express, elysia) --runtime <runtime> Runtime (bun, node) -h, --help Display help ``` ## Examples Create a project with default configuration: ```bash npx create-better-t-stack my-app --yes ``` Create a project with specific options: ```bash npx create-better-t-stack my-app --database postgres --orm drizzle --auth --addons pwa biome ``` Create a project with Elysia and Node.js runtime: ```bash npx create-better-t-stack my-app --backend elysia --runtime node ``` Create a project with specific frontend options: ```bash npx create-better-t-stack my-app --frontend tanstack-router native ``` Create a project with examples: ```bash npx create-better-t-stack my-app --examples todo ai ``` Create a project with Turso database setup: ```bash npx create-better-t-stack my-app --db-setup turso ``` Create a project with documentation site: ```bash npx create-better-t-stack my-app --addons starlight ```