Open source · DevOps & Release

Semantic Version Planner

Suggest semantic version impact from public API and behavior changes.

v1.0.0 · Node.js 22+ · MIT

Browse the public repository · View releases

An offline, read-only version suggestion from an exported API diff and explicit behavior review. It does not decide whether unchanged APIs imply compatible behavior.

This walkthrough uses the tool's public README and checked-in example files. Run the command from a repository checkout with Node.js 22+.

Run the checked-in example

node bin/semantic-version-planner.mjs --root examples/pass --policy policy.json --evidence evidence.json
node bin/semantic-version-planner.mjs --root examples/fail --policy policy.json --evidence evidence.json
npm run check

Read the result

The CLI prints one JSON report. Exit 0=pass, 1=fail (bump exceeds the policy maximum), 2=incomplete or invalid configuration. Invalid options, root, or policy emit empty stdout. Unreadable or malformed evidence emits an incomplete report. Both file paths must resolve within the realpath of --root; no files are written. Strict UTF-8 and duplicate decoded JSON keys are enforced.

Scope

Policy ≤65,536 bytes; evidence ≤524,288 bytes; at most 1,000 changes per section; JSON depth ≤16; evaluation ≤5,000 ms using an injectable monotonic clock. Each bound accepts N and rejects N+1. Findings and reasons use fixed privacy-safe messages and logical pointers, sorted by UTF-16 code-unit order. The tool does not query source control, infer behavior from API similarity, publish tags or releases, or calculate downstream dependency impact.