A tool to manage project Git hooks

Downloads in past


1.1.106 years ago11 years agoMinified + gzip package size for git-hooks in KB


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:
Validate code and run tests before commit. Check codestyle. Spell check the commit message or check it format. and etc.
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

Original git-hooks project pre-commit husky