create-quiver 0.14.1 → 0.15.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.
Files changed (51) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/README.md +4 -0
  3. package/README_FOR_AI.md +8 -2
  4. package/ROADMAP.md +8 -2
  5. package/docs/CLI_UX_GUIDE.md +64 -4
  6. package/docs/COMMANDS.md.template +7 -1
  7. package/docs/reference/commands.md +4 -0
  8. package/package.json +1 -1
  9. package/specs/quiver-v30-interactive-cli-ux-agent-selection/EVIDENCE_REPORT.md +213 -0
  10. package/specs/quiver-v30-interactive-cli-ux-agent-selection/EXECUTION_PLAN.md +85 -0
  11. package/specs/quiver-v30-interactive-cli-ux-agent-selection/SPEC.md +213 -0
  12. package/specs/quiver-v30-interactive-cli-ux-agent-selection/STATUS.md +31 -0
  13. package/specs/quiver-v30-interactive-cli-ux-agent-selection/pr.md +103 -0
  14. package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-00-spec-foundation/CLOSURE_BRIEF.md +33 -0
  15. package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-00-spec-foundation/EXECUTION_BRIEF.md +56 -0
  16. package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-00-spec-foundation/slice.json +71 -0
  17. package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-01-cli-ux-runtime-progress-engine/CLOSURE_BRIEF.md +31 -0
  18. package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-01-cli-ux-runtime-progress-engine/EXECUTION_BRIEF.md +54 -0
  19. package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-01-cli-ux-runtime-progress-engine/slice.json +69 -0
  20. package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-02-agent-profile-selection-selectors/CLOSURE_BRIEF.md +33 -0
  21. package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-02-agent-profile-selection-selectors/EXECUTION_BRIEF.md +56 -0
  22. package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-02-agent-profile-selection-selectors/slice.json +81 -0
  23. package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-03-provider-model-selection-contract/CLOSURE_BRIEF.md +32 -0
  24. package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-03-provider-model-selection-contract/EXECUTION_BRIEF.md +54 -0
  25. package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-03-provider-model-selection-contract/slice.json +75 -0
  26. package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-04-planner-ia-progress-flows/CLOSURE_BRIEF.md +32 -0
  27. package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-04-planner-ia-progress-flows/EXECUTION_BRIEF.md +57 -0
  28. package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-04-planner-ia-progress-flows/slice.json +85 -0
  29. package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-05-executor-pr-progress-flows/CLOSURE_BRIEF.md +33 -0
  30. package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-05-executor-pr-progress-flows/EXECUTION_BRIEF.md +57 -0
  31. package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-05-executor-pr-progress-flows/slice.json +85 -0
  32. package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-06-doctor-visual-json-contract/CLOSURE_BRIEF.md +35 -0
  33. package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-06-doctor-visual-json-contract/EXECUTION_BRIEF.md +55 -0
  34. package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-06-doctor-visual-json-contract/slice.json +81 -0
  35. package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-07-interactive-init-spec-create/CLOSURE_BRIEF.md +34 -0
  36. package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-07-interactive-init-spec-create/EXECUTION_BRIEF.md +55 -0
  37. package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-07-interactive-init-spec-create/slice.json +85 -0
  38. package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-08-tests-docs-cross-platform-release/CLOSURE_BRIEF.md +34 -0
  39. package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-08-tests-docs-cross-platform-release/EXECUTION_BRIEF.md +59 -0
  40. package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-08-tests-docs-cross-platform-release/slice.json +95 -0
  41. package/src/create-quiver/commands/ai.js +364 -81
  42. package/src/create-quiver/commands/spec.js +106 -6
  43. package/src/create-quiver/index.js +533 -70
  44. package/src/create-quiver/lib/agent-profiles.js +111 -10
  45. package/src/create-quiver/lib/ai/execution-plan.js +106 -8
  46. package/src/create-quiver/lib/ai/executor.js +284 -28
  47. package/src/create-quiver/lib/ai/providers.js +71 -1
  48. package/src/create-quiver/lib/cli/selectors.js +107 -0
  49. package/src/create-quiver/lib/cli/theme.js +5 -2
  50. package/src/create-quiver/lib/cli/ux-flags.js +18 -0
  51. package/src/create-quiver/lib/cli/ux.js +100 -5
package/CHANGELOG.md CHANGED
@@ -6,6 +6,22 @@ All notable changes to this project will be documented in this file.
6
6
 
7
7
  ### Added
8
8
 
