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

Downloads in past


000.1.26 years ago7 years agoMinified + gzip package size for husky-interactive in KB


husky-interactive npm version Mac/Linux Build Status Windows Build status
Git hooks made easy

Husky can prevent bad commit, push and more :dog: woof!
This is a fork of the original husky, which enables interactive git hooks, at the cost of compatibility with gui clients.


npm install husky-interactive --save-dev

yarn add husky-interactive --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 hook.
If you're migrating from ghooks, simply run npm uninstall ghooks --save-dev && npm install husky-interactive --save-dev and edit package.json. Husky-interactive will automatically migrate ghooks hooks.


npm uninstall husky-interactive

yarn remove husky-interactive


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-interactive 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.

accessing the initiating Git command

The command that initiated the execution of the hook can be found in the GIT_COMMAND environment variable.

Setting a different log level

By default, husky-interactive 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


Cygwin support


Yarn support

Please use yarn v0.24+

See also


MIT - Typicode :cactus: - Patreon