React/Next.js performance optimization, re-render prevention, bundle size reduction, and data fetching patterns. Use when: writing React components, reviewing code, fixing performance issues, implementing new features, or auditing for best practices. Covers 50+ rules across 8 categories from CRITICAL to LOW priority.
Version: 1.0.0 | Updated: January 2026
50+ rules across 8 categories, prioritized from CRITICAL to LOW impact. Extended with Helmai-specific patterns (Dark Mode, TanStack Query, Zustand).
| Priority | Category | Rules | Reference |
|---|---|---|---|
| ๐ด CRITICAL | Waterfalls |
| 6 |
| waterfalls.md |
| ๐ด CRITICAL | Bundle Size | 5 | bundle-size.md |
| ๐ HIGH | Server-Side | 5 | server-side.md |
| ๐ก MEDIUM-HIGH | Client Fetching | 3 | client-fetching.md |
| ๐ก MEDIUM | Re-renders | 7 | re-renders.md |
| ๐ก MEDIUM | Rendering | 7 | rendering.md |
| ๐ข LOW-MEDIUM | JavaScript | 12 | javascript.md |
| ๐ข LOW | Advanced | 2 | advanced.md |
| ๐ต PROJECT | Helmai-Specific | 5 | helmai.md |
// โ Sequential - 3 round trips
const user = await fetchUser()
const posts = await fetchPosts()
// โ
Parallel - 1 round trip
const [user, posts] = await Promise.all([fetchUser(), fetchPosts()])
// โ Loads 1,583 modules
import { Check } from 'lucide-react'
// โ
Next.js config
// next.config.js: optimizePackageImports: ['lucide-react']
// โ Light only
className="bg-white text-gray-700"
// โ
With dark variants
className="bg-white dark:bg-gray-900 text-gray-700 dark:text-gray-200"
// Use query key factories
import { patientKeys } from '@/hooks/queryKeys'
const { data } = useQuery({
queryKey: patientKeys.detail(patientId),
queryFn: () => fetchPatient(patientId),
})
import { toast } from 'sonner'
// โ Never use alert()
// โ
Always use Sonner
toast.error('Something went wrong')
toast.success('Saved successfully')
Performance Issue?
โโโ Slow initial load โ Check [bundle-size.md](references/bundle-size.md)
โโโ Slow data fetch โ Check [waterfalls.md](references/waterfalls.md)
โโโ UI stuttering โ Check [re-renders.md](references/re-renders.md)
โโโ Long lists slow โ Check [rendering.md](references/rendering.md)
โโโ API route slow โ Check [server-side.md](references/server-side.md)
When reviewing or fixing performance issues:
pnpm build or check React DevTools