Quick Start
TL;DR
bash
git clone -o seed -b main --single-branch \
https://github.com/kriasoft/react-starter-kit.git my-app
cd my-app && bun install && bun devPrerequisites
- Bun 1.3.0 or later
- A Cloudflare account (free tier works)
Node.js Optional
This project runs entirely on Bun. You don't need Node.js unless you're integrating with Node-specific tools.
Create Your Project
Option A: GitHub Template
- Go to github.com/kriasoft/react-starter-kit
- Click "Use this template" → "Create a new repository"
- Clone your new repository:
bash
git clone https://github.com/YOUR_USERNAME/YOUR_PROJECT.git
cd YOUR_PROJECT
bun installTIP
This creates a clean repository without the template's commit history.
Option B: Git Clone
Clone with a custom remote name so you can pull template updates later:
bash
git clone -o seed -b main --single-branch \
https://github.com/kriasoft/react-starter-kit.git my-app
cd my-app
bun installAdd your own repository as origin:
bash
git remote add origin https://github.com/YOUR_USERNAME/YOUR_PROJECT.git
git push -u origin mainTo pull template updates later:
bash
git fetch seed
git merge seed/mainWARNING
Review template updates carefully before merging – schema or config changes may need manual resolution.
Start the Dev Server
bash
bun devThis starts three services concurrently:
| Service | URL | Description |
|---|---|---|
| App | http://localhost:5173 | React SPA with hot reload |
| API | http://localhost:8787 | Hono + tRPC server |
| Web | http://localhost:4321 | Astro marketing site |
You can also start services individually:
bash
bun app:dev # React app only
bun api:dev # API server only
bun web:dev # Marketing site only
bun email:dev # Email template preview at http://localhost:3001Explore the Stack
- App at
http://localhost:5173– your React app with TanStack Router - API at
http://localhost:8787– tRPC endpoints - Database GUI – run
bun db:studioto open Drizzle Studio - Email preview – run
bun email:devfor template preview athttp://localhost:3001
Make It Yours
- Update branding in
apps/app/index.html - Edit the homepage at
apps/app/routes/(app)/index.tsx - Add API procedures in
apps/api/routers/ - Define data models in
db/schema/
Development Commands
bash
bun dev # Start all services concurrently
bun test # Run tests (Vitest, single run)
bun lint # ESLint with cache
bun typecheck # TypeScript type checking (tsc --build)
bun build # Production build: email → web → api → appINFO
After modifying tRPC routes, types update automatically – no manual sync needed. After editing db/schema/, run bun db:generate then bun db:push to apply changes.