Prevents bad commit or push (git hooks, pre-commit/precommit, pre-push/prepush, post-merge/postmerge and all that stuff...)
npm install musky> Git hooks made easy
  
Husky can prevent bad git commit, git push and more 🐶 _woof!_
If Husky is saving you time, please consider supporting its development on Patreon 🙏 thank you!
``sh`
npm install husky --save-dev
`js`
// package.json
{
"husky": {
"hooks": {
"pre-commit": "npm test",
"pre-push": "npm test",
"...": "..."
}
}
}
`sh`
git commit -m 'Keep calm and commit'
To go further, see the docs here.
`sh`
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.
`diff`
{
"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.
`js`
// .huskyrc
{
"hooks": {
"pre-commit": "npm test"
}
}
To view the full list of changes, please see the CHANGELOG.
* Keeps existing user hooks
* Supports GUI Git clients
* Supports all Git hooks (pre-commit, pre-push`, ...)
* jQuery
* babel
* create-react-app
* Next.js
* Hyper
* Kibana
* JSON Server
* Hotel
* ... and 28k+ other awesome repos
* pkg-ok - Prevents publishing a module with bad paths or incorrect line endings
* please-upgrade-node - Show a message to upgrade Node instead of a stacktrace in your CLIs
* pinst - dev only postinstall hook
MIT
Patreon - Supporters ✨