workspace/projects/gamilit/orchestration/prompts/PROMPT-BACKEND-AGENT.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

5.4 KiB

PROMPT BACKEND-AGENT - EXTENSIÓN GAMILIT

Versión: 2.0.0 Fecha: 2025-12-05 Tipo: Extensión de prompt global Proyecto: GAMILIT - Sistema de Gamificación Educativa


HERENCIA

EXTIENDE: core/orchestration/agents/PROMPT-BACKEND-AGENT.md
CONTEXTO: orchestration/00-guidelines/CONTEXTO-PROYECTO.md

IMPORTANTE: Este archivo NO duplica el prompt global. Solo contiene:

  1. Resolución de variables para GAMILIT
  2. Extensiones específicas del proyecto (si las hay)

RESOLUCIÓN DE VARIABLES PARA GAMILIT

Al leer el prompt global, resolver estos placeholders:

{PROJECT_NAME}:    GAMILIT
{BACKEND_ROOT}:    apps/backend
{BACKEND_SRC}:     apps/backend/src
{BACKEND_TESTS}:   apps/backend/tests
{DB_NAME}:         gamilit_platform
{AUTH_SCHEMA}:     auth_management
{FRONTEND_ROOT}:   apps/frontend
{DB_DDL_PATH}:     apps/database/ddl
{DB_SEEDS_PATH}:   apps/database/seeds

MÓDULOS DEL PROYECTO GAMILIT

Este proyecto requiere los siguientes módulos NestJS alineados con los schemas de BD:

Módulo Schema BD Propósito Estado
auth auth_management Autenticación, usuarios, roles, tenants Pendiente
gamification gamification_system Puntos, niveles, badges, challenges Pendiente
content educational_content Módulos, lecciones, ejercicios Pendiente
progress progress_tracking Progreso estudiantil, estadísticas Pendiente
academic academic_management Instituciones, cursos, estudiantes Pendiente
guilds guild_management Guildas, rankings Pendiente
notifications notification_management Notificaciones, alertas Pendiente
admin admin_dashboard Dashboard administrativo Pendiente
cms content_management Gestión de contenido Pendiente
social social_features Features sociales Pendiente
storage storage Almacenamiento de archivos Pendiente
audit audit_logging Logs de auditoría Pendiente
config system_configuration Configuración del sistema Pendiente
lti lti_integration Integración LTI con LMS Pendiente

RUTAS DE TRABAJO GAMILIT

# Backend
apps/backend/src/modules/{modulo}/
apps/backend/src/modules/{modulo}/entities/*.entity.ts
apps/backend/src/modules/{modulo}/services/*.service.ts
apps/backend/src/modules/{modulo}/controllers/*.controller.ts
apps/backend/src/modules/{modulo}/dto/*.dto.ts

# Shared
apps/backend/src/shared/config/
apps/backend/src/shared/guards/
apps/backend/src/shared/decorators/
apps/backend/src/shared/constants/

# Tests
apps/backend/test/

# Inventarios
orchestration/inventarios/MASTER_INVENTORY.yml
orchestration/inventarios/BACKEND_INVENTORY.yml

# Trazas
orchestration/trazas/TRAZA-TAREAS-BACKEND.md

DIRECTIVAS ESPECÍFICAS GAMILIT

Además de las directivas globales, consultar:

Directivas del proyecto:
  - orchestration/directivas/ESTANDARES-API-ROUTES.md
  - orchestration/directivas/GUIA-NOMENCLATURA-COMPLETA.md

Documentación de diseño:
  - docs/01-fase-alcance-inicial/ (especificaciones de módulos)
  - docs/95-guias-desarrollo/backend/ (convenciones de código)
  - docs/97-adr/ (decisiones arquitectónicas)

EXTENSIONES ESPECÍFICAS (si difieren del global)

Sistema Multi-tenant

GAMILIT implementa multi-tenancy a nivel de aplicación:

// Todas las entities principales incluyen tenant_id
@Entity({ schema: 'auth_management', name: 'users' })
export class UserEntity {
    @Column({ type: 'uuid' })
    tenantId: string;  // FK a auth_management.tenants

    @ManyToOne(() => TenantEntity)
    @JoinColumn({ name: 'tenant_id' })
    tenant: TenantEntity;
}

// Guards deben validar tenant del usuario
@Injectable()
export class TenantGuard implements CanActivate {
    canActivate(context: ExecutionContext): boolean {
        const request = context.switchToHttp().getRequest();
        const user = request.user;
        const tenantId = request.params.tenantId || request.body.tenantId;
        return user.tenantId === tenantId;
    }
}

Sistema de Gamificación

El módulo gamification es central en GAMILIT:

// Rangos basados en cultura Maya
// Ajaw (Rey), Ahau, Batab, Nacom, Chilam, Ah Kin, etc.
// Ver: gamification_system.levels para definiciones

// Entities principales de gamificación:
// - UserPointsEntity (puntos del usuario)
// - UserLevelEntity (nivel actual)
// - UserBadgeEntity (badges obtenidos)
// - UserChallengeEntity (challenges activos)

Integración LTI

GAMILIT se integra con LMS externos vía LTI:

// Módulo lti maneja:
// - LTI 1.3 launch
// - Deep linking
// - Assignment and Grade Services (AGS)
// - Names and Role Provisioning Services (NRPS)

FLUJO DE INICIO

Cuando el usuario diga "lee el prompt de Backend Agent para GAMILIT":

  1. Leer prompt global: core/orchestration/agents/PROMPT-BACKEND-AGENT.md
  2. Leer este archivo: Para resolver variables y ver extensiones
  3. Leer contexto: orchestration/00-guidelines/CONTEXTO-PROYECTO.md
  4. Listo para recibir tarea

Nota: Cualquier mejora a las directivas generales se hace en core/orchestration/agents/PROMPT-BACKEND-AGENT.md y se refleja automáticamente en todos los proyectos.