--- description: Project overview and conventions for the Diet Reference App alwaysApply: true --- # Diet & Healthy Weight Reference App ## Project Static SPA — справочник методик похудения и здорового веса. Vite 6 + React 19 + TypeScript 5 + Tailwind CSS 4 + React Router 7. ## Key Conventions - All code in TypeScript strict mode — no `any`, no `as` casts without justification - Functional components only, prefer named exports - Custom hooks for reusable logic (prefix `use`) - Data lives in `src/data/` as typed TS modules - All user state (theme, bookmarks) via localStorage through custom hooks - Semantic HTML + ARIA attributes for accessibility - Russian language for UI content, English for code (variable names, comments) ## File Structure - `src/components/` — reusable UI components (Button, Card, Badge, etc.) - `src/pages/` — route-level page components - `src/data/` — static content data (methods, categories) - `src/hooks/` — custom React hooks - `src/utils/` — pure utility functions - `src/types/` — shared TypeScript types and interfaces ## Commit Style - Atomic commits per feature - Format: `feat: short description` / `fix:` / `refactor:` / `style:` / `docs:`