repos:
  - repo: local
    hooks:
      - id: check-sql
        name: Validate SQL statements
        entry: ./activated.py python -m chia._tests.check_sql_statements
        language: system
        pass_filenames: false
  - repo: local
    hooks:
      - id: init_py_files
        name: __init__.py files
        entry: ./activated.py python chia/_tests/build-init-files.py -v --root .
        language: system
        pass_filenames: false
  - repo: local
    hooks:
      - id: pyupgrade
        name: pyupgrade
        entry: ./activated.py pyupgrade --py38-plus --keep-runtime-typing
        language: system
        types: [python]
  - repo: local
    hooks:
      - id: black
        name: black
        entry: ./activated.py black
        language: system
        require_serial: true
        types_or: [python, pyi]
  - repo: https://github.com/pre-commit/mirrors-prettier
    rev: v3.1.0
    hooks:
      - id: prettier
        types_or: [ini, json, toml, yaml, markdown]
  - repo: https://github.com/scop/pre-commit-shfmt
    rev: v3.8.0-1
    hooks:
      - id: shfmt
        args: ["--diff", "--write", "-i", "2"]
  - repo: https://github.com/pre-commit/pre-commit-hooks
    rev: v4.3.0
    hooks:
      - id: check-yaml
      - id: mixed-line-ending
        args: ["--fix=lf"]
      - id: end-of-file-fixer
        exclude: ".*?(.hex|.clsp|.clvm|.clib)"
      - id: trailing-whitespace
      - id: check-merge-conflict
      - id: check-ast
      - id: debug-statements
  - repo: local
    hooks:
      - id: clvm_hex
        name: .clsp.hex files
        entry: ./activated.py python tools/manage_clvm.py check
        language: system
        pass_filenames: false
  - repo: local
    hooks:
      - id: chialispp
        name: Pretty print chialisp files
        entry: ./activated.py python tools/chialispp.py .
        language: system
        pass_filenames: false
  - repo: local
    hooks:
      - id: build mypy.ini
        name: build mypy.ini
        entry: ./activated.py python manage-mypy.py build-mypy-ini
        language: system
        pass_filenames: false
  - repo: local
    hooks:
      - id: mypy
        name: mypy
        entry: ./activated.py mypy
        language: system
        pass_filenames: false
  - repo: local
    hooks:
      - id: isort
        name: isort
        entry: ./activated.py isort
        language: system
        types: [python]
  - repo: local
    hooks:
      - id: flake8
        name: Flake8
        entry: ./activated.py flake8
        language: system
        types: [python]
