| name | tailwind-react-guidelines |
| description | Frontend React 19 + TypeScript 5.7+ + TailwindCSS v4 + shadcn/ui dla Vite SPA. Komponenty, React Query, formularze (RHF + Zod), testowanie (Vitest + RTL + MSW), lazy loading, Suspense, Sonner. Używaj przy tworzeniu komponentów, stron, stylowaniu, data fetchingu, formularzach, testach, optymalizacji. |
| paths | ["**/*.tsx","**/*.css","src/**/*.ts","vite.config.*","vitest.config.*"] |
Tailwind React Guidelines
Cel
Przewodnik dla Vite + React 19 SPA - nowoczesny stack zgodny ze standardami Marzec 2026.
Kiedy Używać Tego Skilla
- Tworzenie nowych komponentów React
- Stylowanie z TailwindCSS v4 + shadcn/ui
- Data fetching z React Query
- Formularze z React Hook Form + Zod
- Testowanie z Vitest + React Testing Library + MSW
- Routing z React Router
- Obsługa błędów i loading states
- Optymalizacja wydajności
Quick Start Checklist
Nowy Komponent
Memoizacja
Data Fetching
Formularze
Nowa Strona
Import Aliasy
| Alias | Ścieżka | Przykład |
|---|
@/ | src/ | import { api } from '@/lib/api' |
@/components | src/components | import { Button } from '@/components/ui/button' |
@/hooks | src/hooks | import { useTemplates } from '@/hooks/useTemplates' |
@/lib | src/lib | import { cn } from '@/lib/utils' |
@/test | src/test | import { render } from '@/test/utils' |
Zdefiniowane w: vite.config.ts i tsconfig.json
Topic Guides
Wzorce Komponentów
React 19 patterns, ref jako prop (nie forwardRef), Error Boundaries z react-error-boundary.
Pełny przewodnik: resources/component-patterns.md
Stylowanie z TailwindCSS
Tailwind v4 (CSS-first config z @theme), OKLCH colors, container queries, shadcn/ui, cn() dla kompozycji.
Pełny przewodnik: resources/styling-guide.md
Organizacja Plików i Routing
src/
components/
ui/ # shadcn/ui primitives
[Feature].tsx # Komponenty aplikacji
pages/ # Route-level components
hooks/ # React Query hooks
lib/ # api.ts, utils.ts, queryClient.ts
types/ # TypeScript types
test/ # Setup, utils, mocks
Protected routes, useSearchParams, nested routes.
Pełny przewodnik: resources/file-organization.md
Formularze
React Hook Form + Zod, walidacja client-side, kontrolowane komponenty, multi-step wizardy, upload plików.
Pełny przewodnik: resources/forms.md
Stany Ładowania i Błędów
Suspense dla lazy-loaded components:
<Suspense fallback={<LoadingOverlay />}>
<LazyComponent />
</Suspense>
Early returns dla data fetching (React Query):
const { data, isLoading, error } = useTemplates();
if (isLoading) return <Skeleton />;
if (error) return <ErrorMessage error={error} />;
if (!data?.length) return <EmptyState />;
return <TemplateList data={data} />;
Pełny przewodnik: resources/loading-and-error-states.md
Testowanie
Vitest + React Testing Library + MSW v2. Testy komponentów, hooków React Query, formularzy, a11y.
Pełny przewodnik: resources/testing.md
Wydajność
React Compiler 1.0 (rekomendowany), React Query caching, useTransition, useOptimistic, lazy loading.
Pełny przewodnik: resources/performance.md
TypeScript Standards
Strict mode, moduleResolution: "bundler", inline type imports, satisfies operator, Zod dla runtime validation.
Pełny przewodnik: resources/typescript-standards.md
Główne Zasady 2026
- React Query dla data fetchingu - nie useEffect;
useSuspenseQuery dla Suspense
- React Hook Form + Zod dla formularzy -
useActionState dla prostych; nie useState
- React Compiler 1.0 - standardowo włączony; bez Compiler: memoizacja tylko dla memo children
- Suspense dla lazy components - nie dla data (React Query obsługuje)
- Tailwind v4 - konfiguracja w CSS (
@theme), OKLCH colors
- TypeScript strict - no
any, Zod dla runtime validation
- Error Boundaries - react-error-boundary dla unexpected errors
- Sonner dla toasts -
toast.success(), toast.promise()
- Vitest + RTL + MSW dla testów - behavioral testing, MemoryRouter
- Logger dla błędów -
logger.error() (production-safe)
Navigation Guide