Skip to main content

tldr_cli/commands/remaining/
mod.rs

1//! Remaining commands for TLDR CLI
2//!
3//! This module implements additional analysis commands:
4//! - LOW: todo, explain, secure
5//! - MEDIUM: definition, diff
6//! - HIGH: api_check, equivalence, vuln
7//!
8//! # Module Structure
9//!
10//! - `types`: Shared data types for all remaining commands
11//! - `error`: Error types and result aliases
12//! - `ast_cache`: AST caching layer for efficient multi-analysis
13//! - `graph_utils`: Cycle detection for graph traversal (TIGER-02)
14//! - `todo`: Improvement aggregation command
15//! - `explain`: Comprehensive function analysis command
16//! - `secure`: Security analysis dashboard
17//! - `definition`: Go-to-definition command
18//! - `diff`: AST-aware structural diff
19//! - `equivalence`: GVN-based redundancy detection command
20//! - `api_check`: API misuse detection command
21//! - `vuln`: Vulnerability detection via taint analysis
22
23pub mod api_check;
24pub mod ast_cache;
25pub mod difftastic;
26// equivalence: archived (T5 deep analysis)
27pub mod definition;
28pub mod diff;
29pub mod vuln;
30// diff_impact: archived (superseded by change-impact)
31pub mod error;
32pub mod explain;
33pub mod graph_utils;
34pub mod secure;
35pub mod todo;
36pub mod types;
37
38// Re-export types for convenience
39pub use error::{RemainingError, RemainingResult};
40pub use types::{
41    // Diff Impact types (archived - superseded by change-impact)
42    // ChangedFunction, DiffImpactReport, DiffImpactSummary,
43    // API Check types
44    APICheckReport,
45    APICheckSummary,
46    APIRule,
47    // Diff types
48    ASTChange,
49    // L8 Architecture-level types
50    ArchChangeType,
51    ArchDiffSummary,
52    ArchLevelChange,
53    BaseChanges,
54    // Explain types
55    CallInfo,
56    ChangeType,
57    ComplexityInfo,
58    // Definition types
59    DefinitionResult,
60    DiffGranularity,
61    DiffReport,
62    DiffSummary,
63    ExplainReport,
64    // Equivalence (GVN) types (from types.rs)
65    ExpressionRef,
66    // L6 File-level types
67    FileLevelChange,
68    GVNEquivalence,
69    GVNReport,
70    GVNSummary,
71    // L7 Module-level types
72    ImportEdge,
73    ImportGraphSummary,
74    // Common types
75    Location,
76    MisuseCategory,
77    MisuseFinding,
78    MisuseSeverity,
79    ModuleLevelChange,
80    NodeKind,
81    OutputFormat,
82    ParamInfo,
83    PurityInfo,
84    Redundancy,
85    // Secure types
86    SecureFinding,
87    SecureReport,
88    SecureSummary,
89    Severity,
90    SignatureInfo,
91    SymbolInfo,
92    SymbolKind,
93    // Vuln types
94    TaintFlow,
95    // Todo types
96    TodoItem,
97    TodoReport,
98    TodoSummary,
99    VulnFinding,
100    VulnReport,
101    VulnSummary,
102    VulnType,
103};
104
105// Re-export graph utilities
106pub use graph_utils::{
107    CycleDetector, TraversalResult, VisitedSet, MAX_GRAPH_DEPTH, MAX_IMPORT_DEPTH,
108};
109
110// Re-export command Args
111pub use api_check::ApiCheckArgs;
112pub use definition::DefinitionArgs;
113pub use diff::DiffArgs;
114// DiffImpactArgs: archived (superseded by change-impact)
115// EquivalenceArgs: archived (T5 deep analysis)
116pub use explain::ExplainArgs;
117pub use secure::SecureArgs;
118pub use todo::TodoArgs;
119pub use vuln::VulnArgs;