1pub mod analyzer;
40pub mod balance;
41mod classification;
42pub mod cli_output;
43pub mod config;
44pub mod diff;
45mod discovery;
46pub mod external;
47pub mod history;
48pub mod manifest;
49pub mod metrics;
50pub mod report;
51pub mod volatility;
52pub mod web;
53pub mod workspace;
54
55pub use analyzer::{
56 AnalyzedFileResult, AnalyzerError, CouplingAnalyzer, Dependency, DependencyKind, ItemDepType,
57 ItemDependency, ItemKind, analyze_project, analyze_project_parallel_with_config,
58 analyze_rust_file, analyze_rust_file_full, analyze_workspace, analyze_workspace_with_config,
59};
60pub use balance::action::RefactoringAction;
61pub use balance::grade::{HealthGrade, ProjectBalanceReport};
62pub use balance::issue::CouplingIssue;
63pub use balance::issue::IssueKey;
64pub use balance::issue_type::IssueType;
65pub use balance::project::{
66 analyze_project_balance, analyze_project_balance_with_thresholds, calculate_project_score,
67};
68pub use balance::rationale::{GradeDimension, GradeRationale, IssueTypeContribution};
69pub use balance::score::{BalanceInterpretation, BalanceScore, IssueThresholds};
70pub use balance::severity::Severity;
71pub use config::{
72 AnalysisConfig, CompiledConfig, ConfigError, CouplingConfig, DeadConfigPattern,
73 ThresholdsConfig, VolatilityConfig, load_compiled_config, load_config,
74};
75pub use diff::{BaselineDiff, diff_ref_analysis, diff_reports};
76pub use external::{
77 ExternalDependencyReport, ExternalDependencyUsage, SCATTERED_EXTERNAL_BREADTH_THRESHOLD,
78 analyze_external_dependencies, detect_scattered_external_coupling, load_lock_versions_near,
79};
80pub use history::{
81 HistoryError, HistoryPoint, HistoryReport, RefAnalysis, SkippedRevision, analyze_history,
82 analyze_ref,
83};
84pub use manifest::{AnalysisManifest, BlindSpot, ManifestContext, build_manifest};
85pub use metrics::coupling::{CouplingLocation, CouplingMetrics};
86pub use metrics::dimensions::{
87 Distance, IntegrationStrength, MetricsConfig, Subdomain, Visibility,
88};
89pub use metrics::module::{
90 BalanceClassification, BalanceCounts, DimensionStats, DistanceCounts, FunctionDefinition,
91 ModuleMetrics, StrengthCounts, TypeDefinition, VolatilityCounts,
92};
93pub use metrics::project::{CircularDependencySummary, ProjectMetrics};
94pub use report::{
95 TextReportOptions, generate_ai_output, generate_ai_output_with_thresholds, generate_report,
96 generate_report_with_options, generate_report_with_thresholds, generate_summary,
97 generate_summary_with_options, generate_summary_with_thresholds,
98};
99pub use volatility::Volatility;
100pub use volatility::{VolatilityAnalyzer, VolatilityError, VolatilityStats};
101pub use workspace::{CrateInfo, WorkspaceError, WorkspaceInfo};