- 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>
231 lines
5.9 KiB
Markdown
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
|