---
# See https://pre-commit.com for more information
# See https://pre-commit.com/hooks.html for more hooks

repos:
  - repo: https://github.com/alessandrojcm/commitlint-pre-commit-hook
    rev: v9.11.0
    hooks:
      - id: commitlint
        stages:
          - commit-msg
        additional_dependencies:
          - '@commitlint/config-conventional'
  - repo: https://github.com/pre-commit/pre-commit-hooks
    rev: v4.5.0
    hooks:
      - id: check-added-large-files
      - id: trailing-whitespace
        args:
          - --markdown-linebreak-ext=md   # ignore markdown file's line break
      - id: end-of-file-fixer
        exclude: ^.vscode/.*\.json$
      - id: check-json
      - id: check-xml
      - id: check-yaml
        args:
          - --allow-multiple-documents
  - repo: https://github.com/sirwart/ripsecrets
    rev: v0.1.7
    hooks:
      - id: ripsecrets
  - repo: https://github.com/adrienverge/yamllint
    rev: v1.33.0
    hooks:
      - id: yamllint
  - repo: https://github.com/hadolint/hadolint
    rev: v2.12.1-beta
    hooks:
      - id: hadolint
  # - repo: https://github.com/ansible-community/ansible-lint
  #   # FIXME: need to figure this out, too many stupid issues.
  #   # Using `ansible-lint -v ansible` for the time being.
  #   rev: v6.22.1
  #   hooks:
  #     - id: ansible-lint
  #       exclude: .*
  #       files: ansible/
  - repo: https://github.com/markdownlint/markdownlint
    # requires `ruby` 2.7.7 or higher and the 'mdl' gem
    # uses .mdlrc for configuration
    rev: v0.12.0
    hooks:
      - id: markdownlint
  - repo: https://github.com/tcort/markdown-link-check
    rev: v3.11.2
    hooks:
      - id: markdown-link-check
        args:
          - -q
