cargo-setupx 0.1.0

Rust-based CLI and library that automates the initial setup of new Rust projects with modular configuration packs
Documentation
//! Error types for cargo-setupx

use std::io;
use std::path::PathBuf;
use thiserror::Error;

/// Result type alias for cargo-setupx operations
pub type Result<T> = std::result::Result<T, SetupError>;

/// Errors that can occur during project setup
#[derive(Error, Debug)]
pub enum SetupError {
    /// I/O error occurred
    #[error("I/O error: {0}")]
    Io(#[from] io::Error),

    /// File already exists and force flag not set
    #[error("File already exists: {path}. Use --force to overwrite")]
    FileExists { path: PathBuf },

    /// Invalid architecture type
    #[error("Invalid architecture type: '{0}'. Currently supported: 'clean'")]
    InvalidArchitecture(String),

    /// Git operation failed
    #[error("Git operation failed: {0}")]
    Git(String),

    /// Generic error
    #[error("{0}")]
    Other(String),
}