- HERENCIA-SIMCO.md actualizado con directivas v3.7 y v3.8 - Cambios en backend y frontend Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
326 lines
9.5 KiB
Markdown
326 lines
9.5 KiB
Markdown
# Herencia SIMCO - MiChangarrito
|
|
|
|
**Sistema:** SIMCO v3.8.0 + CAPVED + CCA Protocol + Estándares Documentación + Mantenimiento Docs
|
|
**Fecha:** 2026-01-10
|
|
|
|
---
|
|
|
|
## Configuración del Proyecto
|
|
|
|
| Propiedad | Valor |
|
|
|-----------|-------|
|
|
| **Proyecto** | MiChangarrito - POS Inteligente para Micro-negocios |
|
|
| **Código** | MCH |
|
|
| **Nivel** | STANDALONE (Nivel 2A) |
|
|
| **Padre** | workspace/orchestration |
|
|
| **SIMCO Version** | 3.8.0 |
|
|
| **CAPVED** | Habilitado |
|
|
| **CCA Protocol** | Habilitado |
|
|
|
|
## Jerarquía de Herencia
|
|
|
|
```
|
|
Nivel 0: workspace/orchestration/ <- WORKSPACE (directivas globales)
|
|
|
|
|
+-- STANDALONE: michangarrito/orchestration/ <- ESTE PROYECTO
|
|
michangarrito/docs/ <- DOCUMENTACION
|
|
```
|
|
|
|
**Regla:** Las directivas locales pueden EXTENDER las del workspace, nunca REDUCIRLAS.
|
|
|
|
**Estado del Proyecto:** MVP En desarrollo
|
|
|
|
---
|
|
|
|
## Directivas Heredadas de WORKSPACE (OBLIGATORIAS)
|
|
|
|
Ubicación: `workspace/orchestration/`
|
|
|
|
| Alias | Archivo | Propósito |
|
|
|-------|---------|-----------|
|
|
| `@CARGA-CONTEXTO` | `directivas/DIRECTIVA-CARGA-CONTEXTO.md` | Como cargar contexto según nivel |
|
|
| `@INDICE` | `INDICE-DIRECTIVAS-WORKSPACE.yml` | Indice maestro de directivas |
|
|
|
|
---
|
|
|
|
## Directivas de Ciclo de Vida (USAR SIEMPRE)
|
|
|
|
| Alias | Archivo | Propósito |
|
|
|-------|---------|-----------|
|
|
| `@TAREA` | `directivas/simco/SIMCO-TAREA.md` | Punto de entrada para toda HU |
|
|
| `@CAPVED` | `directivas/principios/PRINCIPIO-CAPVED.md` | Ciclo de 6 fases |
|
|
| `@INICIALIZACION` | `directivas/simco/SIMCO-INICIALIZACION.md` | Bootstrap de agentes |
|
|
| `@DOC-DEFINITIVA` | `directivas/DIRECTIVA-DOCUMENTACION-DEFINITIVA.md` | Docs como estado final |
|
|
|
|
---
|
|
|
|
## Operaciones Universales
|
|
|
|
| Alias | Archivo | Propósito |
|
|
|-------|---------|-----------|
|
|
| `@CREAR` | `SIMCO-CREAR.md` | Crear archivos nuevos |
|
|
| `@MODIFICAR` | `SIMCO-MODIFICAR.md` | Modificar existentes |
|
|
| `@VALIDAR` | `SIMCO-VALIDAR.md` | Validar código |
|
|
| `@DOCUMENTAR` | `SIMCO-DOCUMENTAR.md` | Documentar trabajo |
|
|
| `@BUSCAR` | `SIMCO-BUSCAR.md` | Buscar información |
|
|
| `@DELEGAR` | `SIMCO-DELEGACION.md` | Delegar a subagentes |
|
|
|
|
---
|
|
|
|
## Principios Fundamentales (5)
|
|
|
|
| Alias | Resumen |
|
|
|-------|---------|
|
|
| `@CAPVED` | Toda tarea pasa por 6 fases |
|
|
| `@DOC_PRIMERO` | Consultar docs/ antes de implementar |
|
|
| `@ANTI_DUP` | Verificar que no existe antes de crear |
|
|
| `@VALIDACION` | Build y lint DEBEN pasar |
|
|
| `@TOKENS` | Desglosar tareas grandes |
|
|
|
|
---
|
|
|
|
## Directivas por Dominio Técnico
|
|
|
|
| Alias | Aplica | Notas |
|
|
|-------|--------|-------|
|
|
| `@OP_DDL` | **SÍ** | 11 schemas, 47 tablas |
|
|
| `@OP_BACKEND` | **SÍ** | NestJS, 17 módulos |
|
|
| `@OP_FRONTEND` | **SÍ** | React + Vite |
|
|
| `@OP_MOBILE` | **SÍ** | React Native (Expo) |
|
|
| `@OP_ML` | NO | (LLM via MCP, no ML propio) |
|
|
|
|
---
|
|
|
|
## Directivas de Documentación (SIMCO v3.7)
|
|
|
|
Ubicación: `workspace/orchestration/directivas/simco/`
|
|
|
|
**Directivas de estandarización de documentación:**
|
|
|
|
| Alias | Directiva | Propósito | Aplica |
|
|
|-------|-----------|-----------|--------|
|
|
| `@DOC_PROYECTO` | `SIMCO-DOCUMENTACION-PROYECTO.md` | Estructura base de documentación | **SÍ** |
|
|
| `@NOMENCLATURA` | `SIMCO-NOMENCLATURA.md` | Convenciones de nomenclatura (MCH-) | **SÍ** |
|
|
| `@ESTRUCTURA_DOCS` | `SIMCO-ESTRUCTURA-DOCS.md` | Estructura interna de documentos | **SÍ** |
|
|
| `@INVENTARIOS` | `SIMCO-INVENTARIOS.md` | Estándares de inventarios YAML | **SÍ** |
|
|
| `@TESTING` | `SIMCO-TESTING.md` | Cobertura y estándares de testing | **SÍ** |
|
|
| `@MIGRACIONES` | `SIMCO-MIGRACIONES-BD.md` | Migraciones y DDL | **SÍ** |
|
|
| `@INTEGRACIONES` | `SIMCO-INTEGRACIONES-EXTERNAS.md` | Documentación de integraciones | **SÍ** |
|
|
|
|
### Checklists Asociados
|
|
|
|
| Alias | Checklist | Items |
|
|
|-------|-----------|-------|
|
|
| `@CHK_DOCUMENTACION` | `CHECKLIST-DOCUMENTACION-PROYECTO.md` | 44 |
|
|
| `@CHK_INVENTARIOS` | `CHECKLIST-INVENTARIOS.md` | 63 |
|
|
| `@CHK_NOMENCLATURA` | `CHECKLIST-NOMENCLATURA.md` | 40 |
|
|
|
|
### Templates Disponibles
|
|
|
|
| Alias | Template | Uso |
|
|
|-------|----------|-----|
|
|
| `@TPL_INVENTARIO` | `TEMPLATE-INVENTARIO-PROYECTO.md` | Crear inventarios YAML |
|
|
| `@TPL_INTEGRACION` | `TEMPLATE-INTEGRACION-EXTERNA.md` | Documentar integraciones (WhatsApp, Stripe, etc.) |
|
|
| `@TPL_MODULO_ESTANDAR` | `TEMPLATE-MODULO-ESTANDAR.md` | Documentar módulos |
|
|
|
|
---
|
|
|
|
## Directivas de Mantenimiento de Documentación (SIMCO v3.8)
|
|
|
|
Ubicación: `workspace/orchestration/directivas/simco/`
|
|
|
|
**Nuevas directivas agregadas en v3.8 para mantenimiento, purga y sincronización de documentación:**
|
|
|
|
| Alias | Directiva | Propósito | Aplica |
|
|
|-------|-----------|-----------|--------|
|
|
| `@MANTENIMIENTO_DOCS` | `SIMCO-MANTENIMIENTO-DOCUMENTACION.md` | Ciclo de mantenimiento, purga y deprecación | **SÍ** |
|
|
| `@SYNC_BD` | `SIMCO-SINCRONIZACION-BD.md` | Sincronización BD ↔ Código ↔ Docs | **SÍ** |
|
|
|
|
### Checklists de Mantenimiento
|
|
|
|
| Alias | Checklist | Items |
|
|
|-------|-----------|-------|
|
|
| `@CHK_MANTENIMIENTO` | `CHECKLIST-MANTENIMIENTO-DOCS.md` | 80 |
|
|
| `@CHK_SYNC_BD` | `CHECKLIST-SINCRONIZACION-BD.md` | 70 |
|
|
|
|
### Templates y Perfiles
|
|
|
|
| Alias | Archivo | Uso |
|
|
|-------|---------|-----|
|
|
| `@TPL_DEPRECACION` | `TEMPLATE-DEPRECACION.md` | Marcar documentos como deprecados |
|
|
| `@PERFIL_DOC_MAINT` | `PERFIL-DOCUMENTATION-MAINTAINER.md` | Perfil especializado en mantenimiento |
|
|
|
|
### Cuándo Usar
|
|
|
|
| Evento | Acción |
|
|
|--------|--------|
|
|
| Tarea completada (código) | `@MANTENIMIENTO_DOCS` nivel básico |
|
|
| Cambio en DDL | `@SYNC_BD` + `@CHK_SYNC_BD` |
|
|
| Fin de sprint/fase | `@CHK_MANTENIMIENTO` completo |
|
|
| Deprecar documentos | `@TPL_DEPRECACION` |
|
|
|
|
---
|
|
|
|
## Patrones Aplicables
|
|
|
|
| Patrón | Uso en MiChangarrito |
|
|
|--------|----------------------|
|
|
| `MAPEO-TIPOS-DDL-TYPESCRIPT.md` | 9 schemas -> Entities |
|
|
| `PATRON-VALIDACION.md` | class-validator en DTOs |
|
|
| `PATRON-EXCEPTION-HANDLING.md` | Filtros NestJS |
|
|
| `PATRON-TESTING.md` | Jest + e2e tests |
|
|
| `PATRON-SEGURIDAD.md` | JWT, multi-tenant RLS |
|
|
| `PATRON-TRANSACCIONES.md` | TypeORM transactions |
|
|
| `ANTIPATRONES.md` | Evitar siempre |
|
|
|
|
---
|
|
|
|
## Variables de Contexto CCA
|
|
|
|
```yaml
|
|
# Identificación del Proyecto
|
|
PROJECT_NAME: "michangarrito"
|
|
PROJECT_CODE: "MCH"
|
|
PROJECT_LEVEL: "STANDALONE"
|
|
PROJECT_ROOT: "/home/isem/workspace-v1/projects/michangarrito"
|
|
|
|
# Rutas principales
|
|
APPS_ROOT: "apps"
|
|
DOCS_ROOT: "docs"
|
|
ORCHESTRATION: "orchestration"
|
|
|
|
# Base de Datos
|
|
DB_NAME: "michangarrito"
|
|
DB_DDL_PATH: "database/schemas"
|
|
DB_SCRIPTS_PATH: "database"
|
|
DB_SEEDS_PATH: "database/seeds"
|
|
|
|
# Backend (NestJS)
|
|
BACKEND_ROOT: "apps/backend"
|
|
BACKEND_SRC: "apps/backend/src"
|
|
BACKEND_FRAMEWORK: "NestJS"
|
|
ORM: "TypeORM"
|
|
|
|
# Frontend (React)
|
|
FRONTEND_ROOT: "apps/frontend"
|
|
FRONTEND_SRC: "apps/frontend/src"
|
|
FRONTEND_FRAMEWORK: "React"
|
|
BUILD_TOOL: "Vite"
|
|
|
|
# Mobile (React Native)
|
|
MOBILE_ROOT: "apps/mobile"
|
|
MOBILE_FRAMEWORK: "React Native (Expo)"
|
|
|
|
# Servicios Adicionales
|
|
MCP_SERVER_ROOT: "apps/mcp-server"
|
|
WHATSAPP_SERVICE_ROOT: "apps/whatsapp-service"
|
|
|
|
# Multi-tenant
|
|
TENANT_COLUMN: "tenant_id"
|
|
RLS_CONTEXT: "app.current_tenant_id"
|
|
|
|
# Inventarios
|
|
MASTER_INVENTORY: "orchestration/inventarios/MASTER_INVENTORY.yml"
|
|
```
|
|
|
|
---
|
|
|
|
## Schemas de Base de Datos (9)
|
|
|
|
| Schema | Descripción | Tablas |
|
|
|--------|-------------|--------|
|
|
| `auth` | Autenticación, tokens | ~4 |
|
|
| `users` | Usuarios y roles | ~3 |
|
|
| `tenants` | Multi-tenancy | ~3 |
|
|
| `catalog` | Productos, categorías | ~4 |
|
|
| `sales` | Ventas, transacciones | ~4 |
|
|
| `inventory` | Stock, movimientos | ~3 |
|
|
| `payments` | Pagos, integraciones | ~3 |
|
|
| `ai` | Tokens IA, conversaciones | ~2 |
|
|
| `whatsapp` | Mensajes, sesiones | ~3 |
|
|
|
|
**Total:** 29 tablas
|
|
|
|
---
|
|
|
|
## Integraciones Externas (Usar @INTEGRACIONES)
|
|
|
|
| Integración | Proveedor | Estado | Documentar con |
|
|
|-------------|-----------|--------|----------------|
|
|
| WhatsApp | Meta Business API | Implementado | `@TPL_INTEGRACION` |
|
|
| Pagos | Stripe | Implementado | `@TPL_INTEGRACION` |
|
|
| Terminal | Mercado Pago | Pendiente | `@TPL_INTEGRACION` |
|
|
| Terminal | Clip | Pendiente | `@TPL_INTEGRACION` |
|
|
| CoDi | Banxico | Pendiente | `@TPL_INTEGRACION` |
|
|
| LLM Gateway | OpenRouter | Implementado | `@TPL_INTEGRACION` |
|
|
| OCR | Google Vision/Tesseract | Pendiente | `@TPL_INTEGRACION` |
|
|
| Audio | Whisper | Pendiente | `@TPL_INTEGRACION` |
|
|
|
|
---
|
|
|
|
## Perfiles de Agentes más usados
|
|
|
|
| Perfil | Especialización | Frecuencia |
|
|
|--------|-----------------|------------|
|
|
| `PERFIL-DATABASE.md` | PostgreSQL, 9 schemas | Alta |
|
|
| `PERFIL-BACKEND.md` | NestJS, TypeORM | Alta |
|
|
| `PERFIL-FRONTEND.md` | React, Vite | Alta |
|
|
| `PERFIL-MOBILE.md` | React Native, Expo | Alta |
|
|
| `PERFIL-CODE-REVIEWER.md` | Revisión de código | Media |
|
|
|
|
---
|
|
|
|
## Flujo de Trabajo para Desarrollo
|
|
|
|
```yaml
|
|
# PASO 1: Cargar contexto (CCA)
|
|
CARGAR:
|
|
- @TAREA
|
|
- @CAPVED
|
|
- @INICIALIZACION
|
|
- ./CONTEXTO-PROYECTO.md
|
|
|
|
# PASO 2: Seleccionar operación
|
|
OPERACION:
|
|
- @OP_DDL # 9 schemas
|
|
- @OP_BACKEND # NestJS
|
|
- @OP_FRONTEND # React
|
|
- @OP_MOBILE # React Native
|
|
|
|
# PASO 3: Aplicar patrones
|
|
PATRONES:
|
|
- @PATRON-VALIDACION
|
|
- @PATRON-EXCEPTION-HANDLING
|
|
- @PATRON-SEGURIDAD
|
|
|
|
# PASO 4: Validar
|
|
VALIDAR:
|
|
- npm run build
|
|
- npm run lint
|
|
- npm run test
|
|
|
|
# PASO 5: Documentar
|
|
CIERRE:
|
|
- @DOCUMENTAR
|
|
- Actualizar inventarios
|
|
```
|
|
|
|
---
|
|
|
|
## Nomenclatura del Proyecto
|
|
|
|
Prefijo: **MCH-**
|
|
|
|
| Tipo | Formato | Ejemplo |
|
|
|------|---------|---------|
|
|
| Épicas | MCH-E{NN} | MCH-E01-auth |
|
|
| Requerimientos | MCH-RF-{NNN} | MCH-RF-001 |
|
|
| Specs | MCH-ET-{TIPO}-{NNN} | MCH-ET-API-001 |
|
|
| Historias | MCH-US-{NNN} | MCH-US-001 |
|
|
|
|
---
|
|
|
|
**Sistema:** SIMCO v3.8.0 + CAPVED + CCA Protocol + Estándares Documentación + Mantenimiento Docs
|
|
**Nivel:** STANDALONE (2A)
|
|
**Última actualización:** 2026-01-10
|