#[derive(Debug, thiserror::Error)]
pub(crate) enum NewError {
#[error("IO error: {0}")]
IoError(#[from] std::io::Error),
#[error("Git is not installed or not found in PATH")]
GitNotFound,
#[error("Project directory '{0}' already exists")]
ProjectExists(String),
#[error("Git clone failed: {0}")]
CloneFailed(String),
#[error("Invalid project name: {0}")]
InvalidName(String),
}