Офлайн-линтер прозы для командных правил стиля: работает в редакторах, CI и коде.
evilmartians/lefthook
Быстрый менеджер Git hooks на Go, который параллельно запускает pre-commit и другие команды хуков в проектах на Node.js, Ruby, Python и других языках.
Open source альтернатива:Husky
- Звёзды
- 8,931
- Форки
- 325
- Открытые issues
- 91
- Последний коммит
- вчера
Что это?
Lefthook управляет Git hooks проекта через единый файл lefthook.yml. В нём можно задать команды для хуков, например pre-commit, pre-push или commit-msg, а затем один раз запустить lefthook install, чтобы подключить их к репозиторию. Lefthook распространяется как единственный бинарный файл без зависимостей. Его также можно установить через npm, gem, pipx, Go, Homebrew, apt, winget и другие менеджеры пакетов.
Каждый хук может параллельно запускать задачи и фильтровать передаваемые им файлы по glob-шаблонам, исключениям или списку staged-файлов. Задачи можно группировать по тегам, запускать в подкаталоге с помощью root, выполнять из файлов скриптов и запускать через runner, например docker run. Локальный файл переопределений (lefthook-local.yml) позволяет отдельным разработчикам пропускать или изменять задачи, не затрагивая общую конфигурацию.
Помимо хуков, команды из конфигурации можно запускать напрямую через lefthook run — например, чтобы использовать общие автоформаттеры или линтеры. Вывод можно сократить, оставив только сообщения о запуске и сбоях.
Ключевые возможности
- 01Параллельно запускает команды хуков, ускоряя проверки pre-commit и pre-push.
- 02Фильтрует файлы для каждой задачи по glob-шаблонам, исключениям и спискам staged-файлов.
- 03Группирует задачи по тегам и позволяет включать или исключать их для каждого хука.
- 04Поддерживает запуск задач в подкаталогах, выполнение файлов скриптов и работу в Docker-контейнерах.
- 05Позволяет разработчикам хранить личные переопределения в локальном конфигурационном файле.
Сценарии использования
- Запускать ESLint, Stylelint или RuboCop для staged-файлов перед каждым коммитом.
- Проверять зависимости или запускать проверки безопасности перед отправкой изменений.
- Проверять сообщения коммитов по шаблонам с помощью скрипта commit-msg.
- Предоставлять команде общий набор автоформаттеров, который можно запускать по запросу через lefthook run.
Темы
Частые вопросы
- Что такое lefthook?
- Быстрый менеджер Git hooks на Go, который параллельно запускает pre-commit и другие команды хуков в проектах на Node.js, Ruby, Python и других языках. Lefthook управляет Git hooks проекта через единый файл lefthook.yml. В нём можно задать команды для хуков, например pre-commit, pre-push или commit-msg, а затем один раз запустить lefthook install, чтобы подключить их к репозиторию. Lefthook распространяется как единственный бинарный файл без зависимостей. Его также можно установить через npm, gem, pipx, Go, Homebrew, apt, winget и другие менеджеры пакетов.
- lefthook можно использовать бесплатно? Какая у него лицензия?
- lefthook распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- lefthook всё ещё поддерживается?
- Активно поддерживается. Последний коммит в lefthook — 21 окт. 2026 г..
- Для чего можно использовать lefthook?
- Запускать ESLint, Stylelint или RuboCop для staged-файлов перед каждым коммитом. Проверять зависимости или запускать проверки безопасности перед отправкой изменений. Проверять сообщения коммитов по шаблонам с помощью скрипта commit-msg. Предоставлять команде общий набор автоформаттеров, который можно запускать по запросу через lefthook run.
- Где скачать lefthook?
- Исходный код и инструкции по установке — на GitHub: https://github.com/evilmartians/lefthook
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Утилита и библиотека для Python, которые автоматически сортируют и группируют импорты.
Навык для AI-агентов, который превращает изменения в рабочем дереве в аккуратные Conventional Commits, ветки, безопасные pull и push и PR на GitHub.
Нативное приложение для строки меню macOS, которое показывает статус GitHub-репозиториев: issues, pull request, CI, релизы и локальные копии.
Небольшая библиотека управления состоянием для React на основе хуков, которой не нужны провайдеры.
Клон cat(1) для терминала с подсветкой синтаксиса, маркерами Git-изменений и автоматической прокруткой.