Files
Alpha/AGENTS.md
T

4.7 KiB

KAPPA Hub

Asistente multi-proyecto para KAPPA. Semilla de RUMBO. POC → validación diaria → lo que funciona migra a RUMBO.

Stack

Capa Tecnología Versión
Desktop shell Tauri v2 2.11
Frontend Vue 3 + TypeScript + Vite 3.4 / 5.x
Runtime JS Bun 1.3+
Estado Pinia 2.1
BD local Turso (libSQL) Embedded
HTTP fetch() directo a KAPPA (proxy Vite en dev)
Auth Bearer token (POST /api/users/login/)
UI shadcn-vue (New York) + Tailwind CSS v4 2.7
Tablas AG Grid Community + tanstack/vue-table 35.3
i18n vue-i18n (es.json + en.json) — PROHIBIDO hardcodear texto 11.4

Reglas de código

  1. PROHIBIDO hardcodear texto visible al usuario. Todo texto debe usar t('clave') de vue-i18n. Si no existe la clave, agregarla a es.json y en.json.
  2. KAPPA retorna tipos mixtos: strings, números y booleanos para el mismo campo (ej: status puede ser "active", true, o 3). Siempre usar String(valor) o safeStr() antes de operar.
  3. No usar .catch(() => {}) sin loguear el error. Siempre console.error().
  4. Los nombres de funciones y archivos van en español cuando son semánticos del dominio (ej: syncHUsToTurso → OK, pero labels visibles van en i18n).

Sincronización entre máquinas (Mac Mini ↔ MacBook Air)

El proyecto vive en iCloud Drive: com~apple~CloudDocs/AI/Teloprax/02_productos/kappa-hub/.

  • Código: se sincroniza automáticamente vía iCloud. Solo bun install una vez por máquina.
  • Datos de KAPPA: viven en el servidor (kappa.lambdaanalytics.co). El Hub es solo un cliente.
  • Token: localStorage del navegador. Loguearse una vez por máquina.
  • Datos locales futuros (borradores, caché): se guardarán como archivos en data/ dentro del proyecto, sincronizados vía iCloud. Ver ../rumbo/sincronizacion.md.

Calendarios externos (K-21)

Servicio Auth Capacidad
Google Calendar OAuth2 Leer eventos, escribir eventos
Microsoft Graph (Outlook/Teams) OAuth2 Leer eventos, escribir eventos
iCal (.ics) Archivo Importar/exportar

Flujo post-reunión (K-22)

1. RUMBO lee calendario (Google/Outlook)
2. Detecta: "Reunión con Cliente X, 8-9am"
3. Después de la reunión (+15/30 min):
   → 🔔 "Terminó tu reunión con Cliente X"
   → "¿Ya capturaste las notas?"
   → "¿Hay transcripción?"
   → "¿Se extrajeron las tareas?"
4. Si no → RUMBO guía a completar

Analogía: RUMBO como Apple Watch — te alerta cuando llevas mucho tiempo sentado (reuniones sin seguimiento = deuda de contexto).

API de recordatorios (futuro)

interface Reminder {
  id: string
  trigger_at: string        // ISO datetime
  title: string
  body: string
  action_url?: string      // deep link a la vista correspondiente
  dismissed: boolean
  source: 'calendar' | 'scheduler' | 'hu_deadline'
}

APIs KAPPA integradas

Endpoint Método Uso en el hub
/users/login/ POST Auth
/initiatives-all/ GET Listar proyectos
/users/all/ GET Listar usuarios
/userstorys/create/ POST Crear HU desde transcripción
/logbooks_master/create/ POST Crear bitácora
/logbooks/create/ POST Entrada de bitácora
/plannings_master/create/ POST Crear planeación
/plannings/create/ POST Entrada de planeación
/business-rules/create/ POST Reglas de negocio
/functionalrequirements/create/ POST Requisitos funcionales/no funcionales

Estructura

kappa-hub/
├── src/
│   ├── types/kappa.ts          # Tipos TypeScript
│   ├── services/kappa-api.ts   # Cliente HTTP KAPPA
│   ├── stores/                 # Pinia
│   │   ├── auth.ts
│   │   ├── projects.ts
│   │   └── workitems.ts
│   ├── views/
│   │   ├── LoginView.vue
│   │   └── DashboardView.vue
│   ├── components/layout/
│   │   └── AppShell.vue
│   ├── App.vue
│   └── main.ts
├── package.json
└── vite.config.ts

Cómo ejecutar

cd "02_productos/kappa-hub"
bun install   # una vez por máquina
bun dev       # http://localhost:5173

Abre http://localhost:5173. El proxy de Vite redirige /api/* a https://kappa.lambdaanalytics.co.

Próximos pasos

  1. Agregar Dexie.js para cache offline (K-15)
  2. Pipeline de transcripciones (K-10)
  3. Dashboard multi-proyecto (K-11)
  4. Priorizador diario (K-12)
  5. Generador de reportes (K-13)
  6. Integración calendario Google/Outlook (K-21)
  7. Alertas post-reunión (K-22)