openprompt-lang 0.4.0 → 0.5.1

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.
Files changed (60) hide show
  1. package/README.md +449 -13
  2. package/bin/cli.js +429 -144
  3. package/bin/create.js +56 -56
  4. package/bin/lint.js +13 -13
  5. package/docs/AI-MANUAL.md +578 -0
  6. package/docs/AI_CONTEXT.md +12 -0
  7. package/docs/AI_IMPROVEMENTS.md +4 -0
  8. package/docs/COMMITS/INDEX.md +1 -0
  9. package/docs/COMMITS/v0.5.1-restaurant-knowledge.md +29 -0
  10. package/docs/ROADMAP-DESARROLLO.md +274 -0
  11. package/package.json +5 -2
  12. package/scaffolds/tailwind.config.js +3 -3
  13. package/src/ai/learn-prompt.js +90 -0
  14. package/src/ai/prompt-builder.js +75 -77
  15. package/src/ai/providers.js +74 -74
  16. package/src/annotations/registry.js +11 -11
  17. package/src/commands/ai-gen.js +58 -58
  18. package/src/commands/component.js +152 -94
  19. package/src/commands/context.js +320 -197
  20. package/src/commands/db-rules.js +117 -0
  21. package/src/commands/extract.js +377 -57
  22. package/src/commands/figma.js +37 -37
  23. package/src/commands/init.js +679 -245
  24. package/src/commands/integrate.js +400 -100
  25. package/src/commands/knowledge.js +481 -0
  26. package/src/commands/lang.js +26 -26
  27. package/src/commands/learn.js +182 -0
  28. package/src/commands/learning.js +444 -0
  29. package/src/commands/local-setup.js +110 -0
  30. package/src/commands/qa-gen.js +27 -27
  31. package/src/commands/scaffold.js +23 -23
  32. package/src/commands/suggest.js +22 -10
  33. package/src/commands/teach.js +37 -38
  34. package/src/commands/validate.js +101 -54
  35. package/src/commands/wizard.js +187 -185
  36. package/src/commands/work-context.js +818 -0
  37. package/src/generators/figma-prompt.js +16 -16
  38. package/src/knowledge/db-rules.json +190 -0
  39. package/src/language-service/plugin.cjs +45 -45
  40. package/src/mcp-server.js +329 -224
  41. package/src/templates/langs/openprompt-core/INDEX.json +68 -0
  42. package/src/templates/langs/openprompt-core/MODULE.json +19 -0
  43. package/src/templates/langs/openprompt-core/templates/hooks/useAbortCleanup.template.ts +44 -0
  44. package/src/templates/langs/openprompt-core/templates/hooks/useLocalPagination.template.ts +42 -0
  45. package/src/templates/langs/openprompt-core/templates/ui/PillHeader.template.tsx +98 -0
  46. package/src/templates/semantic-index.json +84 -0
  47. package/src/ts-transformer/index.cjs +40 -40
  48. package/src/utils/ai.js +49 -42
  49. package/src/utils/annotations.js +148 -148
  50. package/src/utils/config.js +36 -33
  51. package/src/utils/doc-ingest.js +101 -0
  52. package/src/utils/error-learner.js +41 -39
  53. package/src/utils/file-utils.js +26 -26
  54. package/src/utils/language-loader.js +29 -29
  55. package/src/utils/module-generator.js +235 -0
  56. package/src/utils/pdf-chapterize.js +191 -0
  57. package/src/utils/pdf-extractor.js +151 -0
  58. package/src/utils/semantic-index.js +93 -0
  59. package/src/utils/template-utils.js +11 -12
  60. package/src/vite-plugin/index.js +11 -11
package/README.md CHANGED
@@ -8,9 +8,50 @@ openPrompt-Lang --version
8
8
 
9
9
  ---
10
10
 
