crate-cli 0.2.5

A command-line tool for managing Cargo package lifecycles: version bump, workspace dependency sync, members-ordered publish and code formatting.
Documentation
/// Print help message
pub fn print_help() {
    log::info!("cc [COMMAND] [OPTIONS]");
    log::info!("");
    log::info!("Commands:");
    log::info!(
        "  bump      Bump version (single crate, workspace root version, or all workspace members)"
    );
    log::info!("  fmt       Format Rust code using cargo fmt");
    log::info!("  publish   Publish packages in [workspace.members] order");
    log::info!(
        "  sync      Sync [workspace.dependencies] versions/aliases to workspace.package.version"
    );
    log::info!("  -h, --help      Print this help message");
    log::info!("  -v, --version   Print version information");
    log::info!("");
    log::info!("Bump Options:");
    log::info!("  --patch         Bump patch version (0.1.0 -> 0.1.1) [default]");
    log::info!("  --minor         Bump minor version (0.1.0 -> 0.2.0)");
    log::info!("  --major         Bump major version (0.1.0 -> 1.0.0)");
    log::info!(
        "  --alpha         Add or bump alpha version (0.1.0 -> 0.1.0-alpha, 0.1.0-alpha -> 0.1.0-alpha.1)"
    );
    log::info!(
        "  --beta          Add or bump beta version (0.1.0 -> 0.1.0-beta, 0.1.0-alpha.2 -> 0.1.0-beta.1)"
    );
    log::info!(
        "  --rc            Add or bump rc version (0.1.0 -> 0.1.0-rc, 0.1.0-beta.1 -> 0.1.0-rc.1)"
    );
    log::info!("  --release       Remove pre-release identifier (0.1.0-alpha -> 0.1.0)");
    log::info!("  --manifest-path <PATH>  Path to Cargo.toml [default: Cargo.toml]");
    log::info!("");
    log::info!("Fmt Options:");
    log::info!("  --check         Check formatting without making changes");
    log::info!("  --manifest-path <PATH>  Path to Cargo.toml");
    log::info!("");
    log::info!("Publish Options:");
    log::info!("  --manifest-path <PATH>  Path to workspace Cargo.toml [default: Cargo.toml]");
    log::info!("  --max-retries <N>       Maximum retry attempts per package [default: 8]");
    log::info!("");
    log::info!("Sync Options:");
    log::info!("  --manifest-path <PATH>  Path to workspace Cargo.toml [default: Cargo.toml]");
}