- 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.
88 lines
2.2 KiB
Markdown
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)
|