Workflow
Порядок действий при разработке — от создания проекта до реализации фич.
Начало работы
Подготовка окружения перед началом разработки.
- Открыть проект в VS Code.
- Установить рекомендуемые расширения (редактор предложит автоматически).
- Ознакомиться со стеком: Next.js (App Router), Mantine, Zustand, FSD.
Создание проекта
Инициализация нового проекта из готового шаблона.
- Создать проект из шаблона:bash
npx tiged git@gromlab.ru:templates/nextjs.git my-app cd my-app npm install - Проект готов к разработке — стек, структура FSD, конфигурация редактора и шаблоны генерации уже настроены.
Генерация кода
Создание модулей из шаблонов .templates/ вместо ручного создания файлов.
Определить тип модуля и соответствующий шаблон:
Модуль Слой Шаблон Компонент shared/ui/componentФича features/featureВиджет widgets/widgetСущность entities/entityLayout layouts/layoutЭкран screens/screenСтор model/storeСгенерировать модуль из шаблона.
Если подходящего шаблона нет — сначала создать шаблон, затем использовать.
Ручное создание файловой структуры модулей запрещено.
Добавление страницы
Создание нового маршрута: экран + точка входа для роутинга.
- Сгенерировать экран из шаблона
screenвsrc/screens/. - Заполнить экран логикой и стилями.
- Создать
page.tsxв нужном маршрутеsrc/app/.
page.tsx — тонкая обёртка: только metadata и рендер экрана. Логика, стили и хуки размещаются в экране, не в page.tsx.
Добавление UI-модуля
Создание компонента, фичи, виджета, сущности или layout.
- Сгенерировать модуль из соответствующего шаблона в целевой слой.
- Заполнить модуль логикой и стилями.
- Дочерние компоненты — генерировать из шаблона
componentв папкуui/внутри родителя.
Дочерние компоненты не экспортируются через index.ts родителя.
Стилизация
Выбор инструмента стилизации по приоритету.
- Использовать Mantine-компоненты и их пропсы.
- Если Mantine не покрывает — использовать CSS-токены (
--color-*,--space-*,--radius-*). - Если нужна кастомная стилизация — PostCSS Modules.
Инлайн-стили (style), магические значения и глобальные стили вне app/styles/ запрещены.
Получение данных
Раздел в разработке — SWR, генерация API-клиентов, сокеты.
Управление состоянием
Раздел в разработке — когда создавать стор, что хранить локально и глобально.
Локализация
Раздел в разработке — переводы и i18next.