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

230 lines
6.1 KiB
Markdown

# 🎉 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
```bash
# 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
```bash
# 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)
8. `black` - Formatea Python
9. `isort` - Ordena imports
10. `prettier` - Formatea XML/YAML/JSON
### Análisis de Código (5)
11. `flake8` - Linter Python
12. `pylint` (opcional) - Análisis con exit-zero
13. `pylint` (mandatorio) - Análisis que falla commit
14. `mypy` - Verificación de tipos
15. `eslint` - Linter JavaScript
### Mejoras Automáticas (3)
16. `autoflake` - Elimina imports no usados
17. `pyupgrade` - Actualiza sintaxis Python (py38+)
18. `fix-encoding-pragma` - Remueve pragmas encoding
### Verificaciones de Seguridad (4)
19. `debug-statements` - Detecta debugs olvidados
20. `check-executables-have-shebangs` - Verifica shebangs
21. `check-symlinks` - Valida enlaces simbólicos
22. `check-case-conflict` - Conflictos mayús/minús
### Odoo Específico (3)
23. `setuptools-odoo-make-default` - Genera setup/
24. `setuptools-odoo-get-requirements` - Actualiza requirements.txt
25. `check-docstring-first` - Verifica docstrings
---
## ✅ Verificación de la Instalación
Ejecuta estos comandos para verificar que todo funciona:
```bash
# 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**
```bash
make lint
```
2. **Corregir problemas encontrados**
```bash
make format # Formatea automáticamente
```
3. **Hacer commit**
```bash
git add .
git commit -m "feat: configurar herramientas de verificación OCA"
# Pre-commit se ejecutará automáticamente
```
4. **Verificar addons individuales**
```bash
./check_addon.sh nombre_addon
```
---
## 📚 Documentación
- **Guía completa**: Ver [LINTERS_README.md](LINTERS_README.md)
- **Detalles técnicos**: Ver [INSTALACION_COMPLETA.md](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:
1. Abre VS Code
2. Ve a Extensions (Ctrl+Shift+X)
3. Busca "@recommended"
4. Instala todas las extensiones sugeridas
O ejecuta:
```bash
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)