- Instalar pre-commit con 25 hooks configurados - Configurar black 26.1.0 para formateo de código Python - Configurar isort 7.0.0 para ordenación de imports - Configurar flake8 7.3.0 con flake8-bugbear - Configurar pylint 3.1.1 con pylint-odoo 9.1.2 - Añadir autoflake y pyupgrade para mejoras automáticas - Configurar prettier para formateo de XML/JSON/YAML - Crear .editorconfig para consistencia de editor - Crear Makefile con comandos útiles - Crear check_addon.sh para verificación rápida de addons - Actualizar configuración de VS Code con extensiones recomendadas - Añadir documentación completa de uso - Aplicar formateo automático a archivos existentes - Deshabilitar setuptools-odoo (no soporta Odoo 18.0 aún) - Deshabilitar fix-encoding-pragma (obsoleto, usar pyupgrade)
6.1 KiB
6.1 KiB
🎉 Instalación Completada - Linters y Pre-commit OCA
✅ Resumen de la Instalación
Se han instalado y configurado exitosamente todas las herramientas de verificación OCA en el repositorio.
📦 Paquetes Instalados (Versiones)
| Herramienta | Versión | Descripción |
|---|---|---|
| black | 26.1.0 | Formateador de código Python |
| isort | 7.0.0 | Ordenador de imports |
| flake8 | 7.3.0 | Linter de estilo Python |
| pylint | 4.0.4 | Analizador estático de código |
| pylint-odoo | 10.0.0 | Plugin específico para Odoo |
| pre-commit | ✅ | Gestor de hooks de git |
| autoflake | ✅ | Elimina código no usado |
| pyupgrade | ✅ | Actualiza sintaxis Python |
| flake8-bugbear | ✅ | Verificaciones adicionales |
📁 Archivos Creados
Configuración de Linters
- ✅
.pre-commit-config.yaml- 25 hooks configurados - ✅
.pylintrc- Reglas opcionales + mandatorias - ✅
.pylintrc-mandatory- Solo reglas obligatorias - ✅
.flake8- Configuración de flake8 - ✅
.isort.cfg- Configuración de isort - ✅
setup.cfg- Configuración compartida - ✅
pyproject.toml- Configuración de black - ✅
.editorconfig- Consistencia de editor
Herramientas de Desarrollo
- ✅
Makefile- 10+ comandos útiles - ✅
check_addon.sh- Script de verificación de addons - ✅
requirements.txt- Dependencias del proyecto
Documentación
- ✅
LINTERS_README.md- Guía completa de uso - ✅
INSTALACION_COMPLETA.md- Documentación detallada - ✅
RESUMEN_INSTALACION.md- Este archivo
VS Code
- ✅
.vscode/settings.json- Configuración actualizada - ✅
.vscode/extensions.json- Extensiones recomendadas
🔧 Estado de Pre-commit
✅ Pre-commit hooks instalados en .git/hooks/
✅ 25 hooks configurados y listos
✅ Hooks actualizados a las últimas versiones
Los hooks se ejecutarán automáticamente en cada commit.
🚀 Comandos Rápidos
Comandos más usados
# Verificar todo el código
make lint
# Formatear código automáticamente
make format
# Verificar un addon específico
./check_addon.sh account_invoice_triple_discount
# Ver todos los comandos disponibles
make help
Pre-commit
# Ejecutar en todos los archivos
pre-commit run --all-files
# Ejecutar en archivos modificados
pre-commit run
# Actualizar a últimas versiones
pre-commit autoupdate
📊 Hooks Configurados (25)
Verificaciones Básicas (7)
forbidden-files- Detecta archivos .rejoca-update-pre-commit-excluded-addons- Actualiza exclusionestrailing-whitespace- Elimina espacios finalesend-of-file-fixer- Nueva línea al finalcheck-merge-conflict- Detecta conflictoscheck-xml- Valida XMLmixed-line-ending- Normaliza finales de línea
Formateo de Código (3)
black- Formatea Pythonisort- Ordena importsprettier- Formatea XML/YAML/JSON
Análisis de Código (5)
flake8- Linter Pythonpylint(opcional) - Análisis con exit-zeropylint(mandatorio) - Análisis que falla commitmypy- Verificación de tiposeslint- Linter JavaScript
Mejoras Automáticas (3)
autoflake- Elimina imports no usadospyupgrade- Actualiza sintaxis Python (py38+)fix-encoding-pragma- Remueve pragmas encoding
Verificaciones de Seguridad (4)
debug-statements- Detecta debugs olvidadoscheck-executables-have-shebangs- Verifica shebangscheck-symlinks- Valida enlaces simbólicoscheck-case-conflict- Conflictos mayús/minús
Odoo Específico (3)
setuptools-odoo-make-default- Genera setup/setuptools-odoo-get-requirements- Actualiza requirements.txtcheck-docstring-first- Verifica docstrings
✅ Verificación de la Instalación
Ejecuta estos comandos para verificar que todo funciona:
# 1. Verificar versiones
black --version # 26.1.0
isort --version # 7.0.0
pylint --version # 4.0.4
flake8 --version # 7.3.0
# 2. Probar en un archivo
black --check account_invoice_triple_discount/models/account_move_line.py
# 3. Ejecutar un hook
pre-commit run forbidden-files --all-files
🎯 Próximos Pasos
-
Ejecutar verificación inicial
make lint -
Corregir problemas encontrados
make format # Formatea automáticamente -
Hacer commit
git add . git commit -m "feat: configurar herramientas de verificación OCA" # Pre-commit se ejecutará automáticamente -
Verificar addons individuales
./check_addon.sh nombre_addon
📚 Documentación
- Guía completa: Ver LINTERS_README.md
- Detalles técnicos: Ver INSTALACION_COMPLETA.md
- OCA Guidelines: https://github.com/OCA/maintainer-tools
- pre-commit: https://pre-commit.com/
⚙️ Configuración de VS Code
Instala las extensiones recomendadas:
- Abre VS Code
- Ve a Extensions (Ctrl+Shift+X)
- Busca "@recommended"
- Instala todas las extensiones sugeridas
O ejecuta:
code --install-extension ms-python.python
code --install-extension ms-python.black-formatter
code --install-extension ms-python.isort
code --install-extension ms-python.pylint
code --install-extension ms-python.flake8
code --install-extension esbenp.prettier-vscode
code --install-extension editorconfig.editorconfig
⚠️ Notas Importantes
- ✅ Los hooks se ejecutan automáticamente en cada commit
- ✅ Black y prettier modifican archivos automáticamente
- ✅ Los
__init__.pyestán excluidos de isort (estándar OCA) - ✅ Pylint tiene dos niveles: opcional (no falla) y mandatorio (falla commit)
- ⚠️ Para commit sin verificación (NO RECOMENDADO):
git commit --no-verify
🎊 ¡Todo Listo!
El repositorio está ahora configurado con los estándares de calidad OCA. Cada commit será verificado automáticamente para mantener la calidad del código.
Fecha de instalación: 11 de febrero de 2026 Versión de configuración: OCA Standard (2026)