Skip to content

Getting started

Emendant tells you which call sites a known API or SDK change affects. It starts from the packages your repository actually declares, then reports only structurally verified uses.

  • Node.js 20 or later.
  • A TypeScript or JavaScript repository.
  • A supported manifest such as package.json.
  • For exact version placement, a supported lockfile.

Emendant supports declared monorepo workspaces. Run it once from the repository root; each workspace is detected and reported separately.

From the repository root:

Terminal window
npx emendant scan

Emendant then:

  1. Reads manifests and lockfiles to identify packages and installed versions.
  2. Selects relevant changes from the feed bundled with the CLI.
  3. Filters out ignored, generated, oversized, and irrelevant files.
  4. Parses candidate TypeScript and JavaScript files and traces package values across local modules.
  5. Prints findings grouped by workspace, package, and change.

The scan is read-only. It does not execute your project or make a network request.

A finding looks broadly like this:

openai 5.0.0 installed 4.104.0
breaking fileFromPath helper removed high confidence
openai-npm-5.0.0-filefrompath-removed
src/uploads.ts:9:10 call
return fileFromPath(path);

The package heading explains which release the change belongs to and what your project has installed. The call site is a terminal-clickable path:line:column, and the change ID leads to the source and migration guidance:

Terminal window
npx emendant explain openai-npm-5.0.0-filefrompath-removed
Code Meaning
0 The scan completed with no findings.
1 The scan completed and found affected code.
2 Emendant could not complete the scan.

Exit code 1 is a result, not a crash. This distinction matters when you run Emendant in CI.