[DOC] all: Reorganize and consolidate project documentation

- 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.
This commit is contained in:
snt 2026-02-12 16:25:49 +01:00
parent 2a480b74bb
commit b10ba1fc15
12 changed files with 1327 additions and 0 deletions

230
docs/RESUMEN_INSTALACION.md Normal file
View file

@ -0,0 +1,230 @@
# 🎉 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)