addons-cm/LINTERS_README.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

88 lines
2.2 KiB
Markdown

# Herramientas de Verificación OCA
Este repositorio está configurado con las herramientas de verificación estándar de OCA (Odoo Community Association).
## Herramientas Instaladas
- **pre-commit**: Gestor de hooks de git para ejecutar verificaciones automáticas
- **black**: Formateador de código Python
- **isort**: Ordenador de imports Python
- **flake8**: Linter de estilo Python (con flake8-bugbear)
- **pylint**: Analizador de código Python con pylint-odoo
- **autoflake**: Elimina imports y variables no utilizadas
- **pyupgrade**: Actualiza sintaxis de Python a versiones más modernas
- **prettier**: Formateador para XML, YAML, JSON, etc.
## Uso
### Verificación Manual
Para ejecutar las verificaciones en todos los archivos:
```bash
pre-commit run --all-files
```
Para ejecutar en archivos específicos:
```bash
pre-commit run --files path/to/file.py
```
### Verificación Automática
Los hooks de pre-commit están configurados para ejecutarse automáticamente en cada commit. Si hay errores, el commit será rechazado hasta que se corrijan.
### Ejecutar Herramientas Individuales
```bash
# Black
black .
# isort
isort .
# flake8
flake8 .
# pylint (opcional)
pylint --rcfile=.pylintrc <addon_name>
# pylint (mandatorio)
pylint --rcfile=.pylintrc-mandatory <addon_name>
```
## Configuración
Los archivos de configuración son:
- `.pre-commit-config.yaml`: Configuración de pre-commit hooks
- `.pylintrc`: Verificaciones opcionales y mandatorias de pylint
- `.pylintrc-mandatory`: Solo verificaciones mandatorias
- `.flake8`: Configuración de flake8
- `.isort.cfg`: Configuración de isort
- `setup.cfg`: Configuración adicional para flake8 e isort
- `pyproject.toml`: Configuración de black e isort
- `.editorconfig`: Configuración de editor para consistencia
## Actualización de Hooks
Para actualizar los hooks a las últimas versiones:
```bash
pre-commit autoupdate
```
## Desactivar Temporalmente
Si necesitas hacer un commit sin ejecutar las verificaciones (NO RECOMENDADO):
```bash
git commit --no-verify
```
## Más Información
- [OCA Guidelines](https://github.com/OCA/maintainer-tools)
- [pre-commit](https://pre-commit.com/)
- [pylint-odoo](https://github.com/OCA/pylint-odoo)