Skip to content

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 dev

Prerequisites

INFO

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

  1. Go to github.com/kriasoft/react-starter-kit
  2. Click "Use this template""Create a new repository"
  3. Clone your new repository:
bash
git clone https://github.com/YOUR_USERNAME/YOUR_PROJECT.git
cd YOUR_PROJECT
bun install

TIP

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 install

Add your own repository as origin:

bash
git remote add origin https://github.com/YOUR_USERNAME/YOUR_PROJECT.git
git push -u origin main

Keep Template Updates

Run the repository's merge-seed skill when you want to bring newer React Starter Kit changes into your project (/merge-seed in Claude Code or $merge-seed in Codex). It adds the seed remote if needed, reviews the upstream commits, merges them on a dedicated branch, preserves your product-specific behavior and configuration, and runs the project checks before landing the result.

Commit or stash your work first – the workflow requires a clean working tree. This works whether you started from the GitHub template or cloned with -o seed.

WARNING

Treat upstream migrations and changes to live-data semantics as decisions, not routine conflicts. The skill stops and asks for direction instead of guessing in those cases.

Start the Dev Server

bash
bun dev

This starts three services concurrently:

ServiceURLDescription
Apphttp://localhost:5173React SPA with hot reload
APIhttp://localhost:8787Hono + tRPC server
Webhttp://localhost:4321Astro 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:3001

Explore 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:studio to open Drizzle Studio
  • Email preview – run bun email:dev for template preview at http://localhost:3001

Make It Yours

  1. Update branding in apps/app/index.html
  2. Edit the homepage at apps/app/routes/(app)/index.tsx
  3. Add API procedures in apps/api/routers/
  4. Define data models in db/schema/

Development Commands

bash
bun dev          # Start all services concurrently
bun run test --run  # Run tests once (drop --run to watch)
bun lint         # ESLint with cache
bun typecheck    # TypeScript type checking (tsc --build)
bun run build    # Production build for all deployable workspaces

INFO

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.