Git hooks made easy
Husky can prevent bad git commit
, git push
and more 🐶 woof!
Support Husky and have your company logo here
Visit thanks.typicode.com 🌵 to view all the people supporting husky.
npm install husky --save-dev
// package.json { "husky": { "hooks": { "pre-commit": "npm test", "pre-push": "npm test", "...": "..." } } }
git commit -m 'Keep calm and commit'
To go further, see the docs here.
Note: there's a known issue with Node v12.0
, please use v12.1
or higher.
npm uninstall husky
Simply move your existing hooks to husky.hooks
field and use raw Git hooks names. Also, if you're using the GIT_PARAMS
env variable, rename it to HUSKY_GIT_PARAMS
.
{ "scripts": { - "precommit": "npm test", - "commitmsg": "commitlint -E GIT_PARAMS" }, + "husky": { + "hooks": { + "pre-commit": "npm test", + "commit-msg": "commitlint -E HUSKY_GIT_PARAMS" + } + } }
Alternatively, you can run the following command which will do the same automatically for you ;)
./node_modules/.bin/husky-upgrade
Starting with 1.0.0
, you can also configure hooks using .huskyrc
, .huskyrc.json
or .huskyrc.js
file.
// .huskyrc { "hooks": { "pre-commit": "npm test" } }
To view the full list of changes, please see the CHANGELOG.
pre-commit
, pre-push
, ...)MIT