cargo-governor 2.0.3

Machine-First, LLM-Ready, CI/CD-Native release automation tool for Rust crates
Documentation
//! Publish command options

use clap::Parser;

/// Publish command options
#[derive(Parser, Debug, Clone)]
pub struct PublishOpts {
    /// Bump strategy before publishing
    #[arg(short = 'b', long)]
    pub bump: Option<String>,

    /// Comma-separated list of checks to skip
    #[arg(long)]
    pub skip_checks: Option<String>,

    /// Publish only specific crates
    #[arg(long)]
    pub only: Option<String>,

    /// Exclude specific crates
    #[arg(long)]
    pub exclude: Option<String>,

    /// Delay between publishes in seconds (default: 10)
    #[arg(long)]
    pub delay: Option<u64>,

    /// Max retries per crate (default: 3)
    #[arg(long)]
    pub max_retries: Option<usize>,

    /// Error handling: stop, skip, rollback
    #[arg(long)]
    pub on_error: Option<String>,

    /// Allow the workspace version to differ from the last release tag
    #[arg(long)]
    pub allow_version_drift: bool,

    /// Allow the release workflow to start from a dirty working tree
    #[arg(long)]
    pub allow_dirty: bool,
}