@liriraid/agentflow-ai 1.0.10
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/LICENSE +21 -0
- package/README.md +79 -0
- package/bin/agentflow.mjs +332 -0
- package/orchestrator.js +1585 -0
- package/package.json +64 -0
- package/scripts/scaffold-agent-configs.mjs +100 -0
- package/scripts/scaffold-openspec-change.mjs +84 -0
- package/scripts/update-skill-registry.mjs +174 -0
- package/src/ink/app.mjs +240 -0
- package/src/ink/index.mjs +400 -0
- package/templates/en/.atl/skill-registry.md +27 -0
- package/templates/en/.claude/README.md +7 -0
- package/templates/en/.claude/skills/orchestrator-apply/SKILL.md +31 -0
- package/templates/en/.claude/skills/orchestrator-archive/SKILL.md +26 -0
- package/templates/en/.claude/skills/orchestrator-design/SKILL.md +27 -0
- package/templates/en/.claude/skills/orchestrator-explore/SKILL.md +29 -0
- package/templates/en/.claude/skills/orchestrator-init/SKILL.md +32 -0
- package/templates/en/.claude/skills/orchestrator-memory/SKILL.md +26 -0
- package/templates/en/.claude/skills/orchestrator-openspec/SKILL.md +35 -0
- package/templates/en/.claude/skills/orchestrator-propose/SKILL.md +26 -0
- package/templates/en/.claude/skills/orchestrator-queue-planning/SKILL.md +31 -0
- package/templates/en/.claude/skills/orchestrator-spec/SKILL.md +27 -0
- package/templates/en/.claude/skills/orchestrator-tasks/SKILL.md +27 -0
- package/templates/en/.claude/skills/orchestrator-verify/SKILL.md +27 -0
- package/templates/en/.codex/README.md +7 -0
- package/templates/en/.opencode/README.md +7 -0
- package/templates/en/AGENT-CONFIG.md +75 -0
- package/templates/en/CLAUDE.md +91 -0
- package/templates/en/ENGRAM.md +50 -0
- package/templates/en/ORCHESTRATOR.md +192 -0
- package/templates/en/PROJECT.md +70 -0
- package/templates/en/QUEUE.md +17 -0
- package/templates/en/README.md +188 -0
- package/templates/en/agents/ABACUS.md +36 -0
- package/templates/en/agents/BACKEND.md +37 -0
- package/templates/en/agents/CODEX.md +45 -0
- package/templates/en/agents/CURSOR.md +37 -0
- package/templates/en/agents/FRONTEND.md +36 -0
- package/templates/en/agents/GEMINI.md +37 -0
- package/templates/en/agents/OPENCODE.md +41 -0
- package/templates/en/docs/README.md +14 -0
- package/templates/en/docs/agents.md +33 -0
- package/templates/en/docs/architecture.md +43 -0
- package/templates/en/docs/components.md +14 -0
- package/templates/en/docs/engram.md +16 -0
- package/templates/en/docs/openspec.md +32 -0
- package/templates/en/docs/usage.md +66 -0
- package/templates/en/openspec/FLOW.md +24 -0
- package/templates/en/openspec/README.md +29 -0
- package/templates/en/openspec/changes/.gitkeep +1 -0
- package/templates/en/openspec/changes/archive/.gitkeep +1 -0
- package/templates/en/openspec/specs/.gitkeep +1 -0
- package/templates/en/openspec/templates/archive-report.md +21 -0
- package/templates/en/openspec/templates/change-metadata.yaml +9 -0
- package/templates/en/openspec/templates/design.md +26 -0
- package/templates/en/openspec/templates/proposal.md +27 -0
- package/templates/en/openspec/templates/spec.md +18 -0
- package/templates/en/openspec/templates/tasks.md +14 -0
- package/templates/en/openspec/templates/verify-report.md +21 -0
- package/templates/en/orchestrator.config.json +99 -0
- package/templates/es/.atl/skill-registry.md +133 -0
- package/templates/es/.claude/README.md +7 -0
- package/templates/es/.claude/skills/orchestrator-apply/SKILL.md +32 -0
- package/templates/es/.claude/skills/orchestrator-archive/SKILL.md +28 -0
- package/templates/es/.claude/skills/orchestrator-design/SKILL.md +32 -0
- package/templates/es/.claude/skills/orchestrator-explore/SKILL.md +31 -0
- package/templates/es/.claude/skills/orchestrator-init/SKILL.md +32 -0
- package/templates/es/.claude/skills/orchestrator-memory/SKILL.md +31 -0
- package/templates/es/.claude/skills/orchestrator-openspec/SKILL.md +55 -0
- package/templates/es/.claude/skills/orchestrator-propose/SKILL.md +33 -0
- package/templates/es/.claude/skills/orchestrator-queue-planning/SKILL.md +35 -0
- package/templates/es/.claude/skills/orchestrator-spec/SKILL.md +28 -0
- package/templates/es/.claude/skills/orchestrator-tasks/SKILL.md +32 -0
- package/templates/es/.claude/skills/orchestrator-verify/SKILL.md +31 -0
- package/templates/es/.codex/README.md +7 -0
- package/templates/es/.opencode/README.md +7 -0
- package/templates/es/AGENT-CONFIG.md +83 -0
- package/templates/es/CLAUDE.md +136 -0
- package/templates/es/ENGRAM.md +70 -0
- package/templates/es/ORCHESTRATOR.md +199 -0
- package/templates/es/PROJECT.md +237 -0
- package/templates/es/QUEUE.md +17 -0
- package/templates/es/README.md +568 -0
- package/templates/es/agents/ABACUS.md +25 -0
- package/templates/es/agents/BACKEND.md +28 -0
- package/templates/es/agents/CODEX.md +37 -0
- package/templates/es/agents/CURSOR.md +27 -0
- package/templates/es/agents/FRONTEND.md +29 -0
- package/templates/es/agents/GEMINI.md +26 -0
- package/templates/es/agents/OPENCODE.md +32 -0
- package/templates/es/docs/README.md +12 -0
- package/templates/es/docs/agents.md +57 -0
- package/templates/es/docs/architecture.md +41 -0
- package/templates/es/docs/components.md +33 -0
- package/templates/es/docs/engram.md +30 -0
- package/templates/es/docs/openspec.md +34 -0
- package/templates/es/docs/usage.md +54 -0
- package/templates/es/openspec/FLOW.md +139 -0
- package/templates/es/openspec/README.md +77 -0
- package/templates/es/openspec/changes/.gitkeep +1 -0
- package/templates/es/openspec/changes/archive/.gitkeep +1 -0
- package/templates/es/openspec/specs/.gitkeep +1 -0
- package/templates/es/openspec/templates/archive-report.md +23 -0
- package/templates/es/openspec/templates/change-metadata.yaml +9 -0
- package/templates/es/openspec/templates/design.md +33 -0
- package/templates/es/openspec/templates/proposal.md +36 -0
- package/templates/es/openspec/templates/spec.md +33 -0
- package/templates/es/openspec/templates/tasks.md +22 -0
- package/templates/es/openspec/templates/verify-report.md +24 -0
- package/templates/es/orchestrator.config.json +99 -0
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Gemini Agent
|
|
2
|
+
|
|
3
|
+
## Rol
|
|
4
|
+
Agente Google Gemini CLI. Fuerte para auditorías, code review y detección de patrones. Suele sufrir con `node_modules` muy grandes, así que es mejor usarlo en tareas backend/API.
|
|
5
|
+
|
|
6
|
+
## Alcance
|
|
7
|
+
- Auditorías: seguridad, cumplimiento de branch, compatibilidad de migraciones, etc.
|
|
8
|
+
- Tareas de code review y verificación
|
|
9
|
+
- Trabajo backend enfocado
|
|
10
|
+
|
|
11
|
+
## Reglas
|
|
12
|
+
1. Nunca hagas `git commit` ni `git push`
|
|
13
|
+
2. El control de git lo maneja manualmente el usuario
|
|
14
|
+
3. Actualiza `progress/PROGRESS-Gemini.md` al terminar
|
|
15
|
+
|
|
16
|
+
## Reporte de finalización (OBLIGATORIO)
|
|
17
|
+
```
|
|
18
|
+
TASK_REPORT
|
|
19
|
+
status: completed | failed | blocked
|
|
20
|
+
files_modified: list or "none"
|
|
21
|
+
files_created: list or "none"
|
|
22
|
+
files_deleted: list or "none"
|
|
23
|
+
summary: 1-3 sentences
|
|
24
|
+
issues: problems or "none"
|
|
25
|
+
TASK_REPORT_END
|
|
26
|
+
```
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# OpenCode Agent
|
|
2
|
+
|
|
3
|
+
## Rol
|
|
4
|
+
Agente OpenCode. Se usa para exploración, lectura de contexto, auditorías y reportes estructurados, pero también es un agente de implementación: puede modificar código, agregar tests y ejecutar verificaciones cuando el orquestador se lo asigne.
|
|
5
|
+
|
|
6
|
+
## Alcance
|
|
7
|
+
- Auditorías del codebase: residuos de Bootstrap, MySQL-isms, foreign keys faltantes, etc.
|
|
8
|
+
- Smoke tests y verificación de endpoints
|
|
9
|
+
- Reportes estructurados en Markdown
|
|
10
|
+
- Implementación de cambios cuando la tarea ya está clara y el orquestador lo delega
|
|
11
|
+
- Cambios acotados de código, tests, docs técnicas y refactors pequeños o medianos
|
|
12
|
+
- Exploración previa a implementación cuando el contexto todavía no esté suficientemente claro
|
|
13
|
+
|
|
14
|
+
## Reglas
|
|
15
|
+
1. Nunca hagas `git commit` ni `git push`
|
|
16
|
+
2. El control de git lo maneja manualmente el usuario
|
|
17
|
+
3. Actualiza `progress/PROGRESS-OpenCode.md` al terminar
|
|
18
|
+
4. Cuando listes hallazgos, entrega los reportes en tablas Markdown
|
|
19
|
+
5. Si implementas cambios, deja el estado listo para que Claude pueda revisar si el resultado coincide con la task
|
|
20
|
+
6. No te limites a auditar si la TASK pide implementación; entrega cambios concretos y verificables dentro del alcance asignado
|
|
21
|
+
|
|
22
|
+
## Reporte de finalización (OBLIGATORIO)
|
|
23
|
+
```
|
|
24
|
+
TASK_REPORT
|
|
25
|
+
status: completed | failed | blocked
|
|
26
|
+
files_modified: list or "none"
|
|
27
|
+
files_created: list or "none"
|
|
28
|
+
files_deleted: list or "none"
|
|
29
|
+
summary: 1-3 sentences
|
|
30
|
+
issues: problems or "none"
|
|
31
|
+
TASK_REPORT_END
|
|
32
|
+
```
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# Documentación
|
|
2
|
+
|
|
3
|
+
Este directorio contiene la capa reusable de documentación del workspace del orquestador.
|
|
4
|
+
|
|
5
|
+
Documentos disponibles:
|
|
6
|
+
|
|
7
|
+
- `architecture.md` — capas del sistema y flujo de datos
|
|
8
|
+
- `components.md` — componentes implementados y su estado actual
|
|
9
|
+
- `agents.md` — cómo se modelan las familias de agentes
|
|
10
|
+
- `engram.md` — rol y uso de la memoria
|
|
11
|
+
- `openspec.md` — modelo de artefactos y flujo de cambios
|
|
12
|
+
- `usage.md` — flujo recomendado de uso end-to-end
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# Agentes
|
|
2
|
+
|
|
3
|
+
## Familias operativas
|
|
4
|
+
|
|
5
|
+
El runtime soporta varias familias de agentes, pero el modelo operativo por defecto hoy es:
|
|
6
|
+
|
|
7
|
+
- **Claude** — orquestador principal y revisor final
|
|
8
|
+
- **OpenCode** — exploración, lectura de contexto y también implementación cuando se le asigne
|
|
9
|
+
- **Codex** — implementación estructurada y apoyo técnico; puede apoyar frontend en tareas acotadas
|
|
10
|
+
|
|
11
|
+
Otros perfiles pueden permanecer configurados para uso futuro sin estar activos por defecto.
|
|
12
|
+
|
|
13
|
+
## Claude como orquestador y worker
|
|
14
|
+
|
|
15
|
+
Claude tiene dos papeles:
|
|
16
|
+
|
|
17
|
+
- **Claude-Orquestador**: sesión interactiva que divide trabajo, mantiene `QUEUE.md`, revisa resultados y decide próximos pasos.
|
|
18
|
+
- **Claude-Worker**: agentes `Backend` y `Frontend` lanzados por la TUI con CLI `claude`, capaces de modificar código.
|
|
19
|
+
|
|
20
|
+
La sesión orquestadora no debe editar el proyecto real directamente. Para que Claude también trabaje en código, el orquestador asigna una TASK a `Backend` o `Frontend`.
|
|
21
|
+
|
|
22
|
+
Cuando haya varias tareas independientes, la primera tanda debe intentar ocupar a `Claude-Worker`, `Codex` y `OpenCode` en paralelo. Claude también toma tareas como fallback si Codex u OpenCode quedan bloqueados por cuota, tokens, rate limit o fallo persistente.
|
|
23
|
+
|
|
24
|
+
## Preferencia para frontend
|
|
25
|
+
|
|
26
|
+
El trabajo frontend lo lidera preferentemente `Frontend`/Claude. Codex puede recibir TASKs con `repo=frontend`, pero como apoyo menos permisivo: tests, documentación técnica, fixes puntuales, refactors mecánicos o cambios con archivos bien delimitados. Para cambios visuales amplios, arquitectura de componentes o flujos interactivos, usa `Frontend` como dueño principal.
|
|
27
|
+
|
|
28
|
+
## Capas de agentes
|
|
29
|
+
|
|
30
|
+
### `agentProfiles`
|
|
31
|
+
|
|
32
|
+
Configuración reusable por familia de agente, por ejemplo:
|
|
33
|
+
|
|
34
|
+
- `claude`
|
|
35
|
+
- `codex`
|
|
36
|
+
- `opencode`
|
|
37
|
+
- `gemini`
|
|
38
|
+
- `cursor`
|
|
39
|
+
- `abacusai`
|
|
40
|
+
|
|
41
|
+
### `agents`
|
|
42
|
+
|
|
43
|
+
Instancias operativas visibles en el runtime y en la TUI, por ejemplo:
|
|
44
|
+
|
|
45
|
+
- `Backend`
|
|
46
|
+
- `Frontend`
|
|
47
|
+
- `Codex`
|
|
48
|
+
- `OpenCode`
|
|
49
|
+
|
|
50
|
+
## Autoridad de revisión
|
|
51
|
+
|
|
52
|
+
Aunque OpenCode o Codex implementen código, Claude debe seguir siendo la autoridad principal para:
|
|
53
|
+
|
|
54
|
+
- revisión final
|
|
55
|
+
- consistencia contra la task
|
|
56
|
+
- decidir si el resultado coincide con la intención pedida
|
|
57
|
+
- tomar tareas como fallback cuando otro agente falla
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# Arquitectura
|
|
2
|
+
|
|
3
|
+
## Modelo general
|
|
4
|
+
|
|
5
|
+
El orquestador se divide en:
|
|
6
|
+
|
|
7
|
+
1. **Paquete CLI global**
|
|
8
|
+
- se instala una sola vez con npm
|
|
9
|
+
- expone `agentflow`
|
|
10
|
+
2. **Workspace del orquestador por proyecto**
|
|
11
|
+
- se crea como carpeta hermana del proyecto real
|
|
12
|
+
- contiene cola, estado runtime, docs, skills y artefactos
|
|
13
|
+
3. **Repositorio real del proyecto**
|
|
14
|
+
- permanece limpio
|
|
15
|
+
- es referenciado desde `orchestrator.config.json`
|
|
16
|
+
|
|
17
|
+
## Capas principales
|
|
18
|
+
|
|
19
|
+
- **Runtime** — `orchestrator.js`, parser de cola, scheduler y lanzador de agentes
|
|
20
|
+
- **UI** — TUI en Ink y TUI histórica en Blessed
|
|
21
|
+
- **Routing** — `ORCHESTRATOR.md`, `CLAUDE.md` y skill registry local
|
|
22
|
+
- **Skills** — skills locales del proyecto en `.claude/skills/`
|
|
23
|
+
- **Memoria** — Engram y sus convenciones de uso
|
|
24
|
+
- **Artefactos** — ciclo de vida de cambios en OpenSpec
|
|
25
|
+
- **Installer** — CLI global + creación de workspace
|
|
26
|
+
|
|
27
|
+
## Modelo operativo por defecto
|
|
28
|
+
|
|
29
|
+
- Claude es el orquestador principal
|
|
30
|
+
- Claude también puede trabajar como agente ejecutor mediante los workers `Backend` y `Frontend`
|
|
31
|
+
- OpenCode explora, lee contexto, audita y también puede implementar código
|
|
32
|
+
- Codex implementa trabajo estructurado en backend y también puede apoyar frontend en tareas acotadas
|
|
33
|
+
- Claude sigue siendo el revisor final y el filtro principal de calidad
|
|
34
|
+
|
|
35
|
+
El rol interactivo de Claude no edita el proyecto real directamente; coordina y revisa. La ejecución de código por Claude ocurre a través de una TASK asignada a un agente Claude-Worker en la cola.
|
|
36
|
+
|
|
37
|
+
## Modelo de permisos
|
|
38
|
+
|
|
39
|
+
- Seguro por defecto
|
|
40
|
+
- Sin bypass / YOLO por defecto
|
|
41
|
+
- Bypass explícito solo si el usuario inicia una sesión con `--yolo`
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# Componentes
|
|
2
|
+
|
|
3
|
+
Este documento describe los componentes reales del orquestador y cómo se organizan dentro del sistema.
|
|
4
|
+
|
|
5
|
+
| Componente | ID | Estado | Descripción |
|
|
6
|
+
|---|---|---|---|
|
|
7
|
+
| Engram | `engram` | Implementado | Memoria persistente entre sesiones |
|
|
8
|
+
| SDD | `sdd` | Implementado | Flujo guiado por OpenSpec y skills del orquestador |
|
|
9
|
+
| Skills | `skills` | Implementado | Skills locales en `.claude/skills/` con registry propio |
|
|
10
|
+
| Context7 | `context7` | Soportado | Se usa cuando se necesitan docs actuales de librerías |
|
|
11
|
+
| Persona | `persona` | Implementado | Claude como orquestador principal con reglas locales |
|
|
12
|
+
| Permissions | `permissions` | Implementado | Seguro por defecto, bypass solo explícito |
|
|
13
|
+
| GGA | `gga` | No incluido | Fuera de alcance para este orquestador |
|
|
14
|
+
| Theme | `theme` | No incluido | No forma parte del alcance de este orquestador |
|
|
15
|
+
|
|
16
|
+
## Skills de flujo del orquestador
|
|
17
|
+
|
|
18
|
+
- `orchestrator-init`
|
|
19
|
+
- `orchestrator-explore`
|
|
20
|
+
- `orchestrator-propose`
|
|
21
|
+
- `orchestrator-spec`
|
|
22
|
+
- `orchestrator-design`
|
|
23
|
+
- `orchestrator-tasks`
|
|
24
|
+
- `orchestrator-queue-planning`
|
|
25
|
+
- `orchestrator-apply`
|
|
26
|
+
- `orchestrator-verify`
|
|
27
|
+
- `orchestrator-archive`
|
|
28
|
+
- `orchestrator-memory`
|
|
29
|
+
- `orchestrator-openspec`
|
|
30
|
+
|
|
31
|
+
## Decisión de diseño
|
|
32
|
+
|
|
33
|
+
Este repo organiza sus skills alrededor del flujo real del orquestador con TUI, `QUEUE.md`, OpenSpec, Engram y Claude como coordinador.
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# Engram
|
|
2
|
+
|
|
3
|
+
Engram is the persistent memory layer for this orchestrator.
|
|
4
|
+
|
|
5
|
+
## What it stores
|
|
6
|
+
|
|
7
|
+
- decisions
|
|
8
|
+
- discoveries
|
|
9
|
+
- bug fixes
|
|
10
|
+
- project conventions
|
|
11
|
+
- session summaries
|
|
12
|
+
- important user preferences
|
|
13
|
+
|
|
14
|
+
## What it does not replace
|
|
15
|
+
|
|
16
|
+
- `QUEUE.md`
|
|
17
|
+
- the TUI
|
|
18
|
+
- OpenSpec change artifacts
|
|
19
|
+
- progress files
|
|
20
|
+
|
|
21
|
+
## Role in the workflow
|
|
22
|
+
|
|
23
|
+
- gives continuity across sessions
|
|
24
|
+
- prevents re-discovering the same facts repeatedly
|
|
25
|
+
- supports Claude as orchestrator when context grows
|
|
26
|
+
|
|
27
|
+
## Local references
|
|
28
|
+
|
|
29
|
+
- `ENGRAM.md`
|
|
30
|
+
- `.claude/skills/orchestrator-memory/SKILL.md`
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# OpenSpec
|
|
2
|
+
|
|
3
|
+
OpenSpec is the persistent artifact layer for larger or multi-phase changes.
|
|
4
|
+
|
|
5
|
+
## Canonical flow
|
|
6
|
+
|
|
7
|
+
`explore -> proposal -> spec -> design -> tasks -> queue -> apply -> verify -> archive`
|
|
8
|
+
|
|
9
|
+
## Main location
|
|
10
|
+
|
|
11
|
+
```text
|
|
12
|
+
openspec/
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Typical change layout
|
|
16
|
+
|
|
17
|
+
```text
|
|
18
|
+
openspec/changes/<change-name>/
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
Artifacts typically include:
|
|
22
|
+
|
|
23
|
+
- `proposal.md`
|
|
24
|
+
- `specs/spec.md`
|
|
25
|
+
- `design.md`
|
|
26
|
+
- `tasks.md`
|
|
27
|
+
- `verify-report.md`
|
|
28
|
+
- `archive-report.md`
|
|
29
|
+
|
|
30
|
+
## Relationship to the runtime
|
|
31
|
+
|
|
32
|
+
- OpenSpec defines the planning and artifact trail
|
|
33
|
+
- `QUEUE.md` defines the live execution queue
|
|
34
|
+
- `tasks.md` should be translated into `QUEUE.md` when execution begins
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# Uso
|
|
2
|
+
|
|
3
|
+
## Flujo recomendado
|
|
4
|
+
|
|
5
|
+
### 1. Instalar el CLI globalmente
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm i -g @liriraid/agentflow-ai
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
### 2. Crear un workspace hermano para un proyecto
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
agentflow init-workspace C:/code/mi-proyecto
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
Si no pasas idioma, el CLI preguntará si quieres `EN` o `ES`. También puedes elegirlo directo:
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
agentflow init-workspace C:/code/mi-proyecto --lang en
|
|
21
|
+
agentflow init-workspace C:/code/mi-proyecto --lang es
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
### 3. Abrir el workspace del orquestador
|
|
25
|
+
|
|
26
|
+
Usa dos terminales:
|
|
27
|
+
|
|
28
|
+
- una para la TUI
|
|
29
|
+
- otra para Claude Code
|
|
30
|
+
|
|
31
|
+
### 4. Iniciar la TUI
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
agentflow ink --paused
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
### 5. Iniciar Claude en el workspace del orquestador
|
|
38
|
+
|
|
39
|
+
Luego dile:
|
|
40
|
+
|
|
41
|
+
```text
|
|
42
|
+
Lee ORCHESTRATOR.md, asume el rol de orquestador y arranca.
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
### 6. Pedir trabajo
|
|
46
|
+
|
|
47
|
+
Ejemplos:
|
|
48
|
+
|
|
49
|
+
- `explora esta carpeta de componentes`
|
|
50
|
+
- `analiza este flujo`
|
|
51
|
+
- `prepara proposal, spec y tasks`
|
|
52
|
+
- `verifica que la implementación cumpla la spec`
|
|
53
|
+
|
|
54
|
+
Claude debe rutear naturalmente a las skills locales correctas del orquestador y reflejar ese flujo en la TUI.
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
# OpenSpec Flow
|
|
2
|
+
|
|
3
|
+
Este archivo define el flujo real de artefactos para cambios grandes dentro del orquestador.
|
|
4
|
+
|
|
5
|
+
## Orden de fases
|
|
6
|
+
|
|
7
|
+
```text
|
|
8
|
+
explore -> proposal -> spec -> design -> tasks -> queue -> apply -> verify -> archive
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Regla general
|
|
12
|
+
|
|
13
|
+
- Si el cambio es pequeño y directo, puede ir solo por `QUEUE.md`.
|
|
14
|
+
- Si el cambio tiene varias fases, varios agentes o riesgo no trivial, debe pasar por `openspec/`.
|
|
15
|
+
|
|
16
|
+
## Cuándo nace un change
|
|
17
|
+
|
|
18
|
+
Crea `openspec/changes/<change-name>/` cuando ocurra cualquiera de estas:
|
|
19
|
+
|
|
20
|
+
- el usuario pide proposal, spec, design o tasks
|
|
21
|
+
- la exploración revela varias fases o varios agentes
|
|
22
|
+
- el cambio necesita trazabilidad durable
|
|
23
|
+
- el cambio afecta arquitectura, flujo o estructura del proyecto
|
|
24
|
+
|
|
25
|
+
## Responsabilidad de cada artefacto
|
|
26
|
+
|
|
27
|
+
### `proposal.md`
|
|
28
|
+
|
|
29
|
+
Se usa para fijar:
|
|
30
|
+
|
|
31
|
+
- objetivo del cambio
|
|
32
|
+
- alcance
|
|
33
|
+
- riesgos
|
|
34
|
+
- rollback
|
|
35
|
+
|
|
36
|
+
Debe existir antes de escribir `specs/spec.md`.
|
|
37
|
+
|
|
38
|
+
### `specs/spec.md`
|
|
39
|
+
|
|
40
|
+
Se usa para fijar:
|
|
41
|
+
|
|
42
|
+
- requisitos verificables
|
|
43
|
+
- escenarios
|
|
44
|
+
- expectativas observables
|
|
45
|
+
|
|
46
|
+
No debe contener detalles de implementación.
|
|
47
|
+
|
|
48
|
+
### `design.md`
|
|
49
|
+
|
|
50
|
+
Se usa para fijar:
|
|
51
|
+
|
|
52
|
+
- enfoque técnico
|
|
53
|
+
- componentes afectados
|
|
54
|
+
- decisiones
|
|
55
|
+
- tradeoffs
|
|
56
|
+
|
|
57
|
+
Puede omitirse si el cambio es suficientemente pequeño y la spec ya deja clara la implementación.
|
|
58
|
+
|
|
59
|
+
### `tasks.md`
|
|
60
|
+
|
|
61
|
+
Se usa para convertir proposal/spec/design en trabajo ejecutable.
|
|
62
|
+
|
|
63
|
+
Debe contener:
|
|
64
|
+
|
|
65
|
+
- tareas pequeñas
|
|
66
|
+
- orden sugerido
|
|
67
|
+
- dependencias
|
|
68
|
+
- bloques listos para pasar a `QUEUE.md`
|
|
69
|
+
|
|
70
|
+
### `verify-report.md`
|
|
71
|
+
|
|
72
|
+
Se llena después de ejecutar o revisar implementación.
|
|
73
|
+
|
|
74
|
+
Debe responder:
|
|
75
|
+
|
|
76
|
+
- qué quedó hecho
|
|
77
|
+
- si coincide con spec y design
|
|
78
|
+
- qué riesgos o dudas quedan
|
|
79
|
+
- veredicto final
|
|
80
|
+
|
|
81
|
+
### `archive-report.md`
|
|
82
|
+
|
|
83
|
+
Se usa cuando el cambio ya no seguirá activo.
|
|
84
|
+
|
|
85
|
+
Debe dejar:
|
|
86
|
+
|
|
87
|
+
- resumen final
|
|
88
|
+
- estado
|
|
89
|
+
- decisiones clave
|
|
90
|
+
- follow-ups
|
|
91
|
+
|
|
92
|
+
## Paso de `tasks.md` a `QUEUE.md`
|
|
93
|
+
|
|
94
|
+
`tasks.md` es la fuente de verdad para descomposición del cambio.
|
|
95
|
+
|
|
96
|
+
`QUEUE.md` es la fuente de verdad para ejecución viva del motor.
|
|
97
|
+
|
|
98
|
+
La regla es:
|
|
99
|
+
|
|
100
|
+
1. primero se escribe o actualiza `tasks.md`
|
|
101
|
+
2. luego solo las tareas listas para ejecución pasan a `QUEUE.md`
|
|
102
|
+
3. al completarse en el motor, el estado se refleja de vuelta en `tasks.md` y/o `verify-report.md` cuando haga falta
|
|
103
|
+
|
|
104
|
+
No debe aparecer implementación grande en `QUEUE.md` si antes no está aterrizada en `tasks.md`.
|
|
105
|
+
|
|
106
|
+
## Estados sugeridos del change
|
|
107
|
+
|
|
108
|
+
Usa estos estados en `.openspec.yaml`:
|
|
109
|
+
|
|
110
|
+
- `draft`
|
|
111
|
+
- `exploring`
|
|
112
|
+
- `proposed`
|
|
113
|
+
- `specified`
|
|
114
|
+
- `designed`
|
|
115
|
+
- `planned`
|
|
116
|
+
- `in-progress`
|
|
117
|
+
- `verifying`
|
|
118
|
+
- `archived`
|
|
119
|
+
|
|
120
|
+
## Criterio de avance
|
|
121
|
+
|
|
122
|
+
- `proposal -> spec`: cuando el alcance ya está claro
|
|
123
|
+
- `spec -> design`: cuando hace falta decisión técnica
|
|
124
|
+
- `design -> tasks`: cuando ya hay enfoque suficiente para ejecutar
|
|
125
|
+
- `tasks -> queue`: cuando ya existen tareas concretas, pequeñas y asignables
|
|
126
|
+
- `queue -> verify`: cuando las tareas relevantes terminaron
|
|
127
|
+
- `verify -> archive`: cuando el cambio ya no requiere ejecución activa
|
|
128
|
+
|
|
129
|
+
## Relación con Engram
|
|
130
|
+
|
|
131
|
+
- Usa Engram para decisiones, descubrimientos y continuidad de sesión
|
|
132
|
+
- Usa OpenSpec para artefactos del cambio
|
|
133
|
+
- No mezcles ambos roles
|
|
134
|
+
|
|
135
|
+
## Relación con la TUI
|
|
136
|
+
|
|
137
|
+
- La TUI muestra ejecución viva
|
|
138
|
+
- OpenSpec muestra razonamiento, estructura y trazabilidad
|
|
139
|
+
- `QUEUE.md` sigue siendo el puente entre ambos
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
# OpenSpec Workspace
|
|
2
|
+
|
|
3
|
+
Esta carpeta guarda los artefactos SDD del proyecto.
|
|
4
|
+
|
|
5
|
+
## Estructura
|
|
6
|
+
|
|
7
|
+
```text
|
|
8
|
+
openspec/
|
|
9
|
+
├── changes/
|
|
10
|
+
│ ├── archive/
|
|
11
|
+
│ └── <change-name>/
|
|
12
|
+
├── FLOW.md
|
|
13
|
+
├── specs/
|
|
14
|
+
└── templates/
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## Objetivo
|
|
18
|
+
|
|
19
|
+
Usar `openspec/` como capa persistente para cambios importantes, sin depender solo de conversación, `QUEUE.md` o memoria corta.
|
|
20
|
+
|
|
21
|
+
## Flujo recomendado
|
|
22
|
+
|
|
23
|
+
1. **Explorar** una idea o problema
|
|
24
|
+
2. Crear un **change** en `openspec/changes/<change-name>/`
|
|
25
|
+
3. Escribir:
|
|
26
|
+
- `proposal.md`
|
|
27
|
+
- `specs/spec.md`
|
|
28
|
+
- `design.md`
|
|
29
|
+
- `tasks.md`
|
|
30
|
+
- `verify-report.md`
|
|
31
|
+
- `archive-report.md`
|
|
32
|
+
4. Guardar specs delta dentro de:
|
|
33
|
+
- `openspec/changes/<change-name>/specs/`
|
|
34
|
+
5. Cuando el cambio termine:
|
|
35
|
+
- moverlo a `openspec/changes/archive/`
|
|
36
|
+
- reflejar aprendizaje útil en Engram
|
|
37
|
+
|
|
38
|
+
## Flujo canónico
|
|
39
|
+
|
|
40
|
+
Consulta también:
|
|
41
|
+
|
|
42
|
+
- `openspec/FLOW.md`
|
|
43
|
+
|
|
44
|
+
Ese archivo define:
|
|
45
|
+
|
|
46
|
+
- cuándo nace un change
|
|
47
|
+
- cuándo proposal pasa a spec
|
|
48
|
+
- cuándo tasks baja a `QUEUE.md`
|
|
49
|
+
- cómo verificar y archivar
|
|
50
|
+
|
|
51
|
+
## Regla de diseño
|
|
52
|
+
|
|
53
|
+
- `openspec/` complementa `QUEUE.md`; no lo reemplaza.
|
|
54
|
+
- `QUEUE.md` sigue siendo la cola operativa del motor.
|
|
55
|
+
- `openspec/` guarda la intención, la spec delta, el diseño, el checklist y la verificación de cambios relevantes.
|
|
56
|
+
|
|
57
|
+
## Nombres de changes
|
|
58
|
+
|
|
59
|
+
Usa nombres claros, por ejemplo:
|
|
60
|
+
|
|
61
|
+
- `add-orchestrator-installer`
|
|
62
|
+
- `integrate-openspec-routing`
|
|
63
|
+
- `add-agent-config-sync`
|
|
64
|
+
- `improve-open-code-exploration`
|
|
65
|
+
|
|
66
|
+
Evita:
|
|
67
|
+
|
|
68
|
+
- `test`
|
|
69
|
+
- `wip`
|
|
70
|
+
- `change-1`
|
|
71
|
+
|
|
72
|
+
## Relación con el orquestador
|
|
73
|
+
|
|
74
|
+
- Claude puede usar `openspec/` para pensar y persistir cambios más grandes.
|
|
75
|
+
- `QUEUE.md` puede derivarse de `tasks.md`.
|
|
76
|
+
- Engram guarda continuidad y decisiones.
|
|
77
|
+
- La TUI sigue mostrando ejecución viva; `openspec/` guarda el razonamiento y la estructura.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# Archive Report
|
|
2
|
+
|
|
3
|
+
## Change
|
|
4
|
+
|
|
5
|
+
`<change-name>`
|
|
6
|
+
|
|
7
|
+
## Summary
|
|
8
|
+
|
|
9
|
+
Resumen corto del cambio archivado.
|
|
10
|
+
|
|
11
|
+
## Final Status
|
|
12
|
+
|
|
13
|
+
`completed | partial | archived-with-risks`
|
|
14
|
+
|
|
15
|
+
## Key Decisions
|
|
16
|
+
|
|
17
|
+
- Decisión 1
|
|
18
|
+
- Decisión 2
|
|
19
|
+
|
|
20
|
+
## Follow-ups
|
|
21
|
+
|
|
22
|
+
- Seguimiento 1
|
|
23
|
+
- Seguimiento 2
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# Design
|
|
2
|
+
|
|
3
|
+
## Context
|
|
4
|
+
|
|
5
|
+
Describe el contexto técnico del cambio.
|
|
6
|
+
|
|
7
|
+
## Approach
|
|
8
|
+
|
|
9
|
+
Explica cómo se implementará el cambio.
|
|
10
|
+
|
|
11
|
+
## Components Affected
|
|
12
|
+
|
|
13
|
+
- Archivo / módulo
|
|
14
|
+
- Archivo / módulo
|
|
15
|
+
|
|
16
|
+
## Data Flow
|
|
17
|
+
|
|
18
|
+
Describe el flujo importante entre piezas del sistema.
|
|
19
|
+
|
|
20
|
+
## Decisions
|
|
21
|
+
|
|
22
|
+
- Decisión 1
|
|
23
|
+
- Decisión 2
|
|
24
|
+
|
|
25
|
+
## Tradeoffs
|
|
26
|
+
|
|
27
|
+
- Tradeoff 1
|
|
28
|
+
- Tradeoff 2
|
|
29
|
+
|
|
30
|
+
## Open Questions
|
|
31
|
+
|
|
32
|
+
- Pregunta 1
|
|
33
|
+
- Pregunta 2
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# Proposal
|
|
2
|
+
|
|
3
|
+
## Change Name
|
|
4
|
+
|
|
5
|
+
`<change-name>`
|
|
6
|
+
|
|
7
|
+
## Why
|
|
8
|
+
|
|
9
|
+
Explica por qué este cambio existe y qué problema resuelve.
|
|
10
|
+
|
|
11
|
+
## What Changes
|
|
12
|
+
|
|
13
|
+
- Cambio 1
|
|
14
|
+
- Cambio 2
|
|
15
|
+
- Cambio 3
|
|
16
|
+
|
|
17
|
+
## Scope
|
|
18
|
+
|
|
19
|
+
### In Scope
|
|
20
|
+
|
|
21
|
+
- Ítem 1
|
|
22
|
+
- Ítem 2
|
|
23
|
+
|
|
24
|
+
### Out of Scope
|
|
25
|
+
|
|
26
|
+
- Ítem 1
|
|
27
|
+
- Ítem 2
|
|
28
|
+
|
|
29
|
+
## Risks
|
|
30
|
+
|
|
31
|
+
- Riesgo 1
|
|
32
|
+
- Riesgo 2
|
|
33
|
+
|
|
34
|
+
## Rollback
|
|
35
|
+
|
|
36
|
+
Cómo revertir o detener este cambio si genera problemas.
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# Spec Delta
|
|
2
|
+
|
|
3
|
+
## Change
|
|
4
|
+
|
|
5
|
+
`<change-name>`
|
|
6
|
+
|
|
7
|
+
## Requirements
|
|
8
|
+
|
|
9
|
+
### Requirement 1
|
|
10
|
+
|
|
11
|
+
Describe un requisito verificable.
|
|
12
|
+
|
|
13
|
+
#### Scenario: Happy path
|
|
14
|
+
|
|
15
|
+
- **Given** una condición inicial
|
|
16
|
+
- **When** ocurre una acción
|
|
17
|
+
- **Then** el sistema produce el resultado esperado
|
|
18
|
+
|
|
19
|
+
### Requirement 2
|
|
20
|
+
|
|
21
|
+
Describe otro requisito verificable.
|
|
22
|
+
|
|
23
|
+
#### Scenario: Edge case
|
|
24
|
+
|
|
25
|
+
- **Given** una condición límite
|
|
26
|
+
- **When** ocurre una acción relevante
|
|
27
|
+
- **Then** el sistema responde de forma correcta
|
|
28
|
+
|
|
29
|
+
## Notes
|
|
30
|
+
|
|
31
|
+
- Escribe requisitos observables, no implementación
|
|
32
|
+
- Usa escenarios concretos
|
|
33
|
+
- Esta spec debe vivir dentro de `openspec/changes/<change-name>/specs/`
|