1pub mod cli;
25pub mod client;
26pub mod input;
27
28pub mod config;
30pub mod profile;
31
32pub mod discovery;
34pub mod ignore;
35
36pub mod parser;
38
39pub mod context;
41pub mod cve_db;
42pub mod deobfuscation;
43pub mod engine;
44pub mod malware_db;
45pub mod rules;
46pub mod suppression;
47
48pub mod aggregator;
50pub mod baseline;
51pub mod scoring;
52
53pub mod output;
55pub mod reporter;
56
57pub mod error;
62pub mod external;
63pub mod runtime;
64pub mod types;
65
66pub mod fix;
68pub mod hooks;
69pub mod mcp_server;
70pub mod pinning;
71pub mod remote;
72pub mod trusted_domains;
73pub mod watch;
74
75pub mod handlers;
77pub mod hook_mode;
78pub mod run;
79pub mod scanner;
80
81#[cfg(test)]
82pub mod test_utils;
83
84pub use cli::{BadgeFormat, Cli, OutputFormat, ScanType};
90pub use client::{
91 ClientType, DetectedClient, detect_client, detect_installed_clients, list_installed_clients,
92};
93
94pub use config::{Config, ConfigError, TextFilesConfig, WatchConfig};
96pub use profile::{Profile, profile_from_cli};
97
98pub use discovery::{DirectoryWalker, WalkConfig};
100pub use ignore::IgnoreFilter;
101
102pub use parser::{
104 ContentParser, ContentType, DockerfileParser, FrontmatterParser, JsonParser, MarkdownParser,
105 ParsedContent, ParserRegistry, TomlParser, YamlParser,
106};
107
108pub use context::{ContentContext, ContextDetector};
110pub use cve_db::{CveDatabase, CveDbError, CveEntry};
111pub use deobfuscation::{DecodedContent, Deobfuscator};
112pub use engine::traits::{AnalysisMetadata, AnalysisResult, DetectionEngine, EngineConfig};
113pub use engine::{
114 CommandScanner, ContentScanner, DependencyScanner, DockerScanner, HookScanner, McpScanner,
115 PluginScanner, RulesDirScanner, ScanError, Scanner, ScannerConfig, SkillScanner,
116 SubagentScanner,
117};
118pub use malware_db::{MalwareDatabase, MalwareDbError};
119pub use rules::{
120 Confidence, CustomRuleError, CustomRuleLoader, DynamicRule, Finding, RuleEngine, RuleSeverity,
121 ScanResult, Severity, Summary,
122};
123
124pub use aggregator::{FindingCollector, SummaryBuilder};
126pub use baseline::{Baseline, DriftEntry, DriftReport};
127pub use scoring::{CategoryScore, RiskLevel, RiskScore, SeverityBreakdown};
128
129pub use output::OutputFormatter;
131pub use reporter::{
132 Reporter, html::HtmlReporter, json::JsonReporter, markdown::MarkdownReporter,
133 sarif::SarifReporter, terminal::TerminalReporter,
134};
135
136pub use run::{
138 ScanMode, WatchModeResult, format_result, is_text_file, is_text_file_with_config, run_scan,
139 scan_path_with_cve_db, scan_path_with_malware_db, setup_watch_mode, watch_iteration,
140};
141pub use runtime::{HookRunner, Pipeline, PipelineStage, ScanContext, ScanExecutor};
142
143pub use error::{AuditError, Result};
145pub use fix::{AutoFixer, Fix, FixResult};
146pub use hooks::{HookError, HookInstaller};
147pub use mcp_server::McpServer;
148pub use pinning::{PinMismatch, PinVerifyResult, PinnedTool, ToolPins};
149pub use remote::{ClonedRepo, GitCloner, RemoteError, parse_github_url};
150pub use trusted_domains::{TrustedDomain, TrustedDomainMatcher};
151pub use types::{AuthToken, FileHash, GitRef, PathValidationError, RuleId, ScanTarget};
152pub use watch::FileWatcher;