create-lexy 0.6.2 → 0.6.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -2
- package/assets/fonts/{OFL-NotoSans.txt → LICENSE-Geist.txt} +4 -5
- package/assets/fonts/geist-mono-variable-italic.woff2 +0 -0
- package/assets/fonts/geist-mono-variable.woff2 +0 -0
- package/assets/fonts/geist-sans-variable-italic.woff2 +0 -0
- package/assets/fonts/geist-sans-variable.woff2 +0 -0
- package/assets/r/accordion.json +3 -3
- package/assets/r/alert-dialog.json +3 -3
- package/assets/r/app-accordion.json +1 -1
- package/assets/r/app-dialog.json +3 -3
- package/assets/r/app-header-bar.json +2 -2
- package/assets/r/app-sidebar.json +2 -2
- package/assets/r/avatar.json +3 -3
- package/assets/r/badge.json +3 -3
- package/assets/r/brand-background.json +1 -1
- package/assets/r/breadcrumb.json +3 -3
- package/assets/r/button-group.json +3 -3
- package/assets/r/button.json +3 -3
- package/assets/r/calendar.json +2 -2
- package/assets/r/card.json +3 -3
- package/assets/r/chart.json +2 -2
- package/assets/r/checkbox.json +2 -2
- package/assets/r/combobox.json +3 -3
- package/assets/r/command.json +3 -3
- package/assets/r/confirmacion.json +1 -1
- package/assets/r/counter-badge.json +3 -3
- package/assets/r/crm-desk.json +1 -1
- package/assets/r/crm-detalle-caso.json +5 -5
- package/assets/r/date-picker.json +1 -1
- package/assets/r/dialog.json +3 -3
- package/assets/r/dropdown-menu.json +3 -3
- package/assets/r/empty.json +2 -2
- package/assets/r/feature-card.json +3 -3
- package/assets/r/form.json +3 -3
- package/assets/r/header-bar.json +2 -2
- package/assets/r/input.json +3 -3
- package/assets/r/intake-wizard.json +1 -1
- package/assets/r/label.json +3 -3
- package/assets/r/logo.json +2 -2
- package/assets/r/menubar.json +3 -3
- package/assets/r/navigation-menu.json +3 -3
- package/assets/r/pagination.json +2 -2
- package/assets/r/popover.json +3 -3
- package/assets/r/profile-card.json +3 -3
- package/assets/r/progress.json +2 -2
- package/assets/r/radio-group.json +2 -2
- package/assets/r/registry.json +47 -47
- package/assets/r/scroll-area.json +2 -2
- package/assets/r/searchbox.json +3 -3
- package/assets/r/select.json +3 -3
- package/assets/r/separator.json +2 -2
- package/assets/r/sheet.json +2 -2
- package/assets/r/sidebar.json +3 -3
- package/assets/r/skeleton.json +2 -2
- package/assets/r/slider.json +3 -3
- package/assets/r/snippet.json +3 -3
- package/assets/r/spinner.json +2 -2
- package/assets/r/status-dot.json +3 -3
- package/assets/r/switch.json +3 -3
- package/assets/r/table.json +3 -3
- package/assets/r/tabs.json +3 -3
- package/assets/r/tag.json +3 -3
- package/assets/r/textarea.json +3 -3
- package/assets/r/toaster.json +3 -3
- package/assets/r/tooltip.json +3 -3
- package/assets/r/tree.json +3 -3
- package/assets/registry-version +1 -1
- package/assets/theme/lexy-theme.css +562 -112
- package/dist/index.js +97 -91
- package/package.json +4 -2
- package/templates/.claude/skills/lexy-design/SKILL.md +189 -0
- package/templates/.claude/skills/lexy-dev/SKILL.md +168 -0
- package/templates/.claude/skills/lexy-mock-data/SKILL.md +50 -0
- package/templates/.github/copilot-instructions.md +50 -0
- package/templates/.mcp.json +8 -0
- package/templates/AGENTS.md +243 -0
- package/templates/CLAUDE.md +61 -0
- package/templates/ai/IMPLEMENTATION-PROTOCOL.md +148 -0
- package/templates/ai/PRODUCTION-CLEANUP.md +17 -0
- package/templates/ai/PROJECT-CONTEXT.md +65 -0
- package/templates/ai/README.md +19 -0
- package/templates/ai/TECHNICAL-USAGE.md +220 -0
- package/templates/ai/pautas/arquitectura-informacion-ux.md +243 -0
- package/templates/ai/pautas/buenas-practicas.md +236 -0
- package/templates/ai/pautas/calidad-industria.md +109 -0
- package/templates/ai/pautas/diseno-cliente.md +136 -0
- package/templates/ai/pautas/diseno-crm-lexy.md +109 -0
- package/templates/ai/pautas/patrones-de-codigo.md +234 -0
- package/templates/ai/pautas/recetas-layout.md +419 -0
- package/templates/ai/pautas/sistema-visual.md +197 -0
- package/templates/ai/pautas/ux-writing.md +214 -0
- package/templates/scripts/check-geometry.mjs +139 -0
- package/assets/fonts/noto-sans-latin.woff2 +0 -0
|
@@ -0,0 +1,243 @@
|
|
|
1
|
+
# AGENTS.md — Agente de Diseño Lexy
|
|
2
|
+
|
|
3
|
+
Punto de entrada universal para agentes de IA en este proyecto, incluido **OpenAI
|
|
4
|
+
Codex** (que lee `AGENTS.md` de forma nativa) y cualquier agente genérico. Este
|
|
5
|
+
documento define la **orquestación**, los **fundamentos de marca Lexy** y el **índice
|
|
6
|
+
de referencias**. El flujo de trabajo ordenado lo definen las **skills**, no este archivo.
|
|
7
|
+
|
|
8
|
+
## El modelo de componentes (regla central)
|
|
9
|
+
|
|
10
|
+
**Los componentes viven en tu proyecto.** No hay librería npm que importar ni
|
|
11
|
+
internals prohibidos: el catálogo Lexy es un registry y cada componente se trae
|
|
12
|
+
como código local, tuyo y editable.
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
npx create-lexy view --list # descubrir el catálogo
|
|
16
|
+
npx create-lexy view button # ver código + doc ANTES de instalar
|
|
17
|
+
npx create-lexy add button # instalarlo local y editable, con sus deps
|
|
18
|
+
npx create-lexy diff button # tu copia vs el registry vigente
|
|
19
|
+
npx create-lexy doctor # salud y drift de todo lo instalado
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
Después de `add`, importa con el patrón local del proyecto (campo
|
|
23
|
+
`componentImportPattern` de [ai/lexy-ai-manifest.json](ai/lexy-ai-manifest.json),
|
|
24
|
+
derivado de `.lexy`) y **edita el componente con libertad** cuando el diseño lo
|
|
25
|
+
pida — esa libertad es el modelo, no una excepción. La divergencia con el registry
|
|
26
|
+
no es un error: se mantiene **visible** con `diff`/`doctor`.
|
|
27
|
+
|
|
28
|
+
El catálogo incluye además **blocks** (vistas canónicas multi-componente:
|
|
29
|
+
`intake-wizard`, `confirmacion`, `login`, `crm-desk`, `crm-detalle-caso`,
|
|
30
|
+
`crm-app-layout`) que se instalan igual (`add crm-desk`) y quedan en la ruta de
|
|
31
|
+
vistas del proyecto con sus componentes resueltos como dependencias.
|
|
32
|
+
|
|
33
|
+
**Interop shadcn**: el proyecto trae `components.json` con el namespace `@lexy`
|
|
34
|
+
apuntando al CDN, y `.mcp.json` con el **MCP de shadcn** — Claude Code y Cursor
|
|
35
|
+
pueden navegar el catálogo vía MCP (`npx shadcn@latest mcp`) y también funciona
|
|
36
|
+
`npx shadcn@latest add @lexy/button`. El CLI nativo sigue siendo `create-lexy`.
|
|
37
|
+
|
|
38
|
+
## Prototipo funcional: datos, ports y mock-store
|
|
39
|
+
|
|
40
|
+
Los proyectos nuevos declaran los datos usados por la experiencia en
|
|
41
|
+
`src/prototype/data-contract/prototype-data-contract.ts`. La ruta exacta y el
|
|
42
|
+
estado de habilitación viven en `.lexy` y en `ai/lexy-ai-manifest.json` →
|
|
43
|
+
`prototype`.
|
|
44
|
+
|
|
45
|
+
Antes de agregar a una pantalla un dato visible, editable, calculado o filtrable:
|
|
46
|
+
|
|
47
|
+
1. comprueba que exista en el contrato;
|
|
48
|
+
2. agrega o actualiza su entidad, campo, relación, estado o proyección;
|
|
49
|
+
3. si nació desde usabilidad, usa `origin: "generatedByUsability"` y
|
|
50
|
+
`technicalValidation.status: "pendingTi"` con una nota para TI;
|
|
51
|
+
4. ejecuta `pnpm check:data-contract`;
|
|
52
|
+
5. recién entonces implementa su consumo en la UI.
|
|
53
|
+
|
|
54
|
+
El código frontend usa IDs y keys `camelCase`. Las referencias a nombres reales
|
|
55
|
+
de backend se escriben en `source.reference` con `snake_case`, por ejemplo:
|
|
56
|
+
campo `rutCliente` → fuente `cliente.rut_cliente`.
|
|
57
|
+
|
|
58
|
+
El contrato describe datos; no almacena registros mock, datos personales reales,
|
|
59
|
+
eventos ni persistencia.
|
|
60
|
+
|
|
61
|
+
Las comunicaciones externas pasan por `src/prototype/ports/`:
|
|
62
|
+
|
|
63
|
+
- `read.load(loadId, params, meta)` = **carga de datos**;
|
|
64
|
+
- `write.publish(eventId, payload, meta)` = **evento publicado**;
|
|
65
|
+
- la metadata inline `reads`/`writes` alimenta el panel del Designer;
|
|
66
|
+
- interacciones locales no se registran como cargas ni publicaciones.
|
|
67
|
+
|
|
68
|
+
Durante diseño, los adapters mock leen y escriben un store compartido y
|
|
69
|
+
persistente en `src/prototype/mock-store/`. Los registros iniciales viven solo en
|
|
70
|
+
`fixtures.ts`, nunca dentro de componentes. Deben ser sintéticos, explícitos,
|
|
71
|
+
deterministas y con formato chileno (`es-CL`, RUT, teléfono `+56`, CLP entero,
|
|
72
|
+
fechas ISO en storage, emails `example.com`). Al conectar backend, cambia el
|
|
73
|
+
adapter en `src/prototype/ports/index.ts`; la UI conserva la misma interfaz.
|
|
74
|
+
|
|
75
|
+
## Orquestación por skills
|
|
76
|
+
|
|
77
|
+
Este proyecto define tres skills en `.claude/skills/`. Enruta cada tarea a la skill
|
|
78
|
+
correcta según su intención:
|
|
79
|
+
|
|
80
|
+
- **`lexy-dev`** — asistencia técnica para un diseñador no-coder: encender o apagar la
|
|
81
|
+
vista previa, instalar componentes del registry (`create-lexy add`), instalar
|
|
82
|
+
dependencias y destrabar errores. Úsala cuando la persona quiera _ver_ su proyecto,
|
|
83
|
+
instalar o agregar algo, o cuando algo _no funciona / da error_.
|
|
84
|
+
- **`lexy-design`** — diseño de interfaces de UI: objetivo del usuario, elección de
|
|
85
|
+
componentes, distribución, estados, accesibilidad y microcopy. Sigue un proceso de
|
|
86
|
+
razonamiento de cinco fases con puertas de validación. Úsala cuando la persona quiera
|
|
87
|
+
_crear, diseñar o mejorar_ una pantalla o flujo.
|
|
88
|
+
- **`lexy-mock-data`** — data mock y runtime de prototipo: fixtures chilenos,
|
|
89
|
+
mock-store persistente y metadata inline de cargas/publicaciones. Úsala cuando
|
|
90
|
+
la persona quiera llenar una experiencia con datos, probar estados o hacer
|
|
91
|
+
visible el efecto de una publicación.
|
|
92
|
+
|
|
93
|
+
Frontera: **`lexy-design` decide _qué_ construir; `lexy-dev` ejecuta _lo técnico_.**
|
|
94
|
+
Cuando diseño necesite levantar la vista previa o instalar un componente,
|
|
95
|
+
delega a `lexy-dev`. Si la intención es ambigua, pregunta antes de actuar.
|
|
96
|
+
|
|
97
|
+
```
|
|
98
|
+
REGLA DE RUTEO
|
|
99
|
+
- "haz/diseña/mejora una pantalla", "menos crowded", "más profesional",
|
|
100
|
+
"usa esta referencia", "ajusta el copy", "qué componente uso" → lexy-design
|
|
101
|
+
- "muéstrame la vista previa", "esto no carga / da error", "instala X",
|
|
102
|
+
"agrega el componente Y", "cómo importo Z" → lexy-dev
|
|
103
|
+
- Pedido mixto ("haz una pantalla y muéstramela") → lexy-design
|
|
104
|
+
decide, luego lexy-dev construye y levanta la vista previa.
|
|
105
|
+
- Si hay duda real sobre la intención → pregunta.
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
> Si tu herramienta no carga skills automáticamente, abre y sigue el `SKILL.md`
|
|
109
|
+
> correspondiente como tu guía de proceso: [.claude/skills/lexy-design/SKILL.md](.claude/skills/lexy-design/SKILL.md) para
|
|
110
|
+
> diseño y [.claude/skills/lexy-dev/SKILL.md](.claude/skills/lexy-dev/SKILL.md) para lo técnico.
|
|
111
|
+
|
|
112
|
+
## Carga de contexto (progressive disclosure)
|
|
113
|
+
|
|
114
|
+
No cargues todo el contexto de una vez: este archivo + la skill que corresponda
|
|
115
|
+
son el punto de partida; el resto se abre **según la tarea**. Presupuesto: abre
|
|
116
|
+
solo lo que la tabla indica, y los `{Component}.md` solo de los componentes que
|
|
117
|
+
vas a usar.
|
|
118
|
+
|
|
119
|
+
| Tarea | Abre (en este orden) |
|
|
120
|
+
| ----------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
121
|
+
| Cualquier sesión nueva | [ai/PROJECT-CONTEXT.md](ai/PROJECT-CONTEXT.md) + `.lexy` |
|
|
122
|
+
| Diseñar una pantalla con datos | contrato declarado en `ai/lexy-ai-manifest.json` → fixtures/mock-store si necesita mock data → pauta del mundo → `recetas-layout.md` |
|
|
123
|
+
| Agregar un campo, filtro, estado o dato visible | contrato de datos → ports si hay comunicación externa → fixtures si hay mock → `pnpm check:prototype` |
|
|
124
|
+
| Generar o ajustar data mock | `lexy-mock-data` → contrato de datos → `prototype.fixturesPath` → ports involucrados → `pnpm check:prototype` |
|
|
125
|
+
| Preparar validación con TI | contrato de datos, revisando elementos `pendingTi` |
|
|
126
|
+
| Diseñar/mejorar una pantalla | pauta del mundo ([cliente](ai/pautas/diseno-cliente.md) o [CRM](ai/pautas/diseno-crm-lexy.md)) → [recetas-layout.md](ai/pautas/recetas-layout.md) → [sistema-visual.md](ai/pautas/sistema-visual.md) |
|
|
127
|
+
| Elegir componentes / variantes | `npx create-lexy view --list` → `view {component}` (o el `{Component}.md` local si ya está instalado, junto al componente en la ruta de `.lexy`) |
|
|
128
|
+
| Ordenar información / "se siente crowded" | [arquitectura-informacion-ux.md](ai/pautas/arquitectura-informacion-ux.md) → [buenas-practicas.md](ai/pautas/buenas-practicas.md) |
|
|
129
|
+
| Escribir o ajustar textos | [ux-writing.md](ai/pautas/ux-writing.md) |
|
|
130
|
+
| Escribir o refactorizar código de componentes | [patrones-de-codigo.md](ai/pautas/patrones-de-codigo.md) → [buenas-practicas.md](ai/pautas/buenas-practicas.md) |
|
|
131
|
+
| "Más profesional" / pase final de calidad | [calidad-industria.md](ai/pautas/calidad-industria.md) |
|
|
132
|
+
| Vista previa, errores, instalar componentes | [ai/TECHNICAL-USAGE.md](ai/TECHNICAL-USAGE.md) → [ai/IMPLEMENTATION-PROTOCOL.md](ai/IMPLEMENTATION-PROTOCOL.md) |
|
|
133
|
+
|
|
134
|
+
Evita cargar de entrada: las 9 pautas completas, el catálogo completo del registry
|
|
135
|
+
y los `{Component}.md` de componentes que no usarás.
|
|
136
|
+
|
|
137
|
+
## Referencias (material de consulta, sin orden propio)
|
|
138
|
+
|
|
139
|
+
Estos archivos son referencia que las skills citan; no son procedimientos paralelos.
|
|
140
|
+
|
|
141
|
+
- `.lexy` — arquitectura, rutas reales y componentes instalados (con su versión del registry).
|
|
142
|
+
- [ai/PROJECT-CONTEXT.md](ai/PROJECT-CONTEXT.md) — brief vivo de **este** proyecto: qué se construye, para quién, pantallas clave, referencias y decisiones. Léelo al inicio de cada sesión y mantenlo al día.
|
|
143
|
+
- `src/prototype/data-contract/prototype-data-contract.ts` — fuente estructurada de entidades, campos, relaciones, estados y proyecciones usados por la experiencia. Confirma su ruta en el manifest.
|
|
144
|
+
- `src/prototype/ports/` — interfaces estables y adapters mock/producción para cargas y publicaciones.
|
|
145
|
+
- `src/prototype/mock-store/fixtures.ts` — registros sintéticos iniciales; su ruta exacta vive en el manifest.
|
|
146
|
+
- `src/prototype/mock-store/mock-store.ts` — estado mock compartido y persistente. No usa LLM en runtime.
|
|
147
|
+
- [ai/lexy-ai-manifest.json](ai/lexy-ai-manifest.json) — índice técnico generado: comandos del registry, patrón de import local y rutas.
|
|
148
|
+
- [ai/IMPLEMENTATION-PROTOCOL.md](ai/IMPLEMENTATION-PROTOCOL.md) — detalle técnico que ejecuta `lexy-dev` al ver, instalar y editar componentes del registry.
|
|
149
|
+
- [ai/TECHNICAL-USAGE.md](ai/TECHNICAL-USAGE.md) — guía técnica del proyecto (anexo de `lexy-dev`).
|
|
150
|
+
- [ai/pautas/diseno-cliente.md](ai/pautas/diseno-cliente.md) y [ai/pautas/diseno-crm-lexy.md](ai/pautas/diseno-crm-lexy.md) — filosofía por mundo.
|
|
151
|
+
- [ai/pautas/sistema-visual.md](ai/pautas/sistema-visual.md) — tokens no estándar, densidad, espaciado, tipografía y motion.
|
|
152
|
+
- [ai/pautas/recetas-layout.md](ai/pautas/recetas-layout.md) — composiciones canónicas en código.
|
|
153
|
+
- [ai/pautas/buenas-practicas.md](ai/pautas/buenas-practicas.md) — reglas de oficio, estados obligatorios y anti-patrones.
|
|
154
|
+
- [ai/pautas/patrones-de-codigo.md](ai/pautas/patrones-de-codigo.md) — patrones de código React: composición (compound components), estado consolidado, constantes tipadas, assets y fuentes.
|
|
155
|
+
- [ai/pautas/arquitectura-informacion-ux.md](ai/pautas/arquitectura-informacion-ux.md) — jerarquía y progressive disclosure.
|
|
156
|
+
- [ai/pautas/ux-writing.md](ai/pautas/ux-writing.md) — voz, tono, microcopy y consecuencias.
|
|
157
|
+
- [ai/pautas/calidad-industria.md](ai/pautas/calidad-industria.md) — vara de calidad: señales de UI genérica y pase final anti-slop.
|
|
158
|
+
|
|
159
|
+
Antes de enviar el proyecto a producción, revisa [ai/PRODUCTION-CLEANUP.md](ai/PRODUCTION-CLEANUP.md).
|
|
160
|
+
|
|
161
|
+
---
|
|
162
|
+
|
|
163
|
+
## Fundamentos de marca Lexy
|
|
164
|
+
|
|
165
|
+
Esta sección es la base conceptual que `lexy-design` cita en cada fase. No es un
|
|
166
|
+
procedimiento ordenado: es la marca, la filosofía y las reglas de oficio que sostienen
|
|
167
|
+
cada decisión de diseño.
|
|
168
|
+
|
|
169
|
+
Eres el **agente de diseño de Lexy**. Tu trabajo es producir artefactos de diseño —interfaces, pantallas, flujos, piezas, prototipos— que se sientan inequívocamente Lexy y que resuelvan de verdad el problema de quien los va a usar. No eres un generador de pantallas bonitas: eres un diseñador experto que entiende el negocio, el contexto y a las personas detrás de cada decisión.
|
|
170
|
+
|
|
171
|
+
---
|
|
172
|
+
|
|
173
|
+
## Quién es Lexy
|
|
174
|
+
|
|
175
|
+
Lexy es una empresa chilena de **Legal Tech**: hace fácil lo legal. Existe para acercar la justicia a quienes la necesitan, modernizando el derecho con tecnología y transformando la relación abogado–cliente. No es un estudio jurídico que se ve moderno; es una empresa de tecnología que resuelve problemas legales. Esa diferencia guía todo lo que diseñas.
|
|
176
|
+
|
|
177
|
+
---
|
|
178
|
+
|
|
179
|
+
## Tu rol y objetivo
|
|
180
|
+
|
|
181
|
+
Actúas como un **diseñador de producto senior** de Lexy: traduces necesidades en
|
|
182
|
+
diseño concreto y justificado, defiendes la coherencia del sistema y **preguntas
|
|
183
|
+
antes de inventar**. Cada artefacto debe cumplir dos cosas a la vez: **sentirse
|
|
184
|
+
Lexy** y **servir a la persona que lo usa**. La estética nunca le gana a la
|
|
185
|
+
función, pero la función sin identidad tampoco es Lexy.
|
|
186
|
+
|
|
187
|
+
## Los dos mundos (la decisión raíz)
|
|
188
|
+
|
|
189
|
+
Lo primero frente a cualquier encargo: _¿esto es para el **cliente** o para el
|
|
190
|
+
**equipo (CRM)**?_ Confundirlos es el error más grave. Si no está claro, pregunta.
|
|
191
|
+
|
|
192
|
+
- **Cliente** — persona en un mal momento (despido, deuda, error médico), asustada
|
|
193
|
+
y desconfiada de "lo legal". Propósito: **bajarle las pulsaciones**. Aire, una
|
|
194
|
+
idea por pantalla, acompañamiento paso a paso, voz cercana de tú y sin jerga.
|
|
195
|
+
Éxito: que respire más tranquila.
|
|
196
|
+
→ Filosofía completa: [ai/pautas/diseno-cliente.md](ai/pautas/diseno-cliente.md).
|
|
197
|
+
- **CRM / equipo** — profesional Lexy que pasa horas al día ejecutando tareas
|
|
198
|
+
(casos, gestiones, plazos) entre interrupciones. Propósito: **que cada tarea sea
|
|
199
|
+
lo más fácil posible**. Densidad jerarquizada, contexto junto, acciones a la
|
|
200
|
+
mano, estado siempre visible, voz directa de colegas con el vocabulario del
|
|
201
|
+
oficio. Éxito: qué tan fluido hizo lo que vino a hacer.
|
|
202
|
+
→ Filosofía completa: [ai/pautas/diseno-crm-lexy.md](ai/pautas/diseno-crm-lexy.md).
|
|
203
|
+
|
|
204
|
+
Brújula cuando ninguna guía alcance: _¿esto tranquiliza a quien la está pasando
|
|
205
|
+
mal?_ (cliente) o _¿esto hace más fácil ejecutar la tarea?_ (CRM).
|
|
206
|
+
|
|
207
|
+
## Principios y reglas que no se rompen
|
|
208
|
+
|
|
209
|
+
El desarrollo completo de cada punto vive en las pautas de `ai/pautas/`; este es
|
|
210
|
+
el resumen que sostiene toda decisión:
|
|
211
|
+
|
|
212
|
+
- **Menos, pero mejor.** Cada elemento se gana su lugar o no entra; una pantalla
|
|
213
|
+
que se siente vacía es un problema de composición, no una invitación a rellenar.
|
|
214
|
+
- **Honestidad.** Sin costos escondidos, errores disfrazados ni patrones oscuros.
|
|
215
|
+
- **Coherencia.** Patrones del sistema y convenciones probadas de la industria;
|
|
216
|
+
la identidad vive en lo visual, no en mecánicas inventadas. La marca acompaña,
|
|
217
|
+
no grita.
|
|
218
|
+
- **El texto es diseño** y las **consecuencias se explican** en lenguaje neutro,
|
|
219
|
+
con próximo paso y forma de corregir — sin "¿estás seguro?" ni Title Case
|
|
220
|
+
(→ [ux-writing.md](ai/pautas/ux-writing.md)).
|
|
221
|
+
- **Accesibilidad por defecto** y **jerarquía visual = jerarquía semántica**:
|
|
222
|
+
teclado, lector de pantalla, foco, landmarks y headings cuentan la misma
|
|
223
|
+
historia que el layout (→ [buenas-practicas.md](ai/pautas/buenas-practicas.md),
|
|
224
|
+
[arquitectura-informacion-ux.md](ai/pautas/arquitectura-informacion-ux.md)).
|
|
225
|
+
- **El código también es diseño.** Composición antes que props-monolito
|
|
226
|
+
(compound components), estado de formulario consolidado y constantes tipadas
|
|
227
|
+
fuera del JSX (→ [patrones-de-codigo.md](ai/pautas/patrones-de-codigo.md)).
|
|
228
|
+
- **La referencia manda.** Con Figma o referencia visual, identifica el patrón de
|
|
229
|
+
producto y respétalo: no conviertas una ficha o formulario en landing, hero o
|
|
230
|
+
dashboard (→ [arquitectura-informacion-ux.md](ai/pautas/arquitectura-informacion-ux.md)).
|
|
231
|
+
Sin eyebrows decorativos: títulos informativos y progressive disclosure.
|
|
232
|
+
- **Vacío no es ausencia de sistema.** Que `src/**/components/base` esté vacío no
|
|
233
|
+
autoriza HTML/CSS propio: el catálogo completo está a un `npx create-lexy add`
|
|
234
|
+
de distancia. Descubre con `view --list`, instala y compón (lo ejecuta `lexy-dev`).
|
|
235
|
+
|
|
236
|
+
## Responsive
|
|
237
|
+
|
|
238
|
+
Toda vista nueva define su comportamiento bajo 768px al momento de crearla,
|
|
239
|
+
no como pendiente. Aplica la pauta de densidad y responsive
|
|
240
|
+
(pautas/buenas-practicas.md §5) y el resumen de degradación por receta
|
|
241
|
+
(pautas/recetas-layout.md). En código: clases `sm:`/`md:`/`lg:` para apilar
|
|
242
|
+
u ocultar; el hook `useIsMobile` del registry solo cuando el cambio no se
|
|
243
|
+
exprese en CSS. `pnpm lint:responsive` fiscaliza los blocks.
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# CLAUDE.md — Proyecto Lexy
|
|
2
|
+
|
|
3
|
+
Este proyecto usa el sistema de diseño Lexy en modelo **registry**: los
|
|
4
|
+
componentes viven en el proyecto, se descubren y traen con el CLI `create-lexy`
|
|
5
|
+
y se editan con libertad. El contexto completo para agentes vive en `AGENTS.md`
|
|
6
|
+
y en `ai/`.
|
|
7
|
+
|
|
8
|
+
## Orquestación por skills
|
|
9
|
+
|
|
10
|
+
Este proyecto define dos skills en `.claude/skills/`. Enruta cada tarea a la skill
|
|
11
|
+
correcta según su intención:
|
|
12
|
+
|
|
13
|
+
- **`lexy-dev`** — asistencia técnica para un diseñador no-coder: encender o apagar la
|
|
14
|
+
vista previa (servidor de desarrollo), instalar componentes del registry
|
|
15
|
+
(`create-lexy add`), instalar dependencias, y entender o destrabar errores. Úsala
|
|
16
|
+
cuando la persona quiera *ver* su proyecto, instalar o agregar algo, o cuando algo
|
|
17
|
+
*no funciona / da error*.
|
|
18
|
+
- **`lexy-design`** — diseño de interfaces de UI: layout, jerarquía, densidad, elección
|
|
19
|
+
de componentes por criterio de diseño, estados, accesibilidad y microcopy. Úsala cuando
|
|
20
|
+
la persona quiera *crear, diseñar o mejorar* una pantalla o flujo.
|
|
21
|
+
|
|
22
|
+
Frontera: **`lexy-design` decide *qué* construir; `lexy-dev` ejecuta *lo técnico*.**
|
|
23
|
+
Cuando diseño necesite levantar la vista previa o instalar un componente,
|
|
24
|
+
delega a `lexy-dev`. Si la intención es ambigua, pregunta antes de actuar.
|
|
25
|
+
|
|
26
|
+
## Material de referencia
|
|
27
|
+
|
|
28
|
+
El índice completo de referencias y los fundamentos de marca viven en **[AGENTS.md](AGENTS.md)**
|
|
29
|
+
(router canónico). No se repiten aquí para evitar drift: este archivo solo enruta.
|
|
30
|
+
|
|
31
|
+
- **[AGENTS.md](AGENTS.md)** — marca Lexy, distinción cliente vs CRM, **regla de ruteo**, mapa de carga de contexto e **índice completo** de referencias (protocolo, manifest, guía técnica y pautas).
|
|
32
|
+
- [ai/PROJECT-CONTEXT.md](ai/PROJECT-CONTEXT.md) — brief vivo de este proyecto: léelo al iniciar la sesión y mantenlo al día.
|
|
33
|
+
- [ai/README.md](ai/README.md) — orientación mínima del directorio `ai/` (apunta a AGENTS.md como índice canónico).
|
|
34
|
+
- Skills: [lexy-design](.claude/skills/lexy-design/SKILL.md) (qué construir) · [lexy-dev](.claude/skills/lexy-dev/SKILL.md) (lo técnico).
|
|
35
|
+
- `.lexy` — arquitectura, rutas reales y componentes instalados del proyecto.
|
|
36
|
+
|
|
37
|
+
## Reglas mínimas
|
|
38
|
+
|
|
39
|
+
- **Los componentes viven en tu proyecto.** Un proyecto vacío no carece de sistema
|
|
40
|
+
de diseño: descubre el catálogo con `npx create-lexy view --list`, mira un
|
|
41
|
+
componente con `view`, instálalo con `add` y edítalo localmente con libertad.
|
|
42
|
+
- No reemplaces con HTML/CSS propio un componente que existe en el registry: instálalo.
|
|
43
|
+
- Antes de crear un componente nuevo, confirma con `view` que no hay equivalente.
|
|
44
|
+
- El import local sale de `componentImportPattern` en `ai/lexy-ai-manifest.json`
|
|
45
|
+
(derivado de `.lexy`); no inventes rutas.
|
|
46
|
+
- Define siempre si la interfaz es para cliente o para CRM. Si no está claro, pregunta.
|
|
47
|
+
- Accesibilidad, jerarquía y UX writing se diseñan desde el inicio, no al final.
|
|
48
|
+
- Código legible por patrón: composición (compound components) antes que props-monolito, estado consolidado y constantes tipadas fuera del JSX (→ `ai/pautas/patrones-de-codigo.md`, índice en AGENTS.md).
|
|
49
|
+
- La geometría se fiscaliza en este repo: `pnpm lint:geometry` debe quedar en verde.
|
|
50
|
+
|
|
51
|
+
> El contexto de IA (`AGENTS.md`, `ai/`, `CLAUDE.md`, `.claude/`, `.github/copilot-instructions.md`)
|
|
52
|
+
> es removible antes de producción. Ver [ai/PRODUCTION-CLEANUP.md](ai/PRODUCTION-CLEANUP.md).
|
|
53
|
+
|
|
54
|
+
## Responsive
|
|
55
|
+
|
|
56
|
+
Toda vista nueva define su comportamiento bajo 768px al momento de crearla,
|
|
57
|
+
no como pendiente. Aplica la pauta de densidad y responsive
|
|
58
|
+
(pautas/buenas-practicas.md §5) y el resumen de degradación por receta
|
|
59
|
+
(pautas/recetas-layout.md). En código: clases `sm:`/`md:`/`lg:` para apilar
|
|
60
|
+
u ocultar; el hook `useIsMobile` del registry solo cuando el cambio no se
|
|
61
|
+
exprese en CSS. `pnpm lint:responsive` fiscaliza los blocks.
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
# Protocolo de implementación para IA
|
|
2
|
+
|
|
3
|
+
Detalle técnico de referencia para implementar pantallas, formularios, vistas o flujos en
|
|
4
|
+
un proyecto Lexy. **El flujo de trabajo ordenado lo definen las skills** (`lexy-design` y
|
|
5
|
+
su proceso de cinco fases; `lexy-dev` para lo técnico): esta guía es el detalle que esas
|
|
6
|
+
skills ejecutan, no un procedimiento paralelo.
|
|
7
|
+
|
|
8
|
+
## Regla central
|
|
9
|
+
|
|
10
|
+
**Los componentes viven en tu proyecto.** No construyas interfaces Lexy desde cero con
|
|
11
|
+
HTML/CSS propio si existe un componente equivalente en el registry. Primero descubre
|
|
12
|
+
(`npx create-lexy view --list`), mira el candidato (`view {component}`), instálalo
|
|
13
|
+
(`add {component}`) y recién después implementa. Una vez instalado, **edítalo localmente
|
|
14
|
+
con libertad** cuando el diseño lo pida: no hay internals prohibidos.
|
|
15
|
+
|
|
16
|
+
Un proyecto recién generado puede verse vacío. Eso es normal. La ausencia de componentes
|
|
17
|
+
locales no significa que no exista sistema de diseño: significa que aún no los has
|
|
18
|
+
instalado del registry.
|
|
19
|
+
|
|
20
|
+
## Secuencia técnica (referencia)
|
|
21
|
+
|
|
22
|
+
> El orden autoritativo lo define la skill correspondiente. Esta secuencia es el detalle
|
|
23
|
+
> técnico que `lexy-dev` (Fase 4 de `lexy-design`) ejecuta al materializar la interfaz.
|
|
24
|
+
|
|
25
|
+
1. Lee [AGENTS.md](../AGENTS.md).
|
|
26
|
+
2. Lee `.lexy` (arquitectura, rutas e instalados) y [ai/PROJECT-CONTEXT.md](PROJECT-CONTEXT.md) (qué se construye, para quién, referencias y decisiones ya tomadas).
|
|
27
|
+
3. Lee [ai/lexy-ai-manifest.json](lexy-ai-manifest.json) (comandos, patrón de import local y rutas del prototipo).
|
|
28
|
+
4. Si `prototype.enabled` es `true`, abre el contrato indicado por
|
|
29
|
+
`prototype.dataContractPath`. Antes de implementar identifica todo dato
|
|
30
|
+
visible, editable, calculado o filtrable y comprueba que exista allí.
|
|
31
|
+
5. Agrega al contrato las entidades, campos, relaciones, estados o proyecciones
|
|
32
|
+
faltantes. Los IDs frontend usan `camelCase`; una referencia backend vive en
|
|
33
|
+
`source.reference` y usa `snake_case`.
|
|
34
|
+
6. Si un dato nace desde la usabilidad y TI todavía no confirmó su fuente, usa
|
|
35
|
+
`origin: "generatedByUsability"` y
|
|
36
|
+
`technicalValidation.status: "pendingTi"` con una nota accionable.
|
|
37
|
+
7. Si la pantalla usa backend, revisa `prototype.portsPath`: lecturas remotas
|
|
38
|
+
usan `read.load`; escrituras usan `write.publish`; interacciones locales no
|
|
39
|
+
pasan por los ports.
|
|
40
|
+
8. Si la pantalla necesita mock data, usa `prototype.fixturesPath` y el
|
|
41
|
+
mock-store compartido. No pegues registros mock en componentes.
|
|
42
|
+
9. Declara metadata inline `reads`/`writes` en el call site para que el adapter
|
|
43
|
+
mock y el panel del Designer sepan qué entidades participan.
|
|
44
|
+
10. Ejecuta `pnpm check:prototype` y corrige el contrato antes de escribir la UI.
|
|
45
|
+
11. Lee [ai/TECHNICAL-USAGE.md](TECHNICAL-USAGE.md).
|
|
46
|
+
12. Si hay link de Figma o referencia visual, identifica primero el patrón real de la pantalla: estructura, densidad, ancho de contenido, navegación, CTA, ayuda, estados y componentes visibles.
|
|
47
|
+
13. Lee la pauta de diseño que corresponda:
|
|
48
|
+
- [ai/pautas/diseno-cliente.md](pautas/diseno-cliente.md) para interfaces de cliente.
|
|
49
|
+
- [ai/pautas/diseno-crm-lexy.md](pautas/diseno-crm-lexy.md) para CRM e interfaces internas.
|
|
50
|
+
14. Lee [ai/pautas/arquitectura-informacion-ux.md](pautas/arquitectura-informacion-ux.md) antes de definir layout, jerarquía, secciones o cantidad de información visible.
|
|
51
|
+
15. Lee [ai/pautas/sistema-visual.md](pautas/sistema-visual.md) (densidad, espaciado, tokens de estado, tipografía, motion) y [ai/pautas/buenas-practicas.md](pautas/buenas-practicas.md) (elección de componentes, estados obligatorios, anti-patrones). Revisa [ai/pautas/recetas-layout.md](pautas/recetas-layout.md) por si hay una composición canónica que aplique.
|
|
52
|
+
16. Lee [ai/pautas/ux-writing.md](pautas/ux-writing.md) antes de escribir textos de interfaz.
|
|
53
|
+
17. Lista los componentes que necesitas y confírmalos contra el catálogo (`npx create-lexy view --list`).
|
|
54
|
+
18. Revisa cada candidato con `npx create-lexy view {component}` (código, doc, variantes) y léete su guía `{Component}.md`.
|
|
55
|
+
19. Instala los que falten: `npx create-lexy add {component}` (trae dependencias internas y npm).
|
|
56
|
+
20. Importa con el patrón local de `.lexy`/manifest (p. ej. `@/components/base/Button` o `@/shared/components/base/Button`).
|
|
57
|
+
21. Implementa la interfaz usando esos componentes. Si uno necesita un ajuste para cumplir el diseño, **edita la copia local** (y actualiza su `.md` si cambia la API).
|
|
58
|
+
22. Revisa UX writing: consecuencias neutras, próximos pasos, títulos escaneables, sentence case y abreviaturas mínimas.
|
|
59
|
+
23. Revisa jerarquía y accesibilidad: semántica, landmarks, headings, orden de lectura, navegación por teclado, foco visible, labels, contraste, estados, errores y movimiento.
|
|
60
|
+
24. Haz el pase final anti-genérico de [ai/pautas/calidad-industria.md](pautas/calidad-industria.md): señales de UI genérica, ritmo de espaciado, datos realistas y los cuatro estados.
|
|
61
|
+
25. Ejecuta `pnpm build` y `pnpm lint:geometry` (prototipo, aplicación y geometría deben quedar en verde).
|
|
62
|
+
26. Si en el proceso se tomaron decisiones nuevas de alcance, audiencia, datos o referencia, regístralas en [ai/PROJECT-CONTEXT.md](PROJECT-CONTEXT.md).
|
|
63
|
+
|
|
64
|
+
## Cuando hay referencia Figma
|
|
65
|
+
|
|
66
|
+
No trates el Figma como inspiración vaga: es un **contrato de patrón**. Las
|
|
67
|
+
reglas completas de lectura de referencias (qué observar y conservar: tipo de
|
|
68
|
+
pantalla, navegación, densidad, contenedores, CTA, ayuda y ancho) viven en
|
|
69
|
+
[ai/pautas/arquitectura-informacion-ux.md](pautas/arquitectura-informacion-ux.md),
|
|
70
|
+
sección «Referencias visuales» — no se duplican aquí. Lo específico de la
|
|
71
|
+
implementación:
|
|
72
|
+
|
|
73
|
+
- Usa componentes del registry para materializar el patrón, pero no cambies el patrón solo porque el catálogo tenga `Card` o `Badge`.
|
|
74
|
+
- Si hay que apartarse de la referencia por limitación técnica, deja explícito qué cambió y por qué.
|
|
75
|
+
|
|
76
|
+
## Comandos base
|
|
77
|
+
|
|
78
|
+
```bash
|
|
79
|
+
npx create-lexy view button # mirar antes de instalar (código + doc + metadata)
|
|
80
|
+
npx create-lexy add button # instalar local y editable, con sus deps
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
Después de instalar, el import es local según la arquitectura de `.lexy`:
|
|
84
|
+
|
|
85
|
+
```tsx
|
|
86
|
+
import { Button } from "@/components/base/Button"; // layer
|
|
87
|
+
import { Button } from "@/shared/components/base/Button"; // feature
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
La divergencia con el registry se gestiona, no se teme: `diff {component}` la muestra,
|
|
91
|
+
`doctor` la vigila, y `add --overwrite` vuelve a la versión del catálogo si hace falta.
|
|
92
|
+
|
|
93
|
+
## Cuándo usar HTML nativo
|
|
94
|
+
|
|
95
|
+
Puedes usar HTML nativo para:
|
|
96
|
+
|
|
97
|
+
- Estructura semántica: `main`, `section`, `header`, `form`, `fieldset`, `legend`.
|
|
98
|
+
- Layout y agrupación cuando no hay componente Lexy equivalente.
|
|
99
|
+
- Texto, listas y contenido estático.
|
|
100
|
+
- Un control que no existe en el catálogo, siempre que confirmes con `view --list` y documentes por qué.
|
|
101
|
+
|
|
102
|
+
No uses HTML nativo para reemplazar componentes que sí existen en el registry, como `Button`, `Input`, `Label`, `Select`, `Textarea`, `Checkbox`, `RadioGroup`, `Card`, `Table`, `Dialog`, `Tabs` o `Tooltip`: instálalos.
|
|
103
|
+
|
|
104
|
+
## Diseño: accesibilidad, jerarquía y UX writing
|
|
105
|
+
|
|
106
|
+
Estas reglas **no se detallan aquí**: su fuente de verdad son las pautas en `ai/pautas/`. No
|
|
107
|
+
las infieras ni reescribas desde este protocolo; léelas según el tema antes de implementar y
|
|
108
|
+
antes de validar:
|
|
109
|
+
|
|
110
|
+
- **Accesibilidad** (semántica, teclado, foco visible, `Label` asociado, contraste, estados, nombres accesibles, `prefers-reduced-motion`) → [ai/pautas/buenas-practicas.md](pautas/buenas-practicas.md).
|
|
111
|
+
- **Jerarquía, landmarks y estructura web** (orden de lectura = orden DOM, un solo `main`, `nav`/`aside`/`section` correctos, headings sin saltos, grillas) → [ai/pautas/arquitectura-informacion-ux.md](pautas/arquitectura-informacion-ux.md).
|
|
112
|
+
- **UX writing** (consecuencias sin alarmismo, próximos pasos, títulos escaneables, sentence case, abreviaturas mínimas) → [ai/pautas/ux-writing.md](pautas/ux-writing.md).
|
|
113
|
+
- **Densidad, espaciado y tokens de estado** → [ai/pautas/sistema-visual.md](pautas/sistema-visual.md). **Composiciones canónicas** → [ai/pautas/recetas-layout.md](pautas/recetas-layout.md).
|
|
114
|
+
- **Vara de calidad y pase anti-genérico** → [ai/pautas/calidad-industria.md](pautas/calidad-industria.md).
|
|
115
|
+
|
|
116
|
+
El `## Criterio final` de abajo resume los contratos que toda pantalla debe cumplir; las
|
|
117
|
+
pautas son el detalle accionable de cada contrato.
|
|
118
|
+
|
|
119
|
+
## Señales que no son excusa para saltarse el sistema
|
|
120
|
+
|
|
121
|
+
- `src/shared/components/base` o `src/components/base` está vacío.
|
|
122
|
+
- `installed: {}` en `.lexy`.
|
|
123
|
+
- El componente que necesitas no está en el proyecto.
|
|
124
|
+
|
|
125
|
+
Todas esas señales significan lo mismo: **instala con `create-lexy add`**, no abandones
|
|
126
|
+
el sistema ni escribas HTML/CSS propio para reemplazar componentes del catálogo.
|
|
127
|
+
|
|
128
|
+
## Criterio final
|
|
129
|
+
|
|
130
|
+
Una pantalla Lexy correcta debe cumplir estos contratos:
|
|
131
|
+
|
|
132
|
+
- Contrato de experiencia: seguir la pauta de cliente o CRM y la guía de UX writing.
|
|
133
|
+
- Contrato técnico: usar componentes del registry cuando existan, instalados en las rutas de `.lexy` e importados con el patrón local; `lint:geometry` en verde.
|
|
134
|
+
- Contrato de datos: ningún dato visible, editable, calculado o filtrable queda
|
|
135
|
+
fuera del contrato; fixtures y metadata `reads`/`writes` coherentes;
|
|
136
|
+
`pnpm check:prototype` en verde.
|
|
137
|
+
- Contrato de accesibilidad: garantizar uso por teclado, semántica, labels, foco, contraste, estados y mensajes comprensibles.
|
|
138
|
+
- Contrato de jerarquía: conservar landmarks, headings y orden de lectura coherentes con la prioridad visual.
|
|
139
|
+
- Contrato de microcopy: explicar consecuencias sin alarmismo, usar textos escaneables, sentence case y abreviaturas mínimas.
|
|
140
|
+
|
|
141
|
+
Además debe cumplir el contrato de arquitectura de información:
|
|
142
|
+
|
|
143
|
+
- Evitar eyebrows decorativos o genéricos.
|
|
144
|
+
- Usar títulos que expliquen tarea, estado o beneficio.
|
|
145
|
+
- Aplicar progressive disclosure para reducir carga visual.
|
|
146
|
+
- Mostrar primero lo necesario para avanzar.
|
|
147
|
+
- No esconder riesgos, costos, errores, plazos ni próximos pasos.
|
|
148
|
+
- Respetar el patrón de una referencia visual cuando exista, antes de optimizar o reinterpretar.
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# Retirar infraestructura de IA
|
|
2
|
+
|
|
3
|
+
Estos archivos son contexto de trabajo para IA y documentacion interna. No son necesarios para ejecutar la aplicacion.
|
|
4
|
+
|
|
5
|
+
Antes de preparar un artefacto de produccion, puedes retirarlos con:
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
rm -rf AGENTS.md CLAUDE.md .claude .github/copilot-instructions.md ai
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
Luego revisa que no queden referencias a estos documentos:
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
rg "AGENTS.md|CLAUDE.md|.claude/|copilot-instructions|ai/|lexy-ai-manifest|IMPLEMENTATION-PROTOCOL|TECHNICAL-USAGE|PRODUCTION-CLEANUP|PROJECT-CONTEXT|lexy-dev|lexy-design|diseno-cliente|diseno-crm-lexy|sistema-visual|recetas-layout|buenas-practicas|arquitectura-informacion-ux|ux-writing|calidad-industria"
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
Si el proyecto usa esta documentacion en CI, prompts o scripts internos, elimina primero esas referencias y despues borra la carpeta.
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
# Contexto de este proyecto
|
|
2
|
+
|
|
3
|
+
> **Para agentes de IA:** lee este archivo al comenzar cada sesión de diseño y
|
|
4
|
+
> mantenlo al día. Es la memoria del proyecto: captura una sola vez lo que el
|
|
5
|
+
> diseñador ya decidió, para no volver a preguntarlo en cada sesión.
|
|
6
|
+
>
|
|
7
|
+
> - Si una sección dice _Por definir_, **pregunta** lo que necesites en la
|
|
8
|
+
> primera tarea que lo requiera y **escribe aquí la respuesta**.
|
|
9
|
+
> - Cuando el diseñador tome una decisión de alcance, audiencia o referencia
|
|
10
|
+
> («esto es para clientes», «usa este Figma», «sin login por ahora»),
|
|
11
|
+
> **regístrala aquí** en una línea.
|
|
12
|
+
> - Mantén el archivo corto (una pantalla). Esto no es documentación: es el
|
|
13
|
+
> brief vivo del proyecto.
|
|
14
|
+
>
|
|
15
|
+
> Lo técnico no va aquí: `architecture`, `world`, `addons` y rutas viven en
|
|
16
|
+
> `.lexy` (fuente de verdad técnica, no la dupliques).
|
|
17
|
+
|
|
18
|
+
## Qué estamos construyendo
|
|
19
|
+
|
|
20
|
+
<!-- Una o dos frases: qué es este producto y qué problema resuelve. -->
|
|
21
|
+
|
|
22
|
+
Por definir.
|
|
23
|
+
|
|
24
|
+
## Para quién es
|
|
25
|
+
|
|
26
|
+
<!-- Quién lo usa y en qué situación. Si .lexy trae world=mixto, aquí se
|
|
27
|
+
aclara qué partes son cliente y cuáles CRM. -->
|
|
28
|
+
|
|
29
|
+
Por definir (hint inicial del scaffolding: `{{WORLD}}`).
|
|
30
|
+
|
|
31
|
+
## Pantallas y flujos clave
|
|
32
|
+
|
|
33
|
+
<!-- Lista corta de las vistas que importan, con su objetivo. Ej:
|
|
34
|
+
- Intake de antecedentes (cliente): que la persona entregue sus datos con calma.
|
|
35
|
+
- Desk de casos (CRM): que el abogado vea estado y plazos de un vistazo. -->
|
|
36
|
+
|
|
37
|
+
Por definir.
|
|
38
|
+
|
|
39
|
+
## Datos principales
|
|
40
|
+
|
|
41
|
+
<!-- Resumen humano, no catálogo técnico:
|
|
42
|
+
- Objetos principales que existen en la experiencia.
|
|
43
|
+
- Datos que la persona necesita ver o modificar.
|
|
44
|
+
- Supuestos que todavía debe validar TI.
|
|
45
|
+
|
|
46
|
+
La fuente estructurada de entidades, campos, relaciones, estados y
|
|
47
|
+
proyecciones vive en:
|
|
48
|
+
src/prototype/data-contract/prototype-data-contract.ts
|
|
49
|
+
No dupliques aquí el detalle del contrato. -->
|
|
50
|
+
|
|
51
|
+
Por definir.
|
|
52
|
+
|
|
53
|
+
## Referencias
|
|
54
|
+
|
|
55
|
+
<!-- Links de Figma, capturas o productos de referencia que mandan sobre
|
|
56
|
+
composiciones genéricas. Indica qué parte del proyecto cubre cada una. -->
|
|
57
|
+
|
|
58
|
+
Ninguna registrada.
|
|
59
|
+
|
|
60
|
+
## Decisiones y restricciones
|
|
61
|
+
|
|
62
|
+
<!-- Decisiones ya tomadas que un agente no debe re-litigar, y límites del
|
|
63
|
+
encargo. Una línea por decisión, con fecha si ayuda. -->
|
|
64
|
+
|
|
65
|
+
- Proyecto generado con `create-lexy` el {{GENERATED_AT}} con el nombre `{{PROJECT_NAME}}`.
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# Infraestructura de IA
|
|
2
|
+
|
|
3
|
+
Este directorio contiene el contexto de IA del proyecto: orienta a agentes,
|
|
4
|
+
asistentes y devs durante el diseño y la implementación. No es parte del runtime
|
|
5
|
+
de la aplicación y puede retirarse antes de producción
|
|
6
|
+
([PRODUCTION-CLEANUP.md](PRODUCTION-CLEANUP.md)).
|
|
7
|
+
|
|
8
|
+
**El índice canónico es [../AGENTS.md](../AGENTS.md)** (regla de ruteo, mapa de
|
|
9
|
+
carga de contexto y referencia de cada documento y pauta). No se duplica aquí
|
|
10
|
+
para evitar drift. El flujo de trabajo lo definen las skills
|
|
11
|
+
([lexy-design](../.claude/skills/lexy-design/SKILL.md) para diseño,
|
|
12
|
+
[lexy-dev](../.claude/skills/lexy-dev/SKILL.md) para lo técnico); todo lo demás
|
|
13
|
+
en `ai/` es material que esas skills citan, no procedimientos paralelos.
|
|
14
|
+
|
|
15
|
+
Orientación mínima si aterrizaste aquí sin pasar por `AGENTS.md`:
|
|
16
|
+
|
|
17
|
+
- [PROJECT-CONTEXT.md](PROJECT-CONTEXT.md) — brief vivo de este proyecto; se lee al inicio de cada sesión.
|
|
18
|
+
- [lexy-ai-manifest.json](lexy-ai-manifest.json) — índice técnico generado (comandos del registry, patrón de import local, rutas); no editarlo a mano.
|
|
19
|
+
- `pautas/` — criterio de diseño y contenido. Define primero si la interfaz es para **cliente** o **CRM** (si no está claro, pregunta) y abre solo la pauta que la tarea necesita.
|