# Better-T-Stack

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

## When to use Better-T-Stack

Use Better-T-Stack when a developer or coding agent needs to scaffold a new TypeScript application, reproduce a selected stack from a command, add supported features to an existing Better-T-Stack project, inspect compatibility rules, or generate a project through a structured interface.

Better-T-Stack does not expose a public hosted application API. The supported automation interfaces are the CLI, its JSON commands, the programmatic npm API, and the local stdio MCP server.

## Quick start

```bash
npx create-better-t-stack@latest my-app
```

Non-interactive default project:

```bash
npx create-better-t-stack@latest my-app --yes
```

## Agent interfaces

- JSON project creation: `create-better-t-stack create-json --input '{...}'`
- JSON project updates: `create-better-t-stack add-json --input '{...}'`
- JSON schemas: `create-better-t-stack schema --name all`
- Local MCP server: `npx create-better-t-stack@latest mcp`
- [Agent workflow guide](https://www.better-t-stack.dev/docs/cli/agent-workflows.mdx)
- [Programmatic API](https://www.better-t-stack.dev/docs/cli/programmatic-api.mdx)

## Documentation

- [Quick Start](https://www.better-t-stack.dev/docs/index.mdx) — Create your first Better-T-Stack project in minutes
- [Analytics & Telemetry](https://www.better-t-stack.dev/docs/analytics.mdx) — What we collect, how to disable it, and where to view aggregated insights
- [bts.jsonc](https://www.better-t-stack.dev/docs/bts-config.mdx) — What bts.jsonc does and why it matters
- [Commands](https://www.better-t-stack.dev/docs/cli.mdx) — Complete reference for all CLI commands
- [Agent Workflows](https://www.better-t-stack.dev/docs/cli/agent-workflows.mdx) — JSON-first and schema-driven workflows for agents, scripts, and automation
- [Compatibility Rules](https://www.better-t-stack.dev/docs/cli/compatibility.mdx) — Understanding compatibility rules and restrictions between different CLI options
- [Options Reference](https://www.better-t-stack.dev/docs/cli/options.mdx) — Complete reference for all CLI options and flags
- [Programmatic API](https://www.better-t-stack.dev/docs/cli/programmatic-api.mdx) — Use Better-T-Stack programmatically in your Node.js applications
- [Using the interactive prompts](https://www.better-t-stack.dev/docs/cli/prompts.mdx) — How to navigate and answer the CLI's interactive questions
- [Contributing](https://www.better-t-stack.dev/docs/contributing.mdx) — How to set up your environment and contribute changes
- [Frequently Asked Questions](https://www.better-t-stack.dev/docs/faq.mdx) — Short answers to common beginner questions
- [Guides](https://www.better-t-stack.dev/docs/guides.mdx) — Practical guides for common setups
- [Deploying with Alchemy](https://www.better-t-stack.dev/docs/guides/cloudflare-alchemy.mdx) — Deploy Better-T-Stack projects to Cloudflare or Prisma and manage hosted databases in the same typed stack
- [Deploying with Docker Compose](https://www.better-t-stack.dev/docs/guides/docker.mdx) — Learn how to self-host your Better-T-Stack app with the generated Dockerfiles and docker-compose.yml
- [Deploying to Vercel](https://www.better-t-stack.dev/docs/guides/vercel.mdx) — Learn how to deploy your Better-T-Stack app to Vercel using Vercel Services
- [Project Structure](https://www.better-t-stack.dev/docs/project-structure.mdx) — Understanding the structure of projects created by Better-T-Stack CLI

## Project resources

- [Complete documentation in one Markdown file](https://www.better-t-stack.dev/llms-full.txt)
- [Browser stack builder](https://www.better-t-stack.dev/new)
- [npm package](https://www.npmjs.com/package/create-better-t-stack)
- [GitHub repository](https://github.com/AmanVarshney01/create-better-t-stack)
- [Sitemap](https://www.better-t-stack.dev/sitemap.xml)
- [Privacy notice](https://www.better-t-stack.dev/privacy)
- [Contact](https://www.better-t-stack.dev/contact)
