# evilmartians/lefthook

Fast and powerful Git hooks manager for any type of projects.

Repository: https://github.com/evilmartians/lefthook
Canonical: https://ross.abutalabs.com/products/lefthook
Homepage: http://lefthook.dev/
Language: Go
License: MIT
License Family: permissive
Topics: lefthook, git, hooks, manager, go, golang, hacktoberfest
Last push: 2026-08-25T14:37:45+00:00

## Health v2 (maintenance only)
Score: 95/100 (v2, computed 2026-09-03T02:39:23.370411+00:00)
- activity 99, release rhythm 86, longevity 100
- inputs: {"age_days": 2766, "days_push": 8, "days_rel": 12, "gap_med": 4.0, "n_releases_24m": 87}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 8732, forks 295 (observed 2026-08-28T04:10:25.404005+00:00)

## What it is
Lefthook is a fast, dependency-free Git hooks manager written in Go that works with any type of project (Node.js, Ruby, Python, Go, Swift, etc.). It lets you configure hooks in a single lefthook.yml file, run commands in parallel, and filter files with globs and regexps.

## Use cases
- run eslint and stylelint on staged files before commit
- manage git hooks for a monorepo with frontend and backend
- run linters in parallel on pre-commit
- replace husky or pre-commit with a faster git hooks manager
- auto-fix and re-stage files during pre-commit
- run checks on pre-push with custom file filters

## When to choose
- you want a single dependency-free binary that works across languages
- you need parallel hook execution for speed
- your team uses mixed-language projects and wants one hooks config
- you need fine-grained control over which files are passed to commands

## When to avoid
- you only need simple hooks and prefer a tool native to your language ecosystem
- you want hooks managed entirely in a CI pipeline rather than locally
- you need a plugin ecosystem with shared hook repositories

## Facets
- artifact type: cli-tool
- maturity: stable
- function: developer-tools, cli, code-review, ci-cd, configuration-management
- domain: developer-tools, version-control
- platform: windows, cli, cross-platform, go, python, ruby
- tags: git-hooks, pre-commit, linting, parallel-execution, single-binary, polyglot, command-line, automation, linux, macos, nodejs

## Member repositories
- evilmartians/lefthook (main) score 95

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:10:25.404005+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-29T17:25:19.097975+00:00, confidence not recorded.
  - readme: https://github.com/evilmartians/lefthook (fetched 2026-08-28T04:10:25.404005+00:00, sha 2d6d1070ef44)
  - homepage: http://lefthook.dev/ (fetched 2026-08-29T08:25:44.956585+00:00, sha 14ad98df816b)
  - site_page: http://lefthook.dev/install (fetched 2026-08-29T08:25:44.959141+00:00, sha 4f15c70e7ec8)
  - site_page: http://lefthook.dev/installation/ruby (fetched 2026-08-29T08:25:44.960929+00:00, sha 5591b3ffc6c1)
  - site_page: http://lefthook.dev/installation/node (fetched 2026-08-29T08:25:44.962763+00:00, sha ffb5c18600e3)
  - site_page: http://lefthook.dev/installation/go (fetched 2026-08-29T08:25:44.964327+00:00, sha dd0c715ad3f0)
  - site_page: http://lefthook.dev/installation/python (fetched 2026-08-29T08:25:44.965843+00:00, sha daebea148354)
  - site_page: http://lefthook.dev/installation/swift (fetched 2026-08-29T08:25:44.967268+00:00, sha 06b1b83ca270)
  - site_page: http://lefthook.dev/installation/homebrew (fetched 2026-08-29T08:25:44.968676+00:00, sha 61ff7fd96efb)
  - site_page: http://lefthook.dev/installation/winget (fetched 2026-08-29T08:25:44.970360+00:00, sha 188b829171dc)
- Data as of 2026-08-30T08:39:29.467469+00:00.
