Monorepo ломается не в коде, а в правилах: вот 6 мест, где обычно течёт время
Если репозиторий стал «удобным складом пакетов», дальше начинаются лишние сборки, случайные зависимости и медленный CI. Monorepo работает только тогда, когда границы пакетов и команды одинаково понимают структуру.
— Держите workspace-зависимости только внутри монорепы, а внешние версии фиксируйте явно.
— Разделяйте публичные и внутренние пакеты: один контракт, один владелец, один путь импорта.
— Не давайте пакетам ходить в чужой src; только через экспортный слой.
— Общие типы и утилиты выносите отдельно, но без «свалки» на 500 файлов.
— Ставьте отдельные правила для тестов, линта и сборки, иначе CI начнёт делать лишнюю работу.
Для TypeScript важнее всего не красота структуры, а предсказуемость: tsconfig с патчами по пакетам, единый алиас-стиль, изоляция артефактов сборки. Если пакет можно удалить без каскада правок — архитектура уже ближе к рабочей.
Хороший monorepo экономит время на навигации и рефакторинге; плохой просто переносит хаос в одну папку.
Open Source LLM — Llama / Qwen / DeepSeek
@open_source_llm_aff
Monorepo ломается не в коде, а в правилах: вот 6 мест, где обычно течёт время
Этот пост опубликован в Telegram-канале Open Source LLM — Llama / Qwen / DeepSeek. Подписаться можно по ссылке: @open_source_llm_aff.