diff --git a/README.md b/README.md index d621e62..c156163 100644 --- a/README.md +++ b/README.md @@ -1,37 +1,42 @@ # Better-T-Stack -Better-T-Stack is a project scaffolding system for creating modern TypeScript applications with complete type safety from frontend to backend. - -## Repository Structure - -This repository is organized as a monorepo containing: - -- **CLI**: [`create-better-t-stack`](apps/cli) - A scaffolding CLI that creates type-safe TypeScript projects -- **Documentation**: [`web`](apps/web) - The official website and documentation +A modern CLI tool for scaffolding end-to-end type-safe TypeScript projects with best practices and customizable configurations ## Quick Start ```bash # Using npm -npx create-better-t-stack my-app +npx create-better-t-stack@latest # Using bun -bunx create-better-t-stack my-app +bun create better-t-stack@latest + +# Using pnpm +pnpm create better-t-stack@latest ``` ## Features -- 🚀 Fast project setup with interactive CLI -- 📦 Complete TypeScript type safety from database to frontend -- 🗄️ Multiple database options (libSQL/PostgreSQL) -- 🧩 Choice of ORMs (Drizzle or Prisma) -- 🔒 Built-in authentication with Better-Auth -- 🐳 Optional Docker configuration -- 🔄 Optional GitHub Actions workflows +- ⚡️ **Zero-config setup** with interactive CLI wizard +- 🔄 **End-to-end type safety** from database to frontend via tRPC +- 🧱 **Modern stack** with React, Hono/Elysia, and TanStack libraries +- 🗃️ **Database flexibility** with SQLite (Turso) or PostgreSQL options +- 🛠️ **ORM choice** between Drizzle or Prisma +- 🔒 **Built-in authentication** with Better-Auth +- 📱 **Optional PWA support** for mobile-friendly applications +- 🖥️ **Desktop app capabilities** with Tauri integration +- 📦 **Monorepo architecture** powered by Turborepo + +## Repository Structure + +This repository is organized as a monorepo containing: + +- **CLI**: [`create-better-t-stack`](apps/cli) - The scaffolding CLI tool +- **Documentation**: [`web`](apps/web) - Official website and documentation ## Documentation -Visit [better-t-stack.pages.dev](https://better-t-stack.pages.dev) for full documentation. +Visit [better-t-stack.pages.dev](https://better-t-stack.pages.dev) for full documentation, guides, and examples. ## Development @@ -42,6 +47,15 @@ git clone https://github.com/better-t-stack/create-better-t-stack.git # Install dependencies bun install -# Start development -bun dev +# Start CLI development +bun dev:cli + +# Start website development +bun dev:web ``` + +## Contributing + +Contributions are welcome! Please feel free to submit a Pull Request. + +Created by [Aman Varshney](https://github.com/AmanVarshney01) & [Nitish Singh](https://github.com/FgrReloaded) diff --git a/apps/cli/README.md b/apps/cli/README.md index 544384b..a2fbbb4 100644 --- a/apps/cli/README.md +++ b/apps/cli/README.md @@ -1,24 +1,30 @@ # Create Better-T-Stack CLI -An interactive CLI tool to quickly scaffold full-stack TypeScript applications with React, Hono, and tRPC. The Better-T-Stack provides a modern, type-safe development experience with the best tools from the TypeScript ecosystem. +An interactive CLI tool to quickly scaffold full-stack TypeScript applications with a choice of modern backend frameworks (Hono or Elysia) and tRPC. The Better-T-Stack provides a type-safe development experience with the best tools from the TypeScript ecosystem. ## Quick Start Run without installing globally: ```bash +# Using npm npx create-better-t-stack@latest -# OR -bunx create-better-t-stack + +# Using bun +bun create better-t-stack@latest + +# Using pnpm +pnpm create better-t-stack@latest ``` -Follow the prompts to configure your project. +Follow the prompts to configure your project or use the `-y` 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 -- **Backend**: Hono, tRPC +- **Backend Frameworks**: Choose between Hono 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, or no database - **ORM Selection**: Choose between Drizzle ORM or Prisma @@ -36,33 +42,35 @@ Follow the prompts to configure your project. Usage: create-better-t-stack [project-directory] [options] Options: - -V, --version Output the version number - -y, --yes Use default configuration - --no-database Skip database setup - --sqlite Use SQLite database - --postgres Use PostgreSQL database - --auth Include authentication - --no-auth Disable authentication - --pwa Include Progressive Web App support - --tauri Include Tauri desktop app support - --biome Include Biome for linting and formatting - --husky Include Husky, lint-staged for Git hooks - --no-addons Skip all additional addons - --examples Include specified examples - --no-examples Skip all examples - --git Initialize a new git repo (default) - --no-git Skip git initialization - --npm Use npm as package manager - --pnpm Use pnpm as package manager - --bun Use bun as package manager - --drizzle Use Drizzle ORM - --prisma Use Prisma ORM - --install Install dependencies (default) - --no-install Skip installing dependencies - --turso Set up Turso for SQLite database (default with sqlite) - --no-turso Skip Turso setup for SQLite database - --runtime Specify runtime (bun or node) - -h, --help Display help + -V, --version Output the version number + -y, --yes Use default configuration + --no-database Skip database setup + --sqlite Use SQLite database + --postgres Use PostgreSQL database + --auth Include authentication + --no-auth Exclude authentication + --pwa Include Progressive Web App support + --tauri Include Tauri desktop app support + --biome Include Biome for linting and formatting + --husky Include Husky, lint-staged for Git hooks + --no-addons Skip all additional addons + --examples Include specified examples + --no-examples Skip all examples + --git Include git setup (default) + --no-git Skip git initialization + --npm Use npm as package manager + --pnpm Use pnpm as package manager + --bun Use bun as package manager + --drizzle Use Drizzle ORM + --prisma Use Prisma ORM + --install Install dependencies (default) + --no-install Skip installing dependencies + --turso Set up Turso for SQLite database + --no-turso Skip Turso setup for SQLite database + --hono Use Hono backend framework (default) + --elysia Use Elysia backend framework + --runtime Specify runtime (bun or node) + -h, --help Display help ``` ## Examples @@ -74,16 +82,17 @@ npx create-better-t-stack my-app -y Create a project with specific options: ```bash -npx create-better-t-stack my-app --postgres --prisma --auth --pwa --biome +npx create-better-t-stack my-app --postgres --drizzle --auth --pwa --biome ``` -Create a project with Node.js runtime: +Create a project with Elysia and Node.js runtime: ```bash -npx create-better-t-stack my-app --runtime node +npx create-better-t-stack my-app --elysia --runtime node ``` -## License - -MIT +Create a project using Hono with no addons: +```bash +npx create-better-t-stack my-app --hono --no-addons +``` Created by [Aman Varshney](https://github.com/AmanVarshney01) & [Nitish Singh](https://github.com/FgrReloaded)