cirious_codex_config 0.2.0

A robust, foundational configuration management framework for the Cirious ecosystem.
Documentation
//! # Cirious Codex Config
//!
//! `cirious_codex_config` is a robust configuration management framework tailored for the
//! Cirious ecosystem. It provides a highly optimized foundation for loading, parsing,
//! and validating application settings from various sources, ensuring a secure and
//! reliable setup process.
//!
//! ## Overview
//!
//! - **Flexible Loading**: Built-in support for merging configurations from multiple sources, including files (TOML, JSON, YAML) and environment variables.
//! - **Structured Deserialization**: Seamless integration with `serde` to map your settings directly into strongly-typed Rust structures.
//! - **Diagnostic Integration**: Designed to work flawlessly with the broader Cirious Codex ecosystem to provide detailed, actionable error tracking when configuration issues occur.

#![cfg_attr(docsrs, feature(doc_cfg))]

/// Contains abstractions for parsing configuration files in various formats
///
/// (JSON, TOML, YAML). Use the appropriate feature flags to enable them.
pub mod format;

/// Configuration builder module that handles merging and overrides.
pub mod builder;

/// Watch module for live reloading configuration files.
pub mod watch;

/// Merge module for merging configurations.
pub mod merge;

/// Secrets module for managing secrets.
pub mod secrets;

pub(crate) mod utils;

pub use builder::ConfigBuilder;
pub use merge::deep_merge;
pub use secrets::{resolve_secrets, resolve_with_providers, SecretProvider};
pub use serde::{Deserialize, Serialize};
pub use watch::watch_config;