Frequently Asked Questions
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:
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:
- Create a new Better-T-Stack project
- Gradually migrate your code
- 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:
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?
- Check Node.js version: Ensure you're using Node.js 18+
- Install dependencies: Run
npm install
in the project directory - Check environment variables: Copy
.env.example
to.env
and fill in values - Database setup: Run database migrations if using a database
- Check the README: Each project includes detailed setup instructions
I'm getting TypeScript errors. How do I fix them?
- Install dependencies: Ensure all packages are installed
- Restart TypeScript server: In VS Code, use Ctrl/Cmd + Shift + P → "TypeScript: Restart TS Server"
- Check imports: Ensure all imports are correct and packages are installed
- Update types: Run
npm run check-types
to see detailed errors
How do I update dependencies in my project?
# 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:
- Check environment variables: Update
EXPO_PUBLIC_SERVER_URL
inapps/native/.env
- Use your local IP: Replace
localhost
with your computer's IP address - Check firewall: Ensure your firewall allows connections on port 3000
- 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:
- Fork the repository and modify templates
- Create a feature request for specific customizations
- Modify the generated project after creation
How do I contribute to Better-T-Stack?
We welcome contributions! Here's how to get started:
- Fork the repository on GitHub
- Clone your fork locally
- Install dependencies:
pnpm install
- Make your changes and test them
- 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:
# 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
- 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?
- Search existing issues to avoid duplicates
- 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?
- Check existing feature requests in GitHub Issues
- Create a new issue with the "feature request" label
- Describe the feature and its use case
- 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 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:
npx create-better-t-stack@latest sponsors
Or visit: github.com/sponsors/AmanVarshney01
Still have questions? Feel free to ask in GitHub Discussions or check our documentation.