files: src|tests
exclude: ^$
repos:
  - repo: https://github.com/pre-commit/pre-commit-hooks
    rev: v6.0.0
    hooks:
      - id: trailing-whitespace
        args: [ --markdown-linebreak-ext=md ]
      - id: end-of-file-fixer
      - id: check-ast
      - id: check-added-large-files
      - id: check-byte-order-marker
      - id: check-case-conflict
      - id: check-docstring-first
      - id: check-merge-conflict
      - id: check-toml
      - id: debug-statements
      - id: mixed-line-ending
        args: [ --fix=lf ]

  - repo: local
    hooks:

      - id: mypy
        name: mypy
        entry: uv run mypy --check-untyped-defs
        language: system
        types: [ python ]
        exclude: LICENSE|helm
        exclude_types:
          - markdown
          - css
          - html

      - id: ruff-format
        name: uv run ruff format
        language: system
        entry: ruff format .
        exclude: LICENSE|charts
        exclude_types:
          - markdown
          - css
          - html
          - javascript

      - id: ruff-check
        name: ruff check
        language: system
        entry: uv run ruff check . --fix --exit-non-zero-on-fix
        exclude: LICENSE|charts
        exclude_types:
          - markdown
          - css
          - html
          - javascript

