--- title: Commands description: Complete reference for all CLI commands --- ## Overview The Better-T Stack CLI provides several commands to manage your TypeScript projects. ## `init` (Default Command) Creates a new Better-T Stack project. ```bash create-better-t-stack [project-directory] [options] ``` ### Parameters - `project-directory` (optional): Name or path for your project directory ### Key Options - `--yes, -y`: Use default configuration (skips prompts) - `--verbose`: Show detailed result information as JSON - `--yolo`: Bypass validations and compatibility checks - `--package-manager `: `npm`, `pnpm`, `bun` - `--install / --no-install`: Install dependencies after creation - `--git / --no-git`: Initialize Git repository - `--frontend `: Web and/or native frameworks (see [Options](/docs/cli/options#frontend)) - `--backend `: `hono`, `express`, `fastify`, `elysia`, `next`, `convex`, `none` - `--runtime `: `bun`, `node`, `workers` (`none` only with `--backend convex` or `--backend none`) - `--database `: `none`, `sqlite`, `postgres`, `mysql`, `mongodb` - `--orm `: `none`, `drizzle`, `prisma`, `mongoose` - `--api `: `none`, `trpc`, `orpc` - `--db-setup `: `none`, `turso`, `d1`, `neon`, `supabase`, `prisma-postgres`, `mongodb-atlas`, `docker` - `--examples `: `none`, `todo`, `ai` - `--web-deploy `: `none`, `workers` - `--directory-conflict `: `merge`, `overwrite`, `increment`, `error` - `--render-title / --no-render-title`: Show/hide ASCII art title See the full reference in [Options](/docs/cli/options). ### Examples ```bash # Default setup with prompts create-better-t-stack # Quick setup with defaults create-better-t-stack --yes # Specific configuration create-better-t-stack --database postgres --backend hono --frontend tanstack-router ``` ## `add` Adds addons or deployment configurations to an existing Better-T Stack project. ```bash create-better-t-stack add [options] ``` ### Options - `--addons `: Addons to add (see [Addons](/docs/cli/options#addons)) - `--web-deploy `: Web deployment setup (`workers`, `none`) - `--project-dir `: Project directory (defaults to current directory) - `--install`: Install dependencies after adding - `--package-manager `: Package manager to use ### Examples ```bash # Add addons interactively create-better-t-stack add # Add specific addons create-better-t-stack add --addons pwa tauri --install # Add deployment setup create-better-t-stack add --web-deploy workers ``` ## `sponsors` Displays Better-T Stack sponsors. ```bash create-better-t-stack sponsors ``` Shows a list of project sponsors and supporters. ## `docs` Opens the Better-T Stack documentation in your default browser. ```bash create-better-t-stack docs ``` Opens `https://better-t-stack.dev/docs` in your browser. ## `builder` Opens the web-based stack builder in your default browser. ```bash create-better-t-stack builder ``` Opens `https://better-t-stack.dev/new` where you can configure your stack visually. ## Global Options These options work with any command: - `--help, -h`: Display help information - `--version, -V`: Display CLI version ## Command Examples ### Create a Full-Stack App ```bash create-better-t-stack \ --database postgres \ --orm drizzle \ --backend hono \ --frontend tanstack-router \ --auth \ --addons pwa biome ``` ### Create a Backend-Only Project ```bash create-better-t-stack api-server \ --frontend none \ --backend hono \ --database postgres \ --orm drizzle \ --api trpc ``` ### Add Features to Existing Project ```bash cd my-existing-project create-better-t-stack add --addons tauri starlight --install ``` ## Programmatic Usage For advanced use cases, automation, or integration with other tools, you can use the [Programmatic API](/docs/cli/programmatic-api) to create projects from Node.js code: ```typescript import { init } from "create-better-t-stack"; // Create multiple projects programmatically const projects = [ { name: "api", config: { frontend: ["none"], backend: "hono" } }, { name: "web", config: { frontend: ["next"], backend: "none" } } ]; for (const { name, config } of projects) { const result = await init(name, { yes: true, ...config, directoryConflict: "increment" }); console.log(result.success ? `✅ ${name}` : `❌ ${name}: ${result.error}`); } ``` This is useful for: - **Build tools and generators** - Create projects from templates - **CI/CD pipelines** - Generate test projects automatically - **Development workflows** - Batch create related projects - **Custom tooling** - Integrate with your existing development setup See the [Programmatic API documentation](/docs/cli/programmatic-api) for complete examples and API reference.