addons-cm/RESUMEN_INSTALACION.md
snt fe137dc265 build: configurar herramientas de verificación OCA
- 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)
2026-02-11 16:09:41 +01:00

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)

  1. forbidden-files - Detecta archivos .rej
  2. oca-update-pre-commit-excluded-addons - Actualiza exclusiones
  3. trailing-whitespace - Elimina espacios finales
  4. end-of-file-fixer - Nueva línea al final
  5. check-merge-conflict - Detecta conflictos
  6. check-xml - Valida XML
  7. mixed-line-ending - Normaliza finales de línea

Formateo de Código (3)

  1. black - Formatea Python
  2. isort - Ordena imports
  3. prettier - Formatea XML/YAML/JSON

Análisis de Código (5)

  1. flake8 - Linter Python
  2. pylint (opcional) - Análisis con exit-zero
  3. pylint (mandatorio) - Análisis que falla commit
  4. mypy - Verificación de tipos
  5. eslint - Linter JavaScript

Mejoras Automáticas (3)

  1. autoflake - Elimina imports no usados
  2. pyupgrade - Actualiza sintaxis Python (py38+)
  3. fix-encoding-pragma - Remueve pragmas encoding

Verificaciones de Seguridad (4)

  1. debug-statements - Detecta debugs olvidados
  2. check-executables-have-shebangs - Verifica shebangs
  3. check-symlinks - Valida enlaces simbólicos
  4. check-case-conflict - Conflictos mayús/minús

Odoo Específico (3)

  1. setuptools-odoo-make-default - Genera setup/
  2. setuptools-odoo-get-requirements - Actualiza requirements.txt
  3. check-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

  1. Ejecutar verificación inicial

    make lint
    
  2. Corregir problemas encontrados

    make format  # Formatea automáticamente
    
  3. Hacer commit

    git add .
    git commit -m "feat: configurar herramientas de verificación OCA"
    # Pre-commit se ejecutará automáticamente
    
  4. Verificar addons individuales

    ./check_addon.sh nombre_addon
    

📚 Documentación


⚙️ Configuración de VS Code

Instala las extensiones recomendadas:

  1. Abre VS Code
  2. Ve a Extensions (Ctrl+Shift+X)
  3. Busca "@recommended"
  4. 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__.py está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)