Navigate:
~$HUSKY0.1%

husky: Git hooks made easy

Manage Git hooks via Node.js package.

LIVE RANKINGS • 11:45 AM • STEADY
OVERALL
#306
28
DEVELOPER TOOLS
#59
12
30 DAY RANKING TREND
ovr#306
·Devel#59
STARS
34.8K
FORKS
1.1K
7D STARS
+43
7D FORKS
-2
See Repo:
Share:

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.

Husky

1

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.

2

Zero external dependencies

The package is 2 kB gzipped and contains no external dependencies, reducing installation overhead and potential compatibility issues in project environments.

3

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);
}


[ EXPLORE MORE ]

Related Repositories

Discover similar tools and frameworks used by developers