workspace/projects/gamilit/orchestration/00-guidelines/CONTEXTO-PROYECTO.md
rckrdmrd c4b4b9cd89
Some checks are pending
CI Pipeline / changes (push) Waiting to run
CI Pipeline / core (push) Blocked by required conditions
CI Pipeline / trading-backend (push) Blocked by required conditions
CI Pipeline / trading-data-service (push) Blocked by required conditions
CI Pipeline / trading-frontend (push) Blocked by required conditions
CI Pipeline / erp-core (push) Blocked by required conditions
CI Pipeline / erp-mecanicas (push) Blocked by required conditions
CI Pipeline / gamilit-backend (push) Blocked by required conditions
CI Pipeline / gamilit-frontend (push) Blocked by required conditions
docs: Add workspace synchronization directive and update project context
## Summary
- Add DIRECTIVA-SINCRONIZACION-WORKSPACES.md with rules for dual workspace management
- Update CONTEXTO-PROYECTO.md with workspace dual information

## Workspaces
- NEW (development priority): ~/workspace/projects/gamilit → Gitea
- OLD (production client): ~/workspace-old/.../gamilit → GitHub

## Key Rules
- Development happens in NEW workspace first
- Production configs (.env.production, ecosystem.config.js) must exist in BOTH
- Production scripts and guides only in OLD workspace
- DDL/Seeds must be IDENTICAL in both

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-18 09:19:56 -06:00

9.1 KiB

Contexto del Proyecto - GAMILIT

Última actualización: 2025-12-18

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/:

# 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: 417 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
  • Schemas: 16 schemas modulares
  • Tablas: 123 tablas
  • RLS: 185 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

WORKSPACES DUALES

IMPORTANTE: GAMILIT tiene dos workspaces con propositos diferentes.

Workspace NUEVO (Este - Prioridad Desarrollo)

Aspecto Valor
Path ~/workspace/projects/gamilit
Remote http://72.60.226.4:3000/rckrdmrd/workspace.git
Proposito Desarrollo activo, agentes, directivas
Prioridad ALTA - Todo desarrollo nuevo aqui

Workspace VIEJO (Produccion Cliente)

Aspecto Valor
Path ~/workspace-old/wsl-ubuntu/workspace/workspace-gamilit/gamilit/projects/gamilit
Remote git@github.com:rckrdmrd/gamilit-workspace.git
Proposito Deployment a servidor produccion
Contenido especial Scripts produccion, guias HTTPS/PM2/Certbot

Reglas de Sincronizacion

Ver directiva completa: orchestration/directivas/DIRECTIVA-SINCRONIZACION-WORKSPACES.md

Resumen:

  • Desarrollo → NUEVO primero, luego sincronizar a VIEJO
  • Configuraciones (.env.production, ecosystem.config.js) → AMBOS
  • Scripts de produccion → Solo VIEJO
  • DDL y Seeds → IDENTICOS en ambos

Servidor de Produccion

Aspecto Valor
IP 74.208.126.102
Backend Puerto 3006 (PM2 cluster)
Frontend Puerto 3005 (PM2 fork)
Database PostgreSQL :5432, gamilit_platform

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 - autenticación estándar (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)
  15. communication - Comunicaciones (3 tablas)
  16. notifications - Notificaciones (4 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

# 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 16 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