# Configuration

Debtmap is highly configurable through a TOML configuration file. This section covers all configuration options and best practices for tuning debtmap for your codebase.

## Quick Start

Create a `.debtmap.toml` file in your project root:

```toml
[scoring]
coverage = 0.50
complexity = 0.35
dependency = 0.15

[thresholds]
complexity = 15
lines = 80
coverage = 0.8

[languages]
enabled = ["rust", "python", "javascript", "typescript"]

[languages.rust]
detect_dead_code = false

[languages.python]
detect_dead_code = true
```

## Configuration Topics

- [Scoring Configuration](scoring.md) - Tune debt scoring weights and role multipliers
- [Thresholds Configuration](thresholds.md) - Set complexity and coverage thresholds
- [Language Configuration](languages.md) - Enable/disable language support and tune language-specific settings
- [Display and Output](display-output.md) - Configure output formats and display options
- [Advanced Options](advanced.md) - Advanced configuration for power users
- [Best Practices](best-practices.md) - Guidelines for effective configuration

## Configuration File Location

Debtmap searches for configuration in the following order:

1. Path specified with `--config` flag
2. `.debtmap.toml` in current directory
3. `.debtmap.toml` in git repository root
4. Built-in defaults

## Validation

Debtmap validates your configuration on startup. Invalid configurations will produce clear error messages:

```bash
$ debtmap analyze .
Error: Invalid configuration
  - scoring.coverage + scoring.complexity + scoring.dependency must equal 1.0
  - Current sum: 1.10
```

## Default Values

All configuration options have sensible defaults. You only need to specify values you want to override from the defaults documented in each section.
