lefthook
$
npx mdskill add TerminalSkills/skills/lefthookManages Git hooks without Node.js, using YAML configuration and parallel execution
- Solves need for fast Git hooks without Node.js dependencies
- Uses Git, YAML config, and command-line tools for setup
- Runs parallel pre-commit checks with file glob patterns
- Delivers results via console output and commit validation
SKILL.md
.github/skills/lefthookView on GitHub ↗
---
name: lefthook
description: >-
Fast Git hooks manager written in Go. Use when a user asks to set up Git hooks without Node.js dependency, run parallel pre-commit checks, or find a faster alternative to Husky.
license: Apache-2.0
compatibility: 'Any Git repository, any language'
metadata:
author: terminal-skills
version: 1.0.0
category: development
tags:
- lefthook
- git-hooks
- pre-commit
- lint
- go
---
# Lefthook
## Overview
Lefthook is a fast, polyglot Git hooks manager. Unlike Husky, it doesn't require Node.js — works with any language. Runs hooks in parallel, supports glob patterns, and configures via YAML.
## Instructions
### Step 1: Install
```bash
npm install -D lefthook
npx lefthook install
# Or: brew install lefthook
```
### Step 2: Configure
```yaml
# lefthook.yml — Git hooks configuration
pre-commit:
parallel: true
commands:
lint:
glob: "*.{ts,tsx,js,jsx}"
run: npx eslint --fix {staged_files}
format:
glob: "*.{ts,tsx,js,jsx,css,md,json}"
run: npx prettier --write {staged_files}
typecheck:
run: npx tsc --noEmit
pre-push:
commands:
test:
run: npm test
commit-msg:
commands:
commitlint:
run: npx commitlint --edit {1}
```
## Guidelines
- Lefthook runs commands in parallel by default — faster than sequential Husky hooks.
- {staged_files} placeholder only passes staged files — no need for lint-staged.
- Works in polyglot repos (Go, Python, Ruby) without Node.js dependency.