A production-ready React + TypeScript frontend template built with Vite.
| Technology | Purpose |
|---|---|
| React 19 | UI library |
| TypeScript | Static type checking |
| Vite 8 | Build tool and dev server (oxc and rolldown) |
| React Router 7 | Client-side routing |
| TanStack Query v5 | Server state management |
| Tailwind CSS 4 | Utility-first styling |
| shadcn/ui + Radix UI | Accessible component primitives |
| Motion + Animate UI | Animations |
| Vitest | Unit testing |
| Biome + Ultracite | Linting and formatting |
| Husky | Git hooks |
src/
βββ @types/ # Shared TypeScript type declarations
βββ api/ # API layer organized by feature
β βββ [feature]/
β βββ queries/ # TanStack Query hooks
β βββ mutations/ # TanStack Query mutations
βββ components/
β βββ ui/ # shadcn/ui primitives
β βββ animate-ui/ # Animated components
β βββ sidebar/ # Sidebar layout components
βββ config/ # App-level configuration
βββ constants/ # Shared constants
βββ contexts/ # React contexts (e.g. theme)
βββ hooks/ # Custom React hooks
βββ layout/ # Root layout
βββ lib/ # Utility functions
βββ pages/ # Route-level pages
βββ providers/ # App-wide providers
βββ routes/ # Route definitions
βββ tests/ # Vitest test files
βββ utils/ # General-purpose utilities
This repository is configured as a GitHub template. To start a new project from it:
- On the repository page, click Use this template > Create a new repository
- Choose a name, visibility, and owner for the new repository
- Click Create repository
Then clone and install dependencies locally:
git clone <your-new-repository-url>
cd <your-project>
bun install # recommended
bun devRecommendation: Use Bun as the package manager and runtime. It is significantly faster than npm or pnpm for installs and script execution.