adrs_core/lib.rs
1//! # adrs-core
2//!
3//! Core library for managing Architecture Decision Records (ADRs).
4//!
5//! This library provides the foundational types and operations for working with ADRs,
6//! including parsing, creating, linking, and querying decision records.
7//!
8//! ## Modes
9//!
10//! The library supports two modes:
11//!
12//! - **Compatible mode** (default): Writes markdown-only format compatible with adr-tools,
13//! but can read both legacy and next-gen formats.
14//! - **Next-gen mode**: Uses YAML frontmatter for structured metadata, enabling richer
15//! features like typed links and better validation.
16
17mod config;
18mod error;
19mod parse;
20mod repository;
21mod template;
22mod types;
23
24pub use config::{Config, ConfigMode};
25pub use error::{Error, Result};
26pub use parse::Parser;
27pub use repository::Repository;
28pub use template::{Template, TemplateEngine, TemplateFormat, TemplateVariant};
29pub use types::{Adr, AdrLink, AdrStatus, LinkKind};