# 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 <JWT>`.
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.
