Перейти к основному содержимому

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.

Обратные ссылки

Автоссылки: где используется этот документ.