--- title: Frequently Asked Questions description: Common questions and answers about Better-T-Stack CLI --- ## General Questions ### What is Better-T-Stack? Better-T-Stack is a modern CLI tool that helps you scaffold end-to-end type-safe TypeScript projects. It provides opinionated, production-ready configurations for full-stack applications with support for multiple frontend frameworks, backend frameworks, databases, and deployment options. ### How is Better-T-Stack different from other scaffolding tools? - **End-to-End Type Safety**: TypeScript across your entire stack with proper type sharing - **Modern Stack Focus**: Latest versions of popular frameworks and tools - **Production Ready**: Configurations used in real production applications - **Highly Customizable**: Mix and match technologies based on your needs - **Monorepo Structure**: Organized project structure with shared packages - **Database Integration**: Built-in database setup and ORM configuration - **Authentication**: Integrated auth with Better-Auth - **Multi-Platform**: Web, mobile, and desktop app support in one project ### Is Better-T-Stack free to use? Yes, Better-T-Stack is completely free and open-source under the MIT license. You can use it for personal and commercial projects without any restrictions. ### Do I need to know all these technologies to use Better-T-Stack? No! Better-T-Stack is designed to help you learn modern full-stack development. Each generated project includes: - Comprehensive README with setup instructions - Example code and patterns - TypeScript for better developer experience - Best practices and folder structure --- ## Installation & Setup ### Which package manager should I use? You can use any of the major package managers: - **npm**: Most widely supported, comes with Node.js - **pnpm**: Faster installs, better disk space efficiency - **bun**: All-in-one runtime, extremely fast For monorepo projects, we recommend **pnpm** for its excellent workspace support. ### Do I need to install the CLI globally? No, you can use npx to run the latest version without installation: ```bash npx create-better-t-stack@latest my-project ``` This ensures you always use the latest version with the newest features and bug fixes. ### What Node.js version do I need? Better-T-Stack requires **Node.js 18 or higher**. We recommend using the latest LTS version for the best experience. ### Can I use Better-T-Stack with existing projects? Better-T-Stack is designed for new projects. For existing projects, you can: 1. Create a new Better-T-Stack project 2. Gradually migrate your code 3. Use the `add` command to add specific features to existing Better-T-Stack projects --- ## Configuration & Stack Choices ### Can I change my stack choices after creating a project? Some changes are possible: - **Easy**: Add addons, examples, or deployment configurations using the `add` command - **Medium**: Switch between compatible ORMs or databases (requires manual migration) - **Hard**: Change frontend/backend frameworks (requires significant refactoring) It's best to plan your stack carefully during initial setup. ### What's the difference between tRPC and oRPC? - **tRPC**: End-to-end type safety with TypeScript inference, great for TypeScript-only projects - **oRPC**: OpenAPI-compatible type-safe APIs, better for teams using multiple languages or requiring OpenAPI specs Both provide excellent type safety, choose based on your team's needs. ### Should I use Drizzle or Prisma? - **Drizzle**: TypeScript-first, lightweight, great for edge deployments, SQL-like syntax - **Prisma**: Feature-rich, mature ecosystem, great tooling, GraphQL-like schema Choose Drizzle for modern TypeScript projects and Prisma for feature-rich applications. ### What's the recommended stack for beginners? For beginners, we recommend: ```bash npx create-better-t-stack@latest my-first-project \ --frontend tanstack-router \ --backend hono \ --database sqlite \ --orm drizzle \ --auth \ --addons turborepo biome ``` This provides a simple but powerful full-stack setup that's easy to understand and deploy. --- ## Compatibility Questions ### Can I use MongoDB with Drizzle? No, Drizzle doesn't support MongoDB. For MongoDB, use: - **Prisma ORM**: Full ORM support for MongoDB - **Mongoose**: Traditional MongoDB object modeling ### Why can't I use tRPC with Nuxt/SvelteKit/SolidJS? tRPC is primarily designed for React ecosystems. For these frameworks, use: - **oRPC**: Provides similar type safety with broader framework support - **None**: Use the framework's built-in API capabilities ### Can I use Cloudflare Workers with any backend? Cloudflare Workers runtime only supports: - **Backend**: Hono only - **Database**: SQLite with Cloudflare D1 - **ORM**: Drizzle only This is due to the serverless nature and limitations of the Workers environment. ### Which addons work with which frontends? | Addon | Compatible Frontends | |-------|---------------------| | PWA | TanStack Router, React Router, SolidJS, Next.js | | Tauri | TanStack Router, React Router, Nuxt, SvelteKit, SolidJS, Next.js | | Turborepo | All frontends | | Biome | All frontends | | Husky | All frontends | | Starlight | All frontends | --- ## Database & Hosting ### What database should I choose for production? **For small to medium applications:** - **SQLite + Turso**: Excellent performance, easy scaling - **PostgreSQL + Neon**: Serverless PostgreSQL, great for startups **For large applications:** - **PostgreSQL + Supabase**: Full backend-as-a-service - **MongoDB + Atlas**: NoSQL flexibility with managed hosting ### Do I need Docker for development? Docker is optional and only required for: - **Database Setup**: If you choose `--db-setup docker` - **Local Development**: Some setups like Supabase local development Many database options (Turso, Neon, MongoDB Atlas) don't require Docker. ### How do I deploy my Better-T-Stack application? Better-T-Stack projects are configured for easy deployment: **Frontend:** - **Vercel**: Zero-config deployment for Next.js, React apps - **Netlify**: Static site deployment - **Cloudflare Workers**: Edge deployment with `--web-deploy workers` **Backend:** - **Railway**: Easy backend deployment - **Fly.io**: Global application deployment - **Cloudflare Workers**: Serverless edge deployment --- ## Development & Troubleshooting ### My project won't start after creation. What should I do? 1. **Check Node.js version**: Ensure you're using Node.js 18+ 2. **Install dependencies**: Run `npm install` in the project directory 3. **Check environment variables**: Copy `.env.example` to `.env` and fill in values 4. **Database setup**: Run database migrations if using a database 5. **Check the README**: Each project includes detailed setup instructions ### I'm getting TypeScript errors. How do I fix them? 1. **Install dependencies**: Ensure all packages are installed 2. **Restart TypeScript server**: In VS Code, use Ctrl/Cmd + Shift + P → "TypeScript: Restart TS Server" 3. **Check imports**: Ensure all imports are correct and packages are installed 4. **Update types**: Run `npm run check-types` to see detailed errors ### How do I update dependencies in my project? ```bash # Check for updates npx taze -r # Update all dependencies npm update # Or with other package managers pnpm update bun update ``` ### Can I use Better-T-Stack with VS Code? Yes! Better-T-Stack projects work excellently with VS Code. We recommend these extensions: - TypeScript and JavaScript Language Features (built-in) - Tailwind CSS IntelliSense - Prisma or Drizzle Kit extensions - ESLint (if using Biome addon) ### My mobile app won't connect to the backend. What's wrong? This is a common issue with Expo and local development: 1. **Check environment variables**: Update `EXPO_PUBLIC_SERVER_URL` in `apps/native/.env` 2. **Use your local IP**: Replace `localhost` with your computer's IP address 3. **Check firewall**: Ensure your firewall allows connections on port 3000 4. **Use tunnel**: Consider using `npx expo start --tunnel` --- ## Advanced Usage ### Can I customize the generated templates? Currently, Better-T-Stack doesn't support custom templates, but you can: 1. Fork the repository and modify templates 2. Create a feature request for specific customizations 3. Modify the generated project after creation ### How do I contribute to Better-T-Stack? We welcome contributions! Here's how to get started: 1. **Fork the repository** on GitHub 2. **Clone your fork** locally 3. **Install dependencies**: `pnpm install` 4. **Make your changes** and test them 5. **Submit a pull request** with a clear description ### Can I use Better-T-Stack in my company/team? Absolutely! Better-T-Stack is perfect for: - **Standardizing project structure** across teams - **Onboarding new developers** with consistent setup - **Rapid prototyping** and MVP development - **Client projects** with proven, production-ready configurations ### How do I disable telemetry? Better-T-Stack collects anonymous usage data to improve the tool. To disable: ```bash # Disable for single run BTS_TELEMETRY_DISABLED=1 npx create-better-t-stack@latest my-app # Disable globally export BTS_TELEMETRY_DISABLED=1 ``` Add the export to your shell profile (`.bashrc`, `.zshrc`, etc.) to make it permanent. --- ## Getting Help ### Where can I get help? - **Documentation**: Comprehensive guides at [better-t-stack.dev/docs](https://better-t-stack.dev/docs) - **GitHub Issues**: Report bugs or request features - **GitHub Discussions**: Community support and questions - **Discord/Twitter**: Follow for updates and community discussion ### How do I report a bug? 1. **Search existing issues** to avoid duplicates 2. **Create a new issue** with: - Clear description of the problem - Steps to reproduce - Your system information (OS, Node.js version, etc.) - Generated project configuration - Error messages or screenshots ### How do I request a new feature? 1. **Check existing feature requests** in GitHub Issues 2. **Create a new issue** with the "feature request" label 3. **Describe the feature** and its use case 4. **Explain why** it would benefit the community ### Is there a community? Yes! You can connect with other Better-T-Stack users: - **GitHub Discussions**: Ask questions and share projects - **Twitter**: Follow [@AmanVarshney01](https://twitter.com/AmanVarshney01) for updates - **Show your projects**: Tag us when you build something with Better-T-Stack! --- ## Sponsorship & Support ### How can I support Better-T-Stack? - **⭐ Star the repository** on GitHub - **🐛 Report bugs** and suggest improvements - **💰 Sponsor the project** on GitHub Sponsors - **📢 Share with others** who might find it useful - **🤝 Contribute code** or documentation ### Who sponsors Better-T-Stack? View current sponsors by running: ```bash npx create-better-t-stack@latest sponsors ``` Or visit: [github.com/sponsors/AmanVarshney01](https://github.com/sponsors/AmanVarshney01) --- *Still have questions? Feel free to ask in [GitHub Discussions](https://github.com/AmanVarshney01/create-better-t-stack/discussions) or check our [documentation](https://better-t-stack.dev/docs).*