- Create .github/copilot-instructions.md with global development guidelines - Add comprehensive README.md at project root with quick start guide - Create docs/ directory for technical documentation - Move installation and linter docs to docs/ - Add docs/TRANSLATIONS.md with complete translation system guide - Create README.md for OCA modified addons (product_origin, product_get_price_helper, product_main_seller) - Document translation best practices (no _() in field definitions) - Add references between all documentation files - Clean up project root by moving technical docs to docs/ All documentation now properly references addon-specific READMEs for detailed architecture and implementation.
6.3 KiB
6.3 KiB
✅ Instalación Completa - Herramientas de Verificación OCA
Resumen de la Instalación
Se han instalado y configurado exitosamente todas las herramientas de verificación OCA estándar en este repositorio.
📦 Paquetes Instalados
Los siguientes paquetes Python han sido instalados en el entorno virtual (.venv):
- ✅ pre-commit - Gestor de hooks de git
- ✅ black - Formateador de código Python
- ✅ isort - Ordenador de imports
- ✅ flake8 - Linter de estilo
- ✅ flake8-bugbear - Plugin adicional para flake8
- ✅ pylint - Analizador estático de código
- ✅ pylint-odoo - Plugin específico para Odoo
- ✅ autoflake - Elimina imports y variables no usadas
- ✅ pyupgrade - Actualiza sintaxis de Python
📄 Archivos de Configuración Creados
Configuración Principal
- ✅
.pre-commit-config.yaml- Configuración de pre-commit con hooks OCA - ✅
.pylintrc- Reglas de pylint (opcionales + mandatorias) - ✅
.pylintrc-mandatory- Solo reglas mandatorias de pylint - ✅
.flake8- Configuración de flake8 - ✅
.isort.cfg- Configuración de isort - ✅
setup.cfg- Configuración compartida - ✅
pyproject.toml- Configuración de black e isort - ✅
.editorconfig- Configuración de editor - ✅
requirements.txt- Dependencias del proyecto
Herramientas y Scripts
- ✅
Makefile- Comandos make para tareas comunes - ✅
check_addon.sh- Script de verificación rápida de addons - ✅
LINTERS_README.md- Documentación de uso
VS Code
- ✅
.vscode/settings.json- Configuración actualizada - ✅
.vscode/extensions.json- Extensiones recomendadas
🔧 Hooks de Pre-commit Instalados
Los siguientes hooks se ejecutarán automáticamente en cada commit:
- forbidden-files - Detecta archivos prohibidos (.rej)
- oca-update-pre-commit-excluded-addons - Actualiza lista de addons excluidos
- autoflake - Elimina imports/variables no usadas
- black - Formatea código Python
- prettier - Formatea XML, YAML, JSON
- eslint - Verifica JavaScript
- trailing-whitespace - Elimina espacios al final de línea
- end-of-file-fixer - Asegura nueva línea al final de archivo
- debug-statements - Detecta statements de debug
- fix-encoding-pragma - Remueve pragmas de encoding
- check-case-conflict - Detecta conflictos de mayúsculas/minúsculas
- check-docstring-first - Verifica posición de docstrings
- check-executables-have-shebangs - Verifica shebangs
- check-merge-conflict - Detecta marcadores de conflicto
- check-symlinks - Verifica enlaces simbólicos
- check-xml - Verifica sintaxis XML
- mixed-line-ending - Normaliza finales de línea
- pyupgrade - Actualiza sintaxis Python
- isort - Ordena imports (excepto init.py)
- setuptools-odoo-make-default - Genera setup/
- setuptools-odoo-get-requirements - Actualiza requirements.txt
- flake8 - Verifica estilo Python
- mypy - Verificación de tipos estática
- pylint (opcional) - Análisis de código con exit-zero
- pylint (mandatorio) - Análisis de código que falla el commit
🚀 Uso Rápido
Comandos Make
# Ver todos los comandos disponibles
make help
# Ejecutar todas las verificaciones
make lint
# Formatear código
make format
# Verificar formato sin modificar
make check-format
# Ejecutar flake8
make flake8
# Ejecutar pylint en todos los addons
make pylint
# Solo verificaciones mandatorias
make pylint-required
# Limpiar archivos temporales
make clean
# Actualizar requirements.txt
make requirements
# Actualizar hooks a últimas versiones
make update-hooks
Script de Verificación de Addon
# Verificar un addon específico
./check_addon.sh account_invoice_triple_discount
Pre-commit Manual
# Ejecutar en todos los archivos
pre-commit run --all-files
# Ejecutar en archivos modificados
pre-commit run
# Ejecutar un hook específico
pre-commit run black --all-files
# Ejecutar en archivos específicos
pre-commit run --files path/to/file.py
Herramientas Individuales
# Black
black .
black --check . # Solo verificar sin modificar
# isort
isort .
isort --check-only . # Solo verificar sin modificar
# flake8
flake8 .
flake8 account_invoice_triple_discount/
# pylint
pylint --rcfile=.pylintrc account_invoice_triple_discount/
pylint --rcfile=.pylintrc-mandatory account_invoice_triple_discount/
⚙️ Configuración de VS Code
Se recomienda instalar las siguientes extensiones:
- Python
- Black Formatter
- isort
- Pylint
- Flake8
- Prettier
- EditorConfig
- Odoo Snippets
Las extensiones recomendadas están definidas en .vscode/extensions.json.
🔍 Verificación de la Instalación
Para verificar que todo está funcionando correctamente:
# 1. Verificar versiones instaladas
black --version
flake8 --version
pylint --version
isort --version
pre-commit --version
# 2. Probar black en un archivo
black --check account_invoice_triple_discount/models/
# 3. Probar flake8 en un addon
flake8 account_invoice_triple_discount/
# 4. Ejecutar un hook simple
pre-commit run forbidden-files --all-files
📚 Documentación Adicional
- Ver LINTERS_README.md para más detalles
- OCA Guidelines
- pre-commit
- pylint-odoo
- Black
🎯 Próximos Pasos
- Ejecutar
make lintpara verificar el estado actual del código - Corregir cualquier problema encontrado
- Hacer commit con los cambios (pre-commit se ejecutará automáticamente)
- Si hay problemas que no se pueden resolver, revisar la configuración específica en los archivos
.pylintrc,.flake8, etc.
⚠️ Notas Importantes
- Los hooks de pre-commit se ejecutarán automáticamente en cada commit
- Si necesitas hacer un commit sin verificación (NO RECOMENDADO):
git commit --no-verify - Los archivos
__init__.pyson excluidos de la ordenación de imports por convención OCA - Las verificaciones de pylint tienen dos niveles: opcionales (con
--exit-zero) y mandatorias (que fallan el commit) - El formateo con black y prettier puede modificar archivos automáticamente
✅ Instalación completada exitosamente
Fecha: 11 de febrero de 2026