repos:
  - repo: https://github.com/pre-commit/pre-commit-hooks
    rev: v6.0.0
    hooks:
      - id: check-ast
        exclude: ^(test/|cookbook/|reme_ai/)
      - id: check-yaml
      - id: check-xml
      - id: check-toml
      - id: check-json
      - id: detect-private-key
      - id: trailing-whitespace
  - repo: https://github.com/asottile/add-trailing-comma
    rev: v4.0.0
    hooks:
      - id: add-trailing-comma
        exclude: ^(test/|cookbook/|reme_ai/)
  - repo: https://github.com/psf/black
    rev: 25.9.0
    hooks:
    - id: black
      exclude: ^(test/|cookbook/|reme_ai/)
      args: [--line-length=120]
  - repo: https://github.com/PyCQA/flake8
    rev: 7.3.0
    hooks:
      - id: flake8
        exclude: ^(test/|cookbook/|reme_ai/)
        args: [
          "--extend-ignore=E203",
          "--max-line-length=120"
        ]
  - repo: https://github.com/pylint-dev/pylint
    rev: v4.0.2
    hooks:
      - id: pylint
        exclude:
            (?x)(
                ^docs
                | ^test/
                | ^cookbook/
                | pb2\.py$
                | grpc\.py$
                | \.demo$
                | \.md$
                | \.html$
                | reme_ai/
          )
        args: [
          --disable=W0511,
          --disable=W0718,
          --disable=W0122,
          --disable=W1203,
          --disable=C0103,
          --disable=R0913,
          --disable=R0917,
          --disable=E0401,
          --disable=E1101,
          --disable=E1111,
          --disable=C0415,
          --disable=W0603,
          --disable=R1705,
          --disable=R0914,
          --disable=E0601,
          --disable=W0602,
          --disable=W0604,
          --disable=R0801,
          --disable=R0902,
          --disable=R0903,
          --disable=R0904,
          --disable=C0123,
          --disable=W0231,
          --disable=W1113,
          --disable=W0221,
          --disable=R0401,
          --disable=W0632,
          --disable=W0123,
          --disable=C3001,
          --disable=R1702,
          --disable=R0912,
          --max-statements=120,
          --max-line-length=120,
          --max-module-lines=1500,
        ]
  - repo: https://github.com/regebro/pyroma
    rev: "5.0"
    hooks:
      - id: pyroma
        args: [--min=10, .]
