shipper-cli 0.3.0-rc.1

Command-line tool for reliable, resumable Rust workspace publishing
shipper-cli-0.3.0-rc.1 is not a library.
Visit the last successful build: shipper-cli-0.3.0-rc.2

shipper-cli

shipper-cli provides the shipper command for reliable, resumable publishing of Rust workspace crates.

This crate is the CLI frontend for the shipper library crate.

Install

cargo install shipper-cli --locked

From this repository:

cargo install --path crates/shipper-cli --locked

Quick start

shipper plan
shipper preflight
shipper publish

If a run is interrupted:

shipper resume

Core commands

  • shipper plan - print publish order and skipped packages.
  • shipper preflight - run checks without publishing.
  • shipper publish - execute publish and persist state.
  • shipper resume - continue from previous state.
  • shipper status - compare local versions to registry versions.
  • shipper doctor - print environment and auth diagnostics.

State and evidence files

By default, the CLI writes to .shipper/:

  • state.json - resumable execution state.
  • receipt.json - machine-readable publish receipt.
  • events.jsonl - append-only event log.

Use --state-dir <path> to relocate these files.

Configuration

Generate and validate project config:

shipper config init
shipper config validate

The config file is .shipper.toml in your workspace root unless overridden by --config.

Authentication

Publishing is delegated to Cargo. API checks use Cargo-compatible token locations:

  • CARGO_REGISTRY_TOKEN
  • CARGO_REGISTRIES_<NAME>_TOKEN
  • $CARGO_HOME/credentials.toml

Related crates and docs