adrscope/
lib.rs

1//! # ADRScope
2//!
3//! A lightweight visualization tool for Architecture Decision Records.
4//!
5//! ADRScope generates self-contained HTML viewers for ADRs following the
6//! structured-madr format. It supports faceted search, relationship graphs,
7//! and GitHub Wiki generation.
8//!
9//! ## Quick Start
10//!
11//! ```no_run
12//! use adrscope::application::{GenerateOptions, GenerateUseCase};
13//! use adrscope::infrastructure::fs::RealFileSystem;
14//!
15//! let fs = RealFileSystem::new();
16//! let use_case = GenerateUseCase::new(fs);
17//! let options = GenerateOptions::new("docs/decisions")
18//!     .with_output("adr-viewer.html");
19//!
20//! let result = use_case.execute(&options)?;
21//! println!("Generated viewer with {} ADRs", result.adr_count);
22//! # Ok::<(), adrscope::Error>(())
23//! ```
24
25#![warn(clippy::all)]
26#![warn(clippy::pedantic)]
27#![warn(clippy::nursery)]
28#![warn(missing_docs)]
29#![forbid(unsafe_code)]
30// Lints to allow for practical reasons
31#![allow(clippy::doc_markdown)]
32#![allow(clippy::double_must_use)]
33#![allow(clippy::missing_const_for_fn)]
34#![allow(clippy::needless_pass_by_value)]
35#![allow(clippy::unnecessary_sort_by)]
36#![allow(clippy::significant_drop_tightening)]
37#![allow(clippy::missing_errors_doc)]
38#![allow(clippy::missing_panics_doc)]
39#![allow(clippy::must_use_candidate)]
40#![allow(clippy::needless_borrows_for_generic_args)]
41#![allow(clippy::uninlined_format_args)]
42#![allow(clippy::single_char_pattern)]
43#![allow(clippy::single_match)]
44#![allow(clippy::trivially_copy_pass_by_ref)]
45#![allow(clippy::unnecessary_literal_bound)]
46#![allow(clippy::needless_raw_string_hashes)]
47#![allow(clippy::wildcard_imports)]
48
49pub mod application;
50pub mod cli;
51pub mod domain;
52pub mod error;
53pub mod infrastructure;
54
55pub use error::{Error, Result};