Nx — платформа монорепозиториев, которая ускоряет сборки и готовит почву для ИИ-агентов
📂 Исходный код на GitHubОткрытая платформа монорепозиториев от команды Nx: ускоряет сборки, масштабирует CI и автоматически чинит упавшие PR. Лицензия MIT, около 29 тысяч звёзд на GitHub.
Nx — открытая платформа для монорепозиториев, которую развивает команда Nx (репозиторий nrwl/nx). Проект нацелен на TypeScript-проекты и полиглотные кодовые базы, где рядом живут несколько языков и технологий. Ядро инструмента написано на Rust ради скорости, а расширения пишутся на TypeScript. Nx запоминает, что не менялось, запускает только затронутые задачи и поставляется со встроенным решением для CI. Проект распространяется по лицензии MIT и собрал около 29 тысяч звёзд на GitHub. Его используют и стартапы, и крупные компании из списка Fortune 500 — истории внедрения собраны на сайте Nx.
Девиз проекта — «Smart Monorepos · Fast Builds». Подход команды сформулирован так же коротко: начните с малого и масштабируйтесь по мере роста. Разработчики описывают Nx как платформу монорепозиториев, которая усиливает и людей, и ИИ-агентов. Она ускоряет сборки, масштабирует CI и автоматически чинит упавшие PR. Именно вторая половина этого описания — работа с агентами — делает Nx особенно интересным для тех, кто внедряет ИИ в ежедневную разработку.
Инкрементальность по умолчанию
Nx можно добавить в любой существующий workspace на основе npm, pnpm или yarn одной командой:
npx nx init
Утилита сама найдёт скрипты в вашем package.json, начнёт кэшировать их результаты и запускать только те задачи, которых коснулись изменения. Перестраивать проект с нуля не нужно. Кэш работает так: если входные данные задачи не изменились, Nx возвращает готовый результат вместо повторного запуска. Для средней команды это экономит часы рабочего времени каждую неделю.
Плагины для любого стека
Экосистема Nx построена на опциональных плагинах. Плагин умеет три вещи: сам находит задачи в проекте, настраивает входы и выходы кэша и создаёт новый код по образцу вашего инструментария. Поддержка охватывает фронтенд, бэкенд и JVM-мир:
| Технология | Роль в workspace |
|---|---|
| Vite, Webpack | сборка и dev-сервер |
| Jest, Vitest | тесты |
| ESLint | статический анализ |
| Gradle, Maven | JVM-проекты |
| .NET, Go | нативные и серверные проекты |
Полный список интеграций опубликован на странице technologies. Благодаря этому Nx подходит не только для JavaScript-монорепозиториев, но и для смешанных кодовых баз.
Встроенный CI
Nx предлагает подключить репозиторий к своему CI-решению через интеграцию с провайдерами. Поддерживаются GitHub Actions, GitLab, Azure DevOps и другие системы. Что это даёт:
- Удалённый кэш — результат сборки, посчитанный на одной машине, переиспользуется всеми.
- Распределение задач — тяжёлые задачи раскидываются по нескольким машинам.
- Запуск только затронутого — в PR проверяются лишь проекты, которых коснулись изменения.
- Разделение e2e-тестов — большой набор end-to-end тестов делится на части и идёт параллельно.
ИИ-агенты как первоклассные пользователи
Ключевая особенность последних версий: CLI Nx спроектирован с расчётом на автономных агентов. Агент получает нужный контекст о монорепозитории и работает так же, как работал бы человек, — без постоянных подсказок. Отдельный репозиторий nx-ai-agents-config содержит готовые конфигурации для ИИ-ассистентов: навыки (skills), субагентов и команды.
Установка занимает одну команду:
nx configure-ai-agents
Утилита создаёт конфигурационные файлы для выбранного инструмента. Поддерживаются Claude Code, GitHub Copilot, Cursor, Gemini и OpenCode. Что умеют эти навыки:
- Понимание workspace — перед действием агент изучает граф проектов, зависимости и соглашения репозитория.
- Умная генерация кода — новый код создаётся по существующим шаблонам, тегам и инструментам workspace.
- Монорепозиторные навыки — набор подсказок помогает агенту ориентироваться, собирать и запускать проекты в монорепозитории.
- Мониторинг CI — агент следит за пайплайном и реагирует на падения.
Подробнее этот подход описан в блоге Nx.
Самовосстанавливающийся CI
Вторая ИИ-функция — Self-Healing CI. Схема простая. На пайплайне работает ИИ-агент. Он замечает упавшую задачу, ищет первопричину, предлагает исправление и сам проверяет, что исправление помогло. Человек подключается, только если агент не справился.
Работает и обратная связь с локальной машиной: локальный агент разработчика соединяется с CI через MCP и самостоятельно находит и чинит падения прямо из вашей сессии. Идея в том, чтобы падение CI перестало быть рутинной остановкой работы.
Навыки вместо MCP-инструментов
Отдельного внимания заслуживает философский выбор команды Nx. MCP-сервер для Nx — nx-mcp — существует и развивается в репозитории Nx Console. Но в статье «Почему мы удалили большинство наших MCP-инструментов» команда объясняет, почему перенесла большую часть функциональности из инструментов MCP в навыки. Кратко: слишком богатый список инструментов путает модели, а пошаговые навыки дают агенту процедурное знание — как именно работать в конкретном монорепозитории.
Этот опыт полезен любому, кто проектирует интеграции своих инструментов с LLM: иногда меньше инструментов и больше контекста дают лучший результат. Дальнейшее развитие темы — в статьях «Автономные агенты в масштабе» и анонсе Self-Healing CI.
С чего начать
Быстрый старт описан в документации Nx. Общая документация живёт на nx.dev/docs, там же есть блог, курсы и YouTube-канал команды. Если хотите поучаствовать в разработке, начните с руководства для контрибьюторов.
Итог: Nx — зрелая платформа для монорепозиториев, которая давно решает проблему медленных сборок и громоздкого CI, а теперь добавляет к этому слой для ИИ-агентов. Если ваш проект вырос до монорепозитория и вы хотите, чтобы и люди, и агенты работали в нём быстро и предсказуемо, Nx стоит попробовать.
Источник: https://github.com/nrwl/nx