03
Projects · maintained
nit
A lightweight, zero-dependency Git hooks manager for JavaScript and Node.js projects.
- Created
- Stack
- TypeScriptBunCLIGit Hooks
- Source
- pyyupsk/nit
A Git hooks manager that reads its configuration straight from package.json. It needs no extra config files and no dependencies.
Features
- Zero runtime dependencies.
- Configuration lives under the
"nit"key inpackage.json. - Hooks install automatically through the
preparelifecycle script. - A
checkcommand exits with code 1 when installed hooks drift from the config, which keeps CI honest. - Staged hooks run commands only on files that match a glob pattern.
- Works with any package manager: Bun, npm, pnpm, or Yarn.
Usage
{
"nit": {
"hooks": {
"pre-commit": "bun run lint && bun run typecheck",
"commit-msg": "bun run test"
}
}
}Hooks can also target only staged files that match a pattern:
{
"nit": {
"hooks": {
"pre-commit": {
"stages": {
"**/*.{ts,js}": "biome check --write {staged_files}"
}
}
}
}
}CLI
nit install: Writes hooks to.git/hooks/.nit check: Exits with code 1 if the installed hooks differ from the config.nit exec <hook>: Runs a staged hook against the currently staged files.