1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
//! Library interface for `aurora-lint`, a static analysis tool checking C code
//! against the SEI CERT C Coding Standard (285 rules across 17 categories).
//! Exists to let `cargo test` exercise the analysis engine directly; the
//! `aurora-lint` binary (`main.rs`) is a thin CLI wrapper around
//! [`analyze::analyze_project`]. See this crate's README for the full
//! feature set (export formats, diff-only mode, the optional TUI).
// recursive &self on tree-sitter methods
// &str refs in tree-sitter helper calls
// rule checker APIs naturally have many params
// nested ifs are clearer in rule checker logic
// File-prefixed fields in FileError enum
/// The analysis engine: [`analyze::analyze_project`] and every dataflow
/// pass (CFG, value-range, init-state, null-state) it composes.
/// Writing violations out as CSV, XLSX, JSON, or SARIF 2.1.0.
/// Project file discovery: which C files to analyze, and git-aware
/// diff-only scoping.
/// The rule manifest schema ([`manifest::RuleManifest`]) and its TOML loading.
/// Tree-sitter C parser setup ([`parser::CParser`]).
/// Progress reporting during a project scan (CLI and GUI implementations).
/// The optional interactive terminal UI (`--features tui`) for browsing and
/// managing violations.
/// Shared helpers used across rule implementations (CERT C AST utilities,
/// path helpers, file hashing).
/// Common types and functions re-exported for a typical consumer, so most
/// uses need only `use aurora_lint::prelude::*;`.