diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000..47470ad --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,28 @@ +# 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` (утилиты/хуки).