[thresholds]
complexity = 10
duplication = 50
max_file_length = 500
max_function_length = 50
minimum_debt_score = 2.0
minimum_cyclomatic_complexity = 3
minimum_cognitive_complexity = 5
minimum_risk_score = 2.0
min_score_threshold = 3.0
[thresholds.validation]
max_average_complexity = 10.0
max_debt_density = 50.0
max_codebase_risk_score = 7.0
min_coverage_percentage = 0.0
max_total_debt_score = 10000
[scoring]
coverage = 0.50
complexity = 0.35
dependency = 0.15
semantic = 0.0
security = 0.0
organization = 0.0
[display]
tiered = true
items_per_tier = 5
verbosity = "detailed"
[output]
default_format = "json"
detail_level = "standard"
use_color = true
[analysis]
enable_trait_analysis = true
enable_function_pointer_tracking = true
enable_framework_patterns = true
enable_cross_module_analysis = true
max_analysis_depth = 10
[god_object_detection]
enabled = true
[god_object_detection.rust]
max_methods = 20
max_fields = 15
max_traits = 5
max_lines = 1000
max_complexity = 200
[god_object_detection.python]
max_methods = 15
max_fields = 10
max_traits = 3
max_lines = 500
max_complexity = 150
[god_object_detection.javascript]
max_methods = 15
max_fields = 20
max_traits = 3
max_lines = 500
max_complexity = 150
[languages]
enabled = ["rust", "python", "javascript", "typescript", "go", "solidity"]
[languages.rust]
detect_dead_code = false
detect_complexity = true
detect_duplication = true
[languages.python]
detect_dead_code = true
detect_complexity = true
detect_duplication = true
[languages.javascript]
detect_dead_code = true
detect_complexity = true
detect_duplication = true
[languages.typescript]
detect_dead_code = true
detect_complexity = true
detect_duplication = true
[languages.go]
detect_dead_code = true
detect_complexity = true
detect_duplication = true
generated_code = "suppress_debt"
[languages.solidity]
detect_dead_code = false
detect_complexity = true
detect_duplication = true
vendor_code = "suppress_debt"
large_contract_threshold = 20
[languages.solidity.security]
tx_origin = true
reentrancy_heuristic = true
unchecked_calls = true
delegatecall = true
selfdestruct = true
assembly_blocks = true
unbounded_loops = true
missing_access_control = true
hardcoded_addresses = true
floating_pragma = true
large_contracts = true
unchecked_arithmetic = true
unsafe_erc20_transfer = true
push_without_length_cap = true
block_timestamp_dependency = true
tx_gas_price_dependency = true
encode_packed_collision = true
delegatecall_in_constructor = true
[ignore]
patterns = [
"target/**",
"venv/**",
"node_modules/**",
"out/**",
"cache/**",
"artifacts/**",
"*.min.js",
]
[external_api]
detect_external_api = true
api_functions = []
api_files = []