repos:
  - repo: https://github.com/pre-commit/pre-commit-hooks
    rev: v5.0.0
    hooks:
      - id: no-commit-to-branch  # prevent direct commits to the main branch
      - id: check-yaml
        args: ["--unsafe"]
      - id: check-toml
      - id: end-of-file-fixer
      - id: trailing-whitespace

  - repo: https://github.com/sirosen/texthooks
    rev: 0.6.8
    hooks:
      - id: fix-smartquotes
      - id: fix-spaces
      - id: fix-ligatures

  - repo: https://github.com/codespell-project/codespell
    rev: v2.3.0
    hooks:
      - id: codespell
        additional_dependencies:
          - tomli

  - repo: local
    hooks:
      - id: format
        name: Format
        entry: make format
        language: system
        types: [python]
        pass_filenames: false
      - id: lint
        name: Lint
        entry: make lint
        language: system
        types: [python]
        pass_filenames: false
      - id: typecheck
        name: Typecheck
        entry: make typecheck
        language: system
        types: [python]
        pass_filenames: false
