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);
}Top in Developer Tools
Related Repositories
Discover similar tools and frameworks used by developers
Axios
Promise-based HTTP client with unified browser and Node.js interface.
Spring Initializr
Extensible API for generating JVM projects with multi-language and build system support.
Playwright MCP
Accessibility tree-based browser automation for LLMs.
Yup
JavaScript schema validation with chainable API and type inference.
Lima
Linux VM launcher with automatic file sharing, port forwarding, and container engine support.