# Alpha — KAPPA Hub

> Asistente multi-proyecto para KAPPA. Semilla de RUMBO.
> POC en producción como herramienta de Business Analyst.

---

## Stack

| Capa | Tecnología |
|------|-----------|
| Desktop | Tauri v2 |
| Frontend | Vue 3 + TypeScript + Vite |
| Runtime | Bun |
| BD local | Turso (libSQL) |
| UI | shadcn-vue (New York) + Tailwind CSS v4 |
| Tablas | AG Grid Community |
| i18n | vue-i18n (es + en) |

## Inicio rápido

```bash
cd 02_productos/kappa-hub
bun install          # solo la primera vez
npx tauri dev         # abre la app Tauri
```

## Estructura

```
kappa-hub/
├── src/                  # Frontend Vue 3
│   ├── views/            # LoginView, DashboardView, ProjectListView, UsersView, CalendarView, SchedulerView
│   ├── components/       # AppSidebar, NavUser, NavProjects, UI (shadcn-vue)
│   ├── stores/           # Pinia: auth, projects, workitems, users, scheduler
│   ├── services/         # kappa-api, tauri-db, clean-html, calendar
│   ├── types/            # Tipos KAPPA
│   ├── i18n/             # es.json, en.json
│   └── assets/           # Tema AG Grid
├── src-tauri/            # Backend Rust
│   ├── src/
│   │   ├── main.rs       # Entry point Tauri
│   │   └── db.rs         # Turso/libSQL (11 tablas)
│   └── tauri.conf.json
├── docs/                 # Documentación técnica
│   ├── arquitectura_alpha.md
│   ├── metricas_pmi.md
│   └── learnings_para_rumbo.md
└── public/               # Assets estáticos
    └── Alpha.svg
```

## Base de datos (Turso)

11 tablas locales en `~/Library/Application Support/com.teloprax.alpha/alpha.db`:

| Tabla | Contenido |
|-------|-----------|
| `projects` | Proyectos KAPPA |
| `epics` | Épicas por proyecto |
| `user_stories` | HUs con relación a épicas |
| `work_items` | Features, tareas, bugs |
| `alpha_users` | Usuarios + campos locales (rol, seniority, célula) |
| `cells` | Células / equipos |
| `cell_members` | Usuario ↔ célula |
| `project_members` | Usuario ↔ proyecto |
| `absences` | Vacaciones, permisos |
| `daily_logs` | Registro diario de trabajo |
| `performance_snapshots` | Métricas SPI, CPI, velocity |

## APIs KAPPA integradas

| Endpoint | Uso |
|----------|-----|
| `/users/login/` | Auth |
| `/users/all/` | Todos los usuarios |
| `/initiatives-all/` | Proyectos |
| `/userstorys/` | HUs (paginado) |
| `/epicdevelopment/` | Épicas (paginado, CRUD) |
| `/employees/` | Usuarios ↔ proyectos (paginado) |
| `/logbooks/` | Bitácoras |
| `/plannings/` | Planeaciones |

## Reglas del proyecto

1. **No hardcodear texto** — usar `t('clave')` de vue-i18n
2. **KAPPA retorna tipos mixtos** — usar `String()` siempre
3. **No silenciar errores** — siempre `console.error()`
4. **Observabilidad obligatoria** — toda función debe loguear `[Alpha]` + acción + datos clave + errores completos
5. **IDs jerárquicos** — componentes con `id="{view}-{section}-{element}"` en kebab-case. Ej: `dashboard-stats-epics`
6. **Build verde siempre** — `bun run build` + `cargo build` sin errores

## Documentos clave

- `AGENTS.md` — Punto de entrada para IAs
- `docs/arquitectura_alpha.md` — Arquitectura completa
- `docs/metricas_pmi.md` — Métricas y fórmulas PMI
- `docs/learnings_para_rumbo.md` — Patrones y utilidades para RUMBO