9
+ - Implemented v30 interactive CLI UX and agent selection under `specs/quiver-v30-interactive-cli-ux-agent-selection/`.
10
+ - Multiple named agent profiles for Planner, Executor, Reviewer, and Doctor, including display names, defaults, selectors, and model labels.
11
+ - Visible progress output for planner, reviewer, executor, execution-plan, and PR flows in human TTY mode.
12
+ - `doctor --json` with a stable parseable diagnostics contract, backed by the same findings as the human `Quiver Doctor` output.
13
+ - `init --interactive`, `spec create --interactive`, and `--methodology wdd-sdd` for guarded human choices.
14
+
15
+ ### Changed
16
+
17
+ - Provider model selection now affects real provider invocations when supported, and blocks safely when a selected model cannot be applied.
18
+ - CLI output now follows the shared Quiver palette and hierarchy while keeping `--json`, CI, no-TTY, and `--no-color` output clean.
19
+ - Command docs now cover human-vs-machine output, selectors, Doctor output, and cross-platform usage.
20
+
21
+ ## [0.14.1] - 2026-05-26
22
+
23
+ ### Added
24
+
9
25
  - v29 planner-assisted context and CLI UX standard under `specs/quiver-v29-planner-prepare-context-cli-ux/`.
10
26
  - Shared Quiver-branded CLI UX helpers, color tokens, editor review support, and guarded UX flag matrix.
11
27
  - Optional `ai prepare-context --with-planner` flow with prompt printing, review, interactive approval, and docs-only proposal validation.
package/README.md CHANGED
@@ -149,9 +149,11 @@ Usá la guía que corresponda al estado de tu proyecto:
149
149
  | `npx --yes create-quiver@latest --help` | Muestra la lista pública de comandos. |
150
150
  | `npx --yes create-quiver@latest --version` | Muestra la versión del CLI. |
151
151
  | `npx --yes create-quiver@latest init --name "Proyecto"` | Inicializa Quiver en un proyecto. |
152
+ | `npx --yes create-quiver@latest init --interactive` | Abre una guía humana para elegir modo, metodología `wdd-sdd`, perfil inicial y próximos pasos de agentes. |
152
153
  | `npx --yes create-quiver@latest migrate --dry-run` | Previsualiza la migración de un proyecto Quiver anterior. |
153
154
  | `npx --yes create-quiver@latest analyze` | Genera el mapa del proyecto usado por humanos y agentes. |
154
155
  | `npx --yes create-quiver@latest doctor` | Revisa si el contrato de Quiver está sano. |
156
+ | `npx --yes create-quiver@latest doctor --json` | Devuelve el diagnóstico como JSON para automatizaciones. |
155
157
  | `npx --yes create-quiver@latest flow` | Indica el próximo paso seguro. |
156
158
  | `npx --yes create-quiver@latest ai prepare-context --dry-run` | Previsualiza contexto de onboarding para IA sin tocar código de producto. |
157
159
  | `npx --yes create-quiver@latest ai prepare-context --with-planner --dry-run` | Previsualiza una propuesta de contexto generada por el planner. |
@@ -159,6 +161,7 @@ Usá la guía que corresponda al estado de tu proyecto:
159
161
  | `npx --yes create-quiver@latest ai plan --phase technical-plan` | Genera un borrador de plan técnico. |
160
162
  | `npx --yes create-quiver@latest ai review-plan` | Revisa el plan técnico antes de aprobarlo. |
161
163
  | `npx --yes create-quiver@latest spec create` | Crea spec, slices, briefs, plan de ejecución y cuerpo del PR. |
164
+ | `npx --yes create-quiver@latest spec create --interactive` | Guía la selección de metodología, input aprobado y revisión antes de escribir la spec. |
162
165
  | `npx --yes create-quiver@latest spec start specs/<spec>` | Crea o reutiliza el worktree de una spec. |
163
166
  | `npx --yes create-quiver@latest next --all-ready --spec <spec>` | Lista los slices listos para ejecutar. |
164
167
  | `npx --yes create-quiver@latest ai execute-slice --slice <slice.json> --commit` | Ejecuta un slice aprobado y lo commitea después de validar. |
@@ -176,6 +179,7 @@ Quiver usa un estándar único para que los comandos sean claros tanto para huma
176
179
  - `--with-planner` activa un modo asistido por planner solo en comandos que lo soportan.
177
180
  - `--review` abre o prepara una revisión humana antes de escrituras persistentes.
178
181
  - `--interactive` habilita confirmaciones explícitas cuando el comando puede cambiar estado.
182
+ - `--methodology wdd-sdd` declara la metodología soportada por los flujos guiados.
179
183
  - `--json` mantiene salida legible por máquinas y no se combina con `--interactive` ni `--review`.
180
184
  - `--no-color` desactiva colores cuando el entorno no los necesita.
181
185
 
package/README_FOR_AI.md CHANGED
@@ -10,6 +10,8 @@ Do not recommend global installation; use `npx` or a project-local devDependency
10
10
  The package also exposes `quiver` as a binary alias to the same CLI. Treat it as a local installed shortcut, not as a replacement for the bootstrap command `npx create-quiver`.
11
11
  The root `README.md` is the public landing/onboarding page: keep it concise, Spanish-first, AI-first, and focused on what Quiver is, what problem it solves, the WDD + SDD flow, core commands, and links to deeper guides. Long step-by-step instructions live in `docs/getting-started/`, `docs/workflows/`, and `docs/reference/commands.md`; do not duplicate every procedural detail in the root README.
