mod args;
mod commands;
pub use args::{
Args, Command, BumpType, ResumePhase, RuntimeConfig, VerbosityLevel,
};
pub use commands::execute_command;
use crate::error::Result;
pub async fn run() -> Result<i32> {
let args = Args::parse_args();
execute_command(args).await
}
pub fn parse_args() -> Args {
Args::parse_args()
}
pub fn validate_args(args: &Args) -> crate::error::Result<()> {
args.validate().map_err(|e| crate::error::CliError::InvalidArguments { reason: e }.into())
}
pub fn create_runtime_config(args: &Args) -> RuntimeConfig {
RuntimeConfig::from(args)
}