# System map — lerna/lerna

> Canonical page: https://codevetter.com/unpack/lerna/system-map

# System map — lerna/lerna

Scanned commit ce3e38f2889b26573f1b38cfb487546903292158 (2026-10-02). Generated by codevetter codevetter 1.15.0 on 2026-10-02.

Source inspection; upstream code and tests were not executed.

The product runtime is a Node CLI assembled from command libraries and shared core utilities. Nx supplies project graphs and the default task runner, while Lerna owns package metadata and release coordination. Persistent state consists primarily of workspace files, Git state, and registry artifacts. The npm package and documentation website have separate build and deployment paths.
- The published lerna package is ESM, exposes dist/cli.js as its binary, and exports the main API, command modules, selected helpers, migrations, and utilities. — [packages/lerna/package.json#L17-27](https://github.com/lerna/lerna/blob/ce3e38f2889b26573f1b38cfb487546903292158/packages/lerna/package.json#L17-L27) [packages/lerna/package.json#L88-98](https://github.com/lerna/lerna/blob/ce3e38f2889b26573f1b38cfb487546903292158/packages/lerna/package.json#L88-L98)
- cli.ts first delegates through importLocal; otherwise it requires index.js and passes process.argv.slice(2) to main. — [packages/lerna/src/cli.ts#L3-12](https://github.com/lerna/lerna/blob/ce3e38f2889b26573f1b38cfb487546903292158/packages/lerna/src/cli.ts#L3-L12)
- main explicitly registers 15 command modules; shared CLI setup uses strict yargs parsing, requires a command, and maps failures to nonzero exit codes. — [packages/lerna/src/index.ts#L26-51](https://github.com/lerna/lerna/blob/ce3e38f2889b26573f1b38cfb487546903292158/packages/lerna/src/index.ts#L26-L51) [libs/core/src/lib/cli.ts#L18-44](https://github.com/lerna/lerna/blob/ce3e38f2889b26573f1b38cfb487546903292158/libs/core/src/lib/cli.ts#L18-L44)
- Most command implementations resolve through @lerna aliases into libs/commands; published run wrappers re-export that implementation rather than duplicate it. — [tsconfig.base.json#L25-50](https://github.com/lerna/lerna/blob/ce3e38f2889b26573f1b38cfb487546903292158/tsconfig.base.json#L25-L50) [packages/lerna/src/commands/run/index.ts#L1-1](https://github.com/lerna/lerna/blob/ce3e38f2889b26573f1b38cfb487546903292158/packages/lerna/src/commands/run/index.ts#L1-L1) [packages/lerna/src/commands/run/command.ts#L1-4](https://github.com/lerna/lerna/blob/ce3e38f2889b26573f1b38cfb487546903292158/packages/lerna/src/commands/run/command.ts#L1-L4)
- Command orchestrates Project initialization, environment/options/properties setup, validation, graph detection, preparations, and subclass execution; composed publish/version calls can reuse graph data. — [libs/core/src/lib/command/index.ts#L110-143](https://github.com/lerna/lerna/blob/ce3e38f2889b26573f1b38cfb487546903292158/libs/core/src/lib/command/index.ts#L110-L143) [libs/core/src/lib/command/index.ts#L338-354](https://github.com/lerna/lerna/blob/ce3e38f2889b26573f1b38cfb487546903292158/libs/core/src/lib/command/index.ts#L338-L354)
- Project owns root configuration and Package owns mutable manifests; serialization writes lerna configuration and package.json files rather than a database. — [libs/core/src/lib/project/index.ts#L90-108](https://github.com/lerna/lerna/blob/ce3e38f2889b26573f1b38cfb487546903292158/libs/core/src/lib/project/index.ts#L90-L108) [libs/core/src/lib/project/index.ts#L201-208](https://github.com/lerna/lerna/blob/ce3e38f2889b26573f1b38cfb487546903292158/libs/core/src/lib/project/index.ts#L201-L208) [libs/core/src/lib/package.ts#L269-285](https://github.com/lerna/lerna/blob/ce3e38f2889b26573f1b38cfb487546903292158/libs/core/src/lib/package.ts#L269-L285)
- Nx/esbuild compiles the published package for Node as split ESM with explicit additional entrypoints; root scripts route tests, lint, and integration through Nx. — [packages/lerna/project.json#L17-40](https://github.com/lerna/lerna/blob/ce3e38f2889b26573f1b38cfb487546903292158/packages/lerna/project.json#L17-L40) [packages/lerna/project.json#L95-111](https://github.com/lerna/lerna/blob/ce3e38f2889b26573f1b38cfb487546903292158/packages/lerna/project.json#L95-L111) [package.json#L16-26](https://github.com/lerna/lerna/blob/ce3e38f2889b26573f1b38cfb487546903292158/package.json#L16-L26)
- The website uses Docusaurus and React, deploys to the lerna/website repository, and has a PR build check; npm releases use a separately dispatched workflow with an npm-production environment. — [website/package.json#L4-26](https://github.com/lerna/lerna/blob/ce3e38f2889b26573f1b38cfb487546903292158/website/package.json#L4-L26) [.github/workflows/website-deploy.yml#L18-39](https://github.com/lerna/lerna/blob/ce3e38f2889b26573f1b38cfb487546903292158/.github/workflows/website-deploy.yml#L18-L39) [website/docusaurus.config.js#L19-23](https://github.com/lerna/lerna/blob/ce3e38f2889b26573f1b38cfb487546903292158/website/docusaurus.config.js#L19-L23) [.github/workflows/release.yml#L49-62](https://github.com/lerna/lerna/blob/ce3e38f2889b26573f1b38cfb487546903292158/.github/workflows/release.yml#L49-L62)

Every claim links to its cited files at the pinned commit. Citations identify source evidence; they do not establish runtime correctness. Independent CodeVetter scan — not reviewed by upstream maintainers.

## Public product links

- [CodeVetter](https://codevetter.com/)
- [Download](https://codevetter.com/download)
- [Documentation](https://codevetter.com/docs/)
- [Source](https://github.com/Codevetter/codevetter)
