hbackup/lib.rs
1//! hbackup: A high-performance, cross-platform CLI backup tool.
2//!
3//! This crate provides the core logic, command definitions, file utilities, and path handling
4//! for the hbackup CLI application. It exposes modules for configuration management, command-line
5//! parsing, file compression, and system exit codes. All error handling is unified via the `Result` type alias.
6//!
7//! # Modules
8//! - [`application`]: Application configuration and job management
9//! - [`commands`]: CLI command definitions and handlers
10//! - [`file_util`]: File and directory compression utilities
11//! - [`path`]: Path expansion and validation helpers
12//! - [`sysexits`]: Standardized system exit codes
13//!
14//! # Constants
15//! - `CONFIG_NAME`: Default configuration file name
16//! - `CONFIG_BACKUP_NAME`: Backup configuration file name
17//!
18//! # Example
19//! ```no_run
20//! use hbackup::application::Application;
21//! let app = Application::new();
22//! ```
23
24use std::error::Error;
25
26pub mod application;
27pub mod commands;
28pub mod file_util;
29pub mod path;
30pub mod sysexits;
31
32/// Unified result type for all fallible operations in hbackup.
33pub type Result<T> = std::result::Result<T, Box<dyn Error>>;
34
35/// Default configuration file name.
36pub const CONFIG_NAME: &str = "config.toml";
37/// Backup configuration file name.
38pub const CONFIG_BACKUP_NAME: &str = "config_backup.toml";