485 lines
15 KiB
Markdown
485 lines
15 KiB
Markdown
# INSTRUCCIONES PARA LANZAR FASE 0 - ANÁLISIS DE REFERENCIAS
|
|
|
|
**Proyecto:** ERP Genérico
|
|
**Fase:** Fase 0 - Análisis de Referencias
|
|
**Duración estimada:** 2 semanas
|
|
**Responsable:** Architecture-Analyst (trabajo directo)
|
|
**Versión:** 1.0.0
|
|
**Fecha:** 2025-11-23
|
|
|
|
---
|
|
|
|
## 🎯 OBJETIVO DE LA FASE 0
|
|
|
|
Analizar profundamente los proyectos de referencia (Odoo + Gamilit) para fundamentar todas las decisiones arquitectónicas del ERP Genérico.
|
|
|
|
---
|
|
|
|
## 📋 PRE-REQUISITOS
|
|
|
|
Antes de lanzar el agente, verificar:
|
|
|
|
### 1. Referencias Disponibles
|
|
- [x] `/shared/reference/ODOO-MODULES-ANALYSIS.md` existe
|
|
- [x] `/shared/reference/gamilit/` existe con README.md y _MAP.md
|
|
- [x] `/projects/erp-construccion/docs/` existe con documentación
|
|
|
|
### 2. Estructura de Carpetas
|
|
- [x] `/projects/erp-generic/docs/00-analisis-referencias/` creada
|
|
- [x] `/projects/erp-generic/docs/adr/` creada
|
|
|
|
### 3. Prompt Extendido
|
|
- [x] `/shared/orchestration/prompts/PROMPT-ARCHITECTURE-ANALYST-EXTENDED.md` existe
|
|
|
|
### 4. Plan Maestro
|
|
- [x] `/projects/erp-generic/docs/PLAN-MAESTRO-MIGRACION-CONSOLIDACION.md` existe
|
|
|
|
---
|
|
|
|
## 🚀 COMANDO PARA LANZAR EL AGENTE
|
|
|
|
Usa el **Task tool** con los siguientes parámetros:
|
|
|
|
```
|
|
subagent_type: "general-purpose"
|
|
|
|
description: "Ejecutar Fase 0 del Plan Maestro ERP Genérico"
|
|
|
|
model: "sonnet"
|
|
|
|
prompt: "
|
|
Eres el **Architecture-Analyst con capacidades de orquestación** trabajando en el ERP Genérico.
|
|
|
|
---
|
|
|
|
## 📋 CONTEXTO COMPLETO
|
|
|
|
### Proyecto
|
|
- **Workspace:** [RUTA-LEGACY-ELIMINADA]
|
|
- **Proyecto:** projects/erp-generic/
|
|
- **Plan Maestro:** projects/erp-generic/docs/PLAN-MAESTRO-MIGRACION-CONSOLIDACION.md
|
|
- **Prompt Extendido:** shared/orchestration/prompts/PROMPT-ARCHITECTURE-ANALYST-EXTENDED.md
|
|
|
|
### Referencias Disponibles
|
|
1. **Odoo (Lógica de Negocio)**
|
|
- Análisis: shared/reference/ODOO-MODULES-ANALYSIS.md
|
|
- 12 módulos core relevantes para ERP Genérico
|
|
|
|
2. **Gamilit (Arquitectura Moderna)**
|
|
- Ubicación: shared/reference/gamilit/
|
|
- README: shared/reference/gamilit/README.md
|
|
- Mapa: shared/reference/gamilit/_MAP.md
|
|
|
|
3. **ERP Construcción (Documentación Existente)**
|
|
- Ubicación: projects/erp-construccion/docs/
|
|
- 18 módulos documentados (35% progreso)
|
|
- Estructura: projects/erp-construccion/docs/ESTRUCTURA-COMPLETA.md
|
|
|
|
---
|
|
|
|
## 🎯 TAREA: EJECUTAR FASE 0 DEL PLAN MAESTRO
|
|
|
|
Lee el plan maestro completo y ejecuta **FASE 0: ANÁLISIS DE REFERENCIAS (2 semanas)**.
|
|
|
|
### ENTREGABLES ESPERADOS (38 archivos)
|
|
|
|
#### 1. Análisis Comparativo Odoo (14 archivos)
|
|
|
|
**Ubicación:** projects/erp-generic/docs/00-analisis-referencias/odoo/
|
|
|
|
**Módulos a analizar:**
|
|
- base - Sistema base, modelos fundamentales
|
|
- auth_signup - Autenticación y registro
|
|
- account - Módulo financiero
|
|
- stock - Inventario
|
|
- purchase - Compras
|
|
- sale - Ventas
|
|
- analytic - Contabilidad analítica
|
|
- mail - Mensajería y notificaciones
|
|
- crm - CRM básico
|
|
- hr - Recursos humanos
|
|
- project - Proyectos genéricos
|
|
- portal - Portal de usuarios
|
|
|
|
**Para cada módulo crear:** odoo-{modulo}-analysis.md
|
|
|
|
**Incluir en cada análisis:**
|
|
- Descripción del módulo Odoo
|
|
- Modelos de datos principales (tablas, campos clave, relaciones)
|
|
- Lógica de negocio destacable (workflows, reglas, validaciones)
|
|
- Patrones arquitectónicos observados
|
|
- APIs y endpoints estándar
|
|
- Integraciones con otros módulos
|
|
- Funcionalidades relevantes para ERP Genérico
|
|
- Mapeo a módulos MGN (MGN-001 a MGN-014)
|
|
- Recomendaciones de implementación
|
|
|
|
**Archivos a crear:**
|
|
1. README.md - Resumen ejecutivo del análisis Odoo
|
|
2. odoo-base-analysis.md
|
|
3. odoo-auth-analysis.md
|
|
4. odoo-account-analysis.md
|
|
5. odoo-stock-analysis.md
|
|
6. odoo-purchase-analysis.md
|
|
7. odoo-sale-analysis.md
|
|
8. odoo-analytic-analysis.md
|
|
9. odoo-mail-analysis.md
|
|
10. odoo-crm-analysis.md
|
|
11. odoo-hr-analysis.md
|
|
12. odoo-project-analysis.md
|
|
13. odoo-portal-analysis.md
|
|
14. MAPEO-ODOO-TO-MGN.md - Tabla de mapeo completa Odoo → MGN
|
|
|
|
---
|
|
|
|
#### 2. Análisis Comparativo Gamilit (7 archivos)
|
|
|
|
**Ubicación:** projects/erp-generic/docs/00-analisis-referencias/gamilit/
|
|
|
|
**Aspectos a analizar:**
|
|
- Arquitectura multi-schema de PostgreSQL (9 schemas)
|
|
- Sistema de constantes SSOT (backend → frontend sync)
|
|
- Path aliases y estructura de imports
|
|
- Estructura modular del backend (11 módulos funcionales)
|
|
- Feature-Sliced Design del frontend
|
|
- Scripts de validación automática (sync-enums, validate-constants)
|
|
- Sistema de _MAP.md para documentación
|
|
- Testing patterns
|
|
- DevOps automation
|
|
|
|
**Para cada aspecto, identificar:**
|
|
- ✅ **ADOPTAR:** Patrones a copiar directamente
|
|
- 🔧 **ADAPTAR:** Patrones a ajustar para nuestro contexto
|
|
- ❌ **EVITAR:** Anti-patrones o aspectos a no replicar
|
|
|
|
**Archivos a crear:**
|
|
1. README.md - Resumen ejecutivo del análisis Gamilit
|
|
2. database-architecture.md - Análisis multi-schema, RLS, organización
|
|
3. backend-patterns.md - Estructura modular, servicios, APIs
|
|
4. frontend-patterns.md - FSD, componentes, stores
|
|
5. ssot-system.md - Sistema de constantes SSOT, sync-enums
|
|
6. devops-automation.md - Scripts, validaciones, testing
|
|
7. ADOPTAR-ADAPTAR-EVITAR.md - Matriz de decisiones
|
|
|
|
---
|
|
|
|
#### 3. Validación Cruzada con ERP Construcción (5 archivos)
|
|
|
|
**Ubicación:** projects/erp-generic/docs/00-analisis-referencias/construccion/
|
|
|
|
**Tareas:**
|
|
1. Leer toda la documentación de erp-construccion/docs/
|
|
2. Para cada módulo MAI-XXX, determinar:
|
|
- ¿Es componente GENÉRICO? → Candidato a migrar a ERP Genérico
|
|
- ¿Es componente ESPECÍFICO? → Queda en ERP Construcción
|
|
|
|
3. Comparar con Odoo/Gamilit:
|
|
- ¿Qué funcionalidades faltan en construcción?
|
|
- ¿Qué mejoras arquitectónicas son aplicables?
|
|
- ¿Qué oportunidades de refactorización existen?
|
|
|
|
**Archivos a crear:**
|
|
1. COMPONENTES-GENERICOS.md - Lista detallada de componentes a migrar
|
|
- Por área: Database, Backend, Frontend
|
|
- Con justificación de por qué es genérico
|
|
|
|
2. COMPONENTES-ESPECIFICOS.md - Lista de componentes que quedan en construcción
|
|
- Con justificación de por qué es específico de construcción
|
|
|
|
3. MEJORAS-ARQUITECTONICAS.md - Mejoras sugeridas para construcción
|
|
- Basadas en Odoo y Gamilit
|
|
- Priorizadas (P0/P1/P2)
|
|
|
|
4. GAP-ANALYSIS.md - Funcionalidades faltantes en construcción
|
|
- Identificadas en Odoo pero no implementadas
|
|
- Con impacto y recomendación
|
|
|
|
5. RETROALIMENTACION.md - Retroalimentación integral a construcción
|
|
- Consolidación de mejoras, gaps, refactorizaciones
|
|
- Plan de acción propuesto
|
|
|
|
---
|
|
|
|
#### 4. Creación de ADRs - Architecture Decision Records (10 archivos)
|
|
|
|
**Ubicación:** projects/erp-generic/docs/adr/
|
|
|
|
**ADRs a crear (basándose en análisis de Odoo, Gamilit y Construcción):**
|
|
|
|
**Formato estándar de cada ADR:**
|
|
```markdown
|
|
# ADR-XXX: [Título]
|
|
|
|
**Estado:** Aceptada / Propuesta / Rechazada
|
|
**Fecha:** 2025-11-23
|
|
**Responsable:** Architecture-Analyst
|
|
**Contexto:** [Descripción del problema o decisión a tomar]
|
|
|
|
## Decisión
|
|
[Qué se decidió]
|
|
|
|
## Justificación
|
|
[Por qué se tomó esta decisión]
|
|
- Referencia a Odoo: [hallazgos]
|
|
- Referencia a Gamilit: [hallazgos]
|
|
- Referencia a Construcción: [hallazgos]
|
|
|
|
## Consecuencias
|
|
### Positivas
|
|
- [Beneficio 1]
|
|
- [Beneficio 2]
|
|
|
|
### Negativas
|
|
- [Costo/limitación 1]
|
|
- [Costo/limitación 2]
|
|
|
|
## Alternativas Consideradas
|
|
1. **Alternativa 1:** [Descripción] - Rechazada porque [razón]
|
|
2. **Alternativa 2:** [Descripción] - Rechazada porque [razón]
|
|
|
|
## Implementación
|
|
- [Acción 1 para implementar esta decisión]
|
|
- [Acción 2]
|
|
|
|
## Referencias
|
|
- [Link a análisis Odoo]
|
|
- [Link a análisis Gamilit]
|
|
- [Link a código de referencia]
|
|
```
|
|
|
|
**ADRs específicos a crear:**
|
|
|
|
1. **ADR-001-stack-tecnologico.md**
|
|
- **Decisión:** Node.js 20+ + Express + TypeScript / React 18 + Vite / PostgreSQL 15+
|
|
- **Justificación:** Alineación con Gamilit, madurez del ecosistema, compatibilidad
|
|
|
|
2. **ADR-002-arquitectura-modular.md**
|
|
- **Decisión:** Monorepo con apps/ (database, backend, frontend, mobile)
|
|
- **Justificación:** Patrón Gamilit, simplifica desarrollo, reutilización
|
|
|
|
3. **ADR-003-multi-tenancy.md**
|
|
- **Decisión:** Schema-level isolation (cada tenant un schema PostgreSQL)
|
|
- **Justificación:** Seguridad, performance, Gamilit pattern, Odoo approach similar
|
|
|
|
4. **ADR-004-sistema-constantes-ssot.md**
|
|
- **Decisión:** Backend como SSOT, sincronización automática a Frontend
|
|
- **Justificación:** Patrón Gamilit muy efectivo, elimina duplicación
|
|
|
|
5. **ADR-005-path-aliases.md**
|
|
- **Decisión:** Uso de @shared, @modules, @components, @services
|
|
- **Justificación:** Imports limpios, refactoring fácil, Gamilit pattern
|
|
|
|
6. **ADR-006-rbac-sistema-permisos.md**
|
|
- **Decisión:** Role-Based Access Control granular
|
|
- **Justificación:** Requerimiento multi-tenant, Odoo res.users/res.groups pattern
|
|
|
|
7. **ADR-007-database-design.md**
|
|
- **Decisión:** Multi-schema (auth, core, financial, inventory, etc.) + RLS
|
|
- **Justificación:** Organización lógica, Gamilit pattern, seguridad
|
|
|
|
8. **ADR-008-api-design.md**
|
|
- **Decisión:** RESTful APIs + OpenAPI 3.0 + versionado (/api/v1/)
|
|
- **Justificación:** Estándar industria, documentación auto-generada
|
|
|
|
9. **ADR-009-frontend-architecture.md**
|
|
- **Decisión:** Feature-Sliced Design (shared, features, pages, app)
|
|
- **Justificación:** Escalabilidad, Gamilit pattern, organización clara
|
|
|
|
10. **ADR-010-testing-strategy.md**
|
|
- **Decisión:** Coverage objetivo 80% backend / 70% frontend, Unit+Integration+E2E
|
|
- **Justificación:** Evitar deuda técnica de Gamilit (14% coverage)
|
|
|
|
---
|
|
|
|
#### 5. Mapeo de Componentes Genéricos (1 archivo)
|
|
|
|
**Ubicación:** projects/erp-generic/docs/00-analisis-referencias/MAPA-COMPONENTES-GENERICOS.md
|
|
|
|
**Contenido:**
|
|
- Lista exhaustiva de componentes genéricos vs específicos
|
|
- Por categoría: Database (schemas, tablas), Backend (módulos, servicios), Frontend (componentes, páginas)
|
|
- Para cada componente: nombre, tipo, ubicación, usado por qué proyectos
|
|
- Resumen cuantitativo: % de reutilización calculado
|
|
|
|
**Objetivo:** Determinar qué va en ERP Genérico (genérico) vs qué queda en ERP Construcción/Vidrio/Mecánicas (específico)
|
|
|
|
---
|
|
|
|
#### 6. Resumen Ejecutivo Fase 0 (1 archivo)
|
|
|
|
**Ubicación:** projects/erp-generic/docs/00-analisis-referencias/RESUMEN-FASE-0.md
|
|
|
|
**Contenido:**
|
|
```markdown
|
|
# RESUMEN EJECUTIVO - FASE 0
|
|
|
|
## Hallazgos Principales
|
|
|
|
### De Odoo
|
|
- [3-5 hallazgos clave]
|
|
|
|
### De Gamilit
|
|
- [3-5 hallazgos clave]
|
|
|
|
### De ERP Construcción
|
|
- [3-5 hallazgos clave]
|
|
|
|
## Decisiones Arquitectónicas (10 ADRs)
|
|
- ADR-001: Stack tecnológico
|
|
- ADR-002: Arquitectura modular
|
|
- ...
|
|
|
|
## Componentes Genéricos Identificados
|
|
- Database: X schemas, Y tablas (Z% reutilización)
|
|
- Backend: X módulos (Y% reutilización)
|
|
- Frontend: X componentes (Y% reutilización)
|
|
|
|
## Retroalimentación a ERP Construcción
|
|
- Mejora 1: [...]
|
|
- Mejora 2: [...]
|
|
|
|
## Próximos Pasos (Fase 1)
|
|
- [...]
|
|
```
|
|
|
|
---
|
|
|
|
## ✅ CRITERIOS DE COMPLETITUD
|
|
|
|
Marca la tarea como completa SOLO cuando:
|
|
|
|
- [ ] **14 archivos** de análisis Odoo creados (README + 12 módulos + mapeo)
|
|
- [ ] **7 archivos** de análisis Gamilit creados (README + 6 aspectos)
|
|
- [ ] **5 archivos** de validación construcción creados
|
|
- [ ] **10 ADRs** creados con formato estándar
|
|
- [ ] **1 archivo** de mapeo de componentes genéricos completo
|
|
- [ ] **1 archivo** de resumen ejecutivo consolidado
|
|
- [ ] **TOTAL: 38 archivos** creados en las ubicaciones correctas
|
|
- [ ] Todos los análisis son profundos y completos (no superficiales)
|
|
- [ ] Todos los ADRs tienen justificación basada en referencias
|
|
- [ ] Mapeo de componentes tiene % de reutilización calculado
|
|
- [ ] Resumen ejecutivo consolida hallazgos principales
|
|
|
|
---
|
|
|
|
## 📊 FORMATO Y CALIDAD
|
|
|
|
### Formato de Documentos
|
|
- Usar Markdown con sintaxis GitHub-flavored
|
|
- Incluir tablas donde sea apropiado
|
|
- Usar listas para enumerar puntos
|
|
- Usar emojis moderadamente (solo en encabezados)
|
|
- Incluir referencias a archivos fuente
|
|
|
|
### Profundidad de Análisis
|
|
- **NO superficial:** Ir más allá de \"Odoo tiene módulo X\"
|
|
- **SÍ profundo:** Explicar cómo funciona, por qué es relevante, cómo se mapea a MGN
|
|
- **Incluir ejemplos:** Citar tablas específicas, campos, relaciones
|
|
- **Justificar decisiones:** Cada ADR debe tener justificación sólida
|
|
|
|
### Coherencia
|
|
- Mantener nomenclatura consistente (MGN-XXX, RF-XXX, ET-XXX)
|
|
- Referencias cruzadas entre documentos
|
|
- Vincular hallazgos → ADRs → componentes → módulos MGN
|
|
|
|
---
|
|
|
|
## 🎯 RESULTADO ESPERADO
|
|
|
|
Al completar esta Fase 0, tendremos:
|
|
|
|
1. **Fundamento sólido** para todas las decisiones arquitectónicas
|
|
2. **10 ADRs aprobados** que guiarán el desarrollo
|
|
3. **Mapeo claro** de qué es genérico vs específico
|
|
4. **Retroalimentación valiosa** al ERP Construcción
|
|
5. **Base de conocimiento** consolidada de Odoo y Gamilit
|
|
6. **Confianza** para ejecutar Fase 1-3 con claridad
|
|
|
|
---
|
|
|
|
## 📝 NOTA IMPORTANTE
|
|
|
|
Esta es la fase MÁS CRÍTICA del proceso. La calidad de tu análisis en Fase 0 determinará el éxito de todo el proyecto ERP Genérico.
|
|
|
|
Tómate el tiempo necesario para:
|
|
- Leer completamente las referencias
|
|
- Analizar profundamente los patrones
|
|
- Documentar detalladamente los hallazgos
|
|
- Justificar sólidamente las decisiones
|
|
- Crear ADRs bien fundamentados
|
|
|
|
No avances a Fase 1 hasta que Fase 0 esté completa y validada.
|
|
|
|
---
|
|
|
|
## 🚀 AL FINALIZAR
|
|
|
|
Cuando completes todos los 38 archivos:
|
|
|
|
1. Reporta un resumen ejecutivo con:
|
|
- Total de archivos creados
|
|
- Ubicaciones de entregables
|
|
- Principales hallazgos (top 5)
|
|
- Decisiones arquitectónicas clave (ADRs)
|
|
- % de reutilización identificado
|
|
- Retroalimentación principal a construcción
|
|
|
|
2. Propón si estamos listos para Fase 1 o si hay gaps que abordar
|
|
|
|
---
|
|
|
|
¡ADELANTE CON FASE 0!
|
|
"
|
|
```
|
|
|
|
---
|
|
|
|
## 📊 VERIFICACIÓN POST-EJECUCIÓN
|
|
|
|
Después de que el agente termine, ejecutar:
|
|
|
|
```bash
|
|
# Verificar análisis Odoo
|
|
ls -la projects/erp-generic/docs/00-analisis-referencias/odoo/
|
|
# Debe mostrar: README.md + 12 archivos odoo-*-analysis.md + MAPEO-ODOO-TO-MGN.md = 14 archivos
|
|
|
|
# Verificar análisis Gamilit
|
|
ls -la projects/erp-generic/docs/00-analisis-referencias/gamilit/
|
|
# Debe mostrar: 7 archivos
|
|
|
|
# Verificar validación construcción
|
|
ls -la projects/erp-generic/docs/00-analisis-referencias/construccion/
|
|
# Debe mostrar: 5 archivos
|
|
|
|
# Verificar ADRs
|
|
ls -la projects/erp-generic/docs/adr/
|
|
# Debe mostrar: 10 archivos ADR-001.md a ADR-010.md
|
|
|
|
# Verificar mapeo
|
|
cat projects/erp-generic/docs/00-analisis-referencias/MAPA-COMPONENTES-GENERICOS.md
|
|
|
|
# Verificar resumen
|
|
cat projects/erp-generic/docs/00-analisis-referencias/RESUMEN-FASE-0.md
|
|
|
|
# TOTAL esperado
|
|
find projects/erp-generic/docs -type f -name "*.md" -o -name "*.yml" | wc -l
|
|
# Debe ser: 38 archivos (aprox, puede variar ligeramente)
|
|
```
|
|
|
|
---
|
|
|
|
## ✅ APROBACIÓN
|
|
|
|
Una vez verificado:
|
|
- [ ] Revisar calidad de 2-3 análisis Odoo (muestra)
|
|
- [ ] Revisar todos los ADRs (críticos)
|
|
- [ ] Revisar mapeo de componentes
|
|
- [ ] Revisar resumen ejecutivo
|
|
- [ ] Aprobar Fase 0 antes de continuar a Fase 1
|
|
|
|
---
|
|
|
|
**Creado:** 2025-11-23
|
|
**Versión:** 1.0.0
|
|
**Estado:** ✅ Listo para uso
|