12
12
  The post-init contract is validated with `npx create-quiver doctor` from the project root. Use `npx create-quiver doctor --fix --dry-run` to preview safe non-destructive repairs, then `npx create-quiver doctor --fix` only after reviewing the plan.
13
+ `doctor` must render the human hierarchy `Quiver Doctor` -> `Checks` -> `Suggested fixes`, and `doctor --json` must emit the same diagnostics as stable parseable JSON without colors, prompts, or human prose.
14
+ `init --interactive` and `spec create --interactive` are explicit human-only wrappers. They must not run in CI/no-TTY/JSON, must show only the real methodology `WDD + SDD` (`--methodology wdd-sdd`), and must summarize choices before persistent writes.
13
15
  If the project already exists from an older Quiver version and was previously initialized by Quiver, run `npx create-quiver migrate` before `analyze` from the project root.
14
16
  If the project was never initialized by Quiver, do not use `migrate` as bootstrap; run `npx create-quiver init --name "Project Name"` first.
15
17
  Use `npx create-quiver evidence run -- <command>` to capture validation evidence with command, exit code, duration, truncated output, and best-effort redaction. The safe default output is `.quiver/evidence/`; use `--output <file>` when a slice needs a specific evidence artifact.
@@ -20,11 +22,15 @@ The v25 spec is implemented under `specs/quiver-v25-ai-first-lifecycle-orchestra
20
22
  The v26 hotfix spec is implemented under `specs/quiver-v26-0121-smoke-hardening/` and shipped in `create-quiver@0.12.1`; it covers smoke hardening for CLI help/version output, generated doc links, AI approval/review guidance, local validation, slice brief validation, demo readiness, scoped plan/graph performance, and release smoke coverage.
21
23
  The v27 spec is implemented under `specs/quiver-v27-reliability-ai-workflow-hardening/` and shipped in `create-quiver@0.13.0`; it captures Pixel Quiver dogfooding findings (`QP-001` to `QP-019`, `QIS-001` to `QIS-022`) and includes shared state resolution, canonical statuses, schema v2 exports, structured spec creation, AI artifact cleanup, worktree locks, validation gates, context diagnostics, cross-platform DX, fixtures, smoke suites, and package/tarball release readiness.
22
24
  The v28 spec is implemented under `specs/quiver-v28-pixel-quiver-feedback-reconciliation/` and shipped in `create-quiver@0.14.0`; it captures the Pixel Quiver follow-up reconciliation with active-slice reconciliation, stale `ai inspect` recovery, structured review closure, stricter technical-plan approval, spec/worktree validation hardening, agent-safe commands, GitHub auth/alias guidance, and package-readiness evidence.
23
- The v29 spec is implemented under `specs/quiver-v29-planner-prepare-context-cli-ux/` and is pending package publication; it adds shared CLI UX primitives, Quiver palette usage, guarded UX flags, planner-assisted `ai prepare-context`, and review/interactive adoption for selected planner/spec/PR commands.
25
+ The v29 spec is implemented under `specs/quiver-v29-planner-prepare-context-cli-ux/` and shipped in `create-quiver@0.14.1`; it adds shared CLI UX primitives, Quiver palette usage, guarded UX flags, planner-assisted `ai prepare-context`, and review/interactive adoption for selected planner/spec/PR commands.
26
+ The v30 spec is implemented under `specs/quiver-v30-interactive-cli-ux-agent-selection/` and is release-ready pending package publication; it adds production-grade interactive CLI UX with visible IA progress, Quiver-branded output, configured Planner/Executor/Reviewer/Doctor selectors, real provider model-selection contracts, Doctor human/JSON parity, guided init/spec-create selectors, and cross-platform release readiness.
24
27
  Guided AI workflow behavior is available: prepare, approvals, production-readiness plan review, spec worktrees, executor commits, execution waves, PR creation, spec close, and package safety.
25
28
  Generated projects also get `quiver:*` npm scripts that call the Node CLI directly; prefer those for repeatable project workflows, including `quiver:flow` for the read-only guided entrypoint, `quiver:plan` for sequential planning, `quiver:graph` for parallel-level inspection, `quiver:next` for the next ready slice, `quiver:evidence` for local command evidence, `quiver:spec:create` for real spec generation, `quiver:spec:validate` for full spec validation, and the AI family `quiver:ai:agent`, `quiver:ai:inspect`, `quiver:ai:export`, `quiver:ai:specs`, `quiver:ai:slices`, `quiver:ai:trace`, `quiver:ai:onboard`, `quiver:ai:prepare-context`, `quiver:ai:plan`, `quiver:ai:review-plan`, `quiver:ai:approve`, `quiver:ai:prompt-slice`, `quiver:ai:execute-slice`, `quiver:ai:execute-plan`, `quiver:ai:pr`, and `quiver:ai:doctor`. Use `quiver:graph --format mermaid` for PR-ready Markdown or `quiver:graph --format dot` for Graphviz source.
26
29
  `quiver:ai:execute-plan` supports `--mode manual` for paste-ready executor prompts and `--mode delegated` for temporary worktrees on parallel-ready waves; unsafe waves fall back to sequential execution.
27
- Agent profiles live in `.quiver/agents/profiles.json`; they store role, provider, model label, context label, and display label only. Do not store API keys, tokens, or credentials there.
30
+ Agent profiles live in `.quiver/agents/profiles.json`; they store role, provider, model label, context label, display label, profile id, and default profile only. Do not store API keys, tokens, or credentials there.
31
+ Provider/model selection must be honest: dry-runs can preview a selected model without provider auth, but live IA execution must pass the selected model through the provider adapter or fail with actionable guidance instead of silently ignoring it.
32
+ Planner-oriented live IA commands must show visible TTY progress with the selected profile/model name, completed preparation checks, and a provider-running spinner. `--dry-run`, `--print-prompt`, CI, JSON, and non-TTY output must remain clean and automation-safe.
33
+ Executor and PR live commands follow the same standard: show truthful TTY progress for slice execution, validation, commits, GitHub preflight, and PR creation while preserving scope gates, provider errors, `gh` errors, and clean machine output.
28
34
  Planner drafts are versioned under `.quiver/approvals/<phase>/drafts/`; review the technical-plan draft with `npx create-quiver ai review-plan --dry-run` before approving it, then approve a concrete version with `npx create-quiver ai approve --phase <phase> --version <n>` when reviewing iterations.
29
35
  `ai review-plan` stores structured closure metadata under `.quiver/approvals/plan-review/meta.json`: `approval_recommendation` is `approve`, `approve-with-risk`, or `revise`; required fixes block technical-plan approval, while optional hardening does not.
30
36
  AI lifecycle runs are persisted under `.quiver/runs/<run-id>/`; use `npx create-quiver ai run create --input <requirements.md>` to start one explicitly, `npx create-quiver ai status` to inspect it, `npx create-quiver ai resume` to continue from the last valid phase without relying on chat memory, and `npx create-quiver ai export --format json|markdown` when another agent, PR, or dashboard needs the current specs/slices/runs state.
package/ROADMAP.md CHANGED
@@ -80,10 +80,15 @@
80
80
  - Published package `0.14.0`.
81
81
  - **v28** — Follow-up hardening from Pixel Quiver dogfooding: active-slice reconciliation, spec-aware `ai inspect` recovery, structured plan-review closure, safer technical-plan approval, stronger spec/worktree validation, agent-safe command examples, GitHub auth/alias guidance, and final release-readiness evidence live in `specs/quiver-v28-pixel-quiver-feedback-reconciliation/`.
82
82
 
83
- ## v0.15 — Planner Context and CLI UX Standard (in progress)
83
+ ## v0.14.1 — Planner Context and CLI UX Standard (shipped 2026-05-26)
84
84
 
85
+ - Published package `0.14.1`.
85
86
  - **v29** — Planner-assisted context preparation and CLI UX standard: shared output helpers, Quiver palette, guarded `--with-planner` / `--interactive` / `--review` flags, optional planner-generated `ai prepare-context`, review/interactive adoption for selected commands, docs, tests, and smoke readiness live in `specs/quiver-v29-planner-prepare-context-cli-ux/`.
86
87
 
88
+ ## v0.15 — Interactive CLI UX and Agent Selection (release-ready, pending package publication)
89
+
90
+ - **v30** — Interactive CLI UX and agent selection: visible progress for long-running IA commands, selected Planner/Executor/Reviewer/Doctor display names, profile/spec/slice/methodology selectors, provider model-selection correctness, Doctor human/JSON parity, cross-platform automation safety, and release-readiness evidence live in `specs/quiver-v30-interactive-cli-ux-agent-selection/`.
91
+
87
92
  ## Post-Checkpoint Plan (do not execute before validating v14)
88
93
 
89
94
  > This section now records the follow-up line from the v14-era plan.
@@ -101,7 +106,8 @@
101
106
  - **v26 — 0.12.1 Smoke Hardening** (shipped in `0.12.1`): first-use hardening from clean npm smoke testing, covering CLI help/version output, generated doc links, AI approval/review guidance, local validation, slice brief validation, demo readiness, scoped plan/graph performance, and release smoke coverage live in `specs/quiver-v26-0121-smoke-hardening/`.
102
107
  - **v27 — Reliability and AI Workflow Hardening** (shipped in `0.13.0`): Pixel Quiver dogfooding follow-up covering resolver/export/spec-create/AI-artifact/worktree/validation/context/DX hardening lives in `specs/quiver-v27-reliability-ai-workflow-hardening/`.
103
108
  - **v28 — Pixel Quiver Feedback Reconciliation** (shipped in `0.14.0`): active-slice reconciliation, stale inspect recovery, structured review closure, validation/worktree hardening, agent-safe commands, GitHub auth guidance, and release-readiness evidence live in `specs/quiver-v28-pixel-quiver-feedback-reconciliation/`.
104
- - **v29 — Planner Context and CLI UX Standard** (in progress): planner-assisted `ai prepare-context`, CLI UX primitives, guarded UX flags, human review/interactive flows, and final docs/smoke readiness live in `specs/quiver-v29-planner-prepare-context-cli-ux/`.
109
+ - **v29 — Planner Context and CLI UX Standard** (shipped in `0.14.1`): planner-assisted `ai prepare-context`, CLI UX primitives, guarded UX flags, human review/interactive flows, and final docs/smoke readiness live in `specs/quiver-v29-planner-prepare-context-cli-ux/`.
110
+ - **v30 — Interactive CLI UX and Agent Selection** (release-ready, pending package publication): visible IA progress, Quiver-branded output, profile/spec/slice selectors, provider model-selection correctness, Doctor human/JSON parity, and cross-platform release readiness live in `specs/quiver-v30-interactive-cli-ux-agent-selection/`.
105
111
 
106
112
  The shipped v20/v21/v22/v23 work is no longer pending. The older context-diagnostics and slice-archaeology ideas remain deferred until real demand justifies them.
107
113
 
@@ -36,6 +36,7 @@ Reglas:
36
36
  | `--with-planner` | Activa comportamiento asistido por planner cuando el comando lo soporta. | No debe ser decorativo. Si no cambia el comportamiento o contrato del comando, debe rechazarse. |
37
37
  | `--interactive` | Habilita prompts humanos de confirmacion o eleccion. | Nunca se activa por defecto. Debe tener alternativa no interactiva. |
38
38
  | `--review` | Abre o prepara revision humana antes de escrituras persistentes. | Debe usar `$VISUAL`, `$EDITOR` o dejar un artefacto revisable cuando no haya TTY. |
39
+ | `--methodology <name>` | Selecciona metodologia cuando el comando necesita exponer esa decision. | Hoy solo se acepta `wdd-sdd`; no listar metodologias no soportadas. |
39
40
  | `--dry-run` | Previsualiza sin escribir ni ejecutar acciones irreversibles. | Debe ser seguro y no requerir credenciales salvo que el comando lo documente. |
40
41
  | `--print-prompt` | Imprime el prompt exacto sin ejecutar proveedor. | Debe evitar auth/provider execution. |
41
42
  | `--json` | Emite salida machine-readable. | Incompatible con `--interactive` y `--review`. |
@@ -45,10 +46,14 @@ Reglas:
45
46
 
46
47
  | Comando | `--with-planner` | `--interactive` | `--review` | Notas |
47
48
  |---|---:|---:|---:|---|
49
+ | `init` | no | si | no | Interactive guia modo de proyecto, metodologia `wdd-sdd`, perfil inicial y proximo paso de perfiles de agentes. |
48
50
  | `ai prepare-context` | si | si | si | Modo deterministico por defecto; planner opcional con contrato docs-only. |
49
51
  | `ai plan` | si | si | si | El planner ya es implicito; `--with-planner` se acepta por consistencia. |
50
52
  | `spec create` | si | si | si | Consume un plan tecnico aprobado del planner; no vuelve a ejecutar proveedor. Review previsualiza el paquete antes de escribir. |
51
53
  | `ai pr` | no | si | si | Review edita `pr.md`; interactive confirma `gh pr create`. |
54
+ | `ai execute-slice` | no | si | no | Interactive puede seleccionar un slice listo y un executor configurado. |
55
+ | `ai execute-plan` | no | si | no | Interactive queda reservado para estrategia/seleccion; JSON sigue limpio. |
56
+ | `doctor` | no | no | no | Renderiza `Quiver Doctor`, `Checks` y `Suggested fixes`; `--json` usa el mismo modelo de hallazgos. |
52
57
  | `flow`, `next`, `graph` | no | no | no | Lectura/inspeccion; no deben exponer flags decorativas. |
53
58
  | `ai inspect`, `ai export`, `ai specs list`, `ai slices list`, `ai trace report` | no | no | no | Superficies read-only o machine-readable. |
54
59
 
@@ -71,15 +76,46 @@ npx create-quiver ai prepare-context --with-planner --review --interactive
71
76
 
72
77
  El planner debe devolver una propuesta validable. Quiver solo acepta cambios en documentación/contexto permitida y rechaza rutas de producto, dependencias, build, runtime, lockfiles, salidas generadas, rutas absolutas y traversal.
73
78
 
79
+ ## Seleccion de agentes, proveedores y modelos
80
+
81
+ Los perfiles de agente son configuracion de DX, no almacenamiento de credenciales. Deben guardar solo rol, proveedor, etiqueta de modelo, contexto, nombre visible y perfil por defecto.
82
+
83
+ Reglas:
84
+
85
+ - Si un comando usa un perfil con modelo, el dry-run debe mostrar proveedor, modelo, comando y si el adapter puede aplicar ese modelo.
86
+ - En ejecucion real, Quiver debe pasar el modelo al CLI del proveedor cuando el adapter lo soporta.
87
+ - Si un adapter no puede aplicar el modelo seleccionado, la ejecucion real debe bloquearse con un proximo paso claro.
88
+ - `--print-prompt` y `--dry-run` no deben exigir autenticacion del proveedor.
89
+ - Si no hay modelo seleccionado, los comandos existentes deben conservar su comportamiento anterior.
90
+
91
+ ## Init y spec create interactivos
92
+
93
+ `init --interactive` debe ser un wrapper opt-in sobre flags existentes:
94
+
95
+ - modo de proyecto: proyecto existente, proyecto nuevo o solo validar estructura;
96
+ - metodologia: solo `WDD + SDD`;
97
+ - perfil inicial: default, minimal o full compatibility;
98
+ - guia opcional de comandos `ai agent set` sin guardar credenciales ni ejecutar proveedores;
99
+ - resumen antes de escribir.
100
+
101
+ `spec create --interactive` debe:
102
+
103
+ - seleccionar la metodologia real soportada: `WDD + SDD`;
104
+ - mostrar el input aprobado que se usara para generar la spec;
105
+ - permitir elegir confirmacion directa o `--review`;
106
+ - mostrar resumen antes de escribir;
107
+ - bloquearse en no-TTY/CI/JSON con mensaje accionable en lugar de abrir prompts.
108
+
74
109
  ## Loaders y prompts
75
110
 
76
111
  Usar loaders solo cuando aportan claridad:
77
112
 
78
113
  ```text
