Lecciones del curso (7)
Lección 6 de 7 · 9 min de lectura
pre-commit y scripting
Automatiza la calidad con revisiones que corren solas antes de cada commit y escribe pequeños scripts de terminal que hacen el trabajo repetitivo por ti.
- · Configurar pre-commit con Ruff y revisiones básicas en un proyecto
- · Escribir un script de bash con argumentos y validaciones
- · Decidir cuándo automatizar con bash y cuándo con Python
Los equipos profesionales no confían en "acordarse" de revisar el código. Lo automatizan: cada vez que alguien intenta registrar un cambio, un conjunto de revisiones corre solo y, si algo falla, el commit no se hace. Con la misma idea, cualquier tarea que repitas cada semana (respaldar, renombrar, limpiar) puede convertirse en un script que la hace en segundos y sin errores.
pre-commit: revisiones antes de cada commit
pre-commit es una herramienta gratuita que instala "ganchos" (hooks) en Git: programas que revisan tus archivos justo antes de cada commit. Instálala una vez con uv:
uv tool install pre-commit
En tu proyecto crea el archivo .pre-commit-config.yaml:
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v6.0.0
hooks:
- id: trailing-whitespace
- id: end-of-file-fixer
- id: check-yaml
- id: detect-private-key
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.17.0
hooks:
- id: ruff-check
args: [--fix]
- id: ruff-format
Qué revisa cada uno:
| Hook | Qué hace |
|---|---|
trailing-whitespace | Quita espacios sobrantes al final de las líneas |
end-of-file-fixer | Deja exactamente un salto de línea al final de cada archivo |
check-yaml | Verifica que los archivos YAML estén bien escritos |
detect-private-key | Bloquea el commit si encuentra una clave privada |
ruff-check | Busca errores y malas prácticas en Python y corrige los que puede |
ruff-format | Da formato al código de Python |
Actívalo en el repositorio:
pre-commit install
Desde ahora, cada git commit ejecuta las revisiones. Las versiones (rev) cambian con el tiempo: pre-commit autoupdate las actualiza a las últimas publicadas.
Qué pasa cuando algo falla
Si un hook corrige un archivo (por ejemplo, Ruff quita una importación que no usas o arregla el formato), el commit se detiene y verás Failed. No es un drama: el archivo ya quedó corregido. Revisa el cambio, vuelve a prepararlo y repite el commit:
git add -A
git commit -m "Agrega el cálculo de gastos"
Esta vez verás Passed en todas las revisiones y el commit se registra. Si el hook bloquea algo que no puede corregir (como una clave privada), debes resolverlo tú: sacar ese archivo del commit y agregarlo al .gitignore.
Para revisar todo el proyecto sin hacer commit, usa pre-commit run --all-files (revisa los archivos que Git ya tiene registrados o preparados).
Sigue esta clase gratis
Crea tu cuenta en un minuto. Así guardas tu avance y recibes tu certificado gratis al terminar.