cli_testing_specialist/config/
mod.rs

1//! # Configuration Module
2//!
3//! Loads and validates YAML configuration files for the CLI testing framework.
4//!
5//! ## Configuration Files
6//!
7//! - `option-patterns.yaml`: Pattern matching rules for option type inference
8//! - `numeric-constraints.yaml`: Min/max constraints for numeric options
9//! - `enum-definitions.yaml`: Enum value definitions for specific option patterns
10//!
11//! ## Example Usage
12//!
13//! ```no_run
14//! use cli_testing_specialist::config::load_config;
15//! use std::path::Path;
16//!
17//! // Load from specific path
18//! let config = load_config(Some(Path::new(".cli-test-config.yml")))?;
19//! if let Some(cfg) = config {
20//!     println!("Loaded configuration version: {}", cfg.version);
21//! }
22//! # Ok::<(), cli_testing_specialist::error::CliTestError>(())
23//! ```
24//!
25//! ## Validation
26//!
27//! ```no_run
28//! use cli_testing_specialist::config::{load_config, validate_config};
29//! use std::path::Path;
30//!
31//! if let Some(config) = load_config(Some(Path::new(".cli-test-config.yml")))? {
32//!     validate_config(&config)?; // Ensures valid configuration
33//!     println!("Configuration validated successfully");
34//! }
35//! # Ok::<(), cli_testing_specialist::error::CliTestError>(())
36//! ```
37
38pub mod loader;
39pub mod validator;
40
41pub use loader::load_config;
42pub use validator::validate_config;