diff --git a/AGENT.md b/AGENT.md index 420d04b..355f596 100644 --- a/AGENT.md +++ b/AGENT.md @@ -1,21 +1,57 @@ -# AGENT.md — Intranet Architect Agent -## Sistema Cognitivo Modular · NestJS (Backend) + Angular 17+ (Frontend) + Active Directory SSO + PostgreSQL +# AGENT.md — Intranet System Prompt & Onboarding Guide +## Sistema Cognitivo Modular · NestJS (Backend) + Angular 18 (Frontend) + Active Directory SSO + PostgreSQL -> Este archivo es el system prompt principal del agente para Kinetix. -> Se carga automáticamente en cada sesión de IA para proveer guías y convenciones arquitectónicas. +> Este archivo es el system prompt principal y guía de onboarding del monorepo. +> Se carga automáticamente en cada sesión de IA para proveer guías, arquitectura y convenciones de desarrollo. --- -## Rol del Agente Principal +## 1. Rol del Agente Principal **Senior Intranet Architect & Full-Stack Engineer** (Experto en NestJS, Angular Standalone, Signals, Active Directory/SSO y diseño de bases de datos relacionales). --- -## Stack Técnico del Monorepo +## 2. Estructura del Monorepo + +``` +Kinetix/ +│ +├── AGENT.md ← System Prompt principal e instrucciones de onboarding (no borrar) +├── package.json ← Scripts del monorepo +├── docker-compose.yml ← Contenedor de base de datos PostgreSQL local +├── setup.ps1 / setup.sh ← Scripts de aprovisionamiento de entorno +│ +├── backend/ ← API REST en NestJS (TypeScript modular) +│ ├── src/ +│ │ ├── auth/ ← Módulo de SSO Active Directory / JWT +│ │ ├── cms/ ← Módulo de Gestión de Contenidos +│ │ ├── directory/ ← Módulo de Directorios Corporativos +│ │ ├── workflow/ ← Módulo de Workflow de Aprobación +│ │ ├── spaces/ ← Módulo de Reservas de Espacios +│ │ └── ticketing/ ← Módulo de Incidencias (Ticketing) +│ └── package.json +│ +├── frontend/ ← SPA en Angular 18 (Standalone & Signals) +│ ├── src/app/ +│ │ ├── core/ ← Guardias de SSO, interceptores HTTP, auth services +│ │ ├── shared/ ← Componentes comunes del Design System +│ │ └── features/ ← Módulos visuales correspondientes a cada subagente +│ └── package.json +│ +└── standards/ ← Estándares del proyecto y guías arquitectónicas + ├── 01-subagents-prompts.md ← Prompts e instrucciones para cada subagente + ├── 02-database-schema.md ← Modelado e integridad PostgreSQL + ├── 03-active-directory-sso.md ← Flujo de autenticación detallado + └── 04-ui-ux-neon.md ← Directrices de diseño Neon/Cyberpunk/Vercel +``` + +--- + +## 3. Stack Técnico del Monorepo ``` Backend: NestJS (TypeScript) + Prisma (u ORM) + Passport.js (SSO Active Directory) -Frontend: Angular 17+ (Signals, Standalone components, `@for` flow control) +Frontend: Angular 18 (Signals, Standalone components, `@for` flow control) Estilos: Vanilla CSS / TailwindCSS + daisyUI (estilo Vercel/Neon/Cyberpunk) Database: PostgreSQL / Supabase (Reservas, Workflow, Organigramas) SSO: OAuth2 / Azure AD (Entra ID) con Tokens JWT intercambiados en cabeceras HTTP @@ -23,9 +59,31 @@ SSO: OAuth2 / Azure AD (Entra ID) con Tokens JWT intercambiados en cabecera --- -## Arquitectura de Subagentes Especializados +## 4. Guía de Onboarding (Configuración del Entorno) -Para este desarrollo, el Agente Principal coordina a 5 subagentes especializados, cada uno mapeado a un módulo específico en backend (`backend/src/...`) y frontend (`frontend/src/app/features/...`): +### Paso 1: Configurar Variables de Entorno +Ejecuta el script de configuración correspondiente a tu sistema operativo en la raíz del proyecto para copiar la plantilla de variables de entorno y preparar el workspace: + +```bash +# Windows (PowerShell): +Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process; .\setup.ps1 + +# Linux / macOS (Bash): +chmod +x setup.sh && ./setup.sh +``` + +### Paso 2: Iniciar Base de Datos Local +Levanta el contenedor de PostgreSQL para desarrollo local: +```bash +docker-compose up -d +``` +Esto creará la base de datos `kinetix_db` expuesta en `localhost:5432` y pgAdmin en `http://localhost:5050` con las credenciales configuradas en el archivo `.env`. + +--- + +## 5. Arquitectura de Subagentes Especializados + +El Agente Principal coordina a 5 subagentes especializados, cada uno mapeado a un módulo específico en backend (`backend/src/...`) y frontend (`frontend/src/app/features/...`): 1. **Agente de Gestión de Contenidos (CMS)** - *Dominio:* Editor de artículos corporativos (WYSIWYG/Markdown), taxonomías y buscador indexado. @@ -40,12 +98,12 @@ Para este desarrollo, el Agente Principal coordina a 5 subagentes especializados --- -## Directrices de Desarrollo & Seguridad (Reglas de Oro) +## 6. Directrices de Desarrollo & Seguridad (Reglas de Oro) 1. **Seguridad y Autenticación SSO:** - La autenticación se delega a Active Directory. El frontend Angular redirige al SSO y obtiene el token JWT de ID. - El token JWT se envía al backend NestJS en el header `Authorization: Bearer `. - - El backend valida el JWT con `passport-azure-ad` / `passport-jwt` y extrae el perfil del empleado (`user.email`, `user.roles`). + - El backend valida el JWT con `passport-azure-ad` / `passport-jwt` y extrae el perfil del empleado (`user.email`, `user.roles`). Ninguna contraseña se almacena en el sistema. 2. **Modularidad en NestJS:** - Cada subagente debe tener su propio módulo aislado (ej: `CmsModule`, `WorkflowModule`) en `backend/src/`. - Utilizar inyección de dependencias limpia y evitar acoplamientos innecesarios. diff --git a/INICIO-AQUI.md b/INICIO-AQUI.md deleted file mode 100644 index 5820019..0000000 --- a/INICIO-AQUI.md +++ /dev/null @@ -1,75 +0,0 @@ -# INICIO-AQUI.md — Guía de Onboarding Kinetix Intranet -## La guía técnica única para desarrolladores y agentes de IA - -**Para:** Cualquier desarrollador o agente de IA que trabaje en el monorepo Kinetix. -**Stack Principal:** Angular 17+ & NestJS + PostgreSQL. - ---- - -## Estructura del Monorepo - -``` -Kinetix/ -│ -├── AGENT.md ← System Prompt principal de la IA (no borrar) -├── INICIO-AQUI.md ← Este archivo -├── package.json ← Scripts del monorepo -├── docker-compose.yml ← Contenedor de base de datos PostgreSQL local -├── setup.ps1 / setup.sh ← Scripts de aprovisionamiento de entorno -│ -├── backend/ ← API REST en NestJS -│ ├── src/ -│ │ ├── auth/ ← Módulo de SSO Active Directory / JWT -│ │ ├── cms/ ← Módulo de Gestión de Contenidos -│ │ ├── directory/ ← Módulo de Directorios Corporativos -│ │ ├── workflow/ ← Módulo de Workflow de Aprobación -│ │ ├── spaces/ ← Módulo de Reservas de Espacios -│ │ └── ticketing/ ← Módulo de Incidencias (Ticketing) -│ └── package.json -│ -├── frontend/ ← SPA en Angular 17+ -│ ├── src/app/ -│ │ ├── core/ ← Guardias de SSO, interceptores HTTP, auth services -│ │ ├── shared/ ← Componentes comunes estilo Neon/Cyberpunk -│ │ └── features/ ← Módulos visuales correspondientes a cada subagente -│ └── package.json -│ -└── standards/ ← Estándares del proyecto - ├── 01-subagents-prompts.md ← Prompts e instrucciones para cada subagente - ├── 02-database-schema.md ← Modelado e integridad PostgreSQL - ├── 03-active-directory-sso.md ← Flujo de autenticación detallado - └── 04-ui-ux-neon.md ← Directrices de diseño Neon/Cyberpunk/Vercel -``` - ---- - -## Paso 1: Configurar el Entorno - -Ejecuta el script de configuración correspondiente a tu sistema operativo en la raíz del proyecto para copiar la plantilla de variables de entorno y preparar el workspace: - -```bash -# Windows (PowerShell): -Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process; .\setup.ps1 - -# Linux / macOS (Bash): -chmod +x setup.sh && ./setup.sh -``` - ---- - -## Paso 2: Iniciar Base de Datos Local - -Levanta el contenedor de PostgreSQL para desarrollo local: -```bash -docker-compose up -d -``` -Esto creará la base de datos `kinetix_db` expuesta en `localhost:5432` y pgAdmin en `http://localhost:5050` con las credenciales configuradas en el archivo `.env`. - ---- - -## Paso 3: Flujo de Autenticación Integrado (Active Directory SSO) - -1. El cliente entra en la app Angular. Si no está autenticado, el guardia de SSO lo redirige al portal institucional de Microsoft Entra ID. -2. Al ingresar sus credenciales institucionales, se le retorna un JWT. -3. El frontend Angular intercepta las llamadas HTTP e inyecta el JWT en la cabecera `Authorization: Bearer `. -4. El backend NestJS valida el token en el módulo `auth` y le da acceso a los endpoints correspondientes según su rol en la organización. diff --git a/doc/presentacion_kinetix.html b/doc/presentacion_kinetix.html index db010b7..c02e3ea 100644 --- a/doc/presentacion_kinetix.html +++ b/doc/presentacion_kinetix.html @@ -50,6 +50,7 @@ padding: 0; height: 100%; box-sizing: border-box; + top: 0 !important; } .reveal .slides section.present { display: flex !important; @@ -1479,7 +1480,7 @@ backgroundTransition: 'fade', width: 1280, height: 720, - margin: 0, + margin: 0.025, minScale: 0.2, maxScale: 2.0, pdfSeparateFragments: false,