React and Vite performance optimization guidelines. Use when writing, reviewing, or optimizing React components built with Vite. Triggers on tasks involving Vite configuration, build optimization, code splitting, lazy loading, HMR, bundle size, or React performance.
How this skill is triggered — by the user, by Claude, or both
Slash command
/inertia-react:react-vite-best-practicesThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Comprehensive performance optimization guide for React applications built with Vite. Contains 23 rules across 6 categories for build optimization, code splitting, development performance, asset handling, environment configuration, and bundle analysis.
AGENTS.mdREADME.mdrules/_sections.mdrules/_template.mdrules/asset-fonts.mdrules/asset-image-optimization.mdrules/asset-public-dir.mdrules/asset-svg-components.mdrules/build-asset-hashing.mdrules/build-compression.mdrules/build-manual-chunks.mdrules/build-minification.mdrules/build-sourcemaps.mdrules/build-target-modern.mdrules/build-tree-shaking.mdrules/bundle-visualizer.mdrules/dev-dependency-prebundling.mdrules/dev-fast-refresh.mdrules/dev-hmr-config.mdrules/env-modes.mdComprehensive performance optimization guide for React applications built with Vite. Contains 23 rules across 6 categories for build optimization, code splitting, development performance, asset handling, environment configuration, and bundle analysis.
Reference these guidelines when:
| Priority | Category | Impact | Prefix |
|---|---|---|---|
| 1 | Build Optimization | CRITICAL | build- |
| 2 | Code Splitting | CRITICAL | split- |
| 3 | Development | HIGH | dev- |
| 4 | Asset Handling | HIGH | asset- |
| 5 | Environment Config | MEDIUM | env- |
| 6 | Bundle Analysis | MEDIUM | bundle- |
build-manual-chunks - Configure manual chunks for vendor separationbuild-minification - Minification with OXC (default) or Terserbuild-target-modern - Target modern browsers (baseline-widely-available)build-sourcemaps - Configure sourcemaps per environmentbuild-tree-shaking - Ensure proper tree shaking with ESMbuild-compression - Gzip and Brotli compressionbuild-asset-hashing - Content-based hashing for cache bustingsplit-route-lazy - Route-based splitting with React.lazy()split-suspense-boundaries - Strategic Suspense boundary placementsplit-dynamic-imports - Dynamic import() for heavy componentssplit-component-lazy - Lazy load non-critical componentssplit-prefetch-hints - Prefetch chunks on hover/idle/viewportdev-dependency-prebundling - Configure optimizeDeps for faster startsdev-fast-refresh - React Fast Refresh patternsdev-hmr-config - HMR server configurationasset-image-optimization - Image optimization and lazy loadingasset-svg-components - SVGs as React components with SVGRasset-fonts - Web font loading strategyasset-public-dir - Public directory vs JavaScript importsenv-vite-prefix - VITE_ prefix for client variablesenv-modes - Mode-specific environment filesenv-sensitive-data - Never expose secrets in client codebundle-visualizer - Analyze bundles with rollup-plugin-visualizerimport { defineConfig } from 'vite'
import react from '@vitejs/plugin-react'
import path from 'path'
export default defineConfig({
plugins: [react()],
resolve: {
alias: {
'@': path.resolve(__dirname, './src'),
},
},
build: {
target: 'baseline-widely-available',
sourcemap: false,
chunkSizeWarningLimit: 500,
rollupOptions: {
output: {
manualChunks: {
vendor: ['react', 'react-dom'],
},
},
},
},
optimizeDeps: {
include: ['react', 'react-dom'],
},
server: {
port: 3000,
hmr: {
overlay: true,
},
},
})
import { lazy, Suspense } from 'react'
const Home = lazy(() => import('./pages/Home'))
const Dashboard = lazy(() => import('./pages/Dashboard'))
const Settings = lazy(() => import('./pages/Settings'))
function App() {
return (
<Suspense fallback={<LoadingSpinner />}>
{/* Routes here */}
</Suspense>
)
}
// src/vite-env.d.ts
/// <reference types="vite/client" />
interface ImportMetaEnv {
readonly VITE_API_URL: string
readonly VITE_APP_TITLE: string
}
interface ImportMeta {
readonly env: ImportMetaEnv
}
Read individual rule files for detailed explanations and code examples:
rules/build-manual-chunks.md
rules/split-route-lazy.md
rules/env-vite-prefix.md
For the complete guide with all rules expanded: AGENTS.md
Guides collaborative design exploration before implementation: explores context, asks clarifying questions, proposes approaches, and writes a design doc for user approval.
Creates structured, bite-sized implementation plans from specs or requirements before writing code. Useful for breaking down multi-step tasks into testable steps with file structure and task boundaries.
Resolves in-progress git merge or rebase conflicts by analyzing history, understanding intent, and preserving both changes where possible. Runs automated checks after resolution.
npx claudepluginhub noppu-labs/ai-toolkit --plugin inertia-react