Production-ready React Router starter with Vite, TypeScript, and modern testing
Part of the @teo-garcia/templates ecosystem
| Category | Technologies |
|---|---|
| Framework | React Router 7 with file-based routing |
| Bundler | Vite 7 for fast builds and HMR |
| UI | React 19, Tailwind CSS 4, Lucide Icons |
| Data | React Query for server state management |
| Type Safety | TypeScript with strict mode |
| Testing | Vitest + Testing Library + Playwright + MSW |
| Code Quality | ESLint, Prettier, Husky, lint-staged |
- Node.js 22+
- pnpm 9+
# Clone the template
npx degit teo-garcia/react-template-rr my-app
cd my-app
# Install dependencies
pnpm install
# Start development server
pnpm devOpen http://localhost:5173 to see your app.
app/
|-- components/ # Shared UI components
|-- routes/ # File-based routes
|-- config/ # App configuration
|-- root.tsx # Root layout
`-- routes.ts # Route configuration
| Command | Description |
|---|---|
pnpm dev |
Start development server |
pnpm build |
Create production build |
pnpm start:web |
Run production server |
pnpm test |
Run unit tests |
pnpm test:browser |
Run browser tests |
pnpm test:e2e |
Run Playwright E2E tests |
pnpm lint:es |
Lint and fix with ESLint |
pnpm lint:es:check |
Check ESLint without fixing |
pnpm lint:ts |
TypeScript type checking |
pnpm format |
Format with Prettier |
pnpm format:check |
Check formatting |
This template uses standardized configurations from the ecosystem:
@teo-garcia/eslint-config-shared- ESLint rules@teo-garcia/prettier-config-shared- Prettier formatting@teo-garcia/tsconfig-shared- TypeScript settings@teo-garcia/vitest-config-shared- Test configuration
| Template | Description |
|---|---|
| react-template-next | Next.js SSR template |
| nest-template-monolith | NestJS backend monolith |
| nest-template-microservice | NestJS microservice |
MIT
Built by teo-garcia