node package manager

ghooks

Simple git hooks

ghooks

Simple git hooks

npm install ghooks --save-dev

It is not advised to install ghooks as a production dependency, as it will install git hooks in your production environment as well. Please install it under the devDependencies section of your package.json.

Please also note, that it is absolutely not advised to install ghooks globally. To work as expected, make it a development dependency of your project(s).

Add a config.ghooks entry in your package.json and simply specify which git hooks you want and their corresponding commands, like the following:

{
  …
  "config": {
    "ghooks": {
      "pre-commit": "gulp lint",
      "commit-msg": "validate-commit-msg",
      "pre-push": "make test",
      "post-merge": "npm install",
      "post-rewrite": "npm install",
      …
    }
  }
  …
}

One of the last things you want is to raise the barrier to contributing to your open source project. So Andreas Windt developed the opt-cli package to allow you to turn your hooks into opt-in/out scripts. See this project's package.json for an example of how to do that.

All documented hooks are available:

  • applypatch-msg
  • pre-applypatch
  • post-applypatch
  • pre-commit
  • prepare-commit-msg
  • commit-msg
  • post-commit
  • pre-rebase
  • post-checkout
  • post-merge
  • pre-push
  • pre-receive
  • update
  • post-receive
  • post-update
  • pre-auto-gc
  • post-rewrite

This module is heavily inspired by @nlf's precommit-hook

Huge thanks to everyone listed here!

This software is licensed under the MIT license