CheckOps
Lefthook
Lefthook is a fast, MIT-licensed Git hooks manager written in Go by Evil Martians, running commands in parallel on staged files for Node.js, Ruby, Python and other projects.
Latest public signals
Not refreshed yet. Refresh reads the public site and, when the entry has a GitHub repository, the latest release.
Introduction
Lefthook is a Git hooks manager for Node.js, Ruby, Python and many other project types. It is fast because it is written in Go and runs commands in parallel, powerful because you control execution and which files are passed to commands, and simple because it is a single dependency-free binary.
Lefthook installs configured hooks into .git/hooks/; each hook calls lefthook run {hook-name}. A lefthook.yml defines commands such as running ESLint or Stylelint with --fix on {staged_files}. You can install it via npm, gem, Go, Homebrew, winget, yum, apt, apk or scoop. It is built by Evil Martians.
Pre-commit hooks are the cheapest place to run fast unit tests and linters; keep them quick so developers do not bypass them, and repeat the checks in CI.
The source code is at evilmartians/lefthook on GitHub under the MIT licence, with about 9,000 stars; the most recent commit was on 6 November 2026.
Features
- Parallel execution: Fast hooks.
- Staged file targeting: {staged_files} templates.
- Single binary: No dependencies.
- Many installers: npm, gem, brew and more.
- Language-agnostic: Any project type.
Pros
- Free to use: Open source under the MIT licence, so the core tool costs nothing to use.
- Actively maintained: The repository had commits as recent as 6 November 2026.
- Community: About 9,000 GitHub stars.
Cons
- Local only: Developers can skip hooks; repeat in CI.
Usage and Links (Example)
npm install lefthook --save-dev # or gem install lefthook, brew, go install ...
lefthook install
pre-commit:
parallel: true
commands:
eslint:
run: yarn run eslint --fix '{staged_files}'
Resources:
Pricing
Lefthook is free and open source under the MIT licence.
Recommended for?
- Teams wanting fast, polyglot Git hooks.
Conclusion
Lefthook is a fast, simple alternative to Husky and pre-commit.
Keep hooks fast and mirror them in CI.
On CheckOps, Lefthook is filed under the Unit testing and Release & CI gates stages. Related tools listed here include pre-commit, Danger JS, reviewdog, actionlint, Codecov and Trunk Flaky Tests. When comparing them, weigh the licence, the languages and platforms each supports, whether it is self-hosted or managed, and how cleanly it slots into your existing CI pipeline. Details on this page were checked against the official website, documentation and repository on 11 November 2026.
Alternatives
Other tools on CheckOps that cover similar ground. Open a page, or compare one with Lefthook side by side.
Ppre-commitpre-commit is an MIT framework for managing multi-language Git pre-commit hooks, running linters, formatters and checks before code is committed and in CI.Compare with Lefthook
DDanger JSDanger JS is an MIT tool that runs during CI to automate code review conventions, failing or commenting on pull requests based on rules written in JavaScript or TypeScript.Compare with Lefthook
Rreviewdogreviewdog is an MIT tool that posts results from any linter or code analysis tool as pull request review comments, filtered to changed lines, on GitHub, GitLab, Bitbucket and Gerrit.Compare with Lefthook
Aactionlintactionlint is an MIT static checker for GitHub Actions workflow files that catches syntax errors, bad expressions, type mismatches and shell script issues via ShellCheck.Compare with Lefthook
CCodecovCodecov by Sentry is a code coverage reporting service that shows coverage for any language, CI and code host in pull request comments and dashboards, with flags, carryforward, test analytics for flaky tests and AI test generation.Compare with Lefthook
TTrunk Flaky TestsTrunk Flaky Tests is a commercial service that detects, quarantines and tracks flaky tests for any language, test runner and CI provider, with AI grouping of related failures and a generous free tier.Compare with Lefthook