1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
//! EnvelopeCLI - Terminal-based zero-based budgeting application
//!
//! This library provides the core functionality for the EnvelopeCLI budgeting
//! application. It implements a zero-based budgeting system similar to YNAB,
//! but designed for terminal users who prefer CLI and TUI interfaces.
//!
//! # Architecture
//!
//! The crate is organized into the following modules:
//!
//! - `config`: Configuration and path management
//! - `error`: Custom error types
//! - `models`: Core data models (accounts, transactions, categories, etc.)
//! - `storage`: JSON file storage layer
//! - `services`: Business logic layer
//! - `audit`: Audit logging system
//! - `backup`: Automatic backup management
//!
//! # Example
//!
//! ```rust,ignore
//! use envelope_cli::config::{paths::EnvelopePaths, settings::Settings};
//!
//! let paths = EnvelopePaths::new()?;
//! let settings = Settings::load_or_create(&paths)?;
//! ```
// Step 31: Encryption at Rest
// Step 30: Full Data Export
// Steps 28-29: Reports
// Step 32: First-Run Setup Wizard
// Phase 4: TUI
pub use EnvelopeError;