ADR-0001: Monorepo И Границы Импортов
Статус
Accepted
Контекст
На ранней стадии нужно одновременно развивать документацию, backend services, gateway, user frontend, admin frontend, partner frontend, shared packages и event contracts. При этом микросервисы не должны становиться распределенным монолитом через прямые project references.
Решение
Используем monorepo:
docs/для документации.src/services/<service-name>/для сервисов.src/gateway/для YARP gateway.src/front-ends/<app-name>/для frontend apps.src/shared/,src/building-blocks/,src/contracts/для общих пакетов.
Cross-imports между сервисами запрещены. Разрешены только shared/building-block packages и versioned event contracts до публикации этих контрактов в NuGet.
Обратные ссылки
Автоссылки: где используется этот документ.