A modern, scalable React project template with best practices, monorepo structure, and robust tooling.
English δΈζ
- π― Type Safety: Full TypeScript support across all packages
- π Hot Module Replacement: Fast development with Vite
- π¦ Optimized Builds: Efficient chunk splitting and tree shaking
- π¨ Modern Styling: Utility-first CSS with Tailwind
- π¦ Type-safe routing: TanStack Router
- π§ Maintainable: Consistent code style with Prettier and Oxlint
- π± Responsive: Mobile-first design approach
- π i18n Ready: Built-in internationalization support
- π Auth Ready: Authentication flow implementation
- π Form Handling: Type-safe forms with React Hook Form and Zod
- 𧩠Modular: Well-organized monorepo structure
- Framework: React 19
- Build Tool: Vite
- Package Manager: PNPM
- Monorepo Tool: Turborepo
- Styling: Tailwind CSS + Lightning CSS
- UI Components: shadcn/ui
- State Management: Zustand
- Router: TanStack Router
- Form Handling: React Hook Form + Zod
- Internationalization: i18next
- HTTP Client: Axios
- Development Tools:
- TypeScript
- Oxlint
- Prettier
- Husky
- Commitlint
- Node.js 18 or higher
- PNPM 9.15 or higher
# Install dependencies
pnpm install
# Run all packages in development mode
pnpm dev
# Run specific app
pnpm dev --filter @myapp/web
pnpm dev --filter @myapp/chrome-extension
# Build packages
pnpm build
# Lint code
pnpm lint
.
βββ apps/ # Application packages
β βββ chrome-extension/ # Chrome Extension App
β β βββ public/ # Static assets
β β βββ src/ # Source code
β β β βββ components/ # UI Components
β β β βββ hooks/ # Custom hooks
β β β βββ pages/ # Extension pages (popup, options)
β β β βββ utils/ # Utility functions
β β βββ manifest.json # Extension manifest
β β βββ vite.config.ts # Vite configuration
β β
β βββ web/ # Main Web Application
β βββ public/ # Static assets
β βββ src/ # Source code
β β βββ components/ # UI Components
β β βββ hooks/ # Custom hooks
β β βββ pages/ # Page components
β β βββ routes/ # TanStack Router routes
β β βββ utils/ # Utility functions
β βββ vite.config.ts # Vite configuration
β
βββ packages/ # Shared packages
β βββ configs/ # Shared configurations
β β βββ src/ # Configuration utilities
β β βββ tsconfig/ # TypeScript configs
β β β βββ base.json # Base TS config
β β β βββ app.json # App-specific config
β β β βββ library.json # Library config
β β βββ vite/ # Vite configurations
β β
β βββ core/ # Core business logic
β β βββ src/
β β β βββ api/ # API interfaces
β β β βββ services/ # Business services
β β β βββ store/ # State management
β β β βββ types/ # Shared types
β β βββ vite.config.ts
β β
β βββ shared/ # Shared utilities
β β βββ src/
β β β βββ hooks/ # Shared hooks
β β β βββ utils/ # Utility functions
β β β βββ types/ # Common types
β β βββ vite.config.ts
β β
β βββ ui/ # UI Component Library
β βββ src/
β β βββ components/ # Reusable UI components
β β βββ styles/ # Global styles & themes
β β βββ hooks/ # UI-related hooks
β βββ vite.config.ts
β
βββ .commitlintrc.json # Commit message linting rules
βββ .gitignore # Git ignore patterns
βββ .husky/ # Git hooks
βββ .lintstagedrc.json # Lint-staged configuration
βββ .prettierrc # Prettier configuration
βββ package.json # Root package.json
βββ pnpm-workspace.yaml # PNPM workspace configuration
βββ turbo.json # Turborepo configuration