From 1d057cdcae263c56e6e266cf418255c8bf9a1fb6 Mon Sep 17 00:00:00 2001 From: Ricardo Gonzalez Date: Wed, 27 May 2026 20:40:45 -0500 Subject: [PATCH] actualizar AGENTS.md con reglas i18n, tipos KAPPA mixtos y stack actualizado --- AGENTS.md | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index ef34dfc..40bd1bd 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -5,14 +5,25 @@ ## Stack -| Capa | Tecnología | -|------|-----------| -| Frontend | Vue 3 + TypeScript + Vite | -| Runtime | **Bun** (1.3+) | -| Estado | Pinia | +| 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/) | -| Almacenamiento | localStorage (token, last project) → Dexie (futuro) | +| 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)