79
- Analizando estructura del proyecto...
80
- Leyendo contexto base...
81
- Preparando prompt para planner...
82
- Ejecutando agente...
114
+ Ejecutando onboarding con GPT 5.5
115
+ Leyendo docs base
116
+ Detectando estructura
117
+ Preparando prompt
118
+ ⠋ Ejecutando agente...
83
119
  ```
84
120
 
85
121
  Usar prompts interactivos cuando hay una decision humana real:
@@ -92,6 +128,30 @@ Usar prompts interactivos cuando hay una decision humana real:
92
128
 
93
129
  No usar prompts para informacion que ya se pueda expresar con flags.
94
130
 
131
+ ## Salida de Doctor
132
+
133
+ `doctor` debe mostrar una jerarquia estable para humanos:
134
+
135
+ ```text
136
+ ◆ Quiver Doctor
137
+
138
+ Checks
139
+ ✓ Layout: new
140
+ ✓ Specs: none yet
141
+ ! Warning: project analysis artifacts not found; run analyze when you need the visible project map
142
+
143
+ Suggested fixes
144
+ • Analyze the project first: npx create-quiver analyze
145
+ • Check the next ready slice: npx create-quiver next
146
+ ```
147
+
148
+ Reglas:
149
+
150
+ - La salida humana debe incluir siempre `Quiver Doctor`, `Checks` y `Suggested fixes`.
151
+ - `doctor --json` debe emitir solo JSON parseable, sin colores, prompts ni texto humano.
152
+ - La salida humana y JSON deben salir del mismo modelo de checks, warnings, errors y suggested fixes.
153
+ - Warnings no deben romper automatizacion; errores bloqueantes deben usar `exit_code: 1` y `process.exitCode = 1`.
154
+
95
155
  ## Revision con editor
96
156
 
97
157
  Los comandos con `--review` deben:
@@ -10,6 +10,7 @@ This document is the canonical command reference for the orchestration roadmap.
10
10
  | Command | Purpose | OS | Since | Example |
11
11
  |---------|---------|----|-------|---------|
12
12
  | `npx create-quiver init --name "<project>"` | Creates the default AI-first Quiver contract for a project | macOS, Linux, Windows | current | `npx create-quiver init --name "{{PROJECT_NAME}}"` |
13
+ | `npx create-quiver init --interactive` | Guides project mode, methodology `wdd-sdd`, init profile, and agent-profile next steps without running providers | macOS, Linux, Windows | next | `npx create-quiver init --interactive` |
13
14
  | `npx create-quiver --name "<project>"` | Compatibility alias for the recommended init flow | macOS, Linux, Windows | current | `npx create-quiver --name "{{PROJECT_NAME}}"` |
14
15
  | `npx create-quiver --version` | Prints the installed CLI version | macOS, Linux, Windows | current | `npx create-quiver --version` |
15
16
  | `npx create-quiver --help` | Lists all public commands with descriptions, key options, and recommended examples | macOS, Linux, Windows | current | `npx create-quiver --help` |
@@ -21,6 +22,7 @@ This document is the canonical command reference for the orchestration roadmap.
21
22
  | `quiver:flow` | Runs the guided flow entrypoint through the generated npm script | macOS, Linux, Windows | v0.11 | `npm run quiver:flow` |
22
23
  | `quiver:prepare` | Runs guided setup diagnostics and context preparation | macOS, Linux, Windows | v0.10 | `npm run quiver:prepare -- --dry-run --provider codex` |
23
24
  | `quiver:doctor` | Validates the Quiver contract and reports layout or migration guidance | macOS, Linux, Windows | v0.8 | `npm run quiver:doctor` |
25
+ | `quiver:doctor -- --json` | Emits the Doctor checks and suggested fixes as stable machine-readable JSON | macOS, Linux, Windows | next | `npm run quiver:doctor -- --json` |
24
26
  | `quiver:doctor -- --fix --dry-run` | Previews safe non-destructive repairs without writing files | macOS, Linux, Windows | v0.11 | `npm run quiver:doctor -- --fix --dry-run` |
25
27
  | `quiver:doctor -- --fix` | Applies safe idempotent repairs after review | macOS, Linux, Windows | v0.11 | `npm run quiver:doctor -- --fix` |
26
28
  | `quiver:evidence -- run -- <command>` | Captures command validation evidence with exit code, duration, redacted/truncated output, and a local Markdown record | macOS, Linux, Windows | v0.11 | `npm run quiver:evidence -- run -- npm test` |
@@ -66,6 +68,7 @@ This document is the canonical command reference for the orchestration roadmap.
66
68
  | `quiver:ai:pr` | Validates `gh`, reads `pr.md`, prints a PR plan, and creates a PR only with `--create` | macOS, Linux, Windows | v0.10 | `npm run quiver:ai:pr -- --dry-run --input specs/<spec>/pr.md --ssh-host-alias github-work --identity-file ~/.ssh/github-work` |
67
69
  | `quiver:ai:pr -- --review` | Opens `pr.md` for human review and rebuilds the PR plan from the edited body | macOS, Linux, Windows | next | `npm run quiver:ai:pr -- --review --dry-run --input specs/<spec>/pr.md` |
68
70
  | `quiver:spec:create` | Creates the real spec tree from the reviewed approved technical plan | macOS, Linux, Windows | v0.11 | `npm run quiver:spec:create -- --dry-run` |
71
+ | `quiver:spec:create -- --interactive` | Guides methodology `wdd-sdd`, approved technical-plan input, and direct-vs-review mode before writing | macOS, Linux, Windows | next | `npm run quiver:spec:create -- --interactive` |
69
72
  | `quiver:spec:create -- --review --interactive` | Reviews the generated spec package preview and asks before writing files | macOS, Linux, Windows | next | `npm run quiver:spec:create -- --review --interactive` |
70
73
  | `quiver:spec:start` | Creates or reuses the dedicated worktree for one spec | macOS, Linux, Windows | v0.10 | `npm run quiver:spec:start -- specs/<spec>` |
71
74
  | `quiver:spec:status` | Shows spec worktree, branch, `slice-00`, and pending slices | macOS, Linux, Windows | v0.10 | `npm run quiver:spec:status -- specs/<spec>` |
@@ -99,8 +102,9 @@ This document is the canonical command reference for the orchestration roadmap.
99
102
  | `--label <label>` | `ai agent set` | Store a display label for the profile |
100
103
  | `--dry-run` | init, analyze, migrate, prepare, spec, demo, AI, PR, worktree, and repair commands that support preview | Preview planned actions without writes, provider execution, PR creation, or irreversible changes |
101
104
  | `--with-planner` | `ai prepare-context`, `ai plan`, `spec create` | Enable planner-assisted behavior only on commands that explicitly support it |
102
- | `--interactive` | `ai prepare-context`, `ai plan`, `spec create`, `ai pr` | Enable human prompts for confirmation or choices |
105
+ | `--interactive` | `init`, `ai prepare-context`, `ai plan`, `spec create`, `ai pr`, `ai execute-slice`, `ai execute-plan` | Enable human prompts for confirmation or choices |
103
106
  | `--review` | `ai prepare-context`, `ai plan`, `spec create`, `ai pr` | Open or prepare human review before persistent writes |
107
+ | `--methodology wdd-sdd` | `init`, `spec create` | Select the only supported methodology exposed by guided flows |
104
108
  | `--no-color` | all human-output commands | Disable ANSI color in human output |
105
109
  | `--print-prompt` | `ai onboard`, `ai prepare-context`, `ai plan`, `ai revise`, `ai review-plan` | Print the exact provider prompt and exit without executing provider CLIs or requiring provider auth |
106
110
  | `--role <planner\|executor\|reviewer\|doctor>` | `ai onboard`, `ai plan`, `ai revise`, `ai execute-slice`, `ai execute-plan` | Select an AI role; execution requires executor |
@@ -132,6 +136,8 @@ This document is the canonical command reference for the orchestration roadmap.
132
136
  - `quiver:ai:prepare-context -- --dry-run` previews deterministic docs-only context drafts, diff snippets, assumptions, risks, contradictions, and omitted paths. Write mode stores snapshots under `.quiver/runs/<run-id>/snapshots/` and preserves human-authored content by appending or refreshing a Quiver-managed block.
133
137
  - `quiver:ai:prepare-context -- --with-planner` invokes a planner provider and only accepts a validated docs-only proposal. Use `--print-prompt` for external planners, `--review` to inspect the proposal before writing, and `--interactive` to require confirmation.
134
138
  - UX flags are centralized: `--with-planner`, `--interactive`, and `--review` are accepted only by commands where they add real behavior. Read-only inspection commands reject them with an actionable next step. `spec create --with-planner` consumes an already approved planner output and does not call a provider again. `--json` is incompatible with `--interactive` and `--review`.
139
+ - `doctor --json` emits the same checks and suggested fixes as human `Quiver Doctor` output without colors, prompts, spinners, or prose.
140
+ - `init --interactive` and `spec create --interactive` are human-only wrappers. They fail in no-TTY/CI/JSON and always keep `WDD + SDD` as the only methodology option.
135
141
  - Quiver human output uses the palette `#86C8F2`, `#6BADEB`, `#7F9EE8`, `#9B82E6`, and `#D56AB0`; respect `--no-color`, `NO_COLOR`, CI, and no-TTY environments.
