skillhub 0.2.0

CLI for SkillHub - AI Agent Skill Registry
use thiserror::Error;

#[derive(Error, Debug)]
pub enum CliError {
    #[error("Not logged in. Run 'skillhub login' first.")]
    NotAuthenticated,

    #[error("API error (code {0}): {1}")]
    Api(i32, String),

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

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

    #[error("IO error: {0}")]
    Io(#[from] std::io::Error),

    #[error("HTTP error: {0}")]
    Http(#[from] reqwest::Error),

    #[error("TOML error: {0}")]
    Toml(#[from] toml::de::Error),

    #[error("TOML serialize error: {0}")]
    TomlSer(#[from] toml::ser::Error),

    #[error("Dialoguer error: {0}")]
    Dialoguer(#[from] dialoguer::Error),

    #[error("JSON error: {0}")]
    Json(#[from] serde_json::Error),
}

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