# 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-классов ## Архитектура Проект использует кастомизированный FSD (Feature-Sliced Design): ``` src/ ├── app/ # Роутинг Next.js, провайдеры, глобальные стили ├── screens/ # Собранные страницы (UI) ├── layouts/ # Каркасы и шаблоны страниц ├── widgets/ # Крупные самостоятельные блоки интерфейса ├── features/ # Пользовательские сценарии ├── entities/ # Бизнес-сущности └── shared/ # Переиспользуемый код (UI, утилиты, типы) ``` Зависимости идут строго сверху вниз: `app` -> `screens` -> `layouts` -> `widgets` -> `features` -> `entities` -> `shared`. ## Быстрый старт ```bash npx tiged git@gromlab.ru:templates/nextjs.git my-app cd my-app npm install npm run dev ``` ## Генерация кода Модули создаются из шаблонов `.templates/`: ```bash npx @gromlab/create component button src/shared/ui npx @gromlab/create feature auth src/features npx @gromlab/create widget header src/widgets npx @gromlab/create entity user src/entities npx @gromlab/create layout admin src/layouts npx @gromlab/create screen profile src/screens npx @gromlab/create store auth src/shared/model ``` ## Скрипты | Команда | Описание | |---|---| | `npm run dev` | Запуск dev-сервера | | `npm run build` | Сборка для продакшена | | `npm run start` | Запуск продакшен-сервера | | `npm run lint` | Проверка кода (Biome) | | `npm run format` | Форматирование кода (Biome) |