Modern native git hooks made easy
Husky enhances your commits and more 🐶 woof!
Automatically lint your commit messages, code, and run tests upon committing or pushing.
Get started here.
Check out the v9 changelog to discover all the new and improved features! 🚀
Features
- Just
2 kB
(📦 gzipped) with no dependencies - Extremely fast (runs in
~1ms
) - Uses new Git feature (
core.hooksPath
) - Supports:
- macOS, Linux, Windows
- Git GUIs, Node version managers, custom hooks directory, nested projects, monorepos
- All 13 client-side Git hooks
And more:
- Branch-specific hooks
- Use POSIX shell to script advanced cases
- Adheres to Git's native hook organization
- Aligns with npm best practices using
prepare
script - Opt-in/opt-out options
- User-friendly error messages
Sponsors
Support this project by becoming a sponsor here 💖
Special Sponsor
Get rewards for your open-source contributions
GitHub
Open Collective
Used by
Husky is used in over 1.3M projects on GitHub, including:
- vercel/next.js
- vercel/hyper
- webpack/webpack
- angular/angular
- facebook/docusaurus
- microsoft/vscode
- 11ty/eleventy
- stylelint/stylelint
- colinhacks/zod
- rollup/rollup
- tinyhttp/tinyhttp
- ...