# Pre-commit hooks for ferro-ta
# Install: pre-commit install --hook-type pre-commit --hook-type pre-push
# Run: pre-commit run --all-files
default_language_version:
  python: python3

repos:
  - repo: https://github.com/astral-sh/ruff-pre-commit
    rev: v0.15.7
    hooks:
      - id: ruff
        args: [--fix]
      - id: ruff-format

  - repo: https://github.com/pre-commit/pre-commit-hooks
    rev: v5.0.0
    hooks:
      - id: trailing-whitespace
      - id: end-of-file-fixer
      - id: check-yaml
        exclude: ^conda/meta\.yaml$
      - id: check-added-large-files
        args: [--maxkb=1000]
      - id: check-merge-conflict
      - id: debug-statements

  # Optional: uncomment to run mypy on commit (after type errors are fixed)
  # - repo: local
  #   hooks:
  #     - id: mypy
  #       name: mypy
  #       entry: mypy python/ferro_ta --ignore-missing-imports
  #       language: system
  #       pass_filenames: false

  - repo: local
    hooks:
      - id: ci-basic-pre-push
        name: ci basic pre-push
        entry: scripts/pre_push_checks.sh
        language: system
        pass_filenames: false
        always_run: true
        stages: [pre-push]
