---
# Codacy configuration for curated PR quality feedback.
#
# Enable or disable Codacy tools in the Codacy Code Patterns UI; this file
# records path and tool configuration only.
#
# Recommended enabled tools:
# - markdownlint: documentation linting
# - ruff: Python utility linting
# - shellcheck: shell-script linting
# - duplication: advisory duplicate-code metric
# - lizard: advisory complexity feedback
#
# Recommended disabled tools:
# - bandit, prospector, pylintpython3: redundant with Ruff/ty for this repo
# - opengrep: keep broad/default rules disabled until repo-owned rules in
#   .semgrep.yaml are cleaned up and enabled
# - trivy: dependency vulnerability scanning is handled by cargo-audit and
#   Dependabot unless this repository adds containers or IaC
# - jacksonlinter, spectral: not relevant to the current project surface

engines:
  duplication:
    exclude_paths:
      - "docs/archive/**"
      - "target/**"
      - "node_modules/**"
      - ".git/**"
    config:
      languages:
        - "rust"
        - "python"
      minTokenMatch: 80
      skipLexicalErrors: true
      ignoreLiterals: true
      ignoreIdentifiers: false
      ignoreAnnotations: true
      ignoreUsings: true
  lizard:
    include_paths:
      - "src/**/*.rs"
      - "scripts/**/*.py"
    exclude_paths:
      - "scripts/tests/**"
      - "target/**"
      - "node_modules/**"
      - ".git/**"
  markdownlint:
    include_paths:
      - "**/*.md"
    config:
      file: ".markdownlint.json"
  ruff:
    include_paths:
      - "scripts/**/*.py"
  shellcheck:
    include_paths:
      - "scripts/**/*.sh"

exclude_paths:
  - "target/**"
  - "node_modules/**"
  - ".git/**"
  - "docs/archive/**"
