# Example debtmap configuration file
# Copy this to .debtmap.toml and adjust thresholds as needed
[thresholds]
# Basic complexity thresholds
complexity = 10
duplication = 50
max_file_length = 500
max_function_length = 100
# Minimum thresholds for debt analysis
minimum_debt_score = 1.0
minimum_cyclomatic_complexity = 2
minimum_cognitive_complexity = 3
minimum_risk_score = 1.0
# Validation thresholds for 'debtmap validate' command
[thresholds.validation]
# Maximum allowed average complexity (default: 10.0)
max_average_complexity = 10.0
# Maximum allowed high complexity function count (default: 100)
max_high_complexity_count = 100
# Maximum allowed technical debt items (default: 2000)
max_debt_items = 2500
# Maximum allowed total debt score (default: 10000)
max_total_debt_score = 20000
# Maximum allowed codebase risk score (default: 7.0)
max_codebase_risk_score = 7.0
# Maximum allowed high-risk function count (default: 50)
max_high_risk_functions = 50
# Minimum required code coverage percentage (default: 0.0 - no minimum)
min_coverage_percentage = 60.0
# Scoring weights for priority calculation (must sum to 1.0)
[scoring]
coverage = 0.40 # Weight for test coverage gaps (40%)
complexity = 0.30 # Weight for code complexity (30%)
semantic = 0.05 # Weight for semantic importance (5%)
dependency = 0.15 # Weight for dependency criticality (15%)
security = 0.05 # Weight for security issues (5%)
organization = 0.05 # Weight for code organization issues (5%)
# External API detection configuration
[external_api]
domains = [
"api.github.com",
"api.openai.com",
"*.amazonaws.com"
]
keywords = [
"http_client",
"fetch",
"request",
"api_call"
]
# Languages to analyze
[languages]
enabled = ["rust", "python", "javascript", "typescript"]
# Patterns to ignore during analysis
[ignore]
patterns = [
"target/**",
"node_modules/**",
"*.generated.rs",
"*.pb.rs"
]
# Default output format
[output]
default_format = "terminal"