workspace-v1/shared/knowledge-base/lessons-learned/LESSONS-WORKSPACE-V1.md
rckrdmrd cb4c0681d3 feat(workspace): Add new projects and update architecture
New projects created:
- michangarrito (marketplace mobile)
- template-saas (SaaS template)
- clinica-dental (dental ERP)
- clinica-veterinaria (veterinary ERP)

Architecture updates:
- Move catalog from core/ to shared/
- Add MCP servers structure and templates
- Add git management scripts
- Update SUBREPOSITORIOS.md with 15 new repos
- Update .gitignore for new projects

Repository infrastructure:
- 4 main repositories
- 11 subrepositorios
- Gitea remotes configured

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-07 04:43:28 -06:00

3.6 KiB

Lecciones Aprendidas - Migracion a Workspace v1

Categoria: Lessons Learned Fecha: 2025-12-27 Proyecto: Reorganizacion workspace


Contexto

Migracion del workspace original a workspace-v1 con nueva estructura de:

  • Proyectos independientes (no anidados)
  • Orchestration centralizada
  • Catalogo de modulos compartidos
  • Knowledge base estructurada

Lecciones Principales

1. Verticales como Proyectos Independientes

Problema: Las verticales dentro de erp-suite creaban dependencias circulares y confusion de paths.

Solucion:

  • Mover cada vertical a projects/erp-{vertical}/
  • Crear HERENCIA-ERP-CORE.md en cada una
  • Documentar dependencias en referencias/

Resultado:

  • Builds independientes
  • Menos confusion de paths
  • Facilidad para trabajar en una vertical sin afectar otras

2. erp-core como Proyecto Base Independiente

Problema: erp-core dentro de erp-suite dificultaba su rol como base.

Solucion:

  • Extraer a projects/erp-core/
  • Actualizar todas las referencias
  • Documentar como CORE-BASE en CONTEXTO-PROYECTO.md

Resultado:

  • Clara separacion de responsabilidades
  • erp-suite solo contiene productos derivados
  • Verticales referencian claramente al core

3. Importancia de CONTEXTO-PROYECTO.md

Aprendizaje: Cada proyecto necesita un CONTEXTO-PROYECTO.md con:

  • Variables para directivas (PROJECT_ROOT, etc)
  • Nivel del proyecto (CORE-BASE, STANDALONE, SUITE)
  • Paths criticos
  • Referencias a herencia

Beneficio:

  • Agentes entienden el contexto rapidamente
  • Menos errores de paths
  • Documentacion consistente

4. Validacion con Scripts

Problema: Errores manuales al actualizar referencias.

Solucion: Script validate-dependencies.sh que verifica:

  • Existencia de HERENCIA-ERP-CORE.md
  • Version ERP-Core documentada
  • Paths actualizados a workspace-v1
  • Directorio referencias/ existe

Resultado:

  • Deteccion temprana de errores
  • Consistencia entre proyectos
  • Facilidad de validacion

5. Catalogo de Modulos Compartidos

Problema: Codigo duplicado entre proyectos.

Solucion: Expandir shared/catalog/ con:

  • README.md (descripcion, trade-offs)
  • IMPLEMENTATION.md (guia paso a paso)
  • _reference/ (codigo ejemplo)
  • CATALOG-INDEX.yml (busqueda)

Resultado:

  • Reutilizacion efectiva
  • Documentacion estandarizada
  • Busqueda rapida por keyword

6. Knowledge Base Estructurada

Problema: Documentacion dispersa y dificil de encontrar.

Solucion: shared/knowledge-base/ con:

  • INDEX.yml maestro
  • Categorias claras (architecture, patterns, etc)
  • Metadata YAML en documentos
  • Referencias a proyectos fuente

Anti-patrones Detectados

NO hacer:

  1. Anidar proyectos dentro de otros proyectos
  2. Paths relativos entre proyectos (usar absolutos o variables)
  3. Duplicar codigo sin extraer a catalogo
  4. Omitir documentacion de herencia
  5. Ignorar validaciones del script

SI hacer:

  1. Proyectos planos en projects/
  2. Variables en CONTEXTO-PROYECTO.md para paths
  3. Extraer a catalogo codigo reutilizable
  4. HERENCIA-ERP-CORE.md en cada vertical
  5. Validar con script despues de cambios

Metricas de Exito

Metrica Antes Despues
Proyectos en erp-suite 6 2 (products, saas)
Verticales independientes 0 5
Modulos en catalogo 8 11
Documentos en KB 0 5+
Scripts de validacion 0 1

Proximos Pasos

  1. Completar documentacion de patterns/
  2. Agregar mas lessons-learned por proyecto
  3. Expandir troubleshooting/
  4. Crear guias de desarrollo en development/

Knowledge Base - Workspace v1