General Questions
What is ZeroStarter?
What is ZeroStarter?
Is ZeroStarter production-ready?
Is ZeroStarter production-ready?
What's included in ZeroStarter?
What's included in ZeroStarter?
- Frontend: Next.js 16 with React 19
- Backend: Hono API with end-to-end type safety
- Database: PostgreSQL with Drizzle ORM
- Authentication: Better Auth with GitHub and Google OAuth
- Analytics: PostHog for product analytics and session recordings
- UI Components: Shadcn UI with Tailwind CSS
- API Documentation: Scalar with auto-generated OpenAPI specs
- Deployment: Docker and Vercel configurations
What license is ZeroStarter under?
What license is ZeroStarter under?
Who maintains ZeroStarter?
Who maintains ZeroStarter?
Getting Started
Do I need to know TypeScript?
Do I need to know TypeScript?
What are the prerequisites for running ZeroStarter?
What are the prerequisites for running ZeroStarter?
- Bun v1.3.0 or later (runtime and package manager)
- PostgreSQL database (local or hosted)
- Node.js knowledge and basic understanding of React
- Git for version control
- GitHub and Google OAuth apps for authentication
- PostHog account for analytics
Can I use npm or yarn instead of Bun?
Can I use npm or yarn instead of Bun?
- It’s significantly faster than npm/yarn
- The project is configured and tested with Bun
- Some scripts and configurations are Bun-specific
How long does it take to set up?
How long does it take to set up?
- Cloning the repository (1 minute)
- Installing dependencies (2-3 minutes)
- Setting up environment variables (5-10 minutes)
- Database setup (5 minutes)
- Configuring OAuth providers (5-10 minutes)
Technical Questions
How does the type-safe API work?
How does the type-safe API work?
- Backend routes are defined in
api/hono/src/routersand exported asAppType - Frontend client at
web/next/src/lib/api/client.tsinfers types usinghono/client - Requests and responses are fully typed with autocomplete
- Errors are caught at compile time, not runtime
What database does ZeroStarter use?
What database does ZeroStarter use?
- Type-safe database queries
- Automatic migrations
- Schema management
- Excellent TypeScript support
POSTGRES_URL environment variable.Can I use a different database?
Can I use a different database?
- Updating the database configuration in
packages/db - Modifying the Drizzle adapter
- Regenerating migrations
- Testing authentication flows
How do I add new API routes?
How do I add new API routes?
- Create a new router file in
api/hono/src/routers/ - Define your routes with Zod validation
- Export the router and add it to
api/hono/src/index.ts - The frontend client automatically gets type inference
What styling approach does ZeroStarter use?
What styling approach does ZeroStarter use?
- Tailwind CSS for utility-first styling
- Shadcn UI for pre-built accessible components
- CSS Variables for theming (light/dark mode)
- next-themes for theme management
Development & Deployment
How do I run the development server?
How do I run the development server?
- Frontend:
http://localhost:3000 - Backend:
http://localhost:4000 - API Docs:
http://localhost:4000/api/docs
Can I deploy to Vercel?
Can I deploy to Vercel?
- Push your code to GitHub
- Import the project in Vercel
- Configure environment variables
- Deploy both
web/nextandapi/hono
Does ZeroStarter support Docker?
Does ZeroStarter support Docker?
How do I handle database migrations?
How do I handle database migrations?
packages/db/drizzle and can be version controlled.What scripts are available?
What scripts are available?
package.json.Features & Customization
How do I add authentication providers?
How do I add authentication providers?
- Already configured: GitHub, Google
- Easy to add: Discord, Facebook, Twitter, etc.
- Configure the OAuth app with the provider
- Add credentials to
.env - Update
packages/auth/src/index.ts - Add the sign-in button to the frontend
Is authentication required for all routes?
Is authentication required for all routes?
- Public routes don’t require authentication
- Protected routes use middleware to check auth status
- API routes can be public or protected
How do I customize the UI?
How do I customize the UI?
web/next/src/components/ui/. You can:- Modify existing components directly
- Update Tailwind config for global styling
- Change theme colors in CSS variables
- Add new Shadcn components:
What analytics features are available?
What analytics features are available?
- Product analytics: User behavior, page views, custom events
- Feature flags: A/B testing and gradual rollouts
- Session recordings: Watch user sessions to identify issues
- Funnels & retention: Analyze user journeys
NEXT_PUBLIC_POSTHOG_KEY in .env.Can I add email functionality?
Can I add email functionality?
- Resend (High priority)
- SendGrid (Medium priority)
- Transactional emails (auth, notifications)
- Email templates with React components
- Webhook handling
How do I add payment processing?
How do I add payment processing?
- Stripe (High priority) - Subscriptions and one-time payments
- Lemon Squeezy (Medium priority) - Simplified payments with tax handling
- Paddle (Medium priority) - Merchant of record
- Other providers (Lower priority) - Razorpay, Polar, etc.
Troubleshooting
Installation fails - what should I do?
Installation fails - what should I do?
bun install fails:-
Try with
--ignore-scriptsflag: -
Clear Bun cache:
-
Ensure you’re using Bun v1.3.0 or later:
Database connection errors?
Database connection errors?
- Invalid connection string: Check
POSTGRES_URLformat in.env - Database not running: Ensure PostgreSQL is running
- Firewall issues: Check network/firewall settings
- SSL required: Some providers require
?sslmode=requirein connection string
Type errors in the frontend?
Type errors in the frontend?
-
Ensure backend is built:
-
Check types:
- Restart TypeScript server in your IDE
-
Verify
AppTypeis exported fromapi/hono/src/index.ts
Contributing
How can I contribute?
How can I contribute?
- Code contribution process
- Pull request guidelines
- Code style and conventions
- Testing requirements
Where can I get help?
Where can I get help?
- Documentation: zerostarter.dev/docs
- GitHub Issues: Report bugs or ask questions
- AI/LLM Docs: llms.txt for AI assistants
- Twitter/X: Follow @nrjdalal for updates
Can I use ZeroStarter for client projects?
Can I use ZeroStarter for client projects?
- Use it for commercial projects
- Modify it as needed
- Use it for client work
- Build and sell products based on it