11
+ ## Herramientas del Framework
12
+
13
+ openPrompt-Lang no es un solo comando. Es un conjunto de **herramientas** que trabajan juntas para que tú y la IA hablen el mismo idioma. Cada herramienta resuelve un problema distinto. Aquí están explicadas de forma sencilla, sin técnicismos.
14
+
15
+ ### Anotaciones
16
+ Es el idioma que usas para marcar tu código. Le dices a la IA cosas como "esto es un hook", "esto recibe un email y devuelve un usuario", "esto no puede pasar de 80 líneas". No es un comando, es una forma de escribir que la IA entiende.
17
+
18
+ ### Inicialización
19
+ Con esta herramienta preparas el proyecto desde cero o adaptas uno que ya tengas. Crea carpetas, archivos de configuración, y deja todo listo para que tú y la IA empiecen a trabajar sin pensar en la estructura.
20
+
21
+ ### Validación
22
+ Es el control de calidad. Antes de guardar cambios, esta herramienta revisa que todo esté bien: que las anotaciones tengan sentido, que no falten archivos, que el proyecto esté sano. Si algo está mal, te avisa antes de que sea un problema.
23
+
24
+ ### Trazabilidad (Work Context)
25
+ Lleva un diario de todo lo que haces en cada sesión de trabajo. Registra qué tarea empezaste, qué planes hiciste, qué archivos tocaste, qué errores corregiste. Al final, te deja un reporte de lo que pasó y aprendizajes para futuros proyectos. Sirve para que ni tú ni la IA pierdan el hilo.
26
+
27
+ ### Memoria Semántica (Learning)
28
+ Guarda conceptos visuales o técnicos para que la IA los entienda como tú los entiendes. Por ejemplo, si dices "moderno", la IA sabe que puedes referirte a un diseño minimalista, a uno oscuro con neón, o a uno con cristal difuminado. En lugar de adivinar, la herramienta te muestra las opciones y tú eliges. Así la IA no interpreta, sino que aprende cómo hablas.
29
+
30
+ ### Plantillas y Patrones
31
+ Cuando necesitas un componente que ya existe en algún lado (un botón, un formulario, un hook de autenticación), esta herramienta lo busca y te enseña cómo está hecho. Aprendes del patrón sin tener que copiar y pegar ciegamente.
32
+
33
+ ### Generación con IA
34
+ Le describes en palabras lo que necesitas y la herramienta genera el código. No es magia: usa las anotaciones, los patrones que ya existen y las reglas del proyecto para que el resultado sea coherente con el resto.
35
+
36
+ ### Extracción de Componentes
37
+ Si ya tienes un proyecto funcionando y hay piezas que se repiten, esta herramienta las detecta y las convierte en plantillas reutilizables. Así no reinventas lo que ya funciona.
38
+
39
+ ### Integración con Editores
40
+ Conecta todo esto con las herramientas que ya usas: OpenCode, VS Code, Cursor. Un solo comando deja todo configurado para que la IA trabaje directamente desde tu editor.
41
+
42
+ ---
43
+
11
44
  ## Índice
12
45
 
13
46
  - [Instalación](#instalación)
47
+ - [Nuevas Capacidades (v0.4.0)](#nuevas-capacidades-v040)
48
+ - [Aprender de proyectos reales](#aprender-de-proyectos-reales---extract---learn)
49
+ - [Aprender de documentación](#aprender-de-documentación---learn)
50
+ - [Transferencia de contexto](#transferencia-de-contexto---integrate---fromto)
51
+ - [Contexto por dominio](#contexto-por-dominio---context---domain)
52
+ - [Presets pre-ensamblados](#presets-pre-ensamblados---init---preset)
53
+ - [Reglas de base de datos](#reglas-de-base-de-datos---db-rules)
54
+ - [Filtros de componentes](#filtros-de-componentes---component-list---styletechvalidated)
14
55
  - [Anotaciones PromptLang (directorio completo)](#anotaciones-promptlang-directorio-completo)
15
56
  - [Tags de definición](#tags-de-definición)
16
57
  - [Tags de contrato](#tags-de-contrato)
@@ -28,6 +69,15 @@ openPrompt-Lang --version
28
69
  - [Scripts descriptivos](#scripts-descriptivos)
29
70
  - [Estructura del proyecto](#estructura-del-proyecto)
30
71
  - [Sistema de componentes](#sistema-de-componentes)
72
+ - [Work Context System](#work-context-system)
73
+ - [Comandos work-context](#comandos-work-context)
74
+ - [Flujo de trabajo obligatorio](#flujo-de-trabajo-obligatorio)
75
+ - [Referencias web seguras](#referencias-web-seguras)
76
+ - [Memoria Semántica](#memoria-semántica)
77
+ - [Comandos learning](#comandos-learning)
78
+ - [Estructura de conceptos](#estructura-de-conceptos)
79
+ - [Variantes](#variantes)
80
+ - [Reglas de precisión](#reglas-de-precisión)
31
81
  - [VS Code Extension](#vs-code-extension)
32
82
  - [Versionado (SemVer)](#versionado-semver)
33
83
  - [Documentación](#documentación)
@@ -406,6 +456,68 @@ export function Button(props: ButtonProps) { ... }
406
456
 
407
457
  ---
408
458
 
459
+ ## Nuevas Capacidades (v0.4.0)
460
+
461
+ ### Aprender de proyectos reales — `extract --learn`
462
+ Analiza un proyecto y extrae sus patrones: convención de nombres, arquitectura, estilo UI, hooks, anotaciones. Genera un perfil reutilizable.
463
+
464
+ ```bash
465
+ openPrompt-Lang extract ./proyecto-pulido --learn
466
+ openPrompt-Lang init --name nuevo --learn-from ./aprendizaje-perfil.json
467
+ ```
468
+
469
+ ### Aprender de documentación — `learn`
470
+ Usa IA para transformar documentación local en módulos de lenguaje funcionales con templates, tests y prácticas.
471
+
472
+ ```bash
473
+ openPrompt-Lang learn --docs ./docs-rust/ --name rust
474
+ openPrompt-Lang learn --docs ./docs-react/ --from ./proyecto-real/ --name react
475
+ openPrompt-Lang learn --docs ./docs/ --name django --integrate
476
+ ```
477
+
478
+ Los módulos se guardan en `~/.openprompt/knowledge/langs/<id>/` (accesibles para cualquier proyecto).
479
+
480
+ ### Transferencia de contexto — `integrate --from/--to`
481
+ Copia el contexto de negocio entre proyectos: stack, convenciones, @kind/@contract detectados, arquitectura.
482
+
483
+ ```bash
484
+ openPrompt-Lang integrate --from ./web-react --to ./app-mobile
485
+ ```
486
+
487
+ ### Contexto por dominio — `context --domain`
488
+ Filtra el contexto del proyecto por dominio de negocio: ecommerce, saas, mobile, api, admin, blog.
489
+
490
+ ```bash
491
+ openPrompt-Lang context --domain ecommerce
492
+ ```
493
+
494
+ ### Presets pre-ensamblados — `init --preset`
495
+ Stacks completos con servicios incluidos: Supabase, Stripe, Ionic, Tauri, Firebase.
496
+
497
+ ```bash
498
+ openPrompt-Lang init --preset react-supabase-stripe --name tienda
499
+ openPrompt-Lang init --list-presets
500
+ ```
501
+
502
+ ### Reglas de base de datos — `db-rules`
503
+ Knowledge base de buenas prácticas, anti-patrones y reglas para SQL, Supabase, Postgres, Docker.
504
+
505
+ ```bash
506
+ openPrompt-Lang db-rules --id db-001
507
+ openPrompt-Lang db-rules --tag performance
508
+ ```
509
+
510
+ ### Filtros de componentes — `component list --style/--tech/--validated`
511
+ ```bash
512
+ openPrompt-Lang component list --style shadcn
513
+ openPrompt-Lang component list --tech vue
514
+ openPrompt-Lang component list --validated
515
+ ```
516
+
517
+ > 📖 **Manual completo para IA:** `docs/AI-MANUAL.md` — todos los comandos, workflows ordenados y configuración.
518
+
519
+ ---
520
+
409
521
  ## Comandos CLI
410
522
 
411
523
  | Comando | Descripción |
@@ -422,7 +534,7 @@ export function Button(props: ButtonProps) { ... }
422
534
  | `openPrompt-Lang ai-providers` | Lista proveedores IA disponibles y su estado |
423
535
  | `openPrompt-Lang extract [sourceDir]` | Analiza proyecto y extrae componentes reutilizables como templates |
424
536
  | `openPrompt-Lang analyze [sourceDir]` | Analiza estructura, dependencias y salud del proyecto |
425
- | `openPrompt-Lang integrate [--all]` | Configura Opencode, Cursor y VS Code para el proyecto |
537
+ | `openPrompt-Lang integrate [--all]` | Configura Opencode, Cursor, VS Code y Antigravity para el proyecto |
426
538
  | `openPrompt-Lang qa-gen` | Genera tests desde errores aprendidos (@learn-error) |
427
539
  | `openPrompt-Lang qa-learn` | Parsea @learn-error de un archivo al módulo de lenguaje |
428
540
  | `openPrompt-Lang lang list` | Lista lenguajes disponibles |
@@ -436,6 +548,21 @@ export function Button(props: ButtonProps) { ... }
436
548
  | `openPrompt-Lang component add <nombre>` | Agrega componente de la biblioteca al proyecto |
437
549
  | `openPrompt-Lang component manifest` | Muestra el manifiesto de la biblioteca |
438
550
  | `openPrompt-Lang mcp` | Inicia servidor MCP para integración con Opencode |
551
+ | `openPrompt-Lang work-context init` | Inicializa sistema work-context en proyecto existente |
552
+ | `openPrompt-Lang work-context start <desc>` | Inicia sesión de trabajo con descripción |
553
+ | `openPrompt-Lang work-context status` | Muestra estado actual del contexto de trabajo |
554
+ | `openPrompt-Lang work-context log <msg>` | Añade entrada a la bitácora cronológica |
555
+ | `openPrompt-Lang work-context plan new <name>` | Crea plan de trabajo (--task para búsqueda de conocimiento) |
556
+ | `openPrompt-Lang work-context plan check [name]` | Verifica plan existente contra conocimiento actual |
557
+ | `openPrompt-Lang work-context close` | Cierra sesión activa y genera reporte |
558
+ | `openPrompt-Lang work-context learn` | Extrae aprendizajes a LEARNINGS.md |
559
+ | `openPrompt-Lang work-context report` | Genera reporte completo del contexto |
560
+ | `openPrompt-Lang work-context check` | Verifica consistencia del work-context |
561
+ | `openPrompt-Lang learning init` | Inicializa sistema de memoria semántica |
562
+ | `openPrompt-Lang learning search <query>` | Busca conceptos por nombre o categoría |
563
+ | `openPrompt-Lang learning add <name> --category <cat>` | Crea nuevo concepto con template |
564
+ | `openPrompt-Lang learning map` | Genera mapa visual Mermaid del grafo de conceptos |
565
+ | `openPrompt-Lang learning import-personal <file.md>` | Importa documento de vocabulario personal como conceptos en la categoría `personal/` |
439
566
 
440
567
  ---
441
568
 
@@ -458,6 +585,13 @@ mi-app-web/
458
585
  ├── package.json # Scripts descriptivos (dev:start, test:unit, validate:all...)
459
586
  ├── prompt-lang.json # Configuración del framework
460
587
  ├── AGENTS.md # Contexto para la IA
588
+ ├── .opencode/
589
+ │ └── work-context/ # Sistema de trazabilidad (creado automáticamente)
590
+ │ ├── CONTEXT.md # Índice maestro
591
+ │ ├── SESSION.json # Estado de sesión
592
+ │ ├── LOG.json # Bitácora
593
+ │ ├── LEARNINGS.md # Aprendizajes
594
+ │ └── REFERENCES.md # Referencias web seguras
461
595
  └── .gitignore
462
596
  ```
463
597
 
@@ -512,9 +646,10 @@ cd mi-proyecto-ya-iniciado
512
646
  openPrompt-Lang init --existing
513
647
  ```
514
648
 
515
- Esto detecta automáticamente el stack y crea solo:
649
+ Esto detecta automáticamente el stack y crea:
516
650
  - `prompt-lang.json` (config con stack detectado)
517
651
  - `AGENTS.md` (contexto para IA con tecnologías reales)
652
+ - `.opencode/work-context/` (sistema de trazabilidad obligatorio)
518
653
 
519
654
  Te preguntará:
520
655
  - ¿Agregar scripts descriptivos al `package.json`? (merge sin romper)
@@ -678,7 +813,23 @@ openPrompt-Lang/
678
813
  ├── .opencode/ ← Configuración para Opencode
679
814
  │ ├── opencode.json ← MCP server + skills + default_agent
680
815
  │ ├── agent/openPrompt.md ← Agente con 4 workflows + Default Workflow
681
- └── skills/openPrompt/SKILL.md ← Skill auto-detectable con MCP tools
816
+ ├── skills/openPrompt/SKILL.md ← Skill auto-detectable con MCP tools
817
+ │ └── work-context/ ← Sistema de trazabilidad obligatorio
818
+ │ ├── CONTEXT.md ← Índice maestro para la IA
819
+ │ ├── SESSION.json ← Estado de sesión actual
820
+ │ ├── LOG.json ← Bitácora de acciones
821
+ │ ├── LEARNINGS.md ← Aprendizajes acumulados
822
+ │ ├── REFERENCES.md ← Referencias web (uso seguro)
823
+ │ ├── PLANS/ ← Planes de trabajo
824
+ │ └── REPORTS/ ← Reportes de sesiones cerradas
825
+ │ └── learning/ ← Memoria semántica (conceptos, variantes, relaciones)
826
+ │ ├── index.md ← Puerta de entrada para la IA
827
+ │ ├── glossary.md ← Glosario alfabético
828
+ │ ├── concepts/ ← Conceptos por categoría (visual/, ui/, backend/, ...)
829
+ │ ├── relations/ ← Grafo (graph.json) y mapa visual (map.md)
830
+ │ ├── clarifications/ ← Historial de aclaraciones
831
+ │ ├── decisions/ ← Decisiones validadas
832
+ │ └── examples/ ← Ejemplos de componentes y referencias
682
833
  ├── tests/
683
834
  │ ├── annotations.test.js ← ~45 tests de parser y validador
684
835
  │ ├── config.test.js ← Tests de deep merge
@@ -735,6 +886,12 @@ openPrompt-Lang/
735
886
  | `docs/PROMPT_AI_CONTEXT.md` | Prompt pre-hecho para copiar-pegar a Gemini/Claude/ChatGPT |
736
887
  | `vscode-extension/` | Extensión VS Code: syntax highlighting y snippets para anotaciones |
737
888
  | `schemas/prompt-lang.json` | JSON Schema para validar `prompt-lang.json` |
889
+ | `.opencode/work-context/CONTEXT.md` | Índice maestro del sistema work-context (lectura obligatoria para la IA) |
890
+ | `.opencode/work-context/LEARNINGS.md` | Aprendizajes acumulados del proyecto |
891
+ | `.opencode/work-context/REFERENCES.md` | Referencias web con checklist de uso seguro |
892
+ | `.opencode/learning/index.md` | Puerta de entrada de la memoria semántica (lectura obligatoria para la IA) |
893
+ | `.opencode/learning/glossary.md` | Glosario semántico alfabético |
894
+ | `.opencode/learning/relations/graph.json` | Grafo de conceptos y relaciones |
738
895
 
739
896
  ---
740
897
 
@@ -899,6 +1056,210 @@ openPrompt-Lang init --existing
899
1056
 
900
1057
  ---
901
1058
 
1059
+ ## Work Context System
1060
+
1061
+ El **Work Context** es un sistema integrado de trazabilidad obligatoria que registra sesiones de trabajo, planes, acciones, aprendizajes y referencias externas. Se inicializa automáticamente con `init` en proyectos nuevos y existentes.
1062
+
1063
+ ### Estructura
1064
+
1065
+ ```
1066
+ .opencode/work-context/
1067
+ ├── CONTEXT.md # Índice maestro (lo primero que lee la IA)
1068
+ ├── SESSION.json # Estado actual de la sesión (JSON validable)
1069
+ ├── LOG.json # Bitácora cronológica de acciones
1070
+ ├── LEARNINGS.md # Aprendizajes acumulados del proyecto
1071
+ ├── REFERENCES.md # Referencias web (con checklist de uso seguro)
1072
+ ├── PLANS/ # Planes de trabajo guardados por sesión
1073
+ └── REPORTS/ # Reportes generados al cerrar sesiones
1074
+ ```
1075
+
1076
+ ### Comandos work-context
1077
+
1078
+ | Comando | Descripción |
1079
+ |---------|-------------|
1080
+ | `openPrompt-Lang work-context init` | Inicializa el sistema en un proyecto existente. Crea estructura `.opencode/work-context/`, `SESSION.json`, `LOG.json`, `LEARNINGS.md`, `REFERENCES.md`, directorios `PLANS/` y `REPORTS/` |
1081
+ | `openPrompt-Lang work-context start <desc>` | Inicia una nueva sesión de trabajo. Genera ID único (`ses_YYMMDD_NNN`), timestamp ISO, detecta rama git automáticamente. Requiere descripción de la tarea |
1082
+ | `openPrompt-Lang work-context status` | Muestra el estado actual: ID de sesión, estado (activa/pausada/cerrada), tarea, tipo, prioridad, etapa del ciclo, métricas (archivos cambiados, planes creados, errores corregidos, aprendizajes), últimas 5 entradas del log |
1083
+ | `openPrompt-Lang work-context log <msg>` | Añade entrada a la bitácora cronológica con timestamp, tipo de acción y resultado (ok/error/warn). Consultable con `status` o `report` |
1084
+ | `openPrompt-Lang work-context plan new <name>` | Crea un plan de trabajo en `PLANS/` con template estructurado: fecha, sesión, rama, objetivo, checklist de tareas, validación contra anotaciones, aprendizaje esperado. Usa `--task "<desc>"` para generar un plan informado con búsqueda automática en learning concepts, knowledge chapters, learnings y glosario |
1085
+ | `openPrompt-Lang work-context plan check [name]` | Verifica un plan existente re-consultando todas las fuentes de conocimiento y reportando conceptos nuevos no cubiertos en el plan original |
1086
+ | `openPrompt-Lang work-context close` | Cierra la sesión activa: cambia estado a `closed`, genera reporte en `REPORTS/` con métricas de la sesión (duración, archivos, planes, errores). No se puede iniciar otra sesión sin cerrar la actual |
1087
+ | `openPrompt-Lang work-context learn` | Extrae aprendizajes de la sesión cerrada y los acumula en `LEARNINGS.md` con fecha, categoría, problema, solución y plan relacionado |
1088
+ | `openPrompt-Lang work-context report` | Genera reporte completo: período, duración total, número de entradas, errores, métricas, historial cronológico completo con referencias a planes |
1089
+ | `openPrompt-Lang work-context check` | Verifica consistencia del work-context: valida que `SESSION.json` exista y tenga estructura correcta, detecta sesiones activas olvidadas (>24h), confirma que los planes referenciados existen en disco, valida que `LOG.json` sea un array válido |
1090
+ | `validate --work-context` | Incluye la verificación de work-context dentro del pipeline de validación estándar |
1091
+
1092
+ ### Flujo de trabajo obligatorio
1093
+
1094
+ La IA debe seguir este ciclo en **cada sesión de trabajo**:
1095
+
1096
+ ```
1097
+ 1. CONTEXT.md + SESSION.json → restaurar estado o iniciar nuevo
1098
+ 2. ANALYZE request → clasificar tipo de tarea
1099
+ 3. PLAN → `work-context plan new <name> --task "<desc>"` → PLANS/, log en LOG
1100
+ 4. VALIDATE plan → contra @kind, @contract, @limit
1101
+ 5. IMPLEMENT → codificar, log cada acción
1102
+ 6. VALIDATE código → validate + validate --work-context
1103
+ 7. INTEGRATE → actualizar AGENTS.md si toca
1104
+ 8. LEARN + REFERENCES.md → checklist de referencias seguras
1105
+ 9. CLOSE → reporte, métricas finales
1106
+ ```
1107
+
1108
+ Cada paso registra su acción en `LOG.json` automáticamente.
1109
+
1110
+ ### Referencias web seguras
1111
+
1112
+ Al usar una referencia web externa, la IA ejecuta este checklist **antes de implementar**:
1113
+
1114
+ ```
1115
+ CHECKLIST (obligatorio):
1116
+ □ ¿Es un principio abstracto, no copia de pantalla?
1117
+ □ ¿La identidad visual del proyecto sigue siendo propia?
1118
+ □ ¿Se evitó copiar assets, textos o estructura exacta?
1119
+ □ ¿La referencia resolvió un problema puntual?
1120
+ □ ¿El resultado final no parece un clon reconocible?
1121
+ ```
1122
+
1123
+ Si algún check falla → refactorizar antes de continuar. La fuente y el patrón extraído se registran en `REFERENCES.md` con el formato:
1124
+
1125
+ ```markdown
1126
+ ### Ref-XXX — [Nombre]
1127
+ - URL, fecha, problema resuelto
1128
+ - Patrón extraído (principio abstracto)
1129
+ - Reinterpretación (cómo se adaptó)
1130
+ - Checklist completado
1131
+ ```
1132
+
1133
+ ---
1134
+
1135
+ ## Memoria Semántica
1136
+
1137
+ El sistema de **memoria semántica** guarda conceptos, variantes y relaciones para traducir lenguaje vago del usuario en decisiones concretas de diseño e implementación. Funciona como una red de conocimiento navegable que la IA consulta obligatoriamente antes de planificar.
1138
+
1139
+ Cuando el usuario dice "quiero un diseño moderno y atractivo", la IA busca en la memoria semántica, muestra variantes disponibles, pide confirmación, y aplica los tokens de diseño correspondientes.
1140
+
1141
+ ### Estructura
1142
+
1143
+ ```
1144
+ .opencode/learning/
1145
+ ├── index.md # Puerta de entrada + instrucciones para la IA
1146
+ ├── glossary.md # Glosario plano alfabético
1147
+ ├── concepts/
1148
+ │ ├── personal/ # Vocabulario personal del usuario (bonito, fudoshin, etc.)
1149
+ │ │ ├── bonito/concept.md
1150
+ │ │ ├── fudoshin/concept.md
1151
+ │ │ └── ... # +27 términos personales
1152
+ │ ├── visual/ # Conceptos visuales (moderno, elegante, femenino, etc.)
1153
+ │ │ └── moderno/
1154
+ │ │ ├── concept.md # Ficha madre del concepto
1155
+ │ │ ├── minimalista.md # Variante: minimalista
1156
+ │ │ └── dark-neon.md # Variante: dark-neon
1157
+ │ ├── ui/ # Patrones de interfaz (card, hero, sidebar, etc.)
1158
+ │ ├── backend/ # Conceptos de backend (auth, api, storage, etc.)
1159
+ │ ├── product/ # Conceptos de producto (onboarding, checkout, etc.)
1160
+ │ └── ai/ # Conceptos de IA (generación, validación, etc.)
1161
+ ├── relations/
1162
+ │ ├── graph.json # Grafo machine-readable (nodos + aristas)
1163
+ │ └── map.md # Mapa visual generado por CLI (Mermaid)
1164
+ ├── clarifications/
1165
+ │ └── log.json # Historial de preguntas de aclaración
1166
+ ├── decisions/ # Decisiones validadas con el usuario
1167
+ └── examples/
1168
+ ├── components/ # Componentes que materializan conceptos
1169
+ └── references/ # Referencias externas seguras
1170
+ ```
1171
+
1172
+ ### Comandos learning
1173
+
1174
+ | Comando | Descripción |
1175
+ |---------|-------------|
1176
+ | `openPrompt-Lang learning init` | Inicializa la memoria semántica en el proyecto. Crea toda la estructura de directorios, `index.md`, `glossary.md`, `graph.json`, `map.md` y `clarifications/log.json` |
1177
+ | `openPrompt-Lang learning search <query>` | Busca conceptos por nombre. Soporta filtro por categoría con `--category visual`. Busca también dentro del contenido de los archivos `concept.md` si el nombre no coincide exactamente. Muestra ruta y variantes disponibles |
1178
+ | `openPrompt-Lang learning add <nombre> [--category <cat>]` | Crea un nuevo concepto con template validado. Genera `concept.md`, actualiza `graph.json` con el nuevo nodo y añade entrada al `glossary.md`. Categorías disponibles: `personal`, `visual`, `ui`, `backend`, `product`, `ai` (default: `visual`) |
1179
+ | `openPrompt-Lang learning map` | Genera el mapa visual `relations/map.md` en formato Mermaid a partir del grafo `graph.json`. Colorea nodos por categoría y dibuja aristas de relación. Ideal para commitear y visualizar en GitHub |
1180
+ | `openPrompt-Lang learning import-personal <file.md>` | Importa un documento Markdown con vocabulario personal (formato `### Término` + descripción) y crea conceptos en la categoría `personal/`. Cada sección se convierte en un concepto con su definición, se añade al grafo y al glosario automáticamente. Omite duplicados. Ideal para cargar tu propio diccionario de términos |
1181
+
1182
+ ### Estructura de conceptos
1183
+
1184
+ Cada concepto vive en `concepts/<categoría>/<nombre>/` con dos niveles:
1185
+
1186
+ **Ficha madre** (`concept.md`):
1187
+ ```markdown
1188
+ # moderno
1189
+
1190
+ ## Resumen
1191
+ Estética contemporánea con énfasis en simplicidad.
1192
+
1193
+ ## Tipo
1194
+ visual
1195
+
1196
+ ## Estado
1197
+ propuesto | confirmado | usado | obsoleto
1198
+
1199
+ ## Variantes disponibles
1200
+ | Variante | Archivo | Descripción |
1201
+ |----------|---------|-------------|
1202
+ | minimalista | minimalista.md | Mucho espacio, colores neutros |
1203
+
1204
+ ## Relaciones
1205
+ - Similar a: contemporaneo, limpio
1206
+ - Contraste con: clasico, recargado
1207
+ - Compatible con: elegante, profesional
1208
+ ```
1209
+
1210
+ **Variante** (`minimalista.md`):
1211
+ ```markdown
1212
+ # moderno / minimalista
1213
+
1214
+ ## Tokens de diseño
1215
+ - spacing: xl (p-8, gap-6)
1216
+ - font: Inter, weight 300-500
1217
+ - colors: slate-50, slate-900, accent: blue-500
1218
+ - borders: rounded-lg, border-0
1219
+
1220
+ ## Componentes asociados
1221
+ - Button(variant: ghost, size: md)
1222
+ - Card(variant: bordered, padding: lg)
1223
+
1224
+ ## Cuándo usarlo
1225
+ - Landing pages profesionales
1226
+ - Aplicaciones B2B SaaS
1227
+
1228
+ ## Riesgos
1229
+ - Puede resultar frío sin acento de color
1230
+ - Evitar copiar composiciones exactas de referencias
1231
+
1232
+ ## Confirmación
1233
+ - [ ] Verificado con usuario
1234
+ ```
1235
+
1236
+ ### Variantes
1237
+
1238
+ Cada concepto tiene **variantes** que representan diferentes interpretaciones. El usuario elige una variante y la IA aplica sus tokens de diseño directamente. Así:
1239
+
1240
+ | Concepto | Variante | Descripción | Cuándo usarla |
1241
+ |----------|----------|-------------|---------------|
1242
+ | moderno | minimalista | Mucho espacio, tipografía limpia | Proyectos corporativos |
1243
+ | moderno | dark-neon | Fondo oscuro, acentos neón | Apps de tecnología |
1244
+ | moderno | glassmorphism | Fondos traslúcidos, blur | Dashboards modernos |
1245
+
1246
+ ### Reglas de precisión
1247
+
1248
+ Obligatorias para la IA en cada sesión:
1249
+
1250
+ ```
1251
+ 1. Término vago → learning search <término> antes de implementar
1252
+ 2. Si existe → mostrar variantes, pedir confirmación al usuario
1253
+ 3. Si no existe → preguntar: intención, contexto, dominio, ejemplo
1254
+ 4. Múltiples interpretaciones → ofrecer opciones cerradas
1255
+ 5. Sin proyecto/dominio → NO clasificar
1256
+ 6. Referencia externa → separar aprendizaje de copia (REFERENCES.md)
1257
+ 7. Concepto duplicado → reutilizar, no duplicar
1258
+ 8. Cada confirmación → log en clarifications/log.json y LOG.json
1259
+ ```
1260
+
1261
+ ---
1262
+
902
1263
  ## VS Code Extension
903
1264
 
904
1265
  openPrompt-Lang incluye una extensión para VS Code en `vscode-extension/` con resaltado de sintaxis y snippets.
@@ -946,9 +1307,9 @@ code --install-extension openprompt-lang-*.vsix
946
1307
 
947
1308
  ---
948
1309
 
949
- ## OpenCode Integration
1310
+ ## OpenCode & Antigravity Integration
950
1311
 
951
- openPrompt-Lang tiene integración nativa con [OpenCode](https://opencode.ai) mediante **MCP server**, **agente especializado**, y **skill auto-detectable**.
1312
+ openPrompt-Lang tiene integración nativa con [OpenCode](https://opencode.ai) y [Antigravity](https://antigravity.google) (Google AI IDE) mediante **MCP server**, **agente especializado**, **skill auto-detectable**, y **reglas de workflow obligatorio**.
952
1313
 
953
1314
  ### Configuración rápida
954
1315
 
@@ -958,14 +1319,22 @@ npx openprompt-lang integrate --all
958
1319
 
959
1320
  Esto genera:
960
1321
 
961
- - **`.opencode/opencode.json`** Configuración con MCP server, skill paths y default_agent
962
- - **`.opencode/agent/openPrompt.md`** — Agente con 4 workflows + Default Workflow
963
- - **`.opencode/skills/openPrompt/SKILL.md`**Skill auto-detectable (solo se activa si el proyecto usa anotaciones)
964
- - **MCP server**Expone 9 herramientas que Opencode puede llamar directamente
1322
+ | Generado para | Archivos |
1323
+ |---------------|----------|
1324
+ | **Opencode** | `.opencode/opencode.json`MCP server, skill paths, default_agent |
1325
+ | | `.opencode/agent/openPrompt.md`Agente con 4 workflows |
1326
+ | | `.opencode/skills/openPrompt/SKILL.md` — Skill auto-detectable |
1327
+ | **Cursor** | `.cursor/config.json` + `.cursor/rules` + `.cursorrules` — Reglas de estilo y anotaciones |
1328
+ | **VS Code** | `.vscode/settings.json` — Lint, formateo, TypeScript |
1329
+ | | `.vscode/extensions.json` — Extensiones recomendadas |
1330
+ | | `.vscode/mcp.json` — MCP server para GitHub Copilot y extensiones compatibles |
1331
+ | **Antigravity** | `GEMINI.md` — Instrucciones obligatorias de workflow para Gemini |
1332
+ | | `~/.gemini/antigravity/mcp_config.json` — MCP server global (opcional) |
1333
+ | **MCP server** | `npx openprompt-lang mcp` — 9 herramientas para todos los editores |
965
1334
 
966
1335
  ### MCP Server
967
1336
 
968
- El MCP (Model Context Protocol) server permite que Opencode invoque herramientas de openPrompt-Lang de forma nativa, sin comandos slash. Las herramientas retornan estructura consistente:
1337
+ El MCP (Model Context Protocol) server permite que **Opencode**, **Antigravity**, **VS Code Copilot**, **Cursor**, y cualquier otro editor compatible invoque herramientas de openPrompt-Lang de forma nativa, sin comandos slash. Las herramientas retornan estructura consistente:
969
1338
 
970
1339
  ```
971
1340
  ## Result: success|error|warning
@@ -988,9 +1357,22 @@ El MCP (Model Context Protocol) server permite que Opencode invoque herramientas
988
1357
  | **Testing** | `generate_tests(sourceDir, lang, output)` | Genera tests desde `@learn-error`. Usar **después de documentar un bug** |
989
1358
  | **Scaffold** | `scaffold_project(framework, name)` | Crea estructura de proyecto y archivos base |
990
1359
 
991
- ### Auto-supervisión IA (Default Workflow)
1360
+ ### Auto-supervisión IA (Default Workflow + Work Context)
1361
+
1362
+ El **skill auto-detectable** guía a la IA con dos ciclos integrados:
1363
+
1364
+ **Work Context (obligatorio, previo a todo):**
992
1365
 
993
- El **skill auto-detectable** se activa cuando el proyecto usa anotaciones y guía a la IA con este ciclo:
1366
+ ```
1367
+ 1. CONTEXT.md + SESSION.json → restaurar estado
1368
+ 2. ANALYZE request → clasificar tarea
1369
+ 3. PLAN informed → plan new <name> --task "<desc>"
1370
+ 4. VALIDATE plan → @kind, @contract, @limit
1371
+ 5. IMPLEMENT → log cada acción
1372
+ 6. VALIDATE + close → validate + reporte final
1373
+ ```
1374
+
1375
+ **MCP Tools (durante implementación):**
994
1376
 
995
1377
  ```
996
1378
  1. analyze_project → entender el proyecto
@@ -1001,7 +1383,7 @@ El **skill auto-detectable** se activa cuando el proyecto usa anotaciones y guí
1001
1383
  6. validate → verificar que todo está limpio
1002
1384
  ```
1003
1385
 
1004
- El **agente `openPrompt`** incluye 4 workflows especializados (debugging de anotaciones, implementar componente, onboarding, nuevo proyecto) que la IA sigue automáticamente.
1386
+ El **agente `openPrompt`** incluye 4 workflows especializados (debugging de anotaciones, implementar componente, onboarding, nuevo proyecto) que la IA sigue automáticamente, además del sistema work-context obligatorio.
1005
1387
 
1006
1388
  ### Uso manual (sin `integrate`)
1007
1389
 
@@ -1029,6 +1411,60 @@ Luego agrega `.opencode/agent/openPrompt.md` (instrucciones del agente) y `.open
1029
1411
 
1030
1412
  ---
1031
1413
 
1414
+ ### Antigravity Integration
1415
+
1416
+ [Antigravity](https://antigravity.google) (Google AI IDE, basado en VS Code) tiene soporte nativo para:
1417
+
1418
+ #### 1. MCP Server (herramientas disponibles)
1419
+
1420
+ Antigravity lee `.vscode/mcp.json` y el config global `~/.gemini/antigravity/mcp_config.json`. Ambos se crean automáticamente con `integrate --all`. Esto permite que Gemini llame directamente a las herramientas MCP de openPrompt-Lang sin comandos manuales.
1421
+
1422
+ **Transporte stdio:**
1423
+ ```
1424
+ npx openprompt-lang mcp
1425
+ ```
1426
+
1427
+ #### 2. GEMINI.md — Instrucciones obligatorias
1428
+
1429
+ `GEMINI.md` en la raíz del proyecto contiene **reglas de workflow obligatorias** que Antigravity inyecta como instrucciones del sistema a Gemini en cada sesión. No es opcional — Gemini las recibe como directivas de máxima prioridad.
1430
+
1431
+ **Lo que fuerza:**
1432
+
1433
+ | Regla | Descripción |
1434
+ |-------|-------------|
1435
+ | Ciclo de trabajo | Plan → Validate → Implement → Validate → Learn → Close |
1436
+ | Anotaciones | Todo archivo DEBE tener `@use()`, `@kind`, `@contract`/`@props` |
1437
+ | Validación | No se puede marcar tarea como completa sin `openprompt-lang validate` |
1438
+ | Límites | Componentes ≤120, hooks ≤80, páginas ≤200, servicios ≤150 líneas |
1439
+ | Memoria semántica | Consultar `learning search` antes de implementar conceptos vagos |
1440
+ | @learn-error | Documentar bugs encontrados para prevenir regresiones |
1441
+ | Prohibiciones | No `any`, no saltar validación, no modificar templates |
1442
+
1443
+ #### 3. Compatibilidad con AGENTS.md
1444
+
1445
+ Antigravity v1.20.3+ también lee `AGENTS.md` como reglas compartidas con Cursor y Claude Code. `GEMINI.md` tiene prioridad sobre `AGENTS.md`, permitiendo tener reglas generales en `AGENTS.md` y reglas estrictas de workflow en `GEMINI.md`.
1446
+
1447
+ #### 4. Integración manual
1448
+
1449
+ Si no usas `integrate --all`, crea estos archivos manualmente:
1450
+
1451
+ ```json
1452
+ // .vscode/mcp.json
1453
+ {
1454
+ "servers": {
1455
+ "openPrompt-Lang": {
1456
+ "type": "stdio",
1457
+ "command": "npx",
1458
+ "args": ["openprompt-lang", "mcp"]
1459
+ }
1460
+ }
1461
+ }
1462
+ ```
1463
+
1464
+ Y copia `GEMINI.md` de cualquier proyecto openPrompt-Lang en tu raíz. Antigravity lo detecta automáticamente.
1465
+
1466
+ ---
1467
+
1032
1468
  ## Tutorial: Usar openPrompt-Lang con cualquier IA
1033
1469
 
1034
1470
  Puedes usar openPrompt-Lang con **cualquier asistente de IA** — Google Gemini, Claude, ChatGPT, Cursor AI, etc. El framework no depende de Opencode; las anotaciones son simplemente código que cualquier IA puede leer e interpretar.