molt status
Show what the next release would contain -- the pending changesets and the versions they project -- without changing anything.
Synopsis
Description
molt status reads the pending changesets, assembles the release plan, and reports it. It writes nothing, so it is safe to run any time. It has two jobs:
- A preview of the next
molt versionfor a human, grouped by bump type.--verboseadds the projected new version and the source changeset for each package. - A CI gate. When at least one versionable package has changed but no changeset covers it,
molt statusexits 1 with guidance to runmolt add(ormolt add --emptyif the change needs no release). This is the check you run on every pull request.
--output json emits the plan as a machine-readable document to stdout, for tooling that decides what to do next. json is the only value it accepts: molt never writes the plan to a file, so redirect stdout when you want one. See Status checks.
Options
On
molt status,-vmeans--verbose, not--version-- a deliberate carry-over from changesets. Use the long--versiononmoltitself for the version string.
The rendered view and the CI gate's guidance go to stderr; only the --output json payload goes to stdout. That is what makes molt status --output json | jq work -- see the stream contract.
Exit codes
Examples
Rendered preview:
Verbose, with projected versions and sources:
Machine-readable, for CI:
As a pull-request gate:
Exclude the release branch, changeset-release/<base>; see Status checks.
status or doctor?
Molt has two read-only commands and they answer different questions. Wiring the wrong one into a pull-request job leaves you with no changeset gate:
molt status is the gate for every pull request. molt doctor is what you run when something is wrong, after a migration, or before opening an issue.
See also
- Status checks -- using
statusas a CI gate. - molt doctor -- the setup diagnostic.
- CI: GitHub Action.
- The release plan -- the object
--output jsonprints.