Prevents bad commit or push (git/hg hooks, pre-commit/precommit, pre-push/prepush, post-merge/postmerge and all that stuff...)

Downloads in past


1330.15.45 years ago6 years agoMinified + gzip package size for husky-hg in KB


husky-hg npm version Mac/Linux Build Status Windows Build status
Git / Mercurial hooks made easy.
husky-hg is a fork of husky. The only difference is, that Mercurial is supported as an alternative to git.
Husky can prevent bad commit, push and more :dog: woof!


npm install husky-hg --save-dev

yarn add husky-hg --dev

// Edit package.json
  "scripts": {
    "precommit": "npm test",
    "prepush": "npm test",
    "...": "..."

git commit -m "Keep calm and commit"

Existing hooks aren't replaced and you can use any git/Mercurial hook.
If you're migrating from ghooks, simply run npm uninstall ghooks --save-dev && npm install husky --save-dev and edit package.json. Husky will automatically migrate ghooks hooks.

Used by


npm uninstall husky-hg

yarn remove husky-hg


Debug hooks easily

If you need to debug hooks, simply use npm run <script-name>. For example:
npm run precommit

Git GUI clients support

If you've installed Node using the standard installer
, nvm or homebrew, Git hooks will be executed in GUI applications.

Working with multiple version of Node

If nvm is installed, husky will try to use the default/current installed Node version or use the project .nvmrc.
Tip to use the system-installed version of node, nvm provides a system alias

Accessing Git params

Git params can be found in GIT_PARAMS environment variable.

Setting a different log level

By default, husky will run scripts using --silent to make the output more readable. If you want to override this, simply pass a different log level to your scripts:
"precommit": "npm run some-script -q"

-q/--quiet is equivalent to --loglevel warn which is npm default log level.

Git submodule and subtree support


Mercurial subrepo support


Cygwin support


Yarn support

Please use yarn v0.24+

See also