la-stack 0.1.2

Small, stack-allocated linear algebra for fixed dimensions
Documentation
---
# Codacy configuration for la-stack project
#
# This repository is primarily Rust.
# Note: clippy and rustfmt are not supported by Codacy and are handled by GitHub Actions CI.
# cspell:ignore pyproject

engines:
  # === DOCUMENTATION / SCRIPTS ===
  markdownlint:
    enabled: true
    include_paths:
      - "**/*.md"
    config:
      file: ".markdownlint.json"

  shellcheck:
    enabled: true
    include_paths:
      - "**/*.sh"
    config:
      shell: bash
      severity: warning
      include_code: true

  # === PYTHON / SECURITY ===
  # Ruff for Python linting and formatting (reads from pyproject.toml)
  ruff:
    enabled: true
    include_paths:
      - "scripts/**/*.py"
      - "**/*.py"
    config:
      file: "pyproject.toml"

  # Bandit for Python security analysis
  bandit:
    enabled: true
    include_paths:
      - "scripts/**/*.py"
      - "**/*.py"
    config:
      severity: high
      confidence: high
      skips: ["B101", "B102", "B103", "B108", "B110", "B404", "B603", "B607"]
      exclude_info: true
      exclude_dirs: ["tests"]

  # === RUST / SECURITY ===
  lizard:
    enabled: true
    include_paths:
      - "src/**/*.rs"
      - "tests/**/*.rs"
      - "examples/**/*.rs"
      - "benches/**/*.rs"
      - "scripts/**/*.py"
    config:
      languages: ["rust", "python"]
      threshold:
        cyclomatic_complexity: 15
        token_count: 300
        nesting_depth: 5
        parameter_count: 5
        length: 1000

  semgrep:
    enabled: true
    include_paths:
      - "src/**/*.rs"
      - "tests/**/*.rs"
      - "examples/**/*.rs"
      - "benches/**/*.rs"
      - "scripts/**/*.py"

  trivy:
    enabled: true
    config:
      severity: ["HIGH", "CRITICAL"]
      skip_dev_dependencies: true
      enable_secret_scanning: true

  # === DUPLICATION DETECTION ===
  duplication:
    enabled: true
    config:
      minimum_mass: 60
      minimum_tokens: 80
    exclude_paths:
      - "target/**"
      - "coverage/**"
      - "benches/**"
      - "examples/**"
      - "tests/**"

# === GLOBAL EXCLUSIONS ===
exclude_paths:
  - "target/**"
  - "coverage/**"
  - "Cargo.lock"
  - ".git/**"
  - ".cspellcache"
  - ".DS_Store"
  # Python artifacts
  - "__pycache__/**"
  - "*.pyc"
  - ".pytest_cache/**"
  - ".ruff_cache/**"
  - ".mypy_cache/**"
  - "venv/**"
  - ".venv/**"
  - "uv.lock"

# Focus analysis on source, docs, and CI configuration
include_paths:
  - "src/**"
  - "benches/**"
  - "examples/**"
  - "tests/**"
  - "scripts/**"
  - "*.py"
  - "Cargo.toml"
  - "pyproject.toml"
  - "rust-toolchain.toml"
  - "rustfmt.toml"
  - "justfile"
  - ".github/**"
  - "*.md"
  - "*.yml"
  - "*.yaml"
  - "*.json"
  - ".markdownlint.json"
  - "cspell.json"
  - ".codecov.yml"

# Custom file extensions per language (Codacy schema compliant)
languages:
  rust:
    extensions:
      - ".rs"
  python:
    extensions:
      - ".py"
  markdown:
    extensions:
      - ".md"
  yaml:
    extensions:
      - ".yml"
      - ".yaml"
  json:
    extensions:
      - ".json"
  shell:
    extensions:
      - ".sh"