lmrc-cli 0.3.16

CLI tool for scaffolding LMRC Stack infrastructure projects
Documentation
use thiserror::Error;

#[derive(Debug, Error)]
pub enum CliError {
    #[error("IO error: {0}")]
    Io(#[from] std::io::Error),

    #[error("Configuration error: {0}")]
    ConfigValidator(#[from] lmrc_config_validator::ConfigError),

    #[error("Configuration error: {0}")]
    Config(String),

    #[allow(dead_code)]
    #[error("Workspace error: {0}")]
    Workspace(String),

    #[error("Prompt error: {0}")]
    Prompt(#[from] inquire::InquireError),

    #[allow(dead_code)]
    #[error("Generation error: {0}")]
    Generation(String),

    #[allow(dead_code)]
    #[error("Invalid path: {0}")]
    InvalidPath(String),

    #[error("Project already exists at: {0}")]
    ProjectExists(String),

    #[allow(dead_code)]
    #[error("Pipeline error: {0}")]
    Pipeline(String),

    #[allow(dead_code)]
    #[error("IO error: {0}")]
    IoError(String),

    #[error("Command execution error: {0}")]
    Command(String),

    #[error("Missing environment variable: {0}")]
    MissingEnvironmentVariable(String),

    #[error("Infrastructure error: {0}")]
    Infrastructure(String),
}

pub type Result<T> = std::result::Result<T, CliError>;