xtui 0.2.0

TUI for discovering and running project commands (xtask, cargo, just, nu, npm, make, mise)
Documentation
# rustqual.toml — Tailored configuration for your project
# Generated from analysis of 16 file(s), 193 function(s).
#
# Thresholds are set to your current maximums + 20% headroom.
# Tighten them over time as you improve code quality.

# ── Function Classification ──────────────────────────────────────────────

ignore_functions = ["main", "test_*"]
exclude_files = [
  "src/registry.rs",      # intentionally dormant, #[allow(dead_code)]
  "xtask/src/main.rs",    # xtask scaffolding, not part of the library under review
]
strict_closures = false
strict_iterator_chains = false
allow_recursion = false
strict_error_propagation = false

# ── Suppression Health ───────────────────────────────────────────────────

max_suppression_ratio = 0.10
fail_on_warnings = false

# ── Complexity Analysis ──────────────────────────────────────────────────

[complexity]
enabled = true
max_cognitive = 70           # current max: 58
max_cyclomatic = 34          # current max: 28
max_nesting_depth = 8            # current max: 6
max_function_lines = 142         # current max: 118
include_nesting_penalty = true
detect_magic_numbers = true
detect_unsafe = true
detect_error_handling = true
allowed_magic_numbers = [
  "0", "1", "-1", "2",
  "60", "3600", "86400", "24",   # time arithmetic
  "3", "4", "6", "8", "12", "16", "18", "63",  # bit/byte manipulation (base64)
]

# ── DRY / Duplicate Detection ───────────────────────────────────────────

[duplicates]
enabled = true
similarity_threshold = 0.85
min_tokens = 30
min_lines = 5
min_statements = 3
ignore_tests = true
ignore_trait_impls = true
detect_dead_code = true
detect_wildcard_imports = true
detect_repeated_matches = true

# ── Boilerplate Detection ───────────────────────────────────────────────

[boilerplate]
enabled = true
suggest_crates = true

# ── SRP (Single Responsibility) ─────────────────────────────────────────

[srp]
enabled = true
smell_threshold = 0.6
max_fields = 12
max_methods = 20
max_fan_out = 10
lcom4_threshold = 2
weights = [0.4, 0.25, 0.15, 0.2]
file_length_baseline = 300
file_length_ceiling = 800
max_independent_clusters = 2
min_cluster_statements = 5
max_parameters = 5

# ── Coupling Analysis ───────────────────────────────────────────────────

[coupling]
enabled = true
max_instability = 0.8
max_fan_in = 15
max_fan_out = 12
check_sdp = true

# ── Test Quality Analysis ──────────────────────────────────────────────

[test_quality]
enabled = true
# coverage_file = "lcov.info"

# ── Quality Score Weights ──────────────────────────────────────────────
# Must sum to approximately 1.0.

[weights]
iosp         = 0.22
complexity   = 0.18
dry          = 0.13
srp          = 0.18
coupling     = 0.09
test_quality = 0.10
architecture = 0.10