mirror of
https://github.com/FranP-code/create-better-t-stack.git
synced 2025-10-12 23:52:15 +00:00
335 lines
11 KiB
Plaintext
335 lines
11 KiB
Plaintext
---
|
|
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).*
|