mirror of
https://github.com/azaion/gps-denied-onboard.git
synced 2026-04-22 22:56:36 +00:00
18 lines
903 B
Plaintext
18 lines
903 B
Plaintext
---
|
|
description: "React/TypeScript/Tailwind conventions: components, hooks, strict typing, utility-first styling"
|
|
globs: ["**/*.tsx", "**/*.jsx", "**/*.ts", "**/*.css"]
|
|
---
|
|
# React / TypeScript / Tailwind
|
|
|
|
- Use TypeScript strict mode; define `Props` interface for every component
|
|
- Use named exports, not default exports
|
|
- Functional components only; use hooks for state/side effects
|
|
- Server Components by default; add `"use client"` only when needed (if Next.js)
|
|
- Use Tailwind utility classes for styling; no CSS modules or inline styles
|
|
- Name event handlers `handle[Action]` (e.g., `handleSubmit`)
|
|
- Use `React.memo` for expensive pure components
|
|
- Implement lazy loading for routes (`React.lazy` + `Suspense`)
|
|
- Organize by feature: `components/`, `hooks/`, `lib/`, `types/`
|
|
- Never use `any`; prefer unknown + type narrowing
|
|
- Use `useCallback`/`useMemo` only when there's a measured perf issue
|