Skip to main content

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//! - [`cli`] / [`commands`] — clap parse shapes and their handlers.
18//! - [`error`] — [`error::AppError`] and the exit-code matrix.
19
20pub mod adapters;
21pub mod cli;
22pub mod commands;
23pub mod context;
24pub mod domain;
25pub mod embedded;
26pub mod error;
27pub mod gates;
28pub mod logging;
29pub mod output;
30pub mod payload_roots;
31pub mod probes;
32pub mod services;