@tacuchi/agent-workflow-cli 13.1.0 → 14.0.0
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 +2 -2
- package/dist/application/paths-service.d.ts +2 -0
- package/dist/application/paths-service.d.ts.map +1 -1
- package/dist/application/paths-service.js +4 -0
- package/dist/application/paths-service.js.map +1 -1
- package/dist/application/project-tab-data.d.ts +1 -1
- package/dist/application/project-tab-data.d.ts.map +1 -1
- package/dist/application/project-tab-data.js +4 -4
- package/dist/application/project-tab-data.js.map +1 -1
- package/dist/application/source-launch-scripts-service.d.ts +8 -10
- package/dist/application/source-launch-scripts-service.d.ts.map +1 -1
- package/dist/application/source-launch-scripts-service.js +8 -15
- package/dist/application/source-launch-scripts-service.js.map +1 -1
- package/dist/application/source-launch-service.d.ts +1 -1
- package/dist/application/source-launch-service.d.ts.map +1 -1
- package/dist/application/source-launch-service.js +3 -3
- package/dist/application/source-launch-service.js.map +1 -1
- package/dist/application/source-remove-service.d.ts +1 -1
- package/dist/application/source-remove-service.js +3 -3
- package/dist/application/source-remove-service.js.map +1 -1
- package/dist/application/workspace-init-service.d.ts +1 -1
- package/dist/application/workspace-init-service.d.ts.map +1 -1
- package/dist/application/workspace-init-service.js +55 -16
- package/dist/application/workspace-init-service.js.map +1 -1
- package/dist/cli/commands/remove-source.js +1 -1
- package/dist/cli/commands/remove-source.js.map +1 -1
- package/dist/cli/tui/data/workflow-content.js +1 -1
- package/dist/cli/tui/data/workflow-content.js.map +1 -1
- package/dist/cli/tui/tabs/project-tab.js +3 -3
- package/dist/cli/tui/tabs/project-tab.js.map +1 -1
- package/dist/domain/skills.d.ts +1 -1
- package/dist/domain/skills.d.ts.map +1 -1
- package/dist/domain/skills.js +1 -10
- package/dist/domain/skills.js.map +1 -1
- package/package.json +1 -1
- package/skills/w/README.md +3 -3
- package/skills/w/SKILL.md +4 -5
- package/skills/w/artifacts/README.md +2 -2
- package/skills/w/commands/README.md +5 -5
- package/skills/w/commands/plan-exec.md +1 -1
- package/skills/w/commands/workspace-init.md +1 -1
- package/skills/w/exports/README.md +1 -1
- package/skills/w/loops/README.md +4 -5
- package/skills/w/loops/plan-exec-loop/SKILL.md +6 -7
- package/skills/w/loops/quick-loop/SKILL.md +1 -1
- package/skills/w/loops/spec-refine-loop/SKILL.md +1 -1
- package/skills/w/roles/README.md +3 -6
- package/skills/w/roles/tools/SKILL.md +0 -148
|
@@ -13,8 +13,8 @@ description: >-
|
|
|
13
13
|
NUNCA ejecuta DML/DDL (migraciones se redactan en SCRIPTS.sql, solo read-only
|
|
14
14
|
se ejecuta); validación por fase y final (lo dependiente de migración no
|
|
15
15
|
aplicada se difiere como handoff a DBA); y SIN auto-export (escribe solo
|
|
16
|
-
docs/plans
|
|
17
|
-
export-*). Compone git
|
|
16
|
+
docs/plans; el resto queda como artefacto de session para
|
|
17
|
+
export-*). Compone git y sql. Lo arranca
|
|
18
18
|
/w:plan-exec y es reanudable. Invocar para implementar un plan ya generado.
|
|
19
19
|
---
|
|
20
20
|
|
|
@@ -36,13 +36,12 @@ PLAN
|
|
|
36
36
|
|
|
37
37
|
## Writes
|
|
38
38
|
- `docs/plans/PPP-plan-<slug>.md` (**read/update**, living doc: estado de fases/tareas, `Open questions`).
|
|
39
|
-
- `docs/tools/`: herramientas/utilidades reusables que la IA **crea** durante la ejecución (salida directa, no export).
|
|
40
39
|
- Artefactos de la plan-exec session en `.workflow/sessions/` (`SCRIPTS.sql`, `DECISION`, `ANALYSIS-FILE`/`CONCLUSIONS`, …).
|
|
41
40
|
- **NO** escribe en otras carpetas `docs/` ni **gradúa/exporta** otros artefactos automáticamente (ver *Boundary*).
|
|
42
41
|
|
|
43
42
|
## Boundary — sin auto-export (hard rule)
|
|
44
43
|
|
|
45
|
-
Este loop **nunca gradúa/promueve artefactos** a `docs/`.
|
|
44
|
+
Este loop **nunca gradúa/promueve artefactos** a `docs/`. La única carpeta `docs/` que escribe es **`docs/plans`** (el plan, living). Todo lo demás (migraciones → `docs/scripts`, manuales → `docs/manuals`, diagramas → `docs/diagrams`, etc.) lo hacen skills **`export-*`** aparte, como paso explícito posterior. Los artefactos quedan en sus sessions hasta entonces. Si una tarea crea una herramienta/utilidad, la documenta la skill ambiente `creating-tools` en `docs/tools` (auto-descubierta por su `description`; el workflow es **indiferente**, no la bindea).
|
|
46
45
|
|
|
47
46
|
## Inherits
|
|
48
47
|
|
|
@@ -55,9 +54,9 @@ Del chasis [`spec-refine-loop`](../spec-refine-loop/SKILL.md), sin cambios:
|
|
|
55
54
|
|
|
56
55
|
## Composes
|
|
57
56
|
|
|
58
|
-
`git` (rama segura + commits propuestos) · `
|
|
57
|
+
`git` (rama segura + commits propuestos) · `sql` (regla BD). Ambas resueltas por `.workflow/skills.toml`; `off` → el loop sigue sin la capacidad y, si era necesaria, lo dice o pregunta.
|
|
59
58
|
|
|
60
|
-
> **Convenciones ambientes (no roles).** Los estándares de código, testing y
|
|
59
|
+
> **Convenciones ambientes (no roles).** Los estándares de código, testing, redacción **y la creación de herramientas** (`creating-tools`) **no son roles** del workflow ni se bindean: son **skills standalone que el host auto-descubre por su `description`** y aplica cuando son relevantes. El workflow es **indiferente** (no las lee ni las busca). Familias útiles viven en plugins del marketplace (`dev-conventions`, `tool-builder`), pero el workflow **no depende** de ellos.
|
|
61
60
|
|
|
62
61
|
## Internal sessions (managed)
|
|
63
62
|
|
|
@@ -120,7 +119,7 @@ plan-exec-loop(PPP-plan-<slug>.md):
|
|
|
120
119
|
si no coincide → pausar + resolver con humano
|
|
121
120
|
ejecutar Task:
|
|
122
121
|
editar código en las fuentes (cambio mínimo)
|
|
123
|
-
si crea herramienta/utilidad
|
|
122
|
+
si crea herramienta/utilidad → la skill ambiente creating-tools la documenta en docs/tools
|
|
124
123
|
si consulta BD read-only → SCRIPTS.sql + ejecutar read-only
|
|
125
124
|
si cambio BD (DDL/DML) → redactar en SCRIPTS.sql (artefacto session, NO ejecutar)
|
|
126
125
|
si decisión no obvia → DECISION (etiquetado por fase/tarea, en el ÚNICO DECISION)
|
|
@@ -50,7 +50,7 @@ QUICK
|
|
|
50
50
|
|
|
51
51
|
`git` · `sql` (regla BD) · `research` (inline). Resueltas por `.workflow/skills.toml`.
|
|
52
52
|
|
|
53
|
-
> **Convenciones ambientes (no roles).** Los estándares de código, testing y
|
|
53
|
+
> **Convenciones ambientes (no roles).** Los estándares de código, testing, redacción **y la creación de herramientas** (`creating-tools`) **no son roles** del workflow ni se bindean: son **skills standalone que el host auto-descubre por su `description`** y aplica cuando son relevantes. El workflow es **indiferente** (no las lee ni las busca). Familias útiles viven en plugins del marketplace (`dev-conventions`, `tool-builder`), pero el workflow **no depende** de ellos.
|
|
54
54
|
|
|
55
55
|
## Delta QUICK — minimal ceremony
|
|
56
56
|
|
|
@@ -116,7 +116,7 @@ El gap **UI sin especificar** (cuando el requerimiento involucra UI; ver *Gap ta
|
|
|
116
116
|
|
|
117
117
|
Otras capacidades transversales que el chasis usa siempre: `research` (research **inline**, ver abajo), `sql` (regla BD en research). Todas se resuelven por config; `off` → el loop sigue sin la capacidad y, si era necesaria, lo dice o pregunta. La **prosa del spec** sigue las convenciones de redacción **ambientes** (el host auto-aplica una skill de writing instalada si está presente), no un rol compuesto.
|
|
118
118
|
|
|
119
|
-
> **Convenciones ambientes (no roles).** Los estándares de código, testing y
|
|
119
|
+
> **Convenciones ambientes (no roles).** Los estándares de código, testing, redacción **y la creación de herramientas** (`creating-tools`) **no son roles** del workflow ni se bindean: son **skills standalone que el host auto-descubre por su `description`** y aplica cuando son relevantes. El workflow es **indiferente** (no las lee ni las busca). Familias útiles viven en plugins del marketplace (`dev-conventions`, `tool-builder`), pero el workflow **no depende** de ellos.
|
|
120
120
|
|
|
121
121
|
## Deliverable schema (el spec, editado in place)
|
|
122
122
|
|
package/skills/w/roles/README.md
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
## Capability catalog
|
|
10
10
|
|
|
11
|
-
All
|
|
11
|
+
All 6 roles, their built-in defaults, their tier, and which loops/exports compose them:
|
|
12
12
|
|
|
13
13
|
| Role | Default built-in | Tier | Composed by |
|
|
14
14
|
|---|---|---|---|
|
|
@@ -16,7 +16,6 @@ All 7 roles, their built-in defaults, their tier, and which loops/exports compos
|
|
|
16
16
|
| `sql` | `sql` | must | inline research · `plan-exec-loop` · `quick-loop` · `export-scripts` |
|
|
17
17
|
| `git` | `git` | must | `plan-exec-loop` · `quick-loop` |
|
|
18
18
|
| `research` | [`research`](research/SKILL.md) | should | all loops (on-demand investigation) |
|
|
19
|
-
| `tools` | [`tools`](tools/SKILL.md) | should | `plan-exec-loop` |
|
|
20
19
|
| `diagrams` | [`diagrams`](diagrams/SKILL.md) | should | `export-diagrams` |
|
|
21
20
|
| `overview` | `workflow` | should | any loop (orientation about the workflow itself) |
|
|
22
21
|
|
|
@@ -24,7 +23,7 @@ All 7 roles, their built-in defaults, their tier, and which loops/exports compos
|
|
|
24
23
|
- `must` — core to almost every session; built-in always active unless explicitly `off`.
|
|
25
24
|
- `should` — loaded on-demand; active by default but lower priority to override.
|
|
26
25
|
|
|
27
|
-
> **Convenciones ambientes (no roles).** Los estándares de código, testing y
|
|
26
|
+
> **Convenciones ambientes (no roles).** Los estándares de código, testing, redacción **y la creación de herramientas** (`creating-tools`) **no son roles** del workflow ni se bindean: son **skills standalone que el host auto-descubre por su `description`** y aplica cuando son relevantes. El workflow es **indiferente** (no las lee ni las busca). Familias útiles viven en plugins del marketplace (`dev-conventions`, `tool-builder`), pero el workflow **no depende** de ellos.
|
|
28
27
|
|
|
29
28
|
---
|
|
30
29
|
|
|
@@ -59,7 +58,6 @@ built-in default
|
|
|
59
58
|
# sql = "sql"
|
|
60
59
|
# git = "git"
|
|
61
60
|
# research = "research"
|
|
62
|
-
# tools = "tools"
|
|
63
61
|
# diagrams = "diagrams"
|
|
64
62
|
# overview = "workflow"
|
|
65
63
|
|
|
@@ -115,7 +113,6 @@ ui-design ui-spec built-in
|
|
|
115
113
|
sql sql built-in
|
|
116
114
|
git git built-in
|
|
117
115
|
research research built-in
|
|
118
|
-
tools tools built-in
|
|
119
116
|
diagrams mermaid-only global (~/.workflow/skills.toml)
|
|
120
117
|
overview workflow built-in
|
|
121
118
|
```
|
|
@@ -135,7 +132,7 @@ Each `SKILL.md` follows this schema:
|
|
|
135
132
|
|
|
136
133
|
| Section | Content |
|
|
137
134
|
|---|---|
|
|
138
|
-
| Frontmatter `name:` | kebab-case; MUST equal the binding name (`research`, `
|
|
135
|
+
| Frontmatter `name:` | kebab-case; MUST equal the binding name (`research`, `diagrams`, etc.) |
|
|
139
136
|
| Frontmatter `description:` | rich description: what + when; drives automatic selection |
|
|
140
137
|
| `## Role` | which capability role this implements (its skills.toml slot) |
|
|
141
138
|
| `## Purpose` | what it does |
|
|
@@ -1,148 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: tools
|
|
3
|
-
description: >
|
|
4
|
-
Capacidad de autoría de herramientas y utilidades que el plan crea: scripts, CLIs, helpers,
|
|
5
|
-
configuraciones reutilizables. Produce el código de la herramienta y su documentación en
|
|
6
|
-
docs/tools/. Compuesta por plan-exec-loop cuando una task crea una utilidad nueva (no un
|
|
7
|
-
cambio de producto). No aplica a código de producto — solo a tooling auxiliar.
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# tools — Tool authoring capability
|
|
11
|
-
|
|
12
|
-
## Role
|
|
13
|
-
|
|
14
|
-
`tools` — implementación built-in por defecto. Rebindeable a otra skill (de tercero o `off`) en `.workflow/skills.toml`.
|
|
15
|
-
|
|
16
|
-
## Purpose
|
|
17
|
-
|
|
18
|
-
Dar al `plan-exec-loop` la capacidad de crear herramientas y utilidades auxiliares con una estructura consistente: el código de la tool + su documentación en `docs/tools/`. Cubre scripts de automatización, CLIs auxiliares, helpers de CI/CD, configuraciones reutilizables, y cualquier artefacto de tooling que el plan genere como producto de una task.
|
|
19
|
-
|
|
20
|
-
**Distinciones clave:**
|
|
21
|
-
|
|
22
|
-
| Tipo | Rol | ¿Quién lo maneja? |
|
|
23
|
-
|---|---|---|
|
|
24
|
-
| Código de producto (services, controllers, components) | cambio en el repo fuente | `plan-exec-loop` (estilo: convenciones ambientes del host) |
|
|
25
|
-
| Tool / utilidad auxiliar creada por el plan | herramienta de soporte | esta skill (`tools`) |
|
|
26
|
-
| Script SQL de migración | dato persistente | `sql` + `export-scripts` |
|
|
27
|
-
|
|
28
|
-
## Composed by
|
|
29
|
-
|
|
30
|
-
| Loop | Cuándo la compone |
|
|
31
|
-
|---|---|
|
|
32
|
-
| `plan-exec-loop` | cuando una task del plan crea una herramienta nueva (helper, script CLI, configuración reutilizable) |
|
|
33
|
-
|
|
34
|
-
## Knowledge
|
|
35
|
-
|
|
36
|
-
### Tool vs. product code
|
|
37
|
-
|
|
38
|
-
Una **tool** es cualquier artefacto que el plan crea para soportar el trabajo, no para el usuario final del producto:
|
|
39
|
-
|
|
40
|
-
- Scripts de seed/fixtures para desarrollo local.
|
|
41
|
-
- CLIs auxiliares (`validate-schema.js`, `sync-env.sh`).
|
|
42
|
-
- Helpers de CI/CD (scripts de deploy, linters de configuración).
|
|
43
|
-
- Configuraciones reutilizables (templates de entorno, fixtures de test).
|
|
44
|
-
- Generadores o scaffolders para tareas repetitivas.
|
|
45
|
-
|
|
46
|
-
Si el artefacto es lógica de negocio del producto → no es una tool, es código de producto.
|
|
47
|
-
|
|
48
|
-
### Tool anatomy
|
|
49
|
-
|
|
50
|
-
Cada tool tiene dos partes:
|
|
51
|
-
|
|
52
|
-
1. **El código** — en el repo fuente apropiado (en su carpeta natural: `scripts/`, `tools/`, `bin/`, etc.).
|
|
53
|
-
2. **La doc** — en `docs/tools/NNN-<slug>.md` del workspace (invariant #2: PLAN escribe `docs/tools`).
|
|
54
|
-
|
|
55
|
-
### docs/tools/NNN-<slug>.md schema
|
|
56
|
-
|
|
57
|
-
```markdown
|
|
58
|
-
# <Nombre de la tool>
|
|
59
|
-
|
|
60
|
-
> **Tipo**: <script | cli | helper | config-template | generator>
|
|
61
|
-
> **Repo**: <alias de la fuente donde vive el código>
|
|
62
|
-
> **Path**: <path relativo al repo>
|
|
63
|
-
> **Creada en**: <sesion-slug>
|
|
64
|
-
|
|
65
|
-
## Purpose
|
|
66
|
-
|
|
67
|
-
[1-2 oraciones: qué hace y cuándo usarla.]
|
|
68
|
-
|
|
69
|
-
## Usage
|
|
70
|
-
|
|
71
|
-
```<lenguaje o bash>
|
|
72
|
-
<ejemplo de invocación>
|
|
73
|
-
```
|
|
74
|
-
|
|
75
|
-
## Parameters
|
|
76
|
-
|
|
77
|
-
| Param | Tipo | Requerido | Default | Descripcion |
|
|
78
|
-
|---|---|---|---|---|
|
|
79
|
-
| `--foo` | string | sí | — | ... |
|
|
80
|
-
|
|
81
|
-
## Output
|
|
82
|
-
|
|
83
|
-
[Qué produce: archivos, stdout, efectos secundarios.]
|
|
84
|
-
|
|
85
|
-
## Dependencies
|
|
86
|
-
|
|
87
|
-
- <prerequisito 1: binario, env var, servicio>
|
|
88
|
-
- <prerequisito 2>
|
|
89
|
-
|
|
90
|
-
## Examples
|
|
91
|
-
|
|
92
|
-
```bash
|
|
93
|
-
# Caso de uso principal
|
|
94
|
-
./scripts/validate-schema.sh --env staging
|
|
95
|
-
|
|
96
|
-
# Caso edge
|
|
97
|
-
./scripts/validate-schema.sh --env staging --dry-run
|
|
98
|
-
```
|
|
99
|
-
|
|
100
|
-
## Notes
|
|
101
|
-
|
|
102
|
-
[Advertencias, limitaciones, cuándo NO usar.]
|
|
103
|
-
```
|
|
104
|
-
|
|
105
|
-
### Numbering
|
|
106
|
-
|
|
107
|
-
`docs/tools/` usa numeración secuencial `NNN` (001, 002, ...). Consultar el número siguiente con el filesystem antes de escribir; no asumir el siguiente en base a lo que el loop ya sabe.
|
|
108
|
-
|
|
109
|
-
### Git-safe authoring (invariant #5)
|
|
110
|
-
|
|
111
|
-
- Verificar la rama esperada antes de escribir código.
|
|
112
|
-
- Proponer el commit; nunca hacer `push`/`--amend`/`--no-verify` autónomamente.
|
|
113
|
-
- Si la tool modifica scripts ya existentes: leer el archivo completo primero.
|
|
114
|
-
|
|
115
|
-
### DB scripts rule (invariant #4)
|
|
116
|
-
|
|
117
|
-
Si la tool genera o manipula SQL:
|
|
118
|
-
- Nunca generar DML/DDL que se ejecute inline — el SQL va a `SCRIPTS.sql` y se entrega vía `export-scripts`.
|
|
119
|
-
- Una tool puede generar un archivo `.sql`; no puede ejecutarlo contra la BD.
|
|
120
|
-
|
|
121
|
-
### Code quality baseline
|
|
122
|
-
|
|
123
|
-
Al autorar el código de la tool, seguir las convenciones de código **ambientes** del host (auto-descubiertas por su `description`; no es un rol del workflow ni se bindea). Si no hay una skill de estándares aplicable, usar los estándares del lenguaje detectado:
|
|
124
|
-
- **Shell**: shellcheck-compatible, variables entre comillas, `set -euo pipefail`.
|
|
125
|
-
- **Node/TS**: tipado explícito, sin `any` salvo justificación, error handling explícito.
|
|
126
|
-
- **Python**: type hints, docstring en funciones públicas, manejo de excepciones específico.
|
|
127
|
-
- **Java**: Javadoc mínimo en clases públicas, excepciones tipadas.
|
|
128
|
-
|
|
129
|
-
### Self-contained tools
|
|
130
|
-
|
|
131
|
-
Preferir tools que declaren explícitamente sus dependencias (en doc + en el propio script). Una tool que falla silenciosamente porque le falta un binario es peor que una que no existe.
|
|
132
|
-
|
|
133
|
-
```bash
|
|
134
|
-
# Pattern: check dependencies al inicio
|
|
135
|
-
command -v jq >/dev/null 2>&1 || { echo "jq requerido: brew install jq"; exit 1; }
|
|
136
|
-
```
|
|
137
|
-
|
|
138
|
-
## Output
|
|
139
|
-
|
|
140
|
-
Por cada tool creada:
|
|
141
|
-
- **Código**: en el repo fuente, en la carpeta que corresponda (`scripts/`, `tools/`, `bin/`).
|
|
142
|
-
- **Doc**: en `docs/tools/NNN-<slug>.md` del workspace.
|
|
143
|
-
|
|
144
|
-
Writes `docs/tools/` (invariant #2: PLAN es el dueño de esta carpeta). No gradua a ninguna otra carpeta de `docs/`.
|
|
145
|
-
|
|
146
|
-
## Source
|
|
147
|
-
|
|
148
|
-
Autoria original (no hay skill equivalente en el bundle viejo). Basado en la descripción del rol en `workflow-roles/README.md` y en el invariant #2 del diseño (`docs/tools/` es del flujo PLAN). Las convenciones de estructura de doc (`## Purpose`, `## Usage`, `## Parameters`, `## Output`, `## Examples`) siguen el patrón de calidad del bundle.
|