Repolode
evilmartians

evilmartians/lefthook

Un gestor rápido de Git hooks escrito en Go que ejecuta en paralelo comandos de pre-commit y otros hooks en proyectos de Node.js, Ruby, Python y otros entornos.

Alternativa open source a:Husky

Estrellas
8,931
Forks
325
Issues abiertos
91
Último commit
ayer

¿Qué es?

Lefthook gestiona los Git hooks de un proyecto mediante un único archivo lefthook.yml. Defines comandos para hooks como pre-commit, pre-push o commit-msg y, después, ejecutas lefthook install una vez para integrarlos en el repositorio. Se distribuye como un binario único sin dependencias y también se puede instalar mediante npm, gem, pipx, Go, Homebrew, apt, winget y otros gestores de paquetes.

Cada hook puede ejecutar trabajos en paralelo y filtrar los archivos que recibe mediante patrones glob, exclusiones o la lista de archivos preparados para el commit. Los trabajos se pueden agrupar con etiquetas, ejecutar dentro de un subdirectorio mediante root, usar archivos de script y ejecutarse con un runner como docker run. Un archivo local de configuración (lefthook-local.yml) permite que cada desarrollador omita o cambie trabajos sin modificar la configuración compartida.

Además de los hooks, los comandos definidos en la configuración se pueden ejecutar directamente con lefthook run, lo que resulta útil para compartir herramientas de corrección o linters. La salida se puede reducir para mostrar solo los mensajes de ejecución y de error.

Funciones clave

  • 01Ejecuta comandos de hooks en paralelo para agilizar las comprobaciones de pre-commit y pre-push.
  • 02Filtra los archivos de cada trabajo con patrones glob, exclusiones y listas de archivos preparados para el commit.
  • 03Agrupa trabajos con etiquetas y permite incluirlos o excluirlos en cada hook.
  • 04Permite ejecutar trabajos en subdirectorios, archivos de script y contenedores de Docker.
  • 05Permite que cada desarrollador guarde sus propias modificaciones en un archivo de configuración local.

Casos de uso

  • Ejecutar ESLint, Stylelint o RuboCop en los archivos preparados para el commit antes de cada commit.
  • Auditar dependencias o ejecutar comprobaciones de seguridad antes de un push.
  • Imponer plantillas para los mensajes de commit mediante un script de commit-msg.
  • Compartir un conjunto de herramientas de corrección para todo el equipo y ejecutarlas cuando se necesite con lefthook run.

Inicio rápido

  1. 1

    Instala lefthook con npm como dependencia de desarrollo

    npm install lefthook --save-dev
  2. 2

    Configura tus hooks en lefthook.yml

  3. 3

    Instala los hooks en el proyecto de Git

    lefthook install

Antes de usarlo

  • Algunos detalles de configuración y uso solo están disponibles en el sitio de documentación externo.

Temas

Preguntas frecuentes

¿Qué es lefthook?
Un gestor rápido de Git hooks escrito en Go que ejecuta en paralelo comandos de pre-commit y otros hooks en proyectos de Node.js, Ruby, Python y otros entornos. Lefthook gestiona los Git hooks de un proyecto mediante un único archivo lefthook.yml. Defines comandos para hooks como pre-commit, pre-push o commit-msg y, después, ejecutas lefthook install una vez para integrarlos en el repositorio. Se distribuye como un binario único sin dependencias y también se puede instalar mediante npm, gem, pipx, Go, Homebrew, apt, winget y otros gestores de paquetes.
¿lefthook es gratuito? ¿Qué licencia tiene?
lefthook es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿lefthook sigue mantenido?
Mantenimiento activo. El último commit de lefthook fue el 21 oct 2026.
¿Para qué puedo usar lefthook?
Ejecutar ESLint, Stylelint o RuboCop en los archivos preparados para el commit antes de cada commit. Auditar dependencias o ejecutar comprobaciones de seguridad antes de un push. Imponer plantillas para los mensajes de commit mediante un script de commit-msg. Compartir un conjunto de herramientas de corrección para todo el equipo y ejecutarlas cuando se necesite con lefthook run.
¿Cómo se instala lefthook?
Instala lefthook con npm como dependencia de desarrollo: npm install lefthook --save-dev Configura tus hooks en lefthook.yml Instala los hooks en el proyecto de Git: lefthook install
¿Dónde consigo lefthook?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/evilmartians/lefthook

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados