workspace/projects/gamilit/reference/README.md
rckrdmrd ea1879f4ad feat: Initial workspace structure with multi-level Git configuration
- Configure workspace Git repository with comprehensive .gitignore
- Add Odoo as submodule for ERP reference code
- Include documentation: SETUP.md, GIT-STRUCTURE.md
- Add gitignore templates for projects (backend, frontend, database)
- Structure supports independent repos per project/subproject level

Workspace includes:
- core/ - Reusable patterns, modules, orchestration system
- projects/ - Active projects (erp-suite, gamilit, trading-platform, etc.)
- knowledge-base/ - Reference code and patterns (includes Odoo submodule)
- devtools/ - Development tools and templates
- customers/ - Client implementations template

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-08 10:44:23 -06:00

231 lines
5.9 KiB
Markdown

# 📚 REFERENCE - Código de Referencia
**Propósito:** Esta carpeta contiene proyectos y código de referencia para análisis, comparación y mejora del desarrollo actual.
---
## 🎯 USO
### Para Architecture-Analyst
- Analizar implementaciones de referencia
- Comparar patrones arquitectónicos
- Documentar mejores prácticas observadas
- Proponer mejoras basadas en referencias
### Para Agentes de Desarrollo
- Consultar implementaciones de funcionalidades similares
- Comparar enfoques de diseño
- Reutilizar patrones probados
- Entender mejores prácticas
### Para Claude Code Cloud
- Acceso a código de referencia desde cualquier instancia
- Comparaciones automáticas con código actual
- Análisis de implementaciones
---
## 📂 ESTRUCTURA
```
reference/
├── README.md # Este archivo
├── proyecto-ejemplo-1/ # Proyecto de referencia
│ ├── src/ # Solo código fuente
│ ├── package.json # Dependencias
│ └── README.md # Descripción del proyecto
├── proyecto-ejemplo-2/
└── implementaciones/ # Implementaciones específicas
├── auth-patterns/ # Patrones de autenticación
├── multi-tenant/ # Implementaciones multi-tenant
└── gamification/ # Sistemas de gamificación
```
---
## ⚠️ IMPORTANTE - Qué Versionar
### ✅ SÍ versionar (INCLUIR):
- Código fuente (.ts, .tsx, .js, .jsx, .vue, etc.)
- Archivos de configuración (package.json, tsconfig.json, etc.)
- Documentación (.md files)
- Esquemas de base de datos (.sql files)
- Archivos de tipos (.d.ts)
- README y documentación
### ❌ NO versionar (IGNORADO automáticamente):
- node_modules/
- dist/
- build/
- .next/
- .nuxt/
- coverage/
- .turbo/
- .nx/
- out/
- *.log
- *.tmp
- *.cache
- .DS_Store
**Razón:** Solo versionamos código fuente. Las dependencias y builds se pueden regenerar con `npm install` / `npm run build`.
---
## 📋 DIRECTRICES
### Al Agregar Proyectos de Referencia
1. **Limpiar antes de agregar:**
```bash
# Eliminar node_modules y builds
cd reference/nuevo-proyecto
rm -rf node_modules dist build .next coverage
```
2. **Verificar que está limpio:**
```bash
# No debe mostrar carpetas de build/dependencias
du -sh reference/nuevo-proyecto/*
```
3. **Agregar README del proyecto:**
```markdown
# Proyecto: {nombre}
**Fuente:** {URL o descripción}
**Propósito:** ¿Por qué se incluye como referencia?
**Aspectos relevantes:** ¿Qué podemos aprender?
## Instalación (para probar localmente)
```bash
npm install
npm run dev
```
## Aspectos destacables
- Feature 1: Descripción
- Pattern 2: Descripción
```
4. **Commit con mensaje descriptivo:**
```bash
git add reference/nuevo-proyecto
git commit -m "ref: agregar proyecto {nombre} como referencia para {propósito}"
```
---
## 🔍 VALIDACIÓN
### Verificar que reference/ está en el repo:
```bash
# Debe devolver vacío (no ignorado)
git check-ignore reference/
# Debe mostrar archivos de reference/
git ls-files reference/
```
### Verificar que node_modules está ignorado dentro de reference/:
```bash
# Debe devolver: reference/proyecto/node_modules/
git check-ignore reference/proyecto/node_modules/
```
### Ejecutar validación automática:
```bash
bash orchestration/scripts/validate-gitignore.sh
```
Debe mostrar:
```
✅ reference/ NO está ignorado (correcto)
✅ reference/**/node_modules/ está ignorado (correcto)
✅ reference/**/dist/ está ignorado (correcto)
```
---
## 📊 TAMAÑO RECOMENDADO
**Máximo recomendado:** ~100MB por proyecto (solo código fuente)
Si un proyecto excede este tamaño:
- Considerar incluir solo las partes relevantes
- Crear subcarpeta con implementaciones específicas
- Documentar ubicación del proyecto completo (URL)
---
## 🎓 EJEMPLOS DE USO
### Ejemplo 1: Analizar Patrón de Autenticación
```markdown
**Tarea:** Implementar autenticación multi-tenant
**Agente:** Architecture-Analyst
**Proceso:**
1. Revisar `reference/proyecto-multi-tenant/src/auth/`
2. Analizar implementación de RLS y context
3. Comparar con implementación actual
4. Documentar mejoras en `docs/adr/ADR-XXX.md`
```
### Ejemplo 2: Implementar Feature Similar
```markdown
**Tarea:** Implementar sistema de gamificación
**Agente:** Backend-Agent
**Proceso:**
1. Consultar `reference/gamification-system/`
2. Revisar modelos de datos y APIs
3. Adaptar patrones al proyecto actual
4. Implementar con mejores prácticas observadas
```
### Ejemplo 3: Comparar Arquitectura
```markdown
**Tarea:** Refactorizar estructura de módulos
**Agente:** Architecture-Analyst
**Proceso:**
1. Analizar `reference/best-practices-nestjs/`
2. Comparar con estructura actual
3. Proponer mejoras arquitectónicas
4. Crear plan de refactorización
```
---
## 📚 REFERENCIAS
- [DIRECTIVA-GESTION-BACKUPS-GITIGNORE.md](../orchestration/directivas/DIRECTIVA-GESTION-BACKUPS-GITIGNORE.md) - Sección 1.5
- [PROMPT-ARCHITECTURE-ANALYST.md](../orchestration/prompts/PROMPT-ARCHITECTURE-ANALYST.md)
- `.gitignore` - Líneas 201-217
---
## ✅ CHECKLIST ANTES DE COMMIT
Antes de agregar un nuevo proyecto de referencia:
- [ ] Eliminar node_modules/, dist/, build/, .next/, etc.
- [ ] Verificar que solo hay código fuente
- [ ] Agregar README del proyecto explicando propósito
- [ ] Verificar tamaño total (< 100MB recomendado)
- [ ] Documentar aspectos relevantes del proyecto
- [ ] Commit con mensaje descriptivo
---
**Última actualización:** 2025-11-23
**Mantenido por:** Architecture-Analyst, Workspace-Manager
**Directiva:** DIRECTIVA-GESTION-BACKUPS-GITIGNORE.md sección 1.5