create-quiver 0.14.1 → 0.15.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/CHANGELOG.md +22 -0
- package/README.md +35 -0
- package/README_FOR_AI.md +15 -4
- package/ROADMAP.md +13 -2
- package/docs/AI_CONTEXT.md.template +4 -0
- package/docs/AI_ONBOARDING_PROMPT.md.template +8 -0
- package/docs/CLI_UX_GUIDE.md +79 -4
- package/docs/COMMANDS.md.template +21 -5
- package/docs/TROUBLESHOOTING.md +70 -0
- package/docs/TROUBLESHOOTING.md.template +20 -0
- package/docs/getting-started/installation.md +86 -0
- package/docs/reference/commands.md +33 -1
- package/package.json +1 -1
- package/specs/quiver-v30-interactive-cli-ux-agent-selection/EVIDENCE_REPORT.md +213 -0
- package/specs/quiver-v30-interactive-cli-ux-agent-selection/EXECUTION_PLAN.md +85 -0
- package/specs/quiver-v30-interactive-cli-ux-agent-selection/SPEC.md +213 -0
- package/specs/quiver-v30-interactive-cli-ux-agent-selection/STATUS.md +31 -0
- package/specs/quiver-v30-interactive-cli-ux-agent-selection/pr.md +103 -0
- package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-00-spec-foundation/CLOSURE_BRIEF.md +33 -0
- package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-00-spec-foundation/EXECUTION_BRIEF.md +56 -0
- package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-00-spec-foundation/slice.json +71 -0
- package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-01-cli-ux-runtime-progress-engine/CLOSURE_BRIEF.md +31 -0
- package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-01-cli-ux-runtime-progress-engine/EXECUTION_BRIEF.md +54 -0
- package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-01-cli-ux-runtime-progress-engine/slice.json +69 -0
- package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-02-agent-profile-selection-selectors/CLOSURE_BRIEF.md +33 -0
- package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-02-agent-profile-selection-selectors/EXECUTION_BRIEF.md +56 -0
- package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-02-agent-profile-selection-selectors/slice.json +81 -0
- package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-03-provider-model-selection-contract/CLOSURE_BRIEF.md +32 -0
- package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-03-provider-model-selection-contract/EXECUTION_BRIEF.md +54 -0
- package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-03-provider-model-selection-contract/slice.json +75 -0
- package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-04-planner-ia-progress-flows/CLOSURE_BRIEF.md +32 -0
- package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-04-planner-ia-progress-flows/EXECUTION_BRIEF.md +57 -0
- package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-04-planner-ia-progress-flows/slice.json +85 -0
- package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-05-executor-pr-progress-flows/CLOSURE_BRIEF.md +33 -0
- package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-05-executor-pr-progress-flows/EXECUTION_BRIEF.md +57 -0
- package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-05-executor-pr-progress-flows/slice.json +85 -0
- package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-06-doctor-visual-json-contract/CLOSURE_BRIEF.md +35 -0
- package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-06-doctor-visual-json-contract/EXECUTION_BRIEF.md +55 -0
- package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-06-doctor-visual-json-contract/slice.json +81 -0
- package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-07-interactive-init-spec-create/CLOSURE_BRIEF.md +34 -0
- package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-07-interactive-init-spec-create/EXECUTION_BRIEF.md +55 -0
- package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-07-interactive-init-spec-create/slice.json +85 -0
- package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-08-tests-docs-cross-platform-release/CLOSURE_BRIEF.md +34 -0
- package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-08-tests-docs-cross-platform-release/EXECUTION_BRIEF.md +59 -0
- package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-08-tests-docs-cross-platform-release/slice.json +95 -0
- package/specs/quiver-v31-ai-model-catalog-agent-selection/EVIDENCE_REPORT.md +185 -0
- package/specs/quiver-v31-ai-model-catalog-agent-selection/EXECUTION_PLAN.md +85 -0
- package/specs/quiver-v31-ai-model-catalog-agent-selection/SPEC.md +337 -0
- package/specs/quiver-v31-ai-model-catalog-agent-selection/STATUS.md +30 -0
- package/specs/quiver-v31-ai-model-catalog-agent-selection/pr.md +98 -0
- package/specs/quiver-v31-ai-model-catalog-agent-selection/slices/slice-00-spec-foundation/CLOSURE_BRIEF.md +30 -0
- package/specs/quiver-v31-ai-model-catalog-agent-selection/slices/slice-00-spec-foundation/EXECUTION_BRIEF.md +51 -0
- package/specs/quiver-v31-ai-model-catalog-agent-selection/slices/slice-00-spec-foundation/slice.json +62 -0
- package/specs/quiver-v31-ai-model-catalog-agent-selection/slices/slice-01-model-catalog-alias-normalization/CLOSURE_BRIEF.md +32 -0
- package/specs/quiver-v31-ai-model-catalog-agent-selection/slices/slice-01-model-catalog-alias-normalization/EXECUTION_BRIEF.md +53 -0
- package/specs/quiver-v31-ai-model-catalog-agent-selection/slices/slice-01-model-catalog-alias-normalization/slice.json +72 -0
- package/specs/quiver-v31-ai-model-catalog-agent-selection/slices/slice-02-interactive-agent-set-selectors/CLOSURE_BRIEF.md +36 -0
- package/specs/quiver-v31-ai-model-catalog-agent-selection/slices/slice-02-interactive-agent-set-selectors/EXECUTION_BRIEF.md +56 -0
- package/specs/quiver-v31-ai-model-catalog-agent-selection/slices/slice-02-interactive-agent-set-selectors/slice.json +78 -0
- package/specs/quiver-v31-ai-model-catalog-agent-selection/slices/slice-03-agent-doctor-repair/CLOSURE_BRIEF.md +36 -0
- package/specs/quiver-v31-ai-model-catalog-agent-selection/slices/slice-03-agent-doctor-repair/EXECUTION_BRIEF.md +57 -0
- package/specs/quiver-v31-ai-model-catalog-agent-selection/slices/slice-03-agent-doctor-repair/slice.json +77 -0
- package/specs/quiver-v31-ai-model-catalog-agent-selection/slices/slice-04-shared-preflight-provider-errors/CLOSURE_BRIEF.md +35 -0
- package/specs/quiver-v31-ai-model-catalog-agent-selection/slices/slice-04-shared-preflight-provider-errors/EXECUTION_BRIEF.md +55 -0
- package/specs/quiver-v31-ai-model-catalog-agent-selection/slices/slice-04-shared-preflight-provider-errors/slice.json +84 -0
- package/specs/quiver-v31-ai-model-catalog-agent-selection/slices/slice-05-ai-models-list/CLOSURE_BRIEF.md +32 -0
- package/specs/quiver-v31-ai-model-catalog-agent-selection/slices/slice-05-ai-models-list/EXECUTION_BRIEF.md +52 -0
- package/specs/quiver-v31-ai-model-catalog-agent-selection/slices/slice-05-ai-models-list/slice.json +72 -0
- package/specs/quiver-v31-ai-model-catalog-agent-selection/slices/slice-06-docs-templates-alignment/CLOSURE_BRIEF.md +33 -0
- package/specs/quiver-v31-ai-model-catalog-agent-selection/slices/slice-06-docs-templates-alignment/EXECUTION_BRIEF.md +58 -0
- package/specs/quiver-v31-ai-model-catalog-agent-selection/slices/slice-06-docs-templates-alignment/slice.json +84 -0
- package/specs/quiver-v31-ai-model-catalog-agent-selection/slices/slice-07-tests-smokes-release-readiness/CLOSURE_BRIEF.md +32 -0
- package/specs/quiver-v31-ai-model-catalog-agent-selection/slices/slice-07-tests-smokes-release-readiness/EXECUTION_BRIEF.md +59 -0
- package/specs/quiver-v31-ai-model-catalog-agent-selection/slices/slice-07-tests-smokes-release-readiness/slice.json +94 -0
- package/specs/quiver-v32-npx-installation-guidance/EVIDENCE_REPORT.md +26 -0
- package/specs/quiver-v32-npx-installation-guidance/SPEC.md +55 -0
- package/specs/quiver-v32-npx-installation-guidance/STATUS.md +23 -0
- package/specs/quiver-v32-npx-installation-guidance/pr.md +72 -0
- package/specs/quiver-v32-npx-installation-guidance/slices/slice-00-installation-docs/CLOSURE_BRIEF.md +31 -0
- package/specs/quiver-v32-npx-installation-guidance/slices/slice-00-installation-docs/EXECUTION_BRIEF.md +56 -0
- package/specs/quiver-v32-npx-installation-guidance/slices/slice-00-installation-docs/slice.json +75 -0
- package/src/create-quiver/commands/ai.js +797 -99
- package/src/create-quiver/commands/flow.js +2 -2
- package/src/create-quiver/commands/spec.js +106 -6
- package/src/create-quiver/index.js +557 -78
- package/src/create-quiver/lib/agent-profiles.js +440 -11
- package/src/create-quiver/lib/ai/execution-plan.js +111 -8
- package/src/create-quiver/lib/ai/executor.js +291 -28
- package/src/create-quiver/lib/ai/model-catalog.js +333 -0
- package/src/create-quiver/lib/ai/providers.js +211 -2
- package/src/create-quiver/lib/cli/selectors.js +160 -0
- package/src/create-quiver/lib/cli/theme.js +5 -2
- package/src/create-quiver/lib/cli/ux-flags.js +18 -0
- package/src/create-quiver/lib/cli/ux.js +100 -5
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
# Instalación y uso con npx
|
|
2
|
+
|
|
3
|
+
Esta guía explica por qué Quiver normalmente se ejecuta con `npx`, cuándo aparece en `node_modules` y cuándo conviene instalarlo como dependencia del proyecto.
|
|
4
|
+
|
|
5
|
+
## Uso recomendado
|
|
6
|
+
|
|
7
|
+
Para usar la última versión publicada de Quiver, ejecutá:
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
npx --yes create-quiver@latest --help
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
Qué hace:
|
|
14
|
+
|
|
15
|
+
- descarga o reutiliza `create-quiver` desde la caché de npm;
|
|
16
|
+
- ejecuta el CLI sin agregarlo al `package.json`;
|
|
17
|
+
- evita instalar una dependencia que la aplicación no necesita para correr.
|
|
18
|
+
|
|
19
|
+
Este es el modo recomendado para inicializar, analizar, diagnosticar, preparar contexto, crear specs, ejecutar slices y abrir PRs.
|
|
20
|
+
|
|
21
|
+
## Por qué no aparece en node_modules
|
|
22
|
+
|
|
23
|
+
Si ejecutás Quiver con:
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
npx --yes create-quiver@latest ...
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
el paquete no se instala dentro del proyecto. npm lo ejecuta desde su caché temporal o global de ejecución. Por eso no vas a encontrarlo en:
|
|
30
|
+
|
|
31
|
+
```text
|
|
32
|
+
node_modules/create-quiver
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
Esto es normal para CLIs de bootstrap como `create-quiver`. Quiver organiza el workflow del proyecto, pero no es una librería que tu app importe en runtime.
|
|
36
|
+
|
|
37
|
+
## Cuándo instalarlo como devDependency
|
|
38
|
+
|
|
39
|
+
Instalalo localmente solo si el equipo quiere una versión fijada en el proyecto o scripts reproducibles sin depender de `@latest`:
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
npm install --save-dev create-quiver
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
Después podés usar:
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
npx create-quiver --help
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
O agregar scripts al `package.json`, por ejemplo:
|
|
52
|
+
|
|
53
|
+
```json
|
|
54
|
+
{
|
|
55
|
+
"scripts": {
|
|
56
|
+
"quiver:doctor": "create-quiver doctor",
|
|
57
|
+
"quiver:flow": "create-quiver flow"
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
Qué cambia:
|
|
63
|
+
|
|
64
|
+
- `create-quiver` aparece en `devDependencies`;
|
|
65
|
+
- npm lo instala dentro de `node_modules`;
|
|
66
|
+
- los scripts del proyecto usan la versión fijada por `package-lock.json`.
|
|
67
|
+
|
|
68
|
+
## Qué opción elegir
|
|
69
|
+
|
|
70
|
+
| Necesidad | Recomendación |
|
|
71
|
+
|---|---|
|
|
72
|
+
| Probar Quiver rápidamente | `npx --yes create-quiver@latest` |
|
|
73
|
+
| Inicializar un proyecto nuevo | `npx --yes create-quiver@latest init --name "Mi Proyecto"` |
|
|
74
|
+
| Usar siempre la última versión publicada | `npx --yes create-quiver@latest` |
|
|
75
|
+
| Fijar una versión para el equipo | `npm install --save-dev create-quiver` |
|
|
76
|
+
| Evitar dependencia local de workflow | Usar `npx` |
|
|
77
|
+
|
|
78
|
+
## Qué no hace Quiver
|
|
79
|
+
|
|
80
|
+
Quiver no se instala globalmente por defecto, no modifica credenciales de npm y no agrega una dependencia runtime a tu app salvo que lo pidas explícitamente con npm.
|
|
81
|
+
|
|
82
|
+
## Siguiente paso
|
|
83
|
+
|
|
84
|
+
- [Proyecto nuevo desde cero](../workflows/new-project.md)
|
|
85
|
+
- [Proyecto existente sin Quiver](../workflows/existing-project.md)
|
|
86
|
+
- [Referencia de comandos](../reference/commands.md)
|
|
@@ -2,6 +2,25 @@
|
|
|
2
2
|
|
|
3
3
|
Usá `npx --yes create-quiver@latest --help` para ver la lista viva de comandos soportados por la versión instalada.
|
|
4
4
|
|
|
5
|
+
## npx vs instalación local
|
|
6
|
+
|
|
7
|
+
Quiver está pensado para ejecutarse principalmente con `npx`:
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
npx --yes create-quiver@latest <comando>
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
En ese modo npm descarga o reutiliza el CLI desde su caché y no lo instala en `node_modules`. Eso es normal: `create-quiver` es una herramienta de workflow, no una dependencia runtime de la app.
|
|
14
|
+
|
|
15
|
+
Instalalo como dependencia de desarrollo solo si querés fijar una versión para el equipo:
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
npm install --save-dev create-quiver
|
|
19
|
+
npx create-quiver <comando>
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
Más detalle: [Instalación y uso con npx](../getting-started/installation.md).
|
|
23
|
+
|
|
5
24
|
## Configuración inicial
|
|
6
25
|
|
|
7
26
|
| Comando | Para qué sirve |
|
|
@@ -9,10 +28,12 @@ Usá `npx --yes create-quiver@latest --help` para ver la lista viva de comandos
|
|
|
9
28
|
| `npx --yes create-quiver@latest --version` | Muestra la versión del CLI. |
|
|
10
29
|
| `npx --yes create-quiver@latest --help` | Muestra los comandos soportados. |
|
|
11
30
|
| `npx --yes create-quiver@latest init --name "Proyecto"` | Inicializa Quiver en un proyecto. |
|
|
31
|
+
| `npx --yes create-quiver@latest init --interactive` | Abre una guía interactiva para elegir modo de proyecto, metodología `wdd-sdd`, perfil inicial y próximos pasos de agentes. |
|
|
12
32
|
| `npx --yes create-quiver@latest migrate --dry-run` | Previsualiza migración de un proyecto Quiver anterior. |
|
|
13
33
|
| `npx --yes create-quiver@latest migrate` | Aplica la migración. |
|
|
14
34
|
| `npx --yes create-quiver@latest analyze` | Genera mapa del proyecto y datos de escaneo. |
|
|
15
35
|
| `npx --yes create-quiver@latest doctor` | Valida la salud de Quiver. |
|
|
36
|
+
| `npx --yes create-quiver@latest doctor --json` | Emite el mismo diagnóstico de Doctor como JSON parseable para automatización. |
|
|
16
37
|
| `npx --yes create-quiver@latest flow` | Muestra el próximo paso seguro. |
|
|
17
38
|
|
|
18
39
|
## Planificación con IA
|
|
@@ -24,7 +45,15 @@ Usá `npx --yes create-quiver@latest --help` para ver la lista viva de comandos
|
|
|
24
45
|
| `npx --yes create-quiver@latest ai prepare-context --with-planner --dry-run` | Previsualiza una propuesta docs-only generada por el planner sin escribir archivos. |
|
|
25
46
|
| `npx --yes create-quiver@latest ai prepare-context --with-planner --print-prompt` | Imprime el prompt exacto para ejecutar el planner en otro entorno. |
|
|
26
47
|
| `npx --yes create-quiver@latest ai prepare-context --with-planner --review --interactive` | Ejecuta planner, abre revisión humana y pide confirmación antes de escribir docs permitidos. |
|
|
27
|
-
| `npx --yes create-quiver@latest ai
|
|
48
|
+
| `npx --yes create-quiver@latest ai models list` | Lista proveedores y modelos conocidos por Quiver sin afirmar disponibilidad en la cuenta. |
|
|
49
|
+
| `npx --yes create-quiver@latest ai models list --provider codex` | Filtra el catálogo local por proveedor. |
|
|
50
|
+
| `npx --yes create-quiver@latest ai models list --json` | Emite el catálogo local en JSON parseable. |
|
|
51
|
+
| `npx --yes create-quiver@latest ai agent set <role>` | En TTY, guía la selección de proveedor, modelo conocido por Quiver o modelo custom. |
|
|
52
|
+
| `npx --yes create-quiver@latest ai agent set <role> --provider <provider> --model <model-id>` | Guarda un perfil de agente sin secretos en modo script/no-TTY. |
|
|
53
|
+
| `npx --yes create-quiver@latest ai agent set planner --provider codex --model gpt-5.5 --dry-run` | Previsualiza la escritura del perfil sin modificar `.quiver/agents/profiles.json`. |
|
|
54
|
+
| `npx --yes create-quiver@latest ai agent doctor` | Diagnostica perfiles de agentes, alias visuales, proveedores faltantes y modelos custom no validados. |
|
|
55
|
+
| `npx --yes create-quiver@latest ai agent doctor --json` | Emite el diagnóstico de perfiles como JSON parseable. |
|
|
56
|
+
| `npx --yes create-quiver@latest ai agent repair --dry-run` | Previsualiza reparaciones seguras de perfiles, como normalizar `model: "GPT 5.5"` a `model: "gpt-5.5"` y `displayName: "GPT 5.5"`. |
|
|
28
57
|
| `npx --yes create-quiver@latest ai run create --input <file>` | Inicia una ejecución persistente de IA. |
|
|
29
58
|
| `npx --yes create-quiver@latest ai status` | Muestra el estado de la ejecución actual. |
|
|
30
59
|
| `npx --yes create-quiver@latest ai plan --phase acceptance --input <file>` | Genera criterios de aceptación. |
|
|
@@ -42,6 +71,7 @@ Usá `npx --yes create-quiver@latest --help` para ver la lista viva de comandos
|
|
|
42
71
|
| `npx --yes create-quiver@latest spec create --dry-run` | Previsualiza archivos de spec generados. |
|
|
43
72
|
| `npx --yes create-quiver@latest spec create` | Genera spec, slices, briefs, plan de ejecución y cuerpo del PR. |
|
|
44
73
|
| `npx --yes create-quiver@latest spec create --review --interactive` | Abre una revisión del paquete a generar y pide confirmación antes de escribir. |
|
|
74
|
+
| `npx --yes create-quiver@latest spec create --interactive` | Guía la selección de metodología `wdd-sdd`, input aprobado y modo de revisión antes de escribir. |
|
|
45
75
|
| `npx --yes create-quiver@latest spec validate specs/<spec> --strict` | Valida el paquete de spec. |
|
|
46
76
|
| `npx --yes create-quiver@latest spec start specs/<spec>` | Crea o reutiliza el worktree de una spec. |
|
|
47
77
|
| `npx --yes create-quiver@latest plan --spec <spec>` | Muestra el orden de ejecución de slices. |
|
|
@@ -70,8 +100,10 @@ Usá `npx --yes create-quiver@latest --help` para ver la lista viva de comandos
|
|
|
70
100
|
| `--with-planner` | Activa comportamiento asistido por planner solo en comandos que lo soportan. |
|
|
71
101
|
| `--interactive` | Habilita prompts humanos de confirmación o elección. |
|
|
72
102
|
| `--review` | Abre o prepara revisión humana antes de escrituras persistentes. |
|
|
103
|
+
| `--methodology wdd-sdd` | Declara la metodología soportada por comandos interactivos o automatizados. |
|
|
73
104
|
| `--no-color` | Desactiva colores ANSI en salida humana. |
|
|
74
105
|
| `--provider codex\|claude\|gemini` | Selecciona CLI local de proveedor. |
|
|
106
|
+
| `--model <model-id>` | Selecciona el identificador técnico del modelo para `ai agent set` o ejecución de proveedor. Quiver normaliza alias conocidos, pero no garantiza acceso en la cuenta del proveedor. |
|
|
75
107
|
| `--commit` | Permite que Quiver commitee trabajo validado del slice. |
|
|
76
108
|
| `--mode manual` | Imprime prompts para asignación manual de ejecutores. |
|
|
77
109
|
| `--mode delegated` | Usa ejecución delegada con worktrees temporales cuando es seguro. |
|
package/package.json
CHANGED
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
# Evidence Report - Quiver v30 Interactive CLI UX and Agent Selection
|
|
2
|
+
|
|
3
|
+
## Summary
|
|
4
|
+
|
|
5
|
+
This report records the evidence for every v30 slice, from the documentation foundation through final release readiness.
|
|
6
|
+
|
|
7
|
+
## slice-00 - Spec foundation
|
|
8
|
+
|
|
9
|
+
### Completed
|
|
10
|
+
|
|
11
|
+
- Create v30 spec folder.
|
|
12
|
+
- Create `SPEC.md`, `STATUS.md`, `EVIDENCE_REPORT.md`, `EXECUTION_PLAN.md`, and `pr.md`.
|
|
13
|
+
- Create every slice folder with `slice.json`, `EXECUTION_BRIEF.md`, and `CLOSURE_BRIEF.md`.
|
|
14
|
+
- Sync source-of-truth planning docs with v29 release status and v30 planned scope.
|
|
15
|
+
|
|
16
|
+
### Validation
|
|
17
|
+
|
|
18
|
+
- `find specs/quiver-v30-interactive-cli-ux-agent-selection -name 'slice.json' -print -exec node -e "JSON.parse(require('fs').readFileSync(process.argv[1], 'utf8')); console.log('ok', process.argv[1])" {} \;` passed for 9 slice files.
|
|
19
|
+
- `git diff --check` passed.
|
|
20
|
+
- `node bin/create-quiver.js spec validate specs/quiver-v30-interactive-cli-ux-agent-selection` passed and reported 9 slices.
|
|
21
|
+
|
|
22
|
+
### Risks Observed During Validation
|
|
23
|
+
|
|
24
|
+
- None for the documentation package.
|
|
25
|
+
|
|
26
|
+
## Later Slices
|
|
27
|
+
|
|
28
|
+
Each implementation slice appended:
|
|
29
|
+
|
|
30
|
+
- commands executed;
|
|
31
|
+
- tests or smokes run;
|
|
32
|
+
- files changed;
|
|
33
|
+
- validation result;
|
|
34
|
+
- UX/machine-output evidence;
|
|
35
|
+
- remaining risks;
|
|
36
|
+
- evidence location.
|
|
37
|
+
|
|
38
|
+
## slice-01 - CLI UX runtime and progress engine
|
|
39
|
+
|
|
40
|
+
### Completed
|
|
41
|
+
|
|
42
|
+
- Extended `src/create-quiver/lib/cli/theme.js` with section, success, warning, and error semantics while keeping the approved Quiver palette centralized.
|
|
43
|
+
- Extended `src/create-quiver/lib/cli/ux.js` with helpers for sections, checks, warnings, errors, summaries, next steps, and task groups.
|
|
44
|
+
- Hardened spinner stop behavior so a spinner is stopped once on success or failure.
|
|
45
|
+
- Added tests for branded human hierarchy, plain no-TTY fallback, JSON suppression, and real stage execution through `taskGroup`.
|
|
46
|
+
|
|
47
|
+
### Validation
|
|
48
|
+
|
|
49
|
+
- `node --test tests/lib/cli-theme.test.js tests/lib/cli-ux.test.js` passed: 15 tests.
|
|
50
|
+
- `git diff --check` passed.
|
|
51
|
+
|
|
52
|
+
### Risks
|
|
53
|
+
|
|
54
|
+
- Command adoption is intentionally deferred to later slices; this slice only adds the runtime.
|
|
55
|
+
|
|
56
|
+
## slice-02 - Agent profile selection and selectors
|
|
57
|
+
|
|
58
|
+
### Completed
|
|
59
|
+
|
|
60
|
+
- Added backward-compatible multiple named agent profiles per role.
|
|
61
|
+
- Kept legacy single-profile behavior by preserving the default profile under `profiles.<role>`.
|
|
62
|
+
- Added profile sets under `profile_sets.<role>s`.
|
|
63
|
+
- Added display-name resolution order for profile output.
|
|
64
|
+
- Added CLI flags for profile identity and future selectors: `--id`, `--display-name`, `--default`, `--planner`, `--executor`, `--reviewer`, `--doctor`, and `--methodology`.
|
|
65
|
+
- Added `src/create-quiver/lib/cli/selectors.js` for reusable interactive/non-interactive selection.
|
|
66
|
+
- Extended `ai agent set/list/show` for named profiles.
|
|
67
|
+
|
|
68
|
+
### Validation
|
|
69
|
+
|
|
70
|
+
- `node --test tests/lib/agent-profiles.test.js tests/lib/cli-selectors.test.js tests/commands/ai-agent.test.js` passed: 16 tests.
|
|
71
|
+
- `git diff --check` passed.
|
|
72
|
+
- `node bin/create-quiver.js spec validate specs/quiver-v30-interactive-cli-ux-agent-selection` passed.
|
|
73
|
+
|
|
74
|
+
### Risks
|
|
75
|
+
|
|
76
|
+
- Command flows do not yet consume the new profile selector flags; that adoption belongs to later slices.
|
|
77
|
+
- Provider model correctness is not enforced until slice-03.
|
|
78
|
+
|
|
79
|
+
## slice-03 - Provider model selection contract
|
|
80
|
+
|
|
81
|
+
### Completed
|
|
82
|
+
|
|
83
|
+
- Added provider adapter metadata for model selection support and model argument construction.
|
|
84
|
+
- Added model-selection metadata to provider invocations and dry-run results.
|
|
85
|
+
- Added live execution enforcement so selected models are passed to provider adapters or block with actionable guidance when unsupported.
|
|
86
|
+
- Wired planner/reviewer profile model selection into `ai onboard`, `ai prepare-context --with-planner`, `ai plan`, `ai review-plan`, `ai repair-plan`, and `ai revise`.
|
|
87
|
+
- Added command flag propagation for `--model`, `--planner`, and `--reviewer` in planner/reviewer flows.
|
|
88
|
+
- Documented the model-selection contract in `docs/CLI_UX_GUIDE.md` and synchronized `README_FOR_AI.md`.
|
|
89
|
+
|
|
90
|
+
### Validation
|
|
91
|
+
|
|
92
|
+
- `node --test tests/lib/ai-providers.test.js tests/commands/ai-agent.test.js tests/commands/ai-onboard.test.js tests/commands/ai-plan.test.js tests/commands/ai-review-plan.test.js tests/commands/ai-prepare-context-planner.test.js` passed: 72 tests.
|
|
93
|
+
- `git diff --check` passed.
|
|
94
|
+
- `node bin/create-quiver.js spec validate specs/quiver-v30-interactive-cli-ux-agent-selection` passed.
|
|
95
|
+
|
|
96
|
+
### Risks
|
|
97
|
+
|
|
98
|
+
- Provider model flags are implemented through the current adapter contract. Installed provider CLIs can still vary by version, so later release validation should dogfood dry-run and live commands with available local CLIs.
|
|
99
|
+
- Executor provider/model propagation remains for slice-05.
|
|
100
|
+
|
|
101
|
+
## slice-04 - Planner IA progress flows
|
|
102
|
+
|
|
103
|
+
### Completed
|
|
104
|
+
|
|
105
|
+
- Added a shared command UX bridge for planner-oriented IA commands.
|
|
106
|
+
- Added visible TTY progress for `ai onboard`, `ai prepare-context --with-planner`, `ai plan`, `ai review-plan`, `ai repair-plan`, and `ai revise`.
|
|
107
|
+
- Progress headings use the selected profile/model display name when available.
|
|
108
|
+
- Provider execution now runs inside a spinner in human TTY mode and stops on both success and provider failure.
|
|
109
|
+
- `--dry-run`, `--print-prompt`, CI, and non-TTY output remain free of progress noise.
|
|
110
|
+
- Updated `docs/CLI_UX_GUIDE.md` and `README_FOR_AI.md` with the progress-output standard.
|
|
111
|
+
|
|
112
|
+
### Validation
|
|
113
|
+
|
|
114
|
+
- `node --test tests/commands/ai-prepare-context-planner.test.js tests/commands/ai-onboard.test.js tests/commands/ai-plan.test.js tests/commands/ai-review-plan.test.js tests/lib/cli-ux.test.js` passed: 65 tests.
|
|
115
|
+
- `git diff --check` passed.
|
|
116
|
+
|
|
117
|
+
### Risks
|
|
118
|
+
|
|
119
|
+
- Some direct unit tests run with a TTY can display clack spinner artifacts in the test log, although captured no-TTY output remains clean. Slice-08 should include a final full-suite check and adjust test harness mode if needed.
|
|
120
|
+
- Executor and PR command progress remains for slice-05.
|
|
121
|
+
|
|
122
|
+
## slice-05 - Executor, execution-plan, and PR progress flows
|
|
123
|
+
|
|
124
|
+
### Completed
|
|
125
|
+
|
|
126
|
+
- Added executor runtime profile/model resolution and provider model enforcement to `ai execute-slice`.
|
|
127
|
+
- Added interactive ready-slice selection for `ai execute-slice --interactive` when `--slice` is omitted.
|
|
128
|
+
- Added interactive executor profile selection when multiple executor profiles are configured.
|
|
129
|
+
- Added TTY progress for executor provider execution, validation commands, slice commits, execution-plan waves, GitHub preflight, and PR creation.
|
|
130
|
+
- Added model visibility to execute-slice and execute-plan dry-runs.
|
|
131
|
+
- Extended UX flag support to `ai execute-slice` and `ai execute-plan` for `--interactive`.
|
|
132
|
+
- Preserved clean JSON/no-TTY behavior and existing PR/gh error propagation.
|
|
133
|
+
|
|
134
|
+
### Validation
|
|
135
|
+
|
|
136
|
+
- `node --test tests/lib/ai-executor.test.js tests/commands/ai-execute-slice.test.js tests/lib/ai-execution-plan.test.js tests/commands/ai-execute-plan.test.js tests/commands/ai-pr.test.js tests/commands/ux-flags.test.js` passed: 54 tests.
|
|
137
|
+
- `git diff --check` passed.
|
|
138
|
+
|
|
139
|
+
### Risks
|
|
140
|
+
|
|
141
|
+
- `ai execute-plan --interactive` is now accepted for strategy UX consistency, but this slice does not yet add a full strategy selector. Future UX work can add it without changing the safety contract.
|
|
142
|
+
- Direct TTY unit runs can still show spinner artifacts in logs; final suite validation should decide whether to force test I/O to no-TTY.
|
|
143
|
+
|
|
144
|
+
## slice-06 - Doctor visual and JSON contract
|
|
145
|
+
|
|
146
|
+
### Completed
|
|
147
|
+
|
|
148
|
+
- Added a shared Doctor command report with stable fields for `schema_version`, `status`, `exit_code`, `checks`, `suggested_fixes`, `warnings`, and `errors`.
|
|
149
|
+
- Rendered human Doctor output with the required `Quiver Doctor`, `Checks`, and `Suggested fixes` hierarchy.
|
|
150
|
+
- Added `doctor --json` output that is parseable, machine-clean, and backed by the same checks as human output.
|
|
151
|
+
- Preserved deterministic exit-code behavior: warnings remain exit code 0 and blocking layout errors set exit code 1.
|
|
152
|
+
- Kept `doctor --fix --dry-run` behavior and added clean JSON behavior for `doctor --fix --dry-run --json`.
|
|
153
|
+
- Updated Doctor documentation in `docs/CLI_UX_GUIDE.md`, `docs/reference/commands.md`, and `README_FOR_AI.md`.
|
|
154
|
+
|
|
155
|
+
### Validation
|
|
156
|
+
|
|
157
|
+
- `node --test tests/commands/doctor.test.js tests/lib/doctor.test.js tests/lib/cli-ux.test.js` passed: 29 tests.
|
|
158
|
+
- `npm run smoke:doctor-fixtures` passed: 13 fixture states.
|
|
159
|
+
- `git diff --check` passed.
|
|
160
|
+
|
|
161
|
+
### Risks
|
|
162
|
+
|
|
163
|
+
- Local environment checks can still add host-dependent warnings, for example `gh auth` status. That behavior existed before this slice and remains visible through the shared check model.
|
|
164
|
+
- Downstream JSON consumers should pin to `schema_version: 1` and avoid parsing human text.
|
|
165
|
+
|
|
166
|
+
## slice-07 - Interactive init and spec create flows
|
|
167
|
+
|
|
168
|
+
### Completed
|
|
169
|
+
|
|
170
|
+
- Added guarded `init --interactive` flow for project mode, methodology, init profile, and optional agent-profile guidance.
|
|
171
|
+
- Added `--methodology wdd-sdd` validation and documented that no other methodology is currently supported.
|
|
172
|
+
- Added `spec create --interactive` selectors for methodology, approved plan input, and direct-vs-review mode.
|
|
173
|
+
- Added summaries before persistent writes for interactive init/spec-create flows.
|
|
174
|
+
- Added explicit no-TTY failure for interactive init/spec-create so CI and scripts do not hang.
|
|
175
|
+
- Extended UX flag support to `init --interactive`.
|
|
176
|
+
- Updated help text, CLI UX guide, command reference, and `README_FOR_AI.md`.
|
|
177
|
+
|
|
178
|
+
### Validation
|
|
179
|
+
|
|
180
|
+
- `node --test tests/commands/init-profiles.test.js tests/commands/spec-create.test.js tests/commands/ux-flags.test.js tests/commands/cli-contract.test.js` passed: 39 tests.
|
|
181
|
+
- `node bin/create-quiver.js --help` showed the updated interactive init example and methodology flag.
|
|
182
|
+
- `git diff --check` passed.
|
|
183
|
+
|
|
184
|
+
### Risks
|
|
185
|
+
|
|
186
|
+
- The `init --interactive` validation-only path delegates to `doctor`, which still requires Quiver initialization evidence in the target project.
|
|
187
|
+
- The spec-create approved-input selector currently exposes the resolved approved technical-plan input. Wider selection across historical approved inputs is intentionally deferred until the approval store defines that as a stable contract.
|
|
188
|
+
|
|
189
|
+
## slice-08 - Tests, docs, cross-platform smokes, and release readiness
|
|
190
|
+
|
|
191
|
+
### Completed
|
|
192
|
+
|
|
193
|
+
- Synchronized release-facing documentation for the v30 CLI UX behavior.
|
|
194
|
+
- Updated command templates with `init --interactive`, `doctor --json`, `spec create --interactive`, `--methodology wdd-sdd`, and interactive human-output guidance.
|
|
195
|
+
- Updated `README.md`, `README_FOR_AI.md`, `ROADMAP.md`, and `CHANGELOG.md` with the implemented v30 behavior.
|
|
196
|
+
- Closed the v30 spec metadata and PR body with final validation evidence.
|
|
197
|
+
- Confirmed release readiness without publishing to npm.
|
|
198
|
+
|
|
199
|
+
### Validation
|
|
200
|
+
|
|
201
|
+
- `node --test tests/**/*.test.js` passed: 449 tests.
|
|
202
|
+
- `npm run smoke:create-quiver` passed.
|
|
203
|
+
- `npm run smoke:guided-workflow` passed.
|
|
204
|
+
- `npm run smoke:doctor-fixtures` passed: 13 fixture states.
|
|
205
|
+
- `npm run package:quiver` passed and produced package-smoke evidence for `create-quiver-0.14.1.tgz`.
|
|
206
|
+
- `npm pack --dry-run` passed.
|
|
207
|
+
- `git diff --check` passed.
|
|
208
|
+
- `node bin/create-quiver.js spec validate specs/quiver-v30-interactive-cli-ux-agent-selection` passed.
|
|
209
|
+
|
|
210
|
+
### Risks
|
|
211
|
+
|
|
212
|
+
- Live provider smoke tests were not executed against every external IA CLI because those checks depend on local provider installation and authentication.
|
|
213
|
+
- Cross-platform behavior is covered by documented script-safe modes and automated command contracts, but final human terminal rendering should still be dogfooded on Windows PowerShell, Git Bash, WSL, macOS, and Linux before broad announcement.
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
# Execution Plan - Quiver v30 Interactive CLI UX and Agent Selection
|
|
2
|
+
|
|
3
|
+
## Execution Order
|
|
4
|
+
|
|
5
|
+
```mermaid
|
|
6
|
+
flowchart TD
|
|
7
|
+
S00[slice-00: Spec foundation and source-of-truth sync]
|
|
8
|
+
S01[slice-01: CLI UX runtime and progress engine]
|
|
9
|
+
S02[slice-02: Agent profile selection and selectors]
|
|
10
|
+
S03[slice-03: Provider model selection contract]
|
|
11
|
+
S04[slice-04: Planner IA progress flows]
|
|
12
|
+
S05[slice-05: Executor, execution-plan, and PR progress flows]
|
|
13
|
+
S06[slice-06: Doctor visual and JSON contract]
|
|
14
|
+
S07[slice-07: Interactive init and spec create flows]
|
|
15
|
+
S08[slice-08: Tests, docs, cross-platform smokes, and release readiness]
|
|
16
|
+
|
|
17
|
+
S00 --> S01
|
|
18
|
+
S01 --> S02
|
|
19
|
+
S02 --> S03
|
|
20
|
+
S01 --> S06
|
|
21
|
+
S01 --> S07
|
|
22
|
+
S02 --> S07
|
|
23
|
+
S03 --> S04
|
|
24
|
+
S03 --> S05
|
|
25
|
+
S04 --> S08
|
|
26
|
+
S05 --> S08
|
|
27
|
+
S06 --> S08
|
|
28
|
+
S07 --> S08
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## Waves
|
|
32
|
+
|
|
33
|
+
### Wave 0 - Sequential
|
|
34
|
+
|
|
35
|
+
1. `slice-00-spec-foundation`
|
|
36
|
+
|
|
37
|
+
This slice must run first. It commits the approved spec, all slices, handoffs, execution plan, PR body, and source-of-truth documentation sync.
|
|
38
|
+
|
|
39
|
+
### Wave 1 - Sequential
|
|
40
|
+
|
|
41
|
+
1. `slice-01-cli-ux-runtime-progress-engine`
|
|
42
|
+
|
|
43
|
+
Shared UX runtime and progress lifecycle must exist before command adoption.
|
|
44
|
+
|
|
45
|
+
### Wave 2 - Sequential Core Selection
|
|
46
|
+
|
|
47
|
+
1. `slice-02-agent-profile-selection-selectors`
|
|
48
|
+
2. `slice-03-provider-model-selection-contract`
|
|
49
|
+
|
|
50
|
+
Profile selectors must land before provider model execution semantics so selected models and display names map to real provider invocations.
|
|
51
|
+
|
|
52
|
+
### Wave 3 - Parallel after slice-03
|
|
53
|
+
|
|
54
|
+
- `slice-04-planner-ia-progress-flows`
|
|
55
|
+
- `slice-05-executor-pr-progress-flows`
|
|
56
|
+
- `slice-06-doctor-visual-json-contract`
|
|
57
|
+
- `slice-07-interactive-init-spec-create`
|
|
58
|
+
|
|
59
|
+
These can run in parallel if their write scopes stay separated. Resolve conflicts in `src/create-quiver/commands/ai.js` by landing planner flows before executor/PR flows if needed.
|
|
60
|
+
|
|
61
|
+
### Wave 4 - Sequential Close
|
|
62
|
+
|
|
63
|
+
1. `slice-08-tests-docs-cross-platform-release`
|
|
64
|
+
|
|
65
|
+
This slice validates all previous work, updates final docs/templates, and prepares package release evidence.
|
|
66
|
+
|
|
67
|
+
## Parallel Safety Notes
|
|
68
|
+
|
|
69
|
+
- Do not run any implementation slice before `slice-00`.
|
|
70
|
+
- Do not adopt command progress before `slice-01`.
|
|
71
|
+
- Do not show profile/model display names in live IA flows before `slice-03` proves selected models map to real provider invocations.
|
|
72
|
+
- `slice-04` and `slice-05` may both touch `commands/ai.js`; if conflicts are likely, run `slice-04` first.
|
|
73
|
+
- `slice-08` is never parallel-safe because it closes docs, tests, smokes, and release readiness.
|
|
74
|
+
|
|
75
|
+
## Recommended Commit Order
|
|
76
|
+
|
|
77
|
+
1. `docs: add v30 interactive cli ux spec`
|
|
78
|
+
2. `feat: add cli ux progress runtime`
|
|
79
|
+
3. `feat: add agent profile selectors`
|
|
80
|
+
4. `feat: add provider model selection contract`
|
|
81
|
+
5. `feat: add planner progress flows`
|
|
82
|
+
6. `feat: add executor and pr progress flows`
|
|
83
|
+
7. `feat: add doctor visual json contract`
|
|
84
|
+
8. `feat: add interactive init and spec create`
|
|
85
|
+
9. `docs: close v30 cli ux release readiness`
|