136
142
  - `quiver:flow` reports the detected package manager and the matching generated project script, for example `npm run quiver:flow`, `pnpm run quiver:flow`, `yarn run quiver:flow`, or `bun run quiver:flow`.
137
143
  - `quiver:ai:agent -- set ... --dry-run` previews provider/model profile changes without writing `.quiver/agents/profiles.json`.
@@ -9,10 +9,12 @@ Usá `npx --yes create-quiver@latest --help` para ver la lista viva de comandos
9
9
  | `npx --yes create-quiver@latest --version` | Muestra la versión del CLI. |
10
10
  | `npx --yes create-quiver@latest --help` | Muestra los comandos soportados. |
11
11
  | `npx --yes create-quiver@latest init --name "Proyecto"` | Inicializa Quiver en un proyecto. |
12
+ | `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
13
  | `npx --yes create-quiver@latest migrate --dry-run` | Previsualiza migración de un proyecto Quiver anterior. |
13
14
  | `npx --yes create-quiver@latest migrate` | Aplica la migración. |
14
15
  | `npx --yes create-quiver@latest analyze` | Genera mapa del proyecto y datos de escaneo. |
15
16
  | `npx --yes create-quiver@latest doctor` | Valida la salud de Quiver. |
17
+ | `npx --yes create-quiver@latest doctor --json` | Emite el mismo diagnóstico de Doctor como JSON parseable para automatización. |
16
18
  | `npx --yes create-quiver@latest flow` | Muestra el próximo paso seguro. |
17
19
 
18
20
  ## Planificación con IA
@@ -42,6 +44,7 @@ Usá `npx --yes create-quiver@latest --help` para ver la lista viva de comandos
42
44
  | `npx --yes create-quiver@latest spec create --dry-run` | Previsualiza archivos de spec generados. |
43
45
  | `npx --yes create-quiver@latest spec create` | Genera spec, slices, briefs, plan de ejecución y cuerpo del PR. |
44
46
  | `npx --yes create-quiver@latest spec create --review --interactive` | Abre una revisión del paquete a generar y pide confirmación antes de escribir. |
47
+ | `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
48
  | `npx --yes create-quiver@latest spec validate specs/<spec> --strict` | Valida el paquete de spec. |
