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
This commit is contained in:
2026-04-30 19:24:40 +03:00
parent 1950c3612a
commit bf792f6159
27 changed files with 549 additions and 321 deletions

View File

@@ -15,20 +15,23 @@
## Архитектура
Проект использует кастомизированный FSD (Feature-Sliced Design):
Проект использует SLM Design — модульную архитектуру с вертикальной организацией домена.
```
src/
├── app/ # Роутинг Next.js, провайдеры, глобальные стили
├── screens/ # Собранные страницы (UI)
├── layouts/ # Каркасы и шаблоны страниц
├── widgets/ # Крупные самостоятельные блоки интерфейса
├── features/ # Пользовательские сценарии
├── entities/ # Бизнес-сущности
── shared/ # Переиспользуемый код (UI, утилиты, типы)
├── app/ # Роутинг Next.js и точка входа приложения
├── layouts/ # Каркасы страниц (header, footer, sidebar)
├── screens/ # Контент конкретных страниц
├── widgets/ # Составные блоки интерфейса, не привязанные к домену
├── business/ # Бизнес-домены (auth, catalog, orders)
├── infrastructure/ # Техсервисы (theme, i18n, API-адаптеры)
── ui/ # UI-кит без бизнес-логики
└── shared/ # Общие ресурсы (утилиты, типы, стили, спрайты)
```
Зависимости идут строго сверху вниз: `app` -> `screens` -> `layouts` -> `widgets` -> `features` -> `entities` -> `shared`.
Зависимости идут строго сверху вниз: `app` `[layouts | screens]` `widgets` `business` `infrastructure` `ui` `shared`.
Подробнее: [Архитектура SLM](./ai/nextjs-style-guide/basics/architecture/index.md).
## Быстрый старт
@@ -44,13 +47,12 @@ npm run dev
Модули создаются из шаблонов `.templates/`:
```bash
npx @gromlab/create component button src/shared/ui
npx @gromlab/create feature auth src/features
npx @gromlab/create module auth src/business
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
npx @gromlab/create module button src/ui
npx @gromlab/create store auth src/shared
```
## Скрипты
@@ -62,3 +64,4 @@ npx @gromlab/create store auth src/shared/model
| `npm run start` | Запуск продакшен-сервера |
| `npm run lint` | Проверка кода (Biome) |
| `npm run format` | Форматирование кода (Biome) |
| `npm run sprite` | Генерация SVG-спрайтов |