A tool to manage and run project git hooks
Clone or download
rjmunro and tarmolov Test with real git dir (#58)
* Test with real git dir

New code fails with fake .git dir as it doesn't guess, it asks git.

* Use tmp package to get temporary folder name

* Fix typo in uninstall test

It was running the install, not uninstall command.

* Add test case for git repo not having a hooks folder
Latest commit f7e9bd5 Jun 11, 2018



NPM version Build Status Coverage Status Dependency Status npm

git-hooks is an utility for managing and running project git hooks for nodejs projects.

It has zero dependecies and easy to use.

Just install git-hooks and it will run your hooks when a hook is called by git.

Why do you need git hooks in your project?

Hooks are little scripts you can place in $GIT_DIR/hooks directory to trigger action at certain points.

They are very powerful and helpful.

You can do a lot of things with them:

Note. When you use git-hooks, you should not modify $GIT_DIR/hooks directory manually because git-hooks will do it for you.

Supported platforms

  • Unix
  • macOS


Install git-hooks in your project.

npm install git-hooks --save-dev

To keep things organized, git-hooks looks for scripts in sub-directories named after the git hook name. All these sub-directories should be stored in .githooks directory in the project root.

Let's create some dummy pre-commit hook.

mkdir -p .githooks/pre-commit
echo -e '#!/usr/bin/env node' "\nconsole.log('hi!');" > .githooks/pre-commit/hello.js
chmod +x .githooks/pre-commit/hello.js

Then just try to commit and see how things are rolling.

git add .githooks package.json
git commit -m "Add git-hooks"

See also hooks examples.

It's worth to mention that our library checks for gitignore rules while executing scripts in .githooks/ directories.

Related projects