Skip to main content

fallow_cli/
lib.rs

1#![expect(
2    clippy::print_stdout,
3    clippy::print_stderr,
4    reason = "CLI binary produces intentional terminal output"
5)]
6
7#[allow(
8    dead_code,
9    unused_imports,
10    reason = "shared CLI library compiles bin-oriented support modules for reuse"
11)]
12mod api;
13#[allow(
14    dead_code,
15    unused_imports,
16    reason = "shared CLI library compiles bin-oriented support modules for reuse"
17)]
18pub mod audit;
19#[allow(
20    dead_code,
21    unused_imports,
22    reason = "shared CLI library compiles bin-oriented support modules for reuse"
23)]
24mod baseline;
25#[allow(
26    dead_code,
27    unused_imports,
28    reason = "shared CLI library compiles bin-oriented support modules for reuse"
29)]
30mod check;
31/// CODEOWNERS file parser and ownership lookup.
32pub mod codeowners;
33#[allow(
34    dead_code,
35    unused_imports,
36    reason = "shared CLI library compiles bin-oriented support modules for reuse"
37)]
38mod combined;
39#[allow(
40    dead_code,
41    unused_imports,
42    reason = "shared CLI library compiles bin-oriented support modules for reuse"
43)]
44mod dupes;
45
46/// Structured error output for CLI and JSON formats.
47pub mod error;
48
49#[allow(
50    dead_code,
51    unused_imports,
52    reason = "shared CLI library compiles bin-oriented support modules for reuse"
53)]
54mod fix;
55#[allow(
56    dead_code,
57    unused_imports,
58    reason = "shared CLI library compiles bin-oriented support modules for reuse"
59)]
60mod init;
61
62/// Metric and rule definitions for explainable CLI output.
63pub mod explain;
64
65#[allow(
66    dead_code,
67    unused_imports,
68    reason = "shared CLI library compiles bin-oriented support modules for reuse"
69)]
70mod health;
71/// Health / complexity analysis report types.
72pub mod health_types;
73#[allow(
74    dead_code,
75    unused_imports,
76    reason = "shared CLI library compiles bin-oriented support modules for reuse"
77)]
78mod license;
79/// Typed wrapper envelopes for duplication findings emitted by
80/// `fallow dupes --format json`. Lives here (rather than in `fallow-types`)
81/// because the bare findings live in `fallow-core` and `crates/cli/src/report/dupes_grouping.rs`.
82pub mod output_dupes;
83
84/// Typed envelope structs for the JSON output contract. Live here rather
85/// than in `fallow-types` because the body fields reach into `fallow-core`
86/// and into this crate's own `health_types`.
87pub mod output_envelope;
88
89/// Programmatic Rust API reused by the NAPI bindings.
90pub mod programmatic;
91
92/// Shared Rayon pool configuration for all embedded analysis entry points.
93pub(crate) mod rayon_pool;
94
95/// Regression detection: baseline comparison and tolerance checking.
96pub mod regression;
97
98/// Report formatting utilities for analysis results.
99///
100/// Exposed for snapshot testing of output formats.
101pub mod report;
102
103#[allow(
104    dead_code,
105    unused_imports,
106    reason = "shared CLI library compiles bin-oriented support modules for reuse"
107)]
108mod runtime_support;
109#[allow(
110    dead_code,
111    unused_imports,
112    reason = "shared CLI library compiles bin-oriented support modules for reuse"
113)]
114mod validate;
115#[allow(
116    dead_code,
117    unused_imports,
118    reason = "shared CLI library compiles bin-oriented support modules for reuse"
119)]
120mod vital_signs;
121
122pub use runtime_support::{AnalysisKind, GroupBy};
123pub(crate) use runtime_support::{build_ownership_resolver, load_config_for_analysis};