Change language

Реестр модулей

Реестр — это не отдельный документ и не база данных. Это само дерево исходников.

modules/ ├── microservices/<домен>/ms-<имя> домен данных и его API ├── microfrontends/<домен>/mf-<имя> экран, подключаемый на лету ├── workflows/wf-<имя> процесс для DAG-рантайма ├── types/<домен>/ NRPC-контракты └── solutions/ какие модули поставляются вместе

Модуль существует, потому что существует его директория. Он принадлежит домену, потому что лежит в папке этого домена. Он входит в решение, потому что решение называет его в solutions/solutions.json. Никакого четвёртого места, где это надо продублировать, нет — и именно поэтому страница экосистемы на сайте собирается обходом дерева, а не редактированием списка.

Назначение модуля берётся из его README.md: первый абзац под заголовком ## Purpose (для микрофронтендов — ## UI Purpose) и абзац под заголовком о границе ответственности. Эти два абзаца — контракт модуля на человеческом языке, и они обязаны быть в каждом.

Продуктовый слой поверх базы (например, club) устроен так же и может опускать уровень домена: его модули лежат прямо в modules/microservices/ms-<имя>. Сборка понимает оба варианта раскладки.