---
repos:
  - repo: https://github.com/pre-commit/pre-commit-hooks.git
    rev: v4.3.0
    hooks:
      - id: check-executables-have-shebangs
      - id: check-json
      - id: check-merge-conflict
      - id: check-shebang-scripts-are-executable
      - id: check-yaml
      - id: detect-private-key
      - id: end-of-file-fixer
      - id: trailing-whitespace
        exclude: \.diff$

  - repo: https://github.com/codespell-project/codespell.git
    rev: v2.1.0
    hooks:
      - id: codespell

  - repo: https://github.com/Yelp/detect-secrets.git
    rev: v1.2.0
    hooks:
      - id: detect-secrets
        exclude: ^daemon/settings\.json$

  - repo: https://github.com/amperser/proselint.git
    rev: 0.10.2
    hooks:
      - id: proselint
        types: [plain-text]
        exclude: LICENSE

  - repo: https://gitlab.com/devopshq/gitlab-ci-linter.git
    rev: v1.0.3
    hooks:
      - id: gitlab-ci-linter
        args:
          - "--server"
          - https://git.shore.co.il

  - repo: https://git.shore.co.il/nimrod/yamltool.git
    rev: v0.1.2
    hooks:
      - id: yamltool

  - repo: https://github.com/adrienverge/yamllint.git
    rev: v1.27.1
    hooks:
      - id: yamllint

  - repo: https://github.com/executablebooks/mdformat.git
    rev: 0.7.14
    hooks:
      - id: mdformat

  - repo: https://github.com/shellcheck-py/shellcheck-py.git
    rev: v0.8.0.4
    hooks:
      - id: shellcheck

  - repo: https://git.shore.co.il/nimrod/pre-commit-hooks.git
    rev: v0.3.0
    hooks:
      - id: shell-validate
      - id: docker-compose

  - repo: https://github.com/AleksaC/hadolint-py.git
    rev: v2.10.0
    hooks:
      - id: hadolint

  - repo: https://github.com/ambv/black.git
    rev: 22.6.0
    hooks:
      - id: black
        args:
          - |
            --line-length=79

  - repo: https://github.com/PyCQA/isort
    rev: 5.10.1
    hooks:
      - id: isort
        args: ["--filter-files", "--profile", "black"]

  - repo: https://github.com/PyCQA/prospector.git
    rev: 1.7.7
    hooks:
      - id: prospector
        args:
          - |-
            --max-line-length=79
          - |-
            --with-tool=pyroma
          - |-
            --with-tool=bandit
          - |-
            --without-tool=pep257
          - |-
            --doc-warnings
          - |-
            --test-warnings
          - |-
            --full-pep8
          - |-
            --strictness=high
          - |-
            --no-autodetect
        additional_dependencies:
          - bandit
          - pyroma

  - repo: https://github.com/pycqa/flake8.git
    rev: 3.9.2
    hooks:
      - id: flake8
        args:
          - |-
            --doctests
        additional_dependencies:
          - flake8-bugbear
          - flake8-builtins
          - flake8-comprehensions
          - flake8-loopy
          - flake8-pie
          - flake8-tuple
          - flake8-warnings

  - repo: https://github.com/asottile/pyupgrade.git
    rev: v2.37.1
    hooks:
      - id: pyupgrade

  - repo: https://github.com/hadialqattan/pycln.git
    rev: v2.0.2
    hooks:
      - id: pycln

  - repo: https://github.com/PyCQA/docformatter.git
    rev: v1.4
    hooks:
      - id: docformatter
