default_stages: [pre-commit]
exclude: |
    (?x)(
      src/redis/.* |
      src/huff/.* |
      contrib/charts/dragonfly/ci/.* |
      patches/.*
    )
repos:
  - repo: local
    hooks:
      - id: conventional-commits
        name: Conventional Commit Minder
        entry: contrib/scripts/conventional-commits
        language: script
        stages: [commit-msg]

  - repo: https://github.com/pre-commit/pre-commit-hooks
    rev: v4.3.0
    hooks:
      - id: trailing-whitespace
      - id: end-of-file-fixer

  - repo: https://github.com/pre-commit/mirrors-clang-format
    rev: v14.0.6
    hooks:
      - id: clang-format
        name: Clang formatting

  - repo: https://github.com/psf/black
    rev: 23.7.0
    hooks:
      - id: black

  - repo: https://github.com/gitleaks/gitleaks
    rev: v8.16.3
    hooks:
      - id: gitleaks
