husky: Git hooks made easy
Manage Git hooks via Node.js package.
Learn more about husky
Husky is a Node.js package that facilitates the installation and management of Git hooks. It leverages Git's core.hooksPath configuration to store hooks in a project directory rather than the standard .git/hooks location. The tool supports all 13 client-side Git hooks and runs with minimal overhead, approximately 1ms per execution. Common use cases include running linters, tests, and commit message validation before commits are made or branches are pushed.

Native Git hooks approach
Uses Git's core.hooksPath feature to store hooks within the project repository, allowing hooks to be version-controlled and shared across team members without requiring custom installation scripts.
Zero external dependencies
The package is 2 kB gzipped and contains no external dependencies, reducing installation overhead and potential compatibility issues in project environments.
Broad platform and tool support
Functions across macOS, Linux, and Windows, and integrates with Git GUIs, Node version managers, monorepos, and nested project structures without requiring special configuration.
// .husky/pre-commit
import { execSync } from 'child_process';
try {
execSync('npm run lint', { stdio: 'inherit' });
execSync('npm test', { stdio: 'inherit' });
} catch (error) {
console.error('Pre-commit checks failed');
process.exit(1);
}Patch release that improves the deprecation warning label; no breaking changes or new requirements.
- –Deprecation warnings now include a 'husky' label for easier identification in logs.
- –No action required; upgrade is safe for all v9.x users with no behavior changes.
Patch release fixing incorrect generation of the example pre-commit hook file.
- –Update to correct malformed pre-commit template that may have broken hook execution in fresh installs.
- –No breaking changes or new requirements; safe drop-in upgrade for existing Husky v9.1.x users.
Adds support for the pre-merge-commit Git hook, fixing issue #1494.
- –Use pre-merge-commit hook to run checks during git merge --squash workflows.
- –No breaking changes or migration steps required for this patch release.
Top in Developer Tools
Related Repositories
Discover similar tools and frameworks used by developers
tradingview
Custom datafeed integration for Tradingview charting library.
pino
Low-overhead streaming JSON logger for Node.js.
nanoid
Compact 21-character cryptographic IDs with URL-safe encoding.
fastfetch
High-performance CLI system information display written in C.
redoc
React component rendering OpenAPI specifications as interactive HTML documentation.