Skip to main content

cha_core/
lib.rs

1mod baseline;
2mod cache;
3pub mod config;
4pub mod graph;
5mod health;
6pub mod html_reporter;
7mod ignore;
8mod model;
9mod plugin;
10pub mod plugins;
11mod registry;
12pub mod reporter;
13mod source;
14pub mod wasm;
15
16pub use baseline::Baseline;
17pub use cache::AnalysisCache;
18pub use config::{Config, DebtWeights, LanguageConfig, Strictness, builtin_language_profile};
19pub use health::{Grade, HealthScore, score_files};
20pub use ignore::filter_ignored;
21pub use model::*;
22pub use plugin::*;
23pub use registry::PluginRegistry;
24pub use reporter::{JsonReporter, LlmContextReporter, Reporter, SarifReporter, TerminalReporter};
25pub use source::*;
26
27/// Generate JSON Schema for the analysis output (list of findings).
28pub fn findings_json_schema() -> String {
29    let schema = schemars::schema_for!(Vec<Finding>);
30    serde_json::to_string_pretty(&schema).unwrap_or_default()
31}
32
33#[cfg(test)]
34mod tests;