shipper-cli
CLI adapter crate for Shipper. Owns clap parsing, subcommand dispatch,
help text, and progress rendering. Exposes pub fn run() -> anyhow::Result<()>
as the embedding entry point; the shipper-cli binary is a three-line
wrapper over run.
Use the shipper crate to install
Most users should install the product via the shipper crate:
That installs a binary named shipper that forwards to the same run
function in this crate.
When to depend on shipper-cli directly
Reach for this crate when you need the exact CLI surface programmatically — for example, a wrapper that invokes Shipper after extra preflight steps of your own:
For programmatic use without a clap dependency graph, depend on
shipper-core instead — that's
where the engine lives.
Installing the adapter directly
The shipper-cli crate ships its own shipper-cli binary, a
three-line wrapper over shipper_cli::run() — the same entry point
the shipper install uses. Install the adapter directly when you
want the shipper-cli binary name (e.g., existing pipelines, or
you prefer the adapter crate explicitly):
# From crates.io — same code path as `cargo install shipper`
# From this repository
Most users should prefer cargo install shipper --locked, which
installs a binary named shipper against the same adapter.
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.shipper rehearse— package + verify + publish to a rehearsal registry.shipper yank/shipper plan-yank— receipt-driven containment.shipper fix-forward— plan a minimal repair of a partial release.
Architecture
shipper (install face — `cargo install shipper`)
-> shipper-cli (this crate — CLI adapter, pub fn run())
-> shipper-core (engine — library only)
Related crates and docs
- Install face: https://crates.io/crates/shipper
- Engine library: https://crates.io/crates/shipper-core
- Project README: https://github.com/EffortlessMetrics/shipper#readme
- Configuration reference: https://github.com/EffortlessMetrics/shipper/blob/main/docs/configuration.md