Files
nextjs-template/README.md
S.Gromov bf792f6159 refactor: привести шаблон к правилам стайлгайда
- Архитектура SLM: провайдеры перенесены в infrastructure/mantine, стили в shared/styles
- SVG-спрайты: переход на @gromlab/svg-sprites, добавлен preload в layout
- Стили: переменные и брейкпоинты приведены к базовому набору стайлгайда (rem, Mobile First)
- PostCSS: добавлены postcss-custom-media, postcss-nesting, autoprefixer, @csstools/postcss-global-data
- tsconfig: исправлен алиас shared/* → ./src/shared/*
- Удалены app/styles/, app/providers/, scripts/create-svg-sprite.js, public/img/sprites/
- README переписан на SLM-архитектуру
- Добавлены иконки: clipboard-tick, doctor, people, symptom
2026-04-30 19:24:40 +03:00

68 lines
2.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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-спрайтов |