spec_driven_docs/lib.rs
1//! Spec-driven documentation: current specs, immutable decision records, and
2//! executable gates kept coherent for people and coding agents.
3//!
4//! This crate is the canon's distribution: the `sdd` binary installs, verifies,
5//! upgrades, and gates instances, and carries the whole payload — spec seeds,
6//! templates, lint configs, and the method chapters — embedded at compile
7//! time. The method itself lives in the repository's
8//! markdown, not here; this crate only ships and enforces it.
9//!
10//! Major modules:
11//! - [`domain`] — pure types and invariants: manifest, profiles, rule and gate
12//! identifiers, marker-block splicing, versions.
13//! - [`embedded`] — every compile-time embedded asset and its accessors.
14//! - [`gates`] — the delivered gate implementations and their registry.
15//! - [`services`] — install, verify, upgrade, and hook-rendering orchestration.
16//! - [`adapters`] — filesystem I/O at the edges.
17//! - [`plan`] — the typed document every landing write comes from.
18//! - [`release`] — the bundle and resolver boundary every landing verb
19//! reads a release through.
20//! - [`transaction`] — the lock, staging, and journal a recoverable
21//! multi-file write runs through.
22//! - [`cli`] / [`commands`] — clap parse shapes and their handlers.
23//! - [`error`] — [`error::AppError`] and the exit-code matrix.
24
25pub mod adapters;
26pub mod cli;
27pub mod commands;
28pub mod context;
29pub mod domain;
30pub mod embedded;
31pub mod error;
32pub mod gates;
33pub mod logging;
34pub mod output;
35pub mod payload_roots;
36pub mod plan;
37pub mod probes;
38pub mod release;
39pub mod services;
40pub mod transaction;