46
49
  | `npx --yes create-quiver@latest spec start specs/<spec>` | Crea o reutiliza el worktree de una spec. |
47
50
  | `npx --yes create-quiver@latest plan --spec <spec>` | Muestra el orden de ejecución de slices. |
@@ -70,6 +73,7 @@ Usá `npx --yes create-quiver@latest --help` para ver la lista viva de comandos
70
73
  | `--with-planner` | Activa comportamiento asistido por planner solo en comandos que lo soportan. |
71
74
  | `--interactive` | Habilita prompts humanos de confirmación o elección. |
72
75
  | `--review` | Abre o prepara revisión humana antes de escrituras persistentes. |
76
+ | `--methodology wdd-sdd` | Declara la metodología soportada por comandos interactivos o automatizados. |
73
77
  | `--no-color` | Desactiva colores ANSI en salida humana. |
74
78
  | `--provider codex\|claude\|gemini` | Selecciona CLI local de proveedor. |
75
79
  | `--commit` | Permite que Quiver commitee trabajo validado del slice. |
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-quiver",
3
- "version": "0.14.1",
3
+ "version": "0.15.0",
4
4
  "private": false,
5
5
  "description": "Quiver CLI for scaffolding projects from the packaged template",
6
6
  "license": "MIT",
@@ -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`