A production-ready monorepo template built with Turborepo, featuring a React web application, API server, and shared packages. Perfect for building scalable full-stack applications with modern tooling.
npx create-hono-react-monorepo
Get started in seconds with our interactive CLI tool! It will scaffold the entire monorepo with your custom configuration.
project/
├── apps/
│ ├── web/ # React web application
│ └── api/ # Hono API server
├── packages/
│ ├── database/ # Database schema and migrations
│ ├── shared/ # Shared types and utilities
│ └── config/ # Environment configuration
├── turbo.json # Turborepo configuration
└── package.json # Root package.json
The fastest way to get started is using our CLI tool:
npx create-hono-react-monorepo
This will: - Prompt you for a project name and organization name - Download and configure the template - Set up your monorepo with custom package names - Optionally install dependencies
Alternative package managers:
# Using npm
npm create hono-react-monorepo
# Using bun
bunx create-hono-react-monorepo
After creation:
cd your-project-name
cp env.example .env
# Edit .env with your database URL and secrets
bun run dev
If you prefer to clone the repository directly:
# Clone the repository
git clone https://github.com/JuanPabloGilA/hono-react-boilerplate.git
cd hono-react-boilerplate
# Install dependencies
bun install
# Set up environment variables
cp env.example .env
# Edit .env with your database URL and other secrets
# Start all apps in development mode
bun run dev
# Start specific app
bun run dev --filter=@your-org/web
bun run dev --filter=@your-org/api
# Build all apps
bun run build
# Run linting
bun run lint
# Type checking
bun run type-check
# Generate migrations
bun run db:generate
# Push schema changes
bun run db:push
# Run migrations
bun run db:migrate
apps/web)apps/api)packages/database)packages/shared)packages/config)bun run dev - Start all apps in development modebun run build - Build all apps for productionbun run lint - Lint all packages with Biomebun run lint:fix - Fix linting issues automaticallybun run format - Format code with Biomebun run type-check - Type check all packagesbun run clean - Clean all build artifactsIf using the CLI (recommended): The CLI automatically handles package naming and setup. You only need to:
.env.example to .env and configure your settingsapps/api/lib/auth.tsIf manually cloning:
1. Update package names: Change @your-org in all package.json files to your organization name
2. Environment variables: Copy .env.example to .env and configure your settings
3. Database: Set up your PostgreSQL database and update the connection string
4. Authentication: Configure Better Auth providers in apps/api/lib/auth.ts
5. Optional services: Set up OpenAI and Resend if you need AI or email functionality
bun run type-check to ensure type safetybun run lint to check code qualitybun run devThis template includes deployment configuration for:
- Coolify: Ready-to-deploy with nixpacks.toml
- Docker: Multi-stage Dockerfile for production builds
- Self-hosting: Optimized for VPS deployment
This template can be scaffolded using our CLI tool: create-hono-react-monorepo
npx create-hono-react-monorepo
The CLI provides: - Interactive prompts for project configuration - Automatic package namespace replacement - Optional dependency installation - Beautiful terminal UI with progress indicators
Contributions are welcome! Feel free to open issues or submit pull requests.
MIT License - feel free to use this template for your projects!
$ claude mcp add hono-react-boilerplate \
-- python -m otcore.mcp_server <graph>