Преимущества
- Изменения в shared-коде сразу видны во всех проектах — нет проблемы «какой версии библиотеки»
- Атомарные коммиты: одно изменение API и соответствующий рефакторинг всех потребителей — в одном PR
- Единые CI/CD, linting, тесты — меньше конфигурации
Недостатки
- Более медленный CI без инструментов кеширования (нужно запускать только изменённые части)
- Сложнее управление доступом к разным проектам
Инструменты
Nx (JavaScript/TypeScript), Turborepo (JS), Bazel (Google, multi-language). Крупные монорепо: Google, Meta, Microsoft хранят весь код в одном репозитории.