🎉 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
This commit is contained in:
@@ -0,0 +1,90 @@
|
||||
# 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.
|
||||
Reference in New Issue
Block a user