# AGENTS.md Пустой стартовый шаблон Fluw (shadcn + Payload-ready) — чистая основа для нового веб-приложения. `src/app/page.tsx` сейчас содержит сплэш-заставку Fluw, которую заменяют, когда начинают строить реальный продукт. ## Project Specifics - `src/app/page.tsx` — стартовая заставка (Fluw splash). Это placeholder: при старте реального продукта заменяй его композицией страниц, а не оставляй заставку. - Раскладывай новый UI по FSD: страницы-композиции → `src/widgets/*`, пользовательские сценарии → `src/features/*`, бизнес-данные → `src/entities/*`, примитивы — `src/shared/*`. Не складывай всё в один файл. - Базовые UI-примитивы shadcn — в `src/shared/ui/*` (vendored, не переписывай). Доступен `framer-motion` (анимации заставки). - Проверка после правок: `pnpm lint` и `pnpm build`. ## Design System Источник токенов — `src/app/globals.css` (`@theme` + `:root`/`.dark`, дефолтная нейтральная shadcn-тема, `--radius` 0.625rem). Шрифт — Roboto Flex (`--font-roboto-flex`). **Это чистая основа без заданного характера** — главный риск дженерик-вывода. Поэтому при построении продукта: - **Сначала выбери направление и зашей его в токены** `globals.css` (`--primary`, `--secondary`, `--accent`, `--radius`, типографику), затем работай через семантические классы (`bg-primary`, `text-foreground`) — не хардкодь hex/oklch в компонентах. - **Заставка — исключение:** текущий `page.tsx` намеренно использует фирменный Fluw-стиль (тёмный фон + зелёный `#4ADE80`) напрямую, потому что это служебный placeholder, а не часть продукта. Реальные страницы строй на токенах. - Делай дизайн осознанным и узнаваемым под задачу пользователя, а не «ещё один shadcn-лендинг». ## File Map | Route | Файл | |---|---| | `/` | `src/app/page.tsx` — Fluw splash (placeholder, заменяется при старте продукта) | Структура для нового кода: `src/widgets/` (композиции страниц), `src/features/` (сценарии), `src/entities/` (данные/контент), `src/shared/ui` (примитивы), `src/shared/lib` + `src/shared/hooks` (утилиты/хуки).