openprompt-lang 0.5.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 +379 -13
- package/bin/cli.js +207 -0
- package/bin/create.js +0 -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/package.json +4 -2
- package/src/commands/init.js +21 -0
- package/src/commands/integrate.js +165 -3
- package/src/commands/knowledge.js +481 -0
- package/src/commands/learning.js +444 -0
- package/src/commands/local-setup.js +110 -0
- package/src/commands/validate.js +8 -1
- package/src/commands/work-context.js +818 -0
- package/src/knowledge/db-rules.json +28 -0
- 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/utils/pdf-chapterize.js +191 -0
- package/src/utils/pdf-extractor.js +151 -0
package/README.md
CHANGED
|
@@ -8,6 +8,39 @@ 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)
|
|
@@ -36,6 +69,15 @@ openPrompt-Lang --version
|
|
|
36
69
|
- [Scripts descriptivos](#scripts-descriptivos)
|
|
37
70
|
- [Estructura del proyecto](#estructura-del-proyecto)
|
|
38
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)
|
|
39
81
|
- [VS Code Extension](#vs-code-extension)
|
|
40
82
|
- [Versionado (SemVer)](#versionado-semver)
|
|
41
83
|
- [Documentación](#documentación)
|
|
@@ -492,7 +534,7 @@ openPrompt-Lang component list --validated
|
|
|
492
534
|
| `openPrompt-Lang ai-providers` | Lista proveedores IA disponibles y su estado |
|
|
493
535
|
| `openPrompt-Lang extract [sourceDir]` | Analiza proyecto y extrae componentes reutilizables como templates |
|
|
494
536
|
| `openPrompt-Lang analyze [sourceDir]` | Analiza estructura, dependencias y salud del proyecto |
|
|
495
|
-
| `openPrompt-Lang integrate [--all]` | Configura Opencode, Cursor
|
|
537
|
+
| `openPrompt-Lang integrate [--all]` | Configura Opencode, Cursor, VS Code y Antigravity para el proyecto |
|
|
496
538
|
| `openPrompt-Lang qa-gen` | Genera tests desde errores aprendidos (@learn-error) |
|
|
497
539
|
| `openPrompt-Lang qa-learn` | Parsea @learn-error de un archivo al módulo de lenguaje |
|
|
498
540
|
| `openPrompt-Lang lang list` | Lista lenguajes disponibles |
|
|
@@ -506,6 +548,21 @@ openPrompt-Lang component list --validated
|
|
|
506
548
|
| `openPrompt-Lang component add <nombre>` | Agrega componente de la biblioteca al proyecto |
|
|
507
549
|
| `openPrompt-Lang component manifest` | Muestra el manifiesto de la biblioteca |
|
|
508
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/` |
|
|
509
566
|
|
|
510
567
|
---
|
|
511
568
|
|
|
@@ -528,6 +585,13 @@ mi-app-web/
|
|
|
528
585
|
├── package.json # Scripts descriptivos (dev:start, test:unit, validate:all...)
|
|
529
586
|
├── prompt-lang.json # Configuración del framework
|
|
530
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
|
|
531
595
|
└── .gitignore
|
|
532
596
|
```
|
|
533
597
|
|
|
@@ -582,9 +646,10 @@ cd mi-proyecto-ya-iniciado
|
|
|
582
646
|
openPrompt-Lang init --existing
|
|
583
647
|
```
|
|
584
648
|
|
|
585
|
-
Esto detecta automáticamente el stack y crea
|
|
649
|
+
Esto detecta automáticamente el stack y crea:
|
|
586
650
|
- `prompt-lang.json` (config con stack detectado)
|
|
587
651
|
- `AGENTS.md` (contexto para IA con tecnologías reales)
|
|
652
|
+
- `.opencode/work-context/` (sistema de trazabilidad obligatorio)
|
|
588
653
|
|
|
589
654
|
Te preguntará:
|
|
590
655
|
- ¿Agregar scripts descriptivos al `package.json`? (merge sin romper)
|
|
@@ -748,7 +813,23 @@ openPrompt-Lang/
|
|
|
748
813
|
├── .opencode/ ← Configuración para Opencode
|
|
749
814
|
│ ├── opencode.json ← MCP server + skills + default_agent
|
|
750
815
|
│ ├── agent/openPrompt.md ← Agente con 4 workflows + Default Workflow
|
|
751
|
-
│
|
|
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
|
|
752
833
|
├── tests/
|
|
753
834
|
│ ├── annotations.test.js ← ~45 tests de parser y validador
|
|
754
835
|
│ ├── config.test.js ← Tests de deep merge
|
|
@@ -805,6 +886,12 @@ openPrompt-Lang/
|
|
|
805
886
|
| `docs/PROMPT_AI_CONTEXT.md` | Prompt pre-hecho para copiar-pegar a Gemini/Claude/ChatGPT |
|
|
806
887
|
| `vscode-extension/` | Extensión VS Code: syntax highlighting y snippets para anotaciones |
|
|
807
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 |
|
|
808
895
|
|
|
809
896
|
---
|
|
810
897
|
|
|
@@ -969,6 +1056,210 @@ openPrompt-Lang init --existing
|
|
|
969
1056
|
|
|
970
1057
|
---
|
|
971
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
|
+
|
|
972
1263
|
## VS Code Extension
|
|
973
1264
|
|
|
974
1265
|
openPrompt-Lang incluye una extensión para VS Code en `vscode-extension/` con resaltado de sintaxis y snippets.
|
|
@@ -1016,9 +1307,9 @@ code --install-extension openprompt-lang-*.vsix
|
|
|
1016
1307
|
|
|
1017
1308
|
---
|
|
1018
1309
|
|
|
1019
|
-
## OpenCode Integration
|
|
1310
|
+
## OpenCode & Antigravity Integration
|
|
1020
1311
|
|
|
1021
|
-
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**.
|
|
1022
1313
|
|
|
1023
1314
|
### Configuración rápida
|
|
1024
1315
|
|
|
@@ -1028,14 +1319,22 @@ npx openprompt-lang integrate --all
|
|
|
1028
1319
|
|
|
1029
1320
|
Esto genera:
|
|
1030
1321
|
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
|
|
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 |
|
|
1035
1334
|
|
|
1036
1335
|
### MCP Server
|
|
1037
1336
|
|
|
1038
|
-
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:
|
|
1039
1338
|
|
|
1040
1339
|
```
|
|
1041
1340
|
## Result: success|error|warning
|
|
@@ -1058,9 +1357,22 @@ El MCP (Model Context Protocol) server permite que Opencode invoque herramientas
|
|
|
1058
1357
|
| **Testing** | `generate_tests(sourceDir, lang, output)` | Genera tests desde `@learn-error`. Usar **después de documentar un bug** |
|
|
1059
1358
|
| **Scaffold** | `scaffold_project(framework, name)` | Crea estructura de proyecto y archivos base |
|
|
1060
1359
|
|
|
1061
|
-
### Auto-supervisión IA (Default Workflow)
|
|
1360
|
+
### Auto-supervisión IA (Default Workflow + Work Context)
|
|
1062
1361
|
|
|
1063
|
-
El **skill auto-detectable**
|
|
1362
|
+
El **skill auto-detectable** guía a la IA con dos ciclos integrados:
|
|
1363
|
+
|
|
1364
|
+
**Work Context (obligatorio, previo a todo):**
|
|
1365
|
+
|
|
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):**
|
|
1064
1376
|
|
|
1065
1377
|
```
|
|
1066
1378
|
1. analyze_project → entender el proyecto
|
|
@@ -1071,7 +1383,7 @@ El **skill auto-detectable** se activa cuando el proyecto usa anotaciones y guí
|
|
|
1071
1383
|
6. validate → verificar que todo está limpio
|
|
1072
1384
|
```
|
|
1073
1385
|
|
|
1074
|
-
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.
|
|
1075
1387
|
|
|
1076
1388
|
### Uso manual (sin `integrate`)
|
|
1077
1389
|
|
|
@@ -1099,6 +1411,60 @@ Luego agrega `.opencode/agent/openPrompt.md` (instrucciones del agente) y `.open
|
|
|
1099
1411
|
|
|
1100
1412
|
---
|
|
1101
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
|
+
|
|
1102
1468
|
## Tutorial: Usar openPrompt-Lang con cualquier IA
|
|
1103
1469
|
|
|
1104
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.
|