Files
hazard_odoo/.agents/AGENTS.md
T
tess_admin 28d9e56f47 🎉 Initial commit - Hazard Odoo 16 project
- Custom modules: hazard_shopify, hazard_inventory_report, hazard_website
- Third-party modules: bi_sql_editor, query_deluxe, sql_request_abstract, l10n_mx_sat_sync_itadmin_ee
- Docker setup: Odoo 16 + PostgreSQL 17
- Utility scripts: backup_hazard.sh, update_module.py
- Agent configuration: .agents/AGENTS.md
- Security: Enterprise modules, credentials, backups and production data excluded via .gitignore
2026-06-30 06:12:35 -06:00

91 lines
3.9 KiB
Markdown

# Reglas del Proyecto — Hazard (Odoo 16)
## Información General
- **Empresa:** Hazard (marca de ropa urbana / streetwear)
- **Plataforma ERP:** Odoo 16 Community con módulos Enterprise
- **Ecommerce:** Shopify (sincronizado con Odoo vía módulo custom `hazard_shopify`)
- **Servidor:** VPS en Plesk bajo el dominio `tesscorp.com.mx`
- **Idioma de comunicación:** Siempre responder en español
## Arquitectura Docker
### Contenedores
| Contenedor | Imagen | Puerto Externo | Puerto Interno |
|---|---|---|---|
| `odoo-16-hazard-new` | `hazard-odoo-odoo` (custom, basada en `odoo:16`) | `16001` | `8069` |
| `odoo-16-db-hazard-new` | `postgres:17` | No expuesto | `5432` |
### Volúmenes y Rutas
- **Módulos Enterprise:** `./Addons/enterprise``/mnt/enterprise` (dentro del contenedor)
- **Módulos Custom:** `./Addons/custom``/mnt/extra-addons` (dentro del contenedor)
- **Configuración Odoo:** `./Conf/odoo.conf``/etc/odoo/odoo.conf`
- **Docker Compose:** `/var/www/vhosts/tesscorp.com.mx/hazard.tesscorp.com.mx/docker-compose.yml`
- **IP interna del contenedor DB:** `172.18.0.2` (usada por MCP Server PostgreSQL)
### Base de Datos
- **Base de datos principal (producción):** `hazard_new`
- **Usuario DB:** `odoo`
- **Contraseña DB:** `odoo`
### Credenciales Odoo (XML-RPC)
- **URL:** `http://localhost:16001`
- **Base de datos:** `hazard_new`
- **Usuario admin:** `admin`
- **Contraseña admin:** `admin`
## Módulos Custom Instalados
| Módulo | Estado | Ubicación |
|---|---|---|
| `hazard_shopify` | ✅ Instalado | `Addons/custom/hazard_shopify` |
| `hazard_inventory_report` | ✅ Instalado | `Addons/custom/hazard_inventory_report` |
| `hazard_website` | ❌ No instalado | `Addons/custom/hazard_website` |
### Otros Módulos de Terceros
- `bi_sql_editor` — Editor SQL en interfaz Odoo
- `query_deluxe` — Consultas avanzadas desde Odoo
- `sql_request_abstract` — Abstracción para consultas SQL
- `l10n_mx_sat_sync_itadmin_ee` — Sincronización SAT México
## Reglas de Desarrollo Obligatorias
### Python
- **NUNCA** usar `print()`. Siempre usar `logging` con `_logger = logging.getLogger(__name__)`.
- Usar prefijos descriptivos en logs: `_logger.info("[Módulo] Mensaje")`.
- Siempre agregar docstrings a funciones y clases.
- Preferir código legible sobre código compacto.
### Despliegue de Cambios
1. **Cambios en archivos `.py` (modelos/lógica):** Requiere restart del contenedor.
```bash
docker restart odoo-16-hazard-new
```
2. **Cambios en estructura de tablas (fields nuevos):** Requiere restart + actualización del módulo.
```bash
docker restart odoo-16-hazard-new
# Luego ejecutar el script de actualización:
python3 update_module.py
```
3. **Cambios solo en XML/vistas/reportes:** Solo requiere actualización del módulo (sin restart).
### Seguridad y Respaldos
- **NUNCA** ejecutar `UPDATE` o `DELETE` masivos sin respaldo previo.
- Script de respaldo: `backup_hazard.sh` (respalda DB + código, retención 15 días).
- Los backups se suben a Google Drive automáticamente vía Plesk.
### Código de Barras
- Formato EAN13 estandarizado con estructura `20000...` (ej. `2000010012749`).
- NUNCA crear scripts que alteren la secuencia de códigos de barras.
### Archivos que NO se deben modificar
- Módulos en `/mnt/enterprise` (módulos oficiales de Odoo Enterprise).
- Solo modificar código en `/mnt/extra-addons` (módulos custom).
## Scripts Útiles del Proyecto
| Script | Propósito | Comando |
|---|---|---|
| `backup_hazard.sh` | Respaldo completo (DB + código) | `bash backup_hazard.sh` |
| `update_module.py` | Actualizar módulo hazard_shopify via XML-RPC | `python3 update_module.py` |
## Conexión MCP Server PostgreSQL
El agente tiene acceso directo de solo lectura a la base de datos `hazard_new` a través del MCP Server configurado en `mcp_config.json`. Usar la herramienta `query` del servidor `odoo-postgres` para consultas SQL cuando sea necesario inspeccionar datos.