## Directivas SIMCO v3.7.0 - Estandarizacion de Documentacion (7) - SIMCO-DOCUMENTACION-PROYECTO.md - SIMCO-NOMENCLATURA.md - SIMCO-ESTRUCTURA-DOCS.md - SIMCO-INVENTARIOS.md - SIMCO-TESTING.md - SIMCO-MIGRACIONES-BD.md - SIMCO-INTEGRACIONES-EXTERNAS.md ## Directivas SIMCO v3.8.0 - Mantenimiento de Documentacion (2) - SIMCO-MANTENIMIENTO-DOCUMENTACION.md - SIMCO-SINCRONIZACION-BD.md ## Templates (4) - TEMPLATE-INVENTARIO-PROYECTO.md - TEMPLATE-INTEGRACION-EXTERNA.md - TEMPLATE-MODULO-ESTANDAR.md - TEMPLATE-DEPRECACION.md ## Checklists (6) - CHECKLIST-DOCUMENTACION-PROYECTO.md - CHECKLIST-INVENTARIOS.md - CHECKLIST-NOMENCLATURA.md - CHECKLIST-MANTENIMIENTO-DOCS.md - CHECKLIST-SINCRONIZACION-BD.md - _MAP.md ## Perfil de Agente (1) - PERFIL-DOCUMENTATION-MAINTAINER.md ## Indices - INDICE-DIRECTIVAS-WORKSPACE.yml actualizado a v3.8.0 ## Submodulos actualizados (14) - gamilit, erp-core, michangarrito, template-saas - erp-suite, erp-construccion, erp-clinicas - erp-mecanicas-diesel, erp-retail, erp-vidrio-templado - trading-platform, betting-analytics - inmobiliaria-analytics, platform_marketing_content Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
387 lines
8.2 KiB
Markdown
387 lines
8.2 KiB
Markdown
# SIMCO-INVENTARIOS
|
|
**Version:** 1.0.0
|
|
**Tipo:** Directiva Operacional
|
|
**Prioridad:** P1
|
|
**Alias:** @INVENTARIOS
|
|
**Creado:** 2026-01-10
|
|
**Depende de:** SIMCO-DOCUMENTACION-PROYECTO.md
|
|
|
|
---
|
|
|
|
## 1. Proposito
|
|
|
|
Estandarizar los inventarios YAML como Single Source of Truth (SSOT) para el estado de proyectos, bases de datos, backend y frontend.
|
|
|
|
---
|
|
|
|
## 2. Principios de Inventarios
|
|
|
|
### 2.1 Single Source of Truth (SSOT)
|
|
|
|
Los inventarios son LA fuente canonica de:
|
|
- Estado del proyecto
|
|
- Progreso de desarrollo
|
|
- Estructura de base de datos
|
|
- Modulos implementados
|
|
- Paginas/Componentes del frontend
|
|
|
|
### 2.2 Actualizacion Continua
|
|
|
|
- Actualizar despues de cada cambio significativo
|
|
- Incluir timestamp de actualizacion
|
|
- Mantener version semantica
|
|
|
|
---
|
|
|
|
## 3. Tipos de Inventarios
|
|
|
|
### 3.1 MASTER_INVENTORY.yml
|
|
|
|
**Proposito:** Estado consolidado del proyecto completo
|
|
|
|
**Ubicacion:** `/orchestration/inventarios/MASTER_INVENTORY.yml`
|
|
|
|
```yaml
|
|
# MASTER_INVENTORY.yml
|
|
metadata:
|
|
proyecto: "{nombre_proyecto}"
|
|
tipo: "{Standalone|Suite|Suite-Core|Vertical}"
|
|
version: "{SEMVER}"
|
|
updated: "{YYYY-MM-DD}"
|
|
|
|
resumen:
|
|
progreso_mvp: "{N}%"
|
|
story_points_completados: {N}
|
|
story_points_totales: {N}
|
|
tareas_completadas: {N}
|
|
tareas_totales: {N}
|
|
cobertura_tests: "{N}%"
|
|
|
|
fases:
|
|
- nombre: "Fase {N} - {Nombre}"
|
|
codigo: "{CODIGO}"
|
|
estado: "{completado|en_progreso|pendiente}"
|
|
progreso: "{N}%"
|
|
fecha_inicio: "{YYYY-MM-DD}"
|
|
fecha_fin: "{YYYY-MM-DD}"
|
|
epicas: {N}
|
|
|
|
epicas:
|
|
- codigo: "{EAI-NNN|MGN-NNN}"
|
|
nombre: "{nombre}"
|
|
fase: "{N}"
|
|
estado: "{completado|en_progreso|pendiente}"
|
|
progreso: "{N}%"
|
|
story_points: {N}
|
|
stories: {N}
|
|
|
|
aplicaciones:
|
|
backend:
|
|
- servicio: "{nombre}"
|
|
ruta: "{ruta/relativa}"
|
|
puerto: {N}
|
|
estado: "{activo|inactivo|desarrollo}"
|
|
framework: "{NestJS|Express|FastAPI}"
|
|
frontend:
|
|
- servicio: "{nombre}"
|
|
ruta: "{ruta/relativa}"
|
|
puerto: {N}
|
|
estado: "{activo|inactivo|desarrollo}"
|
|
framework: "{React|Next.js|Vue}"
|
|
database:
|
|
- nombre: "{nombre_bd}"
|
|
tipo: "{PostgreSQL|MySQL|MongoDB}"
|
|
schemas: {N}
|
|
estado: "{activo|inactivo}"
|
|
|
|
integraciones:
|
|
- nombre: "{nombre_integracion}"
|
|
proveedor: "{proveedor}"
|
|
estado: "{activo|configurado|pendiente}"
|
|
```
|
|
|
|
### 3.2 DATABASE_INVENTORY.yml
|
|
|
|
**Proposito:** Estado detallado de la base de datos
|
|
|
|
**Ubicacion:** `/orchestration/inventarios/DATABASE_INVENTORY.yml`
|
|
|
|
```yaml
|
|
# DATABASE_INVENTORY.yml
|
|
metadata:
|
|
proyecto: "{nombre_proyecto}"
|
|
tipo: "DATABASE"
|
|
version: "{SEMVER}"
|
|
updated: "{YYYY-MM-DD}"
|
|
motor: "{PostgreSQL|MySQL}"
|
|
version_motor: "{version}"
|
|
|
|
resumen:
|
|
total_schemas: {N}
|
|
total_tablas: {N}
|
|
total_funciones: {N}
|
|
total_triggers: {N}
|
|
total_indices: {N}
|
|
|
|
schemas:
|
|
- nombre: "{schema_name}"
|
|
descripcion: "{descripcion}"
|
|
estado: "{implementado|parcial|pendiente}"
|
|
tablas:
|
|
- nombre: "{tabla}"
|
|
columnas: {N}
|
|
indices: {N}
|
|
foreign_keys: {N}
|
|
estado: "{implementada|pendiente}"
|
|
rls: {true|false}
|
|
|
|
# Funciones (agregado por validacion)
|
|
funciones:
|
|
- nombre: "{nombre_funcion}"
|
|
tipo: "{scalar|table|trigger}"
|
|
parametros: {N}
|
|
descripcion: "{descripcion}"
|
|
|
|
# Triggers (agregado por validacion)
|
|
triggers:
|
|
- nombre: "{nombre_trigger}"
|
|
tabla: "{tabla_asociada}"
|
|
evento: "{INSERT|UPDATE|DELETE|TRUNCATE}"
|
|
timing: "{BEFORE|AFTER|INSTEAD OF}"
|
|
funcion: "{nombre_funcion}"
|
|
|
|
vistas:
|
|
- nombre: "{nombre_vista}"
|
|
schema: "{schema}"
|
|
dependencias: ["{tabla1}", "{tabla2}"]
|
|
|
|
migraciones:
|
|
ultima: "{YYYYMMDDHHMMSS}"
|
|
pendientes: {N}
|
|
historial:
|
|
- id: "{YYYYMMDDHHMMSS}"
|
|
descripcion: "{descripcion}"
|
|
fecha: "{YYYY-MM-DD}"
|
|
```
|
|
|
|
### 3.3 BACKEND_INVENTORY.yml
|
|
|
|
**Proposito:** Estado de modulos del backend
|
|
|
|
**Ubicacion:** `/orchestration/inventarios/BACKEND_INVENTORY.yml`
|
|
|
|
```yaml
|
|
# BACKEND_INVENTORY.yml
|
|
metadata:
|
|
proyecto: "{nombre_proyecto}"
|
|
tipo: "BACKEND"
|
|
version: "{SEMVER}"
|
|
updated: "{YYYY-MM-DD}"
|
|
framework: "{NestJS|Express|FastAPI}"
|
|
lenguaje: "{TypeScript|Python}"
|
|
|
|
resumen:
|
|
total_modulos: {N}
|
|
total_controllers: {N}
|
|
total_services: {N}
|
|
total_endpoints: {N}
|
|
cobertura_tests: "{N}%"
|
|
|
|
modulos:
|
|
- nombre: "{nombre_modulo}"
|
|
ruta: "{src/modules/nombre}"
|
|
estado: "{implementado|parcial|pendiente}"
|
|
controllers: {N}
|
|
services: {N}
|
|
dtos: {N}
|
|
entities: {N}
|
|
endpoints:
|
|
- metodo: "{GET|POST|PUT|DELETE|PATCH}"
|
|
ruta: "/api/{recurso}"
|
|
descripcion: "{descripcion}"
|
|
auth: {true|false}
|
|
roles: ["{rol1}", "{rol2}"]
|
|
|
|
shared:
|
|
- tipo: "{constants|dto|guards|pipes|decorators}"
|
|
archivos: {N}
|
|
ruta: "{src/shared/tipo}"
|
|
|
|
tests:
|
|
unit:
|
|
archivos: {N}
|
|
cobertura: "{N}%"
|
|
integration:
|
|
archivos: {N}
|
|
cobertura: "{N}%"
|
|
e2e:
|
|
archivos: {N}
|
|
```
|
|
|
|
### 3.4 FRONTEND_INVENTORY.yml
|
|
|
|
**Proposito:** Estado de paginas y componentes frontend
|
|
|
|
**Ubicacion:** `/orchestration/inventarios/FRONTEND_INVENTORY.yml`
|
|
|
|
```yaml
|
|
# FRONTEND_INVENTORY.yml
|
|
metadata:
|
|
proyecto: "{nombre_proyecto}"
|
|
tipo: "FRONTEND"
|
|
version: "{SEMVER}"
|
|
updated: "{YYYY-MM-DD}"
|
|
framework: "{React|Next.js|Vue}"
|
|
lenguaje: "{TypeScript|JavaScript}"
|
|
|
|
resumen:
|
|
total_paginas: {N}
|
|
total_componentes: {N}
|
|
total_hooks: {N}
|
|
total_stores: {N}
|
|
cobertura_tests: "{N}%"
|
|
|
|
aplicaciones:
|
|
- nombre: "{nombre_app}" # admin, student, teacher, etc.
|
|
ruta: "{apps/frontend-nombre}"
|
|
puerto: {N}
|
|
paginas:
|
|
- nombre: "{NombrePagina}"
|
|
ruta: "/{ruta}"
|
|
componentes: {N}
|
|
estado: "{implementada|parcial|pendiente}"
|
|
auth: {true|false}
|
|
roles: ["{rol1}", "{rol2}"]
|
|
|
|
componentes:
|
|
shared:
|
|
- nombre: "{NombreComponente}"
|
|
ruta: "{components/shared/Nombre}"
|
|
tipo: "{UI|Layout|Form|Data}"
|
|
reutilizable: {true|false}
|
|
|
|
features:
|
|
- nombre: "{NombreComponente}"
|
|
feature: "{feature_name}"
|
|
ruta: "{components/features/feature/Nombre}"
|
|
|
|
hooks:
|
|
- nombre: "{useNombreHook}"
|
|
ruta: "{hooks/useNombreHook}"
|
|
proposito: "{descripcion}"
|
|
|
|
stores:
|
|
- nombre: "{nombreStore}"
|
|
ruta: "{stores/nombreStore}"
|
|
tipo: "{Zustand|Redux|Context}"
|
|
|
|
tests:
|
|
unit:
|
|
archivos: {N}
|
|
cobertura: "{N}%"
|
|
component:
|
|
archivos: {N}
|
|
cobertura: "{N}%"
|
|
```
|
|
|
|
---
|
|
|
|
## 4. Campos Obligatorios
|
|
|
|
### Por Tipo de Inventario
|
|
|
|
| Campo | MASTER | DATABASE | BACKEND | FRONTEND |
|
|
|-------|--------|----------|---------|----------|
|
|
| metadata.proyecto | SI | SI | SI | SI |
|
|
| metadata.tipo | SI | SI | SI | SI |
|
|
| metadata.version | SI | SI | SI | SI |
|
|
| metadata.updated | SI | SI | SI | SI |
|
|
| resumen | SI | SI | SI | SI |
|
|
| fases | SI | NO | NO | NO |
|
|
| schemas | NO | SI | NO | NO |
|
|
| modulos | NO | NO | SI | NO |
|
|
| paginas | NO | NO | NO | SI |
|
|
|
|
---
|
|
|
|
## 5. Actualizacion y Mantenimiento
|
|
|
|
### 5.1 Cuando Actualizar
|
|
|
|
| Evento | Inventario | Accion |
|
|
|--------|------------|--------|
|
|
| Nueva tabla creada | DATABASE | Agregar entrada |
|
|
| Endpoint implementado | BACKEND | Actualizar modulo |
|
|
| Pagina completada | FRONTEND | Cambiar estado |
|
|
| Fase completada | MASTER | Actualizar progreso |
|
|
| Sprint finalizado | MASTER | Recalcular metricas |
|
|
|
|
### 5.2 Formato de Version
|
|
|
|
```
|
|
{MAJOR}.{MINOR}.{PATCH}
|
|
|
|
- MAJOR: Cambio estructural del inventario
|
|
- MINOR: Nuevas secciones agregadas
|
|
- PATCH: Actualizacion de datos
|
|
```
|
|
|
|
### 5.3 Historial de Cambios
|
|
|
|
Incluir en el inventario:
|
|
|
|
```yaml
|
|
changelog:
|
|
- version: "1.2.3"
|
|
fecha: "2026-01-10"
|
|
cambios:
|
|
- "Agregado modulo auth"
|
|
- "Actualizado progreso fase 2"
|
|
```
|
|
|
|
---
|
|
|
|
## 6. Validacion de Inventarios
|
|
|
|
### 6.1 Checklist de Validacion
|
|
|
|
Ver: `CHECKLIST-INVENTARIOS.md`
|
|
|
|
### 6.2 Comandos de Verificacion
|
|
|
|
```bash
|
|
# Validar YAML syntax
|
|
yamllint orchestration/inventarios/*.yml
|
|
|
|
# Verificar que existen todos los inventarios
|
|
ls -la orchestration/inventarios/
|
|
|
|
# Contar elementos
|
|
grep -c "nombre:" orchestration/inventarios/MASTER_INVENTORY.yml
|
|
```
|
|
|
|
---
|
|
|
|
## 7. Template
|
|
|
|
Para crear nuevos inventarios, usar:
|
|
|
|
```
|
|
Ver: TEMPLATE-INVENTARIO-PROYECTO.md
|
|
```
|
|
|
|
---
|
|
|
|
## 8. Referencias
|
|
|
|
| Directiva | Proposito |
|
|
|-----------|-----------|
|
|
| SIMCO-DOCUMENTACION-PROYECTO.md | Estructura general |
|
|
| CHECKLIST-INVENTARIOS.md | Validacion |
|
|
| TEMPLATE-INVENTARIO-PROYECTO.md | Template |
|
|
|
|
---
|
|
|
|
**Ultima actualizacion:** 2026-01-10
|
|
**Mantenido por:** Orchestration Team
|