lerna

Best practices for Lerna monorepo management, versioning, and publishing

mindrally official Другое

Что делает навык

Skill обеспечивает управление монорепозиторием Lerna для JavaScript/TypeScript проектов, включая версионирование, публикацию пакетов и выполнение задач. Он автоматизирует обновление зависимостей, создание git-тегов и генерацию changelog на основе Conventional Commits.

Когда применять

  • Настройка структуры монорепозитория с использованием Lerna и npm/yarn/pnpm workspaces.
  • Автоматическое определение версий пакетов на основе истории коммитов (Conventional Commits).
  • Публикация измененных или новых пакетов в npm-реестр из CI/CD.
  • Запуск скриптов (build, test, lint) только для измененных пакетов или параллельно.
  • Управление внутренними зависимостями между пакетами монорепозитория.

Как работает

  1. Настроить lerna.json с выбором режима версионирования (independent или fixed) и указанием пакетов.
  2. Активировать workspaces в корневом package.json для управления hoisting и linking зависимостей.
  3. Использовать команды lerna run с флагами --scope, --since, --stream или --parallel для выполнения задач.
  4. Применять lerna version для обновления версий (patch, minor, major) с автоматическим обновлением зависимостей.
  5. Использовать lerna publish для публикации пакетов с учетом флагов from-git или from-package.
  6. Настроить Conventional Commits в lerna.json для автоматического определения типа версии и генерации changelog.

Примеры запросов агенту

Как настроить Lerna для независимого версионирования пакетов в монорепозитории?
Запусти тесты только для пакетов, измененных с момента последнего релиза.
Опубликуй все пакеты, которые имеют новые версии в git, используя флаг from-git.

Что понадобится

  • Установленный Lerna и пакетный менеджер (npm, yarn или pnpm)
  • Настраиваемый npm registry (через .npmrc или lerna.json)
  • Git-репозиторий с поддержкой тегов

Описание составлено по SKILL.md навыка, сверено 05.10.2026.

Как подключить

1Скачать навык
# возьмите папку навыка «lerna» из репозитория: # https://github.com/mindrally/skills
2Положить папку с SKILL.md к навыкам ассистента
# положите папку навыка туда, где ассистент ищет skills: cp -r lerna/ ~/.claude/skills/lerna/

Навык — папка с файлом SKILL.md (описание + инструкции) и опциональными скриптами. Ассистент (Claude, Claude Code и совместимые) подхватывает его по описанию и следует шагам.