# Next.js Template Шаблон проекта на Next.js, построенный по [стайлгайду](https://gromlab.ru/docs/nextjs-style-guide). ## Стек - **Next.js 16** — фреймворк - **React 19** / **TypeScript 5** — UI и типизация - **Mantine UI 8** — компоненты - **Zustand 5** — глобальное состояние - **SWR 2** — получение данных - **PostCSS Modules** — стили - **Biome** — линтер и форматтер - **clsx** — конкатенация CSS-классов ## Архитектура Проект использует SLM Design — модульную архитектуру с вертикальной организацией домена. ``` src/ ├── app/ # Роутинг Next.js и точка входа приложения ├── layouts/ # Каркасы страниц (header, footer, sidebar) ├── screens/ # Контент конкретных страниц ├── widgets/ # Составные блоки интерфейса, не привязанные к домену ├── business/ # Бизнес-домены (auth, catalog, orders) ├── infrastructure/ # Техсервисы (theme, i18n, API-адаптеры) ├── ui/ # UI-кит без бизнес-логики └── shared/ # Общие ресурсы (утилиты, типы, стили, спрайты) ``` Зависимости идут строго сверху вниз: `app` → `[layouts | screens]` → `widgets` → `business` → `infrastructure` → `ui` → `shared`. Подробнее: [Архитектура SLM](./ai/nextjs-style-guide/basics/architecture/index.md). ## Быстрый старт ```bash npx tiged git@gromlab.ru:templates/nextjs.git my-app cd my-app npm install npm run dev ``` ## Генерация кода Модули создаются из шаблонов `.templates/`: ```bash npx @gromlab/create module auth src/business npx @gromlab/create widget header src/widgets npx @gromlab/create layout admin src/layouts npx @gromlab/create screen profile src/screens npx @gromlab/create module button src/ui npx @gromlab/create store auth src/shared ``` ## Скрипты | Команда | Описание | |---|---| | `npm run dev` | Запуск dev-сервера | | `npm run build` | Сборка для продакшена | | `npm run start` | Запуск продакшен-сервера | | `npm run lint` | Проверка кода (Biome) | | `npm run format` | Форматирование кода (Biome) | | `npm run sprite` | Генерация SVG-спрайтов |