Un linter extensible para ECMAScript/JavaScript que detecta patrones problemáticos en el código y puede corregir muchos de ellos automáticamente.
sds/overcommit
Gestor configurable de hooks de Git escrito en Ruby que ejecuta linters, pruebas y scripts personalizados en cada commit, push y otros eventos de Git.
- Estrellas
- 4,005
- Forks
- 291
- Issues abiertos
- 34
- Último commit
- hace 21 horas
¿Qué es?
Overcommit gestiona los hooks de Git de un repositorio para que comprobaciones como linters, ejecutores de pruebas y formateadores se ejecuten automáticamente en momentos como pre-commit, commit-msg, pre-push y post-checkout. El comportamiento de los hooks se define en un archivo .overcommit.yml propio del repositorio, donde se pueden habilitar o deshabilitar hooks individuales, controlar a qué archivos se aplican y ajustar opciones como la ejecución en paralelo y el manejo de errores.
El proyecto incluye un amplio conjunto de hooks integrados para lenguajes y herramientas como Ruby (RuboCop, RSpec), JavaScript (ESLint, Stylelint), Python (Pylint, Flake8), Go, PHP, Java y Shell, además de comprobaciones genéricas de espacios en blanco al final de línea, marcadores de conflictos de merge y tamaños de archivo. Los equipos también pueden escribir hooks específicos del repositorio en Ruby o registrar un script de shell existente como hook sin escribir código Ruby.
La configuración se puede compartir mediante el control de versiones, mientras que el archivo .local-overcommit.yml permite aplicar ajustes personales. Overcommit también guarda una firma del código de los hooks y de la configuración para señalar los cambios realizados por otras personas antes de volver a ejecutar los hooks.
Funciones clave
- 01Ejecuta hooks en muchos eventos de Git, incluidos pre-commit, commit-msg, pre-push y post-checkout.
- 02Incluye un amplio conjunto de linters y ejecutores de pruebas integrados para los lenguajes más comunes.
- 03Permite añadir scripts de shell existentes como hooks sin escribir código Ruby.
- 04Admite filtros de archivos por hook, exclusiones de ramas y ejecución en paralelo.
- 05Ofrece un modo --run para comprobar todo un repositorio en CI.
Casos de uso
- Ejecutar RuboCop o ESLint automáticamente antes de cada commit en un repositorio de equipo.
- Bloquear pushes a ramas protegidas o commits con marcadores de conflictos de merge.
- Ejecutar en CI el mismo conjunto de comprobaciones de lint que los desarrolladores usan localmente antes de hacer commit.
Inicio rápido
- 1
Instala la gem overcommit mediante RubyGems
gem install overcommit - 2
Ve a tu repositorio e inicializa Git si es necesario
git init - 3
Instala los hooks de Overcommit en el repositorio
overcommit --install
Antes de usarlo
- Algunos hooks dependen de herramientas de terceros (por ejemplo, scss_lint), que debes instalar por tu cuenta.
- Requiere un entorno Ruby; en *nix, Ruby 2.6 o posterior. La compatibilidad con Windows se ofrece solo en la medida de lo posible.
En colecciones
Temas
Preguntas frecuentes
- ¿Qué es overcommit?
- Gestor configurable de hooks de Git escrito en Ruby que ejecuta linters, pruebas y scripts personalizados en cada commit, push y otros eventos de Git. Overcommit gestiona los hooks de Git de un repositorio para que comprobaciones como linters, ejecutores de pruebas y formateadores se ejecuten automáticamente en momentos como pre-commit, commit-msg, pre-push y post-checkout. El comportamiento de los hooks se define en un archivo .overcommit.yml propio del repositorio, donde se pueden habilitar o deshabilitar hooks individuales, controlar a qué archivos se aplican y ajustar opciones como la ejecución en paralelo y el manejo de errores.
- ¿overcommit es gratuito? ¿Qué licencia tiene?
- overcommit es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿overcommit sigue mantenido?
- Mantenimiento activo. El último commit de overcommit fue el 6 nov 2026.
- ¿Para qué puedo usar overcommit?
- Ejecutar RuboCop o ESLint automáticamente antes de cada commit en un repositorio de equipo. Bloquear pushes a ramas protegidas o commits con marcadores de conflictos de merge. Ejecutar en CI el mismo conjunto de comprobaciones de lint que los desarrolladores usan localmente antes de hacer commit.
- ¿Cómo se instala overcommit?
- Instala la gem overcommit mediante RubyGems: gem install overcommit Ve a tu repositorio e inicializa Git si es necesario: git init Instala los hooks de Overcommit en el repositorio: overcommit --install
- ¿Dónde consigo overcommit?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/sds/overcommit
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Un linter para Rust con más de 800 reglas que detecta errores comunes y sugiere código más idiomático; se ejecuta como subcomando de cargo.
Analizador estático de código Python que detecta errores, aplica estándares de codificación y señala malos olores de código sin ejecutarlo.
Un linter rápido y configurable para Go, compatible con golint y con soporte para reglas y formateadores de salida personalizados.
Un linter y formateador de Python que detecta y elimina las instrucciones de importación que no se usan en el código.
Framework para gestionar y ejecutar hooks de pre-commit en varios lenguajes que revisan el código antes de cada commit de Git.