react-vite-expert
Complete React + Vite expertise for building optimized, scalable applications. Covers project architecture, folder structure, component patterns, performance optimization, TypeScript best practices, testing, and build configuration. Use when building React apps with Vite, organizing projects, optimi
By questfortech-investments · 380 installs
npx skills add questfortech-investments/claude-code-skills --skill react-vite-expert
Source repository · Upstream listing
React + Vite Expert
Overview
Transform into a React + Vite expert with deep knowledge of modern React development patterns, optimal project organization, performance optimization techniques, and production ready configurations. This skill provides everything needed to build fast, maintainable, and scalable React applications using Vite as the build tool.
Core Capabilities
1. Project Architecture & Organization
Guide users in structuring React applications for maximum maintainability and scalability.
Reference: references/project architecture.md
This comprehensive guide covers:
Folder structure patterns : Feature based, atomic design, domain driven
File organization : Colocation strategies, naming conventions
Import strategies : Path aliases, barrel exports, tree shaking
State management organization : Local vs global, where to put state
Scaling guidelines : How to evolve structure as app grows
When to consult:
User asks "how should I organize my React project?"
Starting a new project
Refactoring existing project structure
App is becoming hard to navigate
Need to establish team conventions
Key Decision Trees:
1. Feature based vs Component based : Read section "Optimal Folder Structure"
2. State management strategy : Read section "State Management Strategies"
3. Import organization : Read section "Import Strategies"
2. Code Generation & Scaffolding
Automate component, hook, and feature creation with production ready templates.
Scripts available:
scripts/create component.py
Generates complete component with all necessary files:
Component file (.tsx)
TypeScript types (.types.ts)
CSS Module (.module.css)
Tests (.test.tsx)
Storybook story (.stories.tsx) [optional]
Index file for clean imports
When to use:
Creating any new component
Setting up new feature modules
Need consistent component structure
Want to speed up development
scripts/create hook.py
Generates custom hooks with templates for common patterns:
State management hooks
Effect hooks
Data fetching hooks
LocalStorage hooks
Debounce hooks
Interval hooks
When to use:
Extracting reusable logic
Creating custom state management
Need common hook patterns
Want hook with tests automatically
3. Performance Optimization
Optimize React applications for maximum performance and minimal bundle size.
Reference: references/performance optimization.md
This guide covers:
React rendering optimization : React.memo(), useMemo(), useCallback()
Code splitting : React.lazy(), route based splitting, component splitting
Virtualization : Long list optimization with react window
Debouncing & throttling : Input optimization, scroll handling
Vite build optimization : Chunk splitting, minification, compression
Image optimization : WebP/AVIF, lazy loading, responsive images
Network optimization : API request optimization, prefetching
CSS performance : CSS Modules vs CSS in JS, critical CSS
Web Vitals tracking : Measuring LCP, FID, CLS
When to consult:
App feels slow or laggy
Large bundle sizes
Long initial load time
User asks about optimization
Preparing for production deployment
Performance audit reveals issues
Quick Performance Checklist:
1. Run python scripts/analyze bundle.py to identify large dependencies
2. Check references/performance optimization.md for optimization strategies
3. Apply code splitting for routes: React.lazy(() = import('./Page'))
4. Memoize expensive components: React.memo(Component)
5. Use useMemo() for expensive calculations
6. Implement virtualization for long lists (react window)
7. Optimize images (WebP, lazy loading)
8. Review Vite config in assets/vite.config.optimized.ts
scripts/analyze bundle.py
Analyzes build output and provides optimization recommendations:
What it analyzes:
Package.json dependencies (identifies large libraries)
Import patterns (suggests better imports for tree shaking)
Build output (bundle sizes, chunk distribution)
Provides specific optimization recommendations
When to run:
Before production deployment
After adding new dependencies
When bundle size increases unexpectedly
Regular monthly audits
Performance optimization sessions
4. Production Ready Configuration
Deploy optimized Vite configurations and project setups.
Assets available:
assets/vite.config.optimized.ts
Fully optimized Vite configuration with:
Path aliases : Clean imports (@/components, @/hooks, etc.)
Manual chunk splitting : Vendor, feature based chunks for better caching
Minification : Terser with console.log removal in production
Bundle analyzer : Visualize bundle composition
Asset optimization : Image handling, font loading
Development proxy : API proxy configuration
Source maps : Conditional source map generation
CSS code splitting : Automatic CSS chunking
When to use:
Starting new project
Optimizing existing build
Setting up production pipeline
Need better caching strategy
Want to analyze bundle
How to use:
1. Copy assets/vite.config.optimized.ts to project root
2. Install dependencies: npm install D rollup plugin visualizer
3. Customize manual chunks for your features
4. Run build with analyzer: npm run build:analyze
assets/tsconfig.optimized.json
TypeScript configuration with:
Strict mode enabled : Catch more errors at compile time
Path aliases : Matching Vite config
Optimal compiler options : For Vite and modern React
Unused code detection : noUnusedLocals, noUnusedParameters
Type safety : noImplicitReturns, noUncheckedIndexedAccess
When to use:
Starting new TypeScript project
Want stricter type checking
Need path aliases
Improving type safety
assets/package.json.example
Complete package.json with:
All recommended scripts : dev, build, test, lint, format
Essential dependencies : React, React DOM, Router
Dev dependencies : TypeScript, ESLint, Prettier, Vitest
Recommended optional dependencies : Categorized by use case
Husky & lint staged setup : Pre commit hooks
CI/CD scripts : For automated pipelines
When to use:
Starting new project
Need script recommendations
Setting up CI/CD
Want git hooks
Need package reference
assets/project structure example.md
Complete project structure with:
Full directory tree : Feature based architecture
Key file examples : App.tsx, router, providers, API setup
Configuration examples : vitest, eslint, prettier
Test setup : Testing utilities and mocks
Scaling guidelines : How to grow the structure
When to use:
Starting new project from scratch
Need structure reference
Refactoring existing project
Teaching team about organization
Creating project templates
5. React Best Practices & Patterns
Implement modern React patterns and avoid common pitfalls.
Reference: references/best practices.md
This guide covers:
Component patterns : Compound components, render props, HOC, custom hooks
TypeScript best practices : Typing components, hooks, events, generic components
Error handling : Error boundaries, async error handling
Form handling : Controlled components, validation, form libraries
Testing : Component testing, hook testing, mocking
Common anti patterns : What to avoid and why
Accessibility : a11y best practices, ARIA, keyboard navigation
When to consult:
Implementing complex component patterns
Need TypeScript guidance
Setting up error handling
Creating forms
Writing tests
User asks "what's the best way to...?"
Code review requests
Teaching React patterns
Pattern Decision Guide:
Compound Components : For flexible, composable UI (Tabs, Accordion)
Custom Hooks : Extract and reuse logic (useAuth, useDebounce)
Context + Hook : Share state across tree (Theme, Auth)
Render Props : Share code with render control (rare, mostly replaced by hooks)
HOC : Add cross cutting concerns (rare, mostly replaced by hooks)
6. TypeScript Excellence
Write type safe React code with proper TypeScript patterns.
Key TypeScript patterns in references/best practices.md :
Component prop typing (interfaces vs types)
Event handler typing
Ref typing
Generic component typing
Hook typing
Type guards and narrowing
Utility types
When user asks about TypeScript:
1. Read relevant section in references/best practices.md
2. Provide type safe examples
3. Explain the "why" behind the pattern
4. Show both the wrong and right way
Common TypeScript Questions:
"How do I type this component?" → Component Props Typing section
"How do I type an event handler?" → Hooks Typing section
"How do I make a generic component?" → Generic Components section
"How do I type a ref?" → Hooks Typing section
7. Testing Strategy
Implement comprehensive testing for React applications.
Testing patterns in references/best practices.md :
Component testing with React Testing Library
Custom hook testing
Test utilities and setup
Mocking strategies
Integration testing
Testing Philosophy:
Test user behavior, not implementation
Test what the user sees and does
Mock external dependencies
Use descriptive test names
Arrange Act Assert pattern
When user needs testing help:
1. Check if component generator created tests: scripts/create component.py
2. Reference testing section in references/best practices.md
3. Show test setup in assets/project structure example.md
4. Provide specific test examples for their use case
8. State Management Guidance
Choose and implement the right state management solution.
State management decision tree (from references/project architecture.md ):
When to consult references/project architecture.md :
Choosing state management solution
Need code examples for each approach
Understanding trade offs
Migrating state management
Performance issues with re renders
Workflow Examples
Example 1: "Help me start a new React project with best practices"
1. Understand requirements :
Ask about: Project size, features, state needs, team size
Determine: Which patterns to use, structure complexity
2. Provide structure :
Show assets/project structure example.md
Explain feature based vs simpler architecture
Recommend based on project size
3. Set up configuration :
Copy assets/vite.config.optimized.ts
Copy assets/tsconfig.optimized.json
Reference assets/package.json.example for scripts
4. Generate initial components :
5. Explain next steps :
Set up git hooks (husky)
Configure ESLint and Prettier
Set up testing
Create initial routes
Example 2: "My React app is slow, how do I optimize it?"
1. Analyze current state :
2. Review analysis output :
Identify large dependencies
Check for duplicates
Review import patterns
3. Consult optimization guide :
Read references/performance optimization.md
Focus on relevant sections based on analysis
4. Apply optimizations (in order of impact):
Code splitting : Implement lazy loading for routes
Remove large dependencies : Suggest lighter alternatives
Memoization : Add React.memo() to expensive components
Virtualization : If rendering long lists
Image optimization : Implement lazy loading, WebP format
Build optimization : Apply assets/vite.config.optimized.ts
5. Measure improvement :
Run build before and after
Compare bundle sizes
Test Web Vitals
Example 3: "How should I organize my growing React project?"
1. Assess current size :
Ask: How many components? How many features?
Determine: Current pain points
2. Reference architecture guide :
Read references/project architecture.md
Section: "Optimal Folder Structure"
3. Recommend structure :
Small (<10 components) : Flat structure
Medium (10 50) : Feature