ralph/template/variables.rs
1//! Purpose: Provide the public template-variable API surface for validation,
2//! context detection, and substitution.
3//!
4//! Responsibilities:
5//! - Declare the `template::variables` child modules.
6//! - Re-export the stable public API used by template loading and callers.
7//!
8//! Scope:
9//! - Thin facade only; implementation lives in sibling files under
10//! `template/variables/`.
11//!
12//! Usage:
13//! - Import public types and helpers through `crate::template` or
14//! `crate::template::variables`.
15//!
16//! Invariants/Assumptions:
17//! - The public API surface remains stable across the split.
18//! - Validation, detection, and substitution behavior lives in focused
19//! companions and must remain unchanged.
20
21mod context;
22mod detect;
23mod substitute;
24mod validate;
25
26#[cfg(test)]
27mod tests;
28
29pub use context::{TemplateContext, TemplateValidation, TemplateWarning};
30pub use detect::{detect_context, detect_context_with_warnings};
31pub use substitute::{substitute_variables, substitute_variables_in_task};
32pub use validate::validate_task_template;