Skip to main content

cha_core/
lib.rs

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