A starter project for building a pnpm monorepo with a client-side React SPA and a server-side Cloudflare Worker with KV storage. This project includes comprehensive testing, linting, and CI/CD setup, along with Sentry integration for error tracking.
- React SPA for the client-side application
- Tailwind CSS for styling
- Tanstack Query for client http request state management
- Hono server-side api framework
- Prettier for code formatting
- ESLint for linting
- Vitest for unit testing
- Playwright for end-to-end testing
- TypeScript for type checking
- Cloudflare Pages for hosting the client, Worker with KV storage for hosting the server
- GitHub workflows for CI and staging deployment
- Sentry integration for client-side error tracking
- pnpm for performant monorepo package management
- Ensure you're using the correct version of Node:
nvm use 22.9.0
- If necessary, install the correct version of pnpm:
npm i -g pnpm@9
- Run the installation script:
pnpm create react-spa-cloudflare@latest my-app
- Check the console output for any warnings. The command will succeed unless the initial download fails.
- Navigate to your project directory and start the development server:
cd my-app
pnpm run dev
- Navigate to the app at http://localhost:5173
- You should see some hello text, components, and verified server connection
- Follow your project's README for further setup instructions
If you encounter an ENOENT error when running the create command, make sure to include a version:
# ❌ Wrong! It's missing a version
pnpm create react-spa-cloudflare
# ✅ Correct!
pnpm create react-spa-cloudflare@latest