| .. | ||
| .github | ||
| lib | ||
| .eslintrc.js | ||
| .prettierrc | ||
| CHANGELOG.md | ||
| DOCS.md | ||
| husky.js | ||
| LICENSE | ||
| package.json | ||
| README.md | ||
| run.js | ||
Announcement: Husky is on Open Collective 🎉
Husky
Git hooks made easy
Husky can prevent bad git commit, git push and more 🐶 woof!
Install
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.
Uninstall
npm uninstall husky
Git hooks installed by husky will be removed.
Financial Contributors
Become a financial contributor and help us sustain our community. [Contribute]
Individuals
Organizations
Support this project with your organization. Your logo will show up here with a link to your website. [Contribute]
Upgrading from 0.14
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.
Features
- Keeps existing user hooks
 - Supports GUI Git clients
 - Supports all Git hooks (
pre-commit,pre-push, ...) 
Used by
- webpack
 - babel
 - create-react-app
 - Next.js
 - Hyper
 - Kibana
 - JSON Server
 - Hotel
 - ... and many other awesome projects
 
See also
- 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
 
Patreon
People and companies supporting via Patreon: thanks
License
MIT