nils_markdown/lib.rs
1//! Shared Markdown template layer for the nils-cli workspace.
2//!
3//! Markdown artifacts emitted by workspace CLIs (issue bodies, lifecycle
4//! comments, dashboards, retros, heuristic-system entries) are produced
5//! by `.md.tera` templates rendered against flat
6//! [`serde::Serialize`] view structs. Consumers prepare the view in Rust
7//! and let the template own layout; templates never reach into the
8//! consumer's domain.
9//!
10//! Sprint 1 of the archived `markdown-render-template-layer` plan
11//! (agent-plan-archive: nils-cli/2026-05-26-markdown-render-template-layer)
12//! populates this crate with the engine builder, the `md_cell` Tera filter, the
13//! `nils_common::markdown` re-export bridge, the `register_helper`
14//! extension point that consumer crates plug their own domain helpers
15//! into, and a byte-equality `assert_render` test harness. Sprint 3
16//! lands the `md-render` binary that drives the same engine over JSON
17//! input under the `bin-cli` Cargo feature.
18
19mod engine;
20mod error;
21mod filters;
22#[cfg(feature = "test-support")]
23pub mod golden;
24pub mod helpers;
25
26pub use engine::{Engine, EngineBuilder};
27pub use error::RenderError;