Skip to content

Workflow

Порядок действий при разработке — от создания проекта до реализации фич.

Создание проекта

Инициализация нового проекта из готового шаблона.

  1. Создать проект из шаблона:
    bash
    npx tiged git@gromlab.ru:templates/nextjs.git my-app
    cd my-app
    npm install
  2. Проект готов к разработке — стек, структура SLM, конфигурация редактора и шаблоны генерации уже настроены.

Генерация кода

Создание модулей из шаблонов .templates/ вместо ручного создания файлов.

  1. Определить тип модуля и соответствующий шаблон:

    МодульСлойШаблон
    Компонентui/component
    Бизнес-модульbusiness/module
    Виджетwidgets/widget
    Layoutlayouts/layout
    Экранscreens/screen
    Сторstores/store
  2. Сгенерировать модуль из шаблона.

  3. Если подходящего шаблона нет — сначала создать шаблон, затем использовать.

Ручное создание файловой структуры модулей запрещено.

Добавление страницы

Создание нового маршрута: экран + точка входа для роутинга.

  1. Сгенерировать экран из шаблона screen в src/screens/.
  2. Заполнить экран логикой и стилями.
  3. Создать page.tsx в нужном маршруте src/app/.

page.tsx — тонкая обёртка: только metadata и рендер экрана. Логика, стили и хуки размещаются в экране, не в page.tsx.

Добавление UI-модуля

Создание компонента, бизнес-модуля, виджета или layout.

  1. Сгенерировать модуль из соответствующего шаблона в целевой слой.
  2. Заполнить модуль логикой и стилями.
  3. Дочерние компоненты — генерировать из шаблона component в папку ui/ внутри родителя.

Дочерние компоненты не экспортируются через index.ts родителя.

Стилизация

Выбор инструмента стилизации по приоритету.

  1. Использовать Mantine-компоненты и их пропсы.
  2. Если Mantine не покрывает — использовать CSS-токены (--color-*, --space-*, --radius-*).
  3. Если нужна кастомная стилизация — PostCSS Modules.

Инлайн-стили (style), магические значения и глобальные стили вне app/styles/ запрещены.

Получение данных

Раздел в разработке — SWR, генерация API-клиентов, сокеты.

Управление состоянием

Раздел в разработке — когда создавать стор, что хранить локально и глобально.

Локализация

Раздел в разработке — переводы и i18next.