workspace/projects/gamilit/orchestration/00-guidelines/CONTEXTO-PROYECTO.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

230 lines
7.7 KiB
Markdown

# Contexto del Proyecto - GAMILIT
## Identificacion
| Campo | Valor |
|-------|-------|
| **Nombre** | GAMILIT |
| **Tipo** | Plataforma EdTech - Gamificacion Educativa |
| **Estado** | MVP 75% completado |
| **Version** | 2.0 |
## Descripcion
Plataforma educativa gamificada para aprendizaje de matematicas, con sistema de recompensas (XP, ML Coins), logros y rangos Maya.
---
## VARIABLES PARA DIRECTIVAS GLOBALES
Las siguientes variables se usan para resolver placeholders en directivas globales de `core/orchestration/`:
```yaml
# Identificacion del Proyecto
PROJECT: gamilit
PROJECT_NAME: GAMILIT
# Paths Principales
PROJECT_ROOT: ~/workspace/projects/gamilit
APPS_ROOT: ~/workspace/projects/gamilit/apps
DOCS_ROOT: ~/workspace/projects/gamilit/docs
ORCHESTRATION: ~/workspace/projects/gamilit/orchestration
# Base de Datos (para DIRECTIVA-POLITICA-CARGA-LIMPIA y DIRECTIVA-DISENO-BD)
DB_NAME: gamilit_platform
DB_DDL_PATH: ~/workspace/projects/gamilit/apps/database/ddl
DB_SCRIPTS_PATH: ~/workspace/projects/gamilit/apps/database
DB_SEEDS_PATH: ~/workspace/projects/gamilit/apps/database/seeds
RECREATE_CMD: drop-and-recreate-database.sh
# Backend
BACKEND_ROOT: ~/workspace/projects/gamilit/apps/backend
BACKEND_SRC: ~/workspace/projects/gamilit/apps/backend/src
BACKEND_TESTS: ~/workspace/projects/gamilit/apps/backend/tests
# Frontend
FRONTEND_ROOT: ~/workspace/projects/gamilit/apps/frontend
FRONTEND_SRC: ~/workspace/projects/gamilit/apps/frontend/src
FRONTEND_TESTS: ~/workspace/projects/gamilit/apps/frontend/tests
# Auth Schema (para referencias en BD)
AUTH_SCHEMA: auth_management
```
### Ejemplo de Resolucion de Placeholders
Cuando una directiva global usa `{DB_DDL_PATH}/schemas/{schema}/tables/`:
- Se resuelve a: `~/workspace/projects/gamilit/apps/database/ddl/schemas/gamification_system/tables/`
---
## Stack Tecnológico
### Backend
- **Framework:** NestJS 11.x
- **Lenguaje:** TypeScript 5.3
- **ORM:** TypeORM 0.3.x
- **Auth:** JWT + Passport (5 proveedores OAuth)
- **API:** 125+ endpoints REST
### Frontend
- **Framework:** React 19.x
- **Lenguaje:** TypeScript 5.3
- **State:** Zustand 5.x
- **Styling:** Tailwind CSS 4.x
- **Build:** Vite
### Database
- **Engine:** PostgreSQL 15 (Supabase)
- **Schemas:** 14 schemas modulares
- **Tablas:** 101 tablas
- **RLS:** 45+ políticas
## Paths de Trabajo
```
~/workspace/projects/gamilit/
├── apps/
│ ├── backend/ → NestJS API
│ ├── frontend/ → React SPA
│ ├── database/ → DDL PostgreSQL
│ └── devops/ → Scripts sincronización
├── docs/ → Documentación del proyecto
└── orchestration/ → Sistema de orquestación local
```
## Convenciones Específicas
### Nomenclatura de Archivos
| Tipo | Convención | Ejemplo |
|------|------------|---------|
| DDL Tablas | `{NN}-{nombre_tabla}.sql` | `05-user_achievements.sql` |
| Módulos NestJS | `{nombre}.module.ts` | `gamification.module.ts` |
| Services | `{nombre}.service.ts` | `achievements.service.ts` |
| Controllers | `{nombre}.controller.ts` | `achievements.controller.ts` |
| Componentes React | `{Nombre}.tsx` | `AchievementCard.tsx` |
| Tests | `{nombre}.test.tsx` | `AchievementCard.test.tsx` |
### Esquemas de Base de Datos
1. `auth` - Supabase Auth (sistema)
2. `auth_management` - Gestión autenticación (11 tablas)
3. `educational_content` - Contenido educativo (8 tablas)
4. `gamification_system` - Gamificación (12 tablas)
5. `progress_tracking` - Tracking progreso (10 tablas)
6. `admin_dashboard` - Dashboard admin (6 tablas)
7. `content_management` - Gestión contenido (7 tablas)
8. `social_features` - Features sociales (8 tablas)
9. `storage` - Almacenamiento (5 tablas)
10. `audit_logging` - Logs auditoría (6 tablas)
11. `system_configuration` - Configuración (4 tablas)
12. `lti_integration` - Integración LTI (5 tablas)
13. `gamilit` - Schema principal (10 tablas)
14. `public` - Acceso público (2 tablas)
## Directivas Específicas del Proyecto
### SSOT (Single Source of Truth)
- Sincronización obligatoria de ENUMs: `npm run sync:enums`
- Validación de constantes: `npm run validate:constants`
- API Contract: `npm run validate:api-contract`
### Política de Carga Limpia
- Seeds con UUIDs estáticos
- Scripts idempotentes
- Validación pre-ejecución
### Coverage Mínimo
- Backend: 60%
- Frontend: 60%
- Database Triggers: 40%
## Scripts Principales
```bash
# Desarrollo
npm run dev # Backend + Frontend concurrente
npm run backend:dev # Solo backend
npm run frontend:dev # Solo frontend
# Validación
npm run sync:enums # Sincronizar ENUMs
npm run validate:constants # Validar constantes
npm run validate:api-contract # Validar rutas API
npm run validate:all # Todas las validaciones
# Testing
npm run test # Todos los tests
npm run test:backend # Tests backend
npm run test:frontend # Tests frontend
# Build
npm run build # Build completo
```
## Sistema de Directivas
### Directivas Globales (heredadas de core)
Las siguientes directivas se aplican a TODOS los proyectos del workspace:
| Directiva | Propósito |
|-----------|-----------|
| `DIRECTIVA-FLUJO-5-FASES.md` | Workflow obligatorio de 5 fases para subagentes |
| `DIRECTIVA-VALIDACION-SUBAGENTES.md` | Proceso de validación de entregables |
| `POLITICAS-USO-AGENTES.md` | Reglas de delegación y uso de subagentes |
| `DIRECTIVA-DOCUMENTACION-OBLIGATORIA.md` | Documentación requerida antes de código |
| `DIRECTIVA-CALIDAD-CODIGO.md` | Estándares de calidad de código |
| `DIRECTIVA-CONTROL-VERSIONES.md` | Control de versiones y commits |
| `DIRECTIVA-GESTION-BACKUPS-GITIGNORE.md` | Gestión de backups y gitignore |
| `PROTOCOLO-ESCALAMIENTO-PO.md` | Protocolo de escalamiento al PO |
| `ESTANDARES-NOMENCLATURA-BASE.md` | Nomenclatura base del workspace |
**Path:** `~/workspace/core/orchestration/directivas/`
### Directivas Específicas de Gamilit
Directivas que aplican solo a este proyecto:
| Directiva | Propósito |
|-----------|-----------|
| `DIRECTIVA-DISENO-BASE-DATOS.md` | Diseño de BD con 14 schemas |
| `DIRECTIVA-POLITICA-CARGA-LIMPIA.md` | DDL-first, sin migraciones |
| `ESTANDARES-API-ROUTES.md` | Convenciones de rutas REST |
| `ESTANDARES-TESTING-API.md` | Estándares de testing para API |
| `PITFALLS-API-ROUTES.md` | Errores comunes a evitar en rutas |
**Path:** `~/workspace/projects/gamilit/orchestration/directivas/`
### Prompts Específicos de Gamilit
Prompts especializados para este proyecto:
| Prompt | Uso |
|--------|-----|
| `PROMPT-DATABASE-AGENT.md` | Agente para tareas de BD PostgreSQL |
| `PROMPT-DATABASE-AUDITOR.md` | Auditoría de BD y optimización |
| `PROMPT-BACKEND-AGENT.md` | Desarrollo backend NestJS |
| `PROMPT-FRONTEND-AGENT.md` | Desarrollo frontend React |
| `PROMPT-ARCHITECTURE-ANALYST.md` | Análisis arquitectónico |
**Path:** `~/workspace/projects/gamilit/orchestration/prompts/`
## Documentación de Referencia
### Dentro del Proyecto
- `docs/00-overview/VISION.md`
- `docs/01-requerimientos/` (por épica)
- `docs/02-especificaciones-tecnicas/`
### En Core (Workspace)
- `~/workspace/core/orchestration/directivas/` (directivas globales)
- `~/workspace/core/orchestration/prompts/base/` (prompts base)
- `~/workspace/core/orchestration/templates/` (templates)
- `~/workspace/core/orchestration/checklists/` (checklists)
### En Knowledge Base
- `~/workspace/knowledge-base/patterns/` (patrones aplicables)
- `~/workspace/knowledge-base/reference/gamilit-legacy/` (código anterior)
---
*Contexto del proyecto Gamilit - Sistema NEXUS v2.0*