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
Gson
Reflection-based Java library for JSON object conversion.
Pino
Low-overhead streaming JSON logger for Node.js.
tldr-pages
Community-maintained concise help pages for CLI tools with practical examples.
Dobby
Lightweight function hooking framework for Windows, macOS, iOS, Android, and Linux.
EPG
Node.js toolkit for downloading EPG data from hundreds of TV sources into standardized XML format.