# crate-seq
Publish Rust crates to crates.io in sequential SemVer order.
Thin clap shell over `crate-seq-core`. All business logic lives in the core crate.
`publish` is dry-run by default; pass `--execute` to write to the live registry.
## Subcommands
| `init` | Discovers git tags and crates.io state, writes `.crate-seq.toml` ledgers |
| `check` | Diffs pending ledger versions against live crates.io state |
| `publish` | Publishes all pending versions in SemVer order (dry-run unless `--execute`) |
| `tag` | Creates an annotated git tag and ledger entry for a new version |
| `skip` | Marks a version as skipped so it is never published |
| `status` | Prints a table of all ledger entries and their current status |
| `snapshot` | Captures the crate directory as a versioned `.tar.gz` snapshot |
All workspace subcommands accept `--crate <name>` to restrict to one crate and
`--path <dir>` to point at a workspace or crate root other than `.`.
Exit code is `0` on success, `1` on any error. Errors are printed to stderr with
actionable hints where possible.