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.
- package/README.md +449 -13
- package/bin/cli.js +429 -144
- package/bin/create.js +56 -56
- package/bin/lint.js +13 -13
- package/docs/AI-MANUAL.md +578 -0
- package/docs/AI_CONTEXT.md +12 -0
- package/docs/AI_IMPROVEMENTS.md +4 -0
- package/docs/COMMITS/INDEX.md +1 -0
- package/docs/COMMITS/v0.5.1-restaurant-knowledge.md +29 -0
- package/docs/ROADMAP-DESARROLLO.md +274 -0
- package/package.json +5 -2
- package/scaffolds/tailwind.config.js +3 -3
- package/src/ai/learn-prompt.js +90 -0
- package/src/ai/prompt-builder.js +75 -77
- package/src/ai/providers.js +74 -74
- package/src/annotations/registry.js +11 -11
- package/src/commands/ai-gen.js +58 -58
- package/src/commands/component.js +152 -94
- package/src/commands/context.js +320 -197
- package/src/commands/db-rules.js +117 -0
- package/src/commands/extract.js +377 -57
- package/src/commands/figma.js +37 -37
- package/src/commands/init.js +679 -245
- package/src/commands/integrate.js +400 -100
- package/src/commands/knowledge.js +481 -0
- package/src/commands/lang.js +26 -26
- package/src/commands/learn.js +182 -0
- package/src/commands/learning.js +444 -0
- package/src/commands/local-setup.js +110 -0
- package/src/commands/qa-gen.js +27 -27
- package/src/commands/scaffold.js +23 -23
- package/src/commands/suggest.js +22 -10
- package/src/commands/teach.js +37 -38
- package/src/commands/validate.js +101 -54
- package/src/commands/wizard.js +187 -185
- package/src/commands/work-context.js +818 -0
- package/src/generators/figma-prompt.js +16 -16
- package/src/knowledge/db-rules.json +190 -0
- package/src/language-service/plugin.cjs +45 -45
- package/src/mcp-server.js +329 -224
- package/src/templates/langs/openprompt-core/INDEX.json +68 -0
- package/src/templates/langs/openprompt-core/MODULE.json +19 -0
- package/src/templates/langs/openprompt-core/templates/hooks/useAbortCleanup.template.ts +44 -0
- package/src/templates/langs/openprompt-core/templates/hooks/useLocalPagination.template.ts +42 -0
- package/src/templates/langs/openprompt-core/templates/ui/PillHeader.template.tsx +98 -0
- package/src/templates/semantic-index.json +84 -0
- package/src/ts-transformer/index.cjs +40 -40
- package/src/utils/ai.js +49 -42
- package/src/utils/annotations.js +148 -148
- package/src/utils/config.js +36 -33
- package/src/utils/doc-ingest.js +101 -0
- package/src/utils/error-learner.js +41 -39
- package/src/utils/file-utils.js +26 -26
- package/src/utils/language-loader.js +29 -29
- package/src/utils/module-generator.js +235 -0
- package/src/utils/pdf-chapterize.js +191 -0
- package/src/utils/pdf-extractor.js +151 -0
- package/src/utils/semantic-index.js +93 -0
- package/src/utils/template-utils.js +11 -12
- 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
|
|
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
|
|
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
|
-
│
|
|
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**,
|
|
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
|
-
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
|
|
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
|
-
|
|
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.
|