Git hooks made easy
Husky can prevent bad commit, push and more 🐶 woof!
Used by jQuery, Kibana, JSON Server, Hotel and many other awesome projects.
npm install husky --save-dev
// package.json
{
"scripts": {
"precommit": "npm test",
"prepush": "npm test",
"...": "..."
}
}
git commit -m "Keep calm and commit"
Existing hooks aren't replaced and adding --no-verify
to your git commands lets you bypass hooks. You can also use any Git hook. Optionally include the environment variable $GIT_PARAMS
in your scripts to access any command-line parameters provided by git.
If you need to debug hooks, use npm run <script-name>
, for example:
npm run precommit
If you've installed Node using the standard installer, nvm or homebrew, git hooks will be executed even in GUI applications.
If you're using nvm, husky will try to use the default
installed version or use the project .nvmrc
file.
To uninstall husky and Git hooks, simply run:
npm uninstall husky --save-dev
MIT - typicode