Реестр модулей
Реестр — это не отдельный документ и не база данных. Это само дерево исходников.
modules/
├── microservices/<домен>/ms-<имя> домен данных и его API
├── microfrontends/<домен>/mf-<имя> экран, подключаемый на лету
├── workflows/wf-<имя> процесс для DAG-рантайма
├── types/<домен>/ NRPC-контракты
└── solutions/ какие модули поставляются вместе
Модуль существует, потому что существует его директория. Он принадлежит домену, потому что лежит в папке этого домена. Он входит в решение, потому что решение называет его в . Никакого четвёртого места, где это надо продублировать, нет — и именно поэтому страница экосистемы на сайте собирается обходом дерева, а не редактированием списка.solutions/solutions.json
Назначение модуля берётся из его : первый абзац под заголовком README.md (для микрофронтендов — ## Purpose) и абзац под заголовком о границе ответственности. Эти два абзаца — контракт модуля на человеческом языке, и они обязаны быть в каждом.## UI Purpose
Продуктовый слой поверх базы (например, ) устроен так же и может опускать уровень домена: его модули лежат прямо в club. Сборка понимает оба варианта раскладки.modules/microservices/ms-<имя>