repos:
- repo: https://github.com/astral-sh/ruff-pre-commit
  rev: v0.4.3
  hooks:
    - id: ruff
      args: [--fix, --exit-non-zero-on-fix]
      exclude: ^(docs|tests)
    - id: ruff-format

- repo: https://github.com/keewis/blackdoc
  rev: v0.3.9
  hooks:
  - id: blackdoc
    exclude: README.rst

- repo: https://github.com/numpy/numpydoc
  rev: v1.7.0
  hooks:
  - id: numpydoc-validation
    files: ^src/pytetwild

- repo: https://github.com/codespell-project/codespell
  rev: v2.2.6
  hooks:
  - id: codespell
    args: ["--skip=*.vt*"]

- repo: https://github.com/pycqa/pydocstyle
  rev: 6.3.0
  hooks:
  - id: pydocstyle
    additional_dependencies: [tomli==2.0.1]
    files: ^src/pytetwild/.*\.py

- repo: https://github.com/pre-commit/pre-commit-hooks
  rev: v4.6.0
  hooks:
  - id: check-merge-conflict
  - id: debug-statements
  - id: trailing-whitespace

- repo: https://github.com/pre-commit/mirrors-clang-format
  rev: v18.1.4
  hooks:
  - id: clang-format
    files: |
      (?x)^(
        src/FTetWildWrapper.cpp
      )$

- repo: https://github.com/pre-commit/mirrors-mypy
  rev: v1.10.0
  hooks:
  - id: mypy
    exclude: ^(docs/|tests)
    additional_dependencies: [
    "mypy-extensions==1.0.0",
    "toml==0.10.2",
    "npt_promote",
    "numpy",
  ]

- repo: https://github.com/python-jsonschema/check-jsonschema
  rev: 0.28.2
  hooks:
    - id: check-github-workflows
