Skip to content

alessandrojcm/commitlint-pre-commit-hook

Repository files navigation

Commitlint hook for pre-commit

Configuration

  • Create your commitlint config file in the repo's root, as explained in Commitlint docs.
  • Add the following to your .pre-commit-config.yaml:
    - repo: https://github.com/alessandrojcm/commitlint-pre-commit-hook
      rev: <latest tag>
      hooks:
          - id: commitlint
            stages: [commit-msg]
    
  • Add your shared configurations as a dependency using the additional_dependencies parameter of the hooks, here we use the @commitlint/config-angular as an example:
    - repo: https://github.com/alessandrojcm/commitlint-pre-commit-hook
      rev: <latest tag>
      hooks:
          - id: commitlint
            stages: [commit-msg]
            additional_dependencies: ['@commitlint/config-angular']
    
  • Install the commit-msg hook in your project repo:
    pre-commit install --hook-type commit-msg

Note that you need to specify a shared configuration in order for commitlint to work, if commitlint is new to you just use their default configuration (@commitlint/config-conventional). For more information, refer to their docs.

Usage in Travis CI

  • Add the following to your .pre-commit-config.yaml:
    - repo: https://github.com/alessandrojcm/commitlint-pre-commit-hook
      rev: <latest tag>
      hooks:
          - id: commitlint-travis
            stages: [manual]
    
  • Add the following to your .travis.yml:
    script:
      - pip install pre-commit
      - pre-commit run --hook-stage manual commitlint-travis