shipper-cli 0.3.0-rc.2

CLI adapter for Shipper. Install with `cargo install shipper --locked`; this crate is for embedders who want the exact CLI surface programmatically.
Documentation
---
source: crates/shipper-cli/tests/e2e_expanded.rs
expression: normalize_output(&stdout)
---
# GitHub Actions workflow snippet for Shipper
# Add these steps to your workflow file

# Restore Shipper State (cache for faster restores)
- name: Restore Shipper State
  uses: actions/cache@v3
  with:
    path: <STATE_DIR>/
    key: shipper-${{ github.sha }}
    restore-keys: |
      shipper-

# Restore Shipper State (artifact for resumability)
- name: Restore Shipper State Artifact
  uses: actions/download-artifact@v4
  with:
    name: shipper-state
    path: <STATE_DIR>/
  continue-on-error: true

# Run shipper publish (will resume if state exists)
- name: Publish Crates
  run: shipper publish --quiet
  env:
    CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}

# Save Shipper State (even if publish fails)
- name: Save Shipper State
  if: always()
  uses: actions/upload-artifact@v3
  with:
    name: shipper-state
    path: <STATE_DIR>/