---
repos:

  # Check if the commit message has a valid sign-off.
  - repo: https://github.com/gklein/check_signoff
    rev: v1.0.5
    hooks:
      - id: check-signoff

  # Catch gofmt issues, if any.
  - repo: https://github.com/dnephin/pre-commit-golang
    rev: v0.3.5
    hooks:
      - id: go-fmt

  - repo: https://github.com/pre-commit/pre-commit-hooks
    rev: v2.5.0
    hooks:
      # Verify syntax of yaml and json files.
      - id: check-json
      - id: check-yaml
        args: [--multi]

      # Makes sure that files end in a new line.
      - id: end-of-file-fixer

      # Trims trailing whitespace.
      - id: trailing-whitespace

  # Run commitlint check on the commit message.
  - repo: https://github.com/alessandrojcm/commitlint-pre-commit-hook
    rev: v2.2.0
    hooks:
      - id: commitlint
        stages: [commit-msg]