Getting Started with Solo Kit
Learn how to set up and start building with Solo Kit, the modern React SaaS starter kit designed for production-ready applications.
Solo Kit is a comprehensive React SaaS starter kit that helps you build production-ready applications faster. With its modern tech stack and smart feature flags, you can start developing immediately without complex setup.
Quick Start
Get up and running in minutes:
# Clone your Solo Kit project
git clone <your-project-url>
cd your-project
# Install dependencies
pnpm install
# Set up PostgreSQL database (get free tier from neon.tech)
# Add DATABASE_URL to .env.local
# Initialize database
pnpm db:push
# Start development server
pnpm dev
Visit http://localhost:3000
to see your application running!
Project Structure
Solo Kit uses a monorepo structure that keeps your code organized:
├── apps/
│ ├── web/ # Next.js 15 web application
│ └── mobile/ # Expo React Native app
├── packages/
│ ├── ui/ # Shared UI components
│ ├── utils/ # Platform-agnostic utilities
│ └── database/ # Database layer with Drizzle ORM
Feature Flags System
One of Solo Kit's key features is its intelligent feature flag system:
- Database: PostgreSQL-first with providers like Neon, Supabase, Railway
- Auth: BetterAuth with secure defaults (always enabled)
- Email: Console logging in development, production-ready providers when configured
- Payments: Mock implementation → Stripe integration
Key Commands
# Development
pnpm dev # Start web app
pnpm dev:mobile # Start mobile app
pnpm dev:all # Start both apps
# Database
pnpm db:push # Push schema changes
pnpm db:studio # Open Drizzle Studio
pnpm db:seed # Seed with sample data
# Code Quality
pnpm lint # Lint all packages
pnpm type-check # TypeScript validation
pnpm test # Run test suite
pnpm ci # Full CI pipeline
Your First Feature
Let's add a simple feature to understand how Solo Kit works:
- Create a new component in
apps/web/components/features/
- Add routes in
apps/web/app/[locale]/
- Use the database with Drizzle ORM in
packages/database/
- Style with Tailwind and shadcn/ui components
Environment Setup
Copy .env.example
to .env.local
and configure your PostgreSQL database:
# Copy environment template
cp .env.example .env.local
# Add your PostgreSQL database URL
# Get a free database from neon.tech, supabase.com, or railway.app
DATABASE_URL=postgresql://username:password@host:5432/database
# Initialize database tables
pnpm db:push
Next Steps
- Explore the feature flags system in
config/features.ts
- Check out the database schema in
packages/database/src/schema/
- Visit
/debug
in development to see your feature flag status - Read the component documentation at
/documentation
Solo Kit is designed to grow with your project - start simple and scale up as needed!