Expand description
Pattern Analysis commands for TLDR CLI
This module provides commands for pattern analysis, including cohesion metrics, coupling analysis, interface extraction, temporal constraint mining, behavioral constraint extraction, and resource lifecycle analysis.
§Commands
cohesion: Compute LCOM4 (Lack of Cohesion of Methods) metric for classescoupling: Analyze coupling between two modules via cross-module callsinterface: Extract the public interface (API surface) of Python filestemporal: Mine temporal constraints (method call sequences) from a codebasebehavioral: Extract behavioral constraints (pre/postconditions, exceptions)resources: Analyze resource lifecycle to detect leaks and issues
§Module Structure
patterns/
├── mod.rs # Module exports and re-exports (this file)
├── types.rs # Shared data types across all commands
├── error.rs # PatternsError enum and Result type
├── validation.rs # Path safety, resource limits (TIGER mitigations)
├── cohesion.rs # cohesion command implementation
├── coupling.rs # coupling command implementation
├── interface.rs # interface command implementation
├── temporal.rs # temporal command implementation
├── behavioral.rs # behavioral command implementation
└── resources.rs # resources command implementation§Schema Version
All JSON output uses types from types.rs for consistent serialization.
Re-exports§
pub use error::PatternsError;pub use error::PatternsResult;pub use types::BehavioralReport;pub use types::ClassBehavior;pub use types::ClassCohesion;pub use types::ClassInfo;pub use types::ClassInvariant;pub use types::CohesionReport;pub use types::CohesionSummary;pub use types::CohesionVerdict;pub use types::ComponentInfo;pub use types::ConditionSource;pub use types::Confidence;pub use types::ContextSuggestion;pub use types::CouplingReport;pub use types::CouplingVerdict;pub use types::CrossCall;pub use types::CrossCalls;pub use types::DocstringStyle;pub use types::DoubleCloseInfo;pub use types::EffectType;pub use types::ExceptionInfo;pub use types::FunctionBehavior;pub use types::FunctionInfo;pub use types::InterfaceInfo;pub use types::LeakInfo;pub use types::MethodInfo;pub use types::OutputFormat;pub use types::Postcondition;pub use types::Precondition;pub use types::ResourceConstraint;pub use types::ResourceInfo;pub use types::ResourceReport;pub use types::ResourceSummary;pub use types::SideEffect;pub use types::TemporalConstraint;pub use types::TemporalExample;pub use types::TemporalMetadata;pub use types::TemporalReport;pub use types::Trigram;pub use types::UseAfterCloseInfo;pub use types::YieldInfo;pub use cohesion::CohesionArgs;pub use coupling::CouplingArgs;pub use interface::InterfaceArgs;pub use resources::ResourcesArgs;pub use temporal::TemporalArgs;pub use validation::check_analysis_depth;pub use validation::check_ast_depth;pub use validation::check_directory_file_count;pub use validation::is_path_traversal_attempt;pub use validation::read_file_safe;pub use validation::saturating_count_add;pub use validation::saturating_depth_increment;pub use validation::validate_directory_path;pub use validation::validate_file_path;pub use validation::validate_file_path_in_project;pub use validation::validate_file_size;pub use validation::validate_function_name;pub use validation::within_limit;pub use validation::MAX_ANALYSIS_DEPTH;pub use validation::MAX_AST_DEPTH;pub use validation::MAX_CLASSES_PER_FILE;pub use validation::MAX_CLASS_COMPLEXITY;pub use validation::MAX_CONSTRAINTS_PER_FILE;pub use validation::MAX_DIRECTORY_FILES;pub use validation::MAX_FIELDS_PER_CLASS;pub use validation::MAX_FILE_SIZE;pub use validation::MAX_FUNCTION_NAME_LEN;pub use validation::MAX_METHODS_PER_CLASS;pub use validation::MAX_PATHS;pub use validation::MAX_TRIGRAMS;pub use validation::WARN_FILE_SIZE;
Modules§
- cohesion
- Cohesion command - LCOM4 (Lack of Cohesion of Methods) analysis for Python classes.
- coupling
- Coupling command - Cross-module coupling analysis
- error
- Error types for Pattern Analysis commands.
- interface
- Interface command - Public API extraction
- resources
- Resources Command - Resource Lifecycle Analysis
- temporal
- Temporal Command - Temporal Constraint Mining
- types
- Shared types for Pattern Analysis commands
- validation
- Input validation and path safety utilities for Pattern Analysis commands.
Constants§
- SCHEMA_
VERSION - Schema version for JSON output format. Increment when output schema changes in incompatible ways.