create-quiver 0.14.0 → 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 (92) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/README.md +187 -518
  3. package/README_FOR_AI.md +39 -27
  4. package/ROADMAP.md +11 -0
  5. package/assets/quiver-wordmark.svg +22 -0
  6. package/docs/AI_CONTEXT.md.template +2 -0
  7. package/docs/AI_ONBOARDING_PROMPT.md.template +9 -1
  8. package/docs/CLI_UX_GUIDE.md +185 -0
  9. package/docs/COMMANDS.md.template +22 -3
  10. package/docs/GITFLOW_PR_GUIDE.md +70 -0
  11. package/docs/getting-started/linux.md +84 -0
  12. package/docs/getting-started/macos.md +85 -0
  13. package/docs/getting-started/windows-git-bash-wsl.md +78 -0
  14. package/docs/getting-started/windows-powershell.md +96 -0
  15. package/docs/reference/commands.md +98 -0
  16. package/docs/workflows/existing-project.md +131 -0
  17. package/docs/workflows/full-ai-spec-to-pr.md +311 -0
  18. package/docs/workflows/legacy-quiver-project.md +102 -0
  19. package/docs/workflows/new-project.md +76 -0
  20. package/package.json +5 -1
  21. package/specs/quiver-v29-planner-prepare-context-cli-ux/EVIDENCE_REPORT.md +163 -0
  22. package/specs/quiver-v29-planner-prepare-context-cli-ux/EXECUTION_PLAN.md +72 -0
  23. package/specs/quiver-v29-planner-prepare-context-cli-ux/SPEC.md +173 -0
  24. package/specs/quiver-v29-planner-prepare-context-cli-ux/STATUS.md +34 -0
  25. package/specs/quiver-v29-planner-prepare-context-cli-ux/pr.md +95 -0
  26. package/specs/quiver-v29-planner-prepare-context-cli-ux/slices/slice-00-cli-ux-spec-foundation/CLOSURE_BRIEF.md +32 -0
  27. package/specs/quiver-v29-planner-prepare-context-cli-ux/slices/slice-00-cli-ux-spec-foundation/EXECUTION_BRIEF.md +45 -0
  28. package/specs/quiver-v29-planner-prepare-context-cli-ux/slices/slice-00-cli-ux-spec-foundation/slice.json +58 -0
  29. package/specs/quiver-v29-planner-prepare-context-cli-ux/slices/slice-01-cli-ux-primitives-theme/CLOSURE_BRIEF.md +33 -0
  30. package/specs/quiver-v29-planner-prepare-context-cli-ux/slices/slice-01-cli-ux-primitives-theme/EXECUTION_BRIEF.md +49 -0
  31. package/specs/quiver-v29-planner-prepare-context-cli-ux/slices/slice-01-cli-ux-primitives-theme/slice.json +75 -0
  32. package/specs/quiver-v29-planner-prepare-context-cli-ux/slices/slice-02-planner-context-proposal-contract/CLOSURE_BRIEF.md +32 -0
  33. package/specs/quiver-v29-planner-prepare-context-cli-ux/slices/slice-02-planner-context-proposal-contract/EXECUTION_BRIEF.md +47 -0
  34. package/specs/quiver-v29-planner-prepare-context-cli-ux/slices/slice-02-planner-context-proposal-contract/slice.json +71 -0
  35. package/specs/quiver-v29-planner-prepare-context-cli-ux/slices/slice-03-prepare-context-planner-review-flow/CLOSURE_BRIEF.md +33 -0
  36. package/specs/quiver-v29-planner-prepare-context-cli-ux/slices/slice-03-prepare-context-planner-review-flow/EXECUTION_BRIEF.md +52 -0
  37. package/specs/quiver-v29-planner-prepare-context-cli-ux/slices/slice-03-prepare-context-planner-review-flow/slice.json +82 -0
  38. package/specs/quiver-v29-planner-prepare-context-cli-ux/slices/slice-04-ux-flag-matrix-compatibility/CLOSURE_BRIEF.md +34 -0
  39. package/specs/quiver-v29-planner-prepare-context-cli-ux/slices/slice-04-ux-flag-matrix-compatibility/EXECUTION_BRIEF.md +46 -0
  40. package/specs/quiver-v29-planner-prepare-context-cli-ux/slices/slice-04-ux-flag-matrix-compatibility/slice.json +73 -0
  41. package/specs/quiver-v29-planner-prepare-context-cli-ux/slices/slice-05-progressive-command-adoption/CLOSURE_BRIEF.md +34 -0
  42. package/specs/quiver-v29-planner-prepare-context-cli-ux/slices/slice-05-progressive-command-adoption/EXECUTION_BRIEF.md +46 -0
  43. package/specs/quiver-v29-planner-prepare-context-cli-ux/slices/slice-05-progressive-command-adoption/slice.json +83 -0
  44. package/specs/quiver-v29-planner-prepare-context-cli-ux/slices/slice-06-docs-tests-smoke-readiness/CLOSURE_BRIEF.md +31 -0
  45. package/specs/quiver-v29-planner-prepare-context-cli-ux/slices/slice-06-docs-tests-smoke-readiness/EXECUTION_BRIEF.md +50 -0
  46. package/specs/quiver-v29-planner-prepare-context-cli-ux/slices/slice-06-docs-tests-smoke-readiness/slice.json +95 -0
  47. package/specs/quiver-v30-interactive-cli-ux-agent-selection/EVIDENCE_REPORT.md +213 -0
  48. package/specs/quiver-v30-interactive-cli-ux-agent-selection/EXECUTION_PLAN.md +85 -0
  49. package/specs/quiver-v30-interactive-cli-ux-agent-selection/SPEC.md +213 -0
  50. package/specs/quiver-v30-interactive-cli-ux-agent-selection/STATUS.md +31 -0
  51. package/specs/quiver-v30-interactive-cli-ux-agent-selection/pr.md +103 -0
  52. package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-00-spec-foundation/CLOSURE_BRIEF.md +33 -0
  53. package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-00-spec-foundation/EXECUTION_BRIEF.md +56 -0
  54. package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-00-spec-foundation/slice.json +71 -0
  55. package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-01-cli-ux-runtime-progress-engine/CLOSURE_BRIEF.md +31 -0
  56. package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-01-cli-ux-runtime-progress-engine/EXECUTION_BRIEF.md +54 -0
  57. package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-01-cli-ux-runtime-progress-engine/slice.json +69 -0
  58. package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-02-agent-profile-selection-selectors/CLOSURE_BRIEF.md +33 -0
  59. package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-02-agent-profile-selection-selectors/EXECUTION_BRIEF.md +56 -0
  60. package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-02-agent-profile-selection-selectors/slice.json +81 -0
  61. package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-03-provider-model-selection-contract/CLOSURE_BRIEF.md +32 -0
  62. package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-03-provider-model-selection-contract/EXECUTION_BRIEF.md +54 -0
  63. package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-03-provider-model-selection-contract/slice.json +75 -0
  64. package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-04-planner-ia-progress-flows/CLOSURE_BRIEF.md +32 -0
  65. package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-04-planner-ia-progress-flows/EXECUTION_BRIEF.md +57 -0
  66. package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-04-planner-ia-progress-flows/slice.json +85 -0
  67. package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-05-executor-pr-progress-flows/CLOSURE_BRIEF.md +33 -0
  68. package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-05-executor-pr-progress-flows/EXECUTION_BRIEF.md +57 -0
  69. package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-05-executor-pr-progress-flows/slice.json +85 -0
  70. package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-06-doctor-visual-json-contract/CLOSURE_BRIEF.md +35 -0
  71. package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-06-doctor-visual-json-contract/EXECUTION_BRIEF.md +55 -0
  72. package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-06-doctor-visual-json-contract/slice.json +81 -0
  73. package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-07-interactive-init-spec-create/CLOSURE_BRIEF.md +34 -0
  74. package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-07-interactive-init-spec-create/EXECUTION_BRIEF.md +55 -0
  75. package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-07-interactive-init-spec-create/slice.json +85 -0
  76. package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-08-tests-docs-cross-platform-release/CLOSURE_BRIEF.md +34 -0
  77. package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-08-tests-docs-cross-platform-release/EXECUTION_BRIEF.md +59 -0
  78. package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-08-tests-docs-cross-platform-release/slice.json +95 -0
  79. package/src/create-quiver/commands/ai.js +809 -71
  80. package/src/create-quiver/commands/spec.js +167 -5
  81. package/src/create-quiver/index.js +582 -71
  82. package/src/create-quiver/lib/agent-profiles.js +111 -10
  83. package/src/create-quiver/lib/ai/context-proposal.js +389 -0
  84. package/src/create-quiver/lib/ai/context-proposal.schema.js +31 -0
  85. package/src/create-quiver/lib/ai/execution-plan.js +106 -8
  86. package/src/create-quiver/lib/ai/executor.js +284 -28
  87. package/src/create-quiver/lib/ai/providers.js +71 -1
  88. package/src/create-quiver/lib/cli/editor.js +118 -0
  89. package/src/create-quiver/lib/cli/selectors.js +107 -0
  90. package/src/create-quiver/lib/cli/theme.js +103 -0
  91. package/src/create-quiver/lib/cli/ux-flags.js +169 -0
  92. package/src/create-quiver/lib/cli/ux.js +225 -0
package/README.md CHANGED
@@ -1,595 +1,264 @@
1
- # Quiver
1
+ <p align="center">
2
+ <img src="./assets/quiver-wordmark.svg" alt="Quiver" width="560" />
3
+ </p>
4
+
5
+ <p align="center">
6
+ <strong>Framework AI-first para ordenar trabajo con WDD + SDD</strong>
7
+ </p>
8
+
9
+ <p align="center">
10
+ <a href="https://www.npmjs.com/package/create-quiver"><img src="https://img.shields.io/npm/v/create-quiver" alt="version npm" /></a>
11
+ <a href="https://www.npmjs.com/package/create-quiver"><img src="https://img.shields.io/npm/dm/create-quiver" alt="descargas npm" /></a>
12
+ <img src="https://img.shields.io/github/license/FabriJuncal/quiver" alt="licencia" />
13
+ <img src="https://img.shields.io/badge/AI--first-WDD%20%2B%20SDD-blue" alt="AI-first WDD + SDD" />
14
+ <img src="https://img.shields.io/badge/macOS%20%7C%20Linux%20%7C%20Windows-soportado-green" alt="soporte de plataformas" />
15
+ </p>
16
+
17
+ <p align="center">
18
+ <a href="#primeros-pasos">Primeros pasos</a> ·
19
+ <a href="./docs/workflows/existing-project.md">Proyecto existente</a> ·
20
+ <a href="./docs/workflows/full-ai-spec-to-pr.md">Flujo completo</a> ·
21
+ <a href="./docs/reference/commands.md">Comandos</a> ·
22
+ <a href="./docs/CLI_UX_GUIDE.md">UX del CLI</a>
23
+ </p>
2
24
 
3
- Quiver es un framework para trabajar con **WDD + SDD asistido por IA** en proyectos de software.
4
- Ayuda a transformar un repositorio en un entorno donde humanos y agentes pueden entender el contexto, planificar por specs, ejecutar slices y revisar cambios con evidencia.
5
- Está pensado para equipos que quieren usar IA de forma ordenada: primero workflow, después specs, después implementación.
25
+ # Quiver
6
26
 
7
- ## 🚀 Inicio rápido
27
+ Quiver es un framework de workflow para proyectos de software que quieren usar agentes de IA sin convertir el repo en una bolsa de prompts, archivos sueltos y decisiones perdidas.
8
28
 
9
- ### Usar Quiver con IA en un proyecto
29
+ Ayuda a transformar requerimientos en criterios de aceptación, planes técnicos, specs, slices, handoffs, evidencia de validación, commits y pull requests.
10
30
 
11
- Ejecutá Quiver desde la raíz del proyecto donde querés instalar el workflow:
31
+ La idea es simple: que la IA trabaje rápido, pero con orden.
12
32
 
13
- ```bash
14
- npx create-quiver init --name "Mi Proyecto"
15
- npx create-quiver flow
16
- npx create-quiver prepare --dry-run
17
- npx create-quiver analyze
18
- npx create-quiver doctor
19
- npx create-quiver ai agent set planner --provider codex --model "planner-model" --dry-run
20
- npx create-quiver ai agent set planner --provider codex --model "planner-model"
21
- npx create-quiver ai agent set executor --provider codex --model "executor-model"
22
- npx create-quiver ai prepare-context --dry-run
23
- npx create-quiver ai onboard --dry-run
24
- ```
33
+ En lugar de pedirle a un agente "hacé esto y vemos qué pasa", Quiver propone un camino repetible:
25
34
 
26
- Después de eso, revisá:
35
+ 1. entender el repositorio;
36
+ 2. preparar contexto del proyecto;
37
+ 3. planificar con aprobaciones humanas;
38
+ 4. generar specs y slices;
39
+ 5. ejecutar un slice por vez;
40
+ 6. validar con evidencia;
41
+ 7. abrir un PR por spec.
27
42
 
28
- - `AGENTS.md`
29
- - `docs/PROJECT_MAP.md`
30
- - `docs/AI_CONTEXT.md`
31
- - `docs/AI_ONBOARDING_PROMPT.md`
32
-
33
- La maquinaria interna queda en `.quiver/`. Las specs reales no se crean durante el init: aparecen cuando el plan técnico ya fue revisado y aprobado, usando `spec create`.
34
-
35
- El flujo normal con IA continúa así:
36
-
37
- ```bash
38
- npx create-quiver flow
39
- npx create-quiver ai plan --phase acceptance --input requirements.md --dry-run
40
- npx create-quiver ai revise --phase acceptance --input feedback.md --dry-run
41
- npx create-quiver ai approve --phase acceptance --version <n>
42
- npx create-quiver ai approvals
43
- npx create-quiver ai plan --phase technical-plan --dry-run
44
- npx create-quiver ai review-plan --dry-run
45
- npx create-quiver ai approve --phase technical-plan --version <n>
46
- npx create-quiver spec create --dry-run
47
- npx create-quiver spec start specs/<project-slug>
48
- npx create-quiver next
49
- npx create-quiver ai execute-plan --dry-run --commit --mode manual
50
- npx create-quiver ai execute-plan --dry-run --commit --mode delegated
51
- ```
43
+ ## ¿Qué problema resuelve?
52
44
 
53
- Usá `--dry-run` para validar provider, rol, contexto, paths y olas sin ejecutar el modelo. `--mode manual` imprime prompts para asignar slices a mano; `--mode delegated` prepara la ejecución con workspaces seguros cuando hay paralelismo.
45
+ Los agentes de IA pueden acelerar mucho el desarrollo, pero suelen fallar por motivos bastante normales:
54
46
 
55
- ### Compatibilidad: macOS, Linux y Windows
47
+ - leen demasiado contexto o leen el contexto incorrecto;
48
+ - implementan antes de cerrar criterios de aceptación;
49
+ - saltean la aprobación del plan;
50
+ - mezclan cambios no relacionados en el mismo PR;
51
+ - olvidan qué se aprobó en una fase anterior;
52
+ - generan código sin evidencia clara de validación;
53
+ - dejan al humano reconstruyendo qué pasó.
56
54
 
57
- El camino principal de Quiver está pensado para ser portable: usa `npx create-quiver ...`, `npm run quiver:*` y `node ...`. Esos comandos funcionan en macOS, Linux y Windows siempre que tengas Node.js, npm y Git instalados.
55
+ Quiver reduce ese desorden convirtiendo el trabajo asistido por IA en un flujo guiado, con archivos visibles y estados verificables.
58
56
 
59
- Reglas prácticas por sistema:
57
+ ## ¿Cómo funciona?
60
58
 
61
- - macOS y Linux: podés copiar los ejemplos tal como están. Las rutas SSH suelen verse como `~/.ssh/github-work`.
62
- - Windows con PowerShell: usá los mismos comandos `npx`, `npm` y `node`, pero adaptá rutas a formato Windows, por ejemplo `C:\Users\<usuario>\ssh\github-work`.
63
- - Windows con Git Bash o WSL: podés usar rutas tipo Unix, por ejemplo `~/.ssh/github-work`.
64
- - Los wrappers Bash bajo `tools/scripts/` son compatibilidad legacy u opcional. Para trabajo nuevo, preferí el CLI Node y los scripts `quiver:*`.
65
- - Si una ruta tiene espacios, mantenela entre comillas. En los preflights de GitHub, Quiver imprime ejemplos seguros para macOS/Linux, Windows PowerShell, Git Bash y WSL.
59
+ Quiver combina dos metodologías:
66
60
 
67
- Cuando uses GitHub o PRs:
61
+ - **WDD**, Workflow-Driven Development: primero se define cómo se trabaja.
62
+ - **SDD**, Spec-Driven Development: el trabajo se describe como specs y slices antes de implementar.
68
63
 
69
- - `--ssh-host-alias` recibe el alias del host en tu configuración SSH, por ejemplo `github-work` o `github-personal`.
70
- - `--identity-file` recibe la ruta al archivo de clave, que cambia según el sistema operativo.
71
- - `gh` debe estar instalado y autenticado; Quiver lo valida con `ai doctor` o `ai pr --dry-run`, y cuando falla indica cuenta, permisos/scopes, alias SSH y próximo comando seguro.
64
+ En la práctica, Quiver separa planificación y ejecución:
72
65
 
73
- ### Desarrollar este repositorio
66
+ - un **agente planificador** prepara criterios, plan técnico, spec, slices y cuerpo del PR;
67
+ - un **agente ejecutor** recibe solo el contexto mínimo de un slice y modifica código dentro del alcance aprobado;
68
+ - el humano aprueba las fases importantes antes de avanzar.
74
69
 
75
- ```bash
76
- git clone <repo-url>
77
- cd quiver
78
- npm install
79
- node bin/create-quiver.js --help
80
- node --test tests/**/*.test.js
70
+ ```mermaid
71
+ flowchart TD
72
+ A[Proyecto] --> B[Inicializar o migrar Quiver]
73
+ B --> C[Analizar y diagnosticar]
74
+ C --> D[Preparar contexto para IA]
75
+ D --> E[Planner crea criterios de aceptación]
76
+ E --> F[Humano aprueba criterios]
77
+ F --> G[Planner crea plan técnico]
78
+ G --> H[Revisión de plan]
79
+ H --> I[Humano aprueba plan]
80
+ I --> J[Crear spec y slices]
81
+ J --> K[Slice 00 documental]
82
+ K --> L[Plan de ejecución]
83
+ L --> M[Agentes ejecutores]
84
+ M --> N[Validación y un commit por slice]
85
+ N --> O[Pull request]
86
+ O --> P[Merge]
87
+ P --> Q[Cerrar spec]
81
88
  ```
82
89
 
83
- > El remote local detectado usa un alias SSH (`git@github-personal:FabriJuncal/quiver.git`). Si no tenés ese alias configurado, cloná con la URL que use tu equipo.
84
-
85
- ## 🧠 Workflow principal: WDD + SDD con IA
90
+ ## Primeros pasos
86
91
 
87
- Quiver asume que la mayoría de los equipos lo van a usar para coordinar trabajo con agentes de IA. Por eso el flujo principal no empieza por código: empieza por contexto, workflow y planificación.
88
-
89
- | Etapa | Qué significa | Artefactos principales |
90
- |---|---|---|
91
- | WDD | Workflow-Driven Development: dejar claro cómo se trabaja antes de implementar. | `AGENTS.md`, `docs/WORKFLOW.md`, `docs/AI_CONTEXT.md`, `docs/PROJECT_MAP.md` |
92
- | SDD | Spec-Driven Development: definir el trabajo en specs y slices antes de tocar código. | `specs/<project-slug>/SPEC.md`, `slice.json`, `EXECUTION_BRIEF.md`, `pr.md` |
93
- | IA planner | Agente que lee contexto amplio y propone criterios, plan técnico, spec y slices. | `ai prepare-context`, `ai onboard`, `ai plan` |
94
- | IA executor | Agente que recibe un slice aprobado y trabaja con contexto mínimo. | `ai prompt-slice`, `ai execute-slice`, `check-scope`, `check-slice` |
95
-
96
- Flujo recomendado:
92
+ Ejecutá Quiver desde la raíz del proyecto que querés preparar.
97
93
 
98
94
  ```bash
99
- npx create-quiver analyze
100
- npx create-quiver flow
101
- npx create-quiver doctor
102
- npx create-quiver ai prepare-context --dry-run
103
- npx create-quiver ai onboard --dry-run
104
- npx create-quiver ai plan --phase acceptance --input requirements.md --dry-run
105
- npx create-quiver ai revise --phase acceptance --input feedback.md --dry-run
106
- npx create-quiver ai approve --phase acceptance --version <n>
107
- npx create-quiver ai plan --phase technical-plan --dry-run
108
- npx create-quiver ai review-plan --dry-run
109
- npx create-quiver ai approve --phase technical-plan --version <n>
110
- npx create-quiver spec create --dry-run
111
- npx create-quiver spec start specs/<project-slug>
112
- npx create-quiver graph
113
- npx create-quiver next
114
- npx create-quiver ai prompt-slice --slice specs/<project-slug>/slices/slice-01/slice.json --dry-run
115
- npx create-quiver ai execute-slice --slice specs/<project-slug>/slices/slice-01/slice.json --dry-run --commit
116
- npx create-quiver ai execute-plan --dry-run --commit --mode delegated
117
- npx create-quiver ai pr --dry-run --input specs/<project-slug>/pr.md --ssh-host-alias github-work --identity-file ~/.ssh/github-work
95
+ npx --yes create-quiver@latest init --name "Mi Proyecto"
96
+ npx --yes create-quiver@latest flow
97
+ npx --yes create-quiver@latest analyze
98
+ npx --yes create-quiver@latest doctor
118
99
  ```
119
100
 
120
- Cuando pegues comandos en un agente externo y quieras evitar prompts interactivos de `npx`, usá la forma versionada y no interactiva:
101
+ Después prepará el contexto para IA:
121
102
 
122
103
  ```bash
123
- npx --yes create-quiver@<version> ai prompt-slice --slice specs/<project-slug>/slices/slice-01/slice.json --dry-run
104
+ npx --yes create-quiver@latest ai prepare-context --dry-run
105
+ npx --yes create-quiver@latest ai prepare-context
124
106
  ```
125
107
 
126
- Regla práctica: el planner no modifica código de producto; el executor solo trabaja sobre un slice aprobado y dentro de los archivos declarados en `slice.json`.
127
-
128
- ## 🛠️ Empezar a usar Quiver según tu caso
129
-
130
- ### 1. Proyecto nuevo desde cero
131
-
132
- Usá este camino cuando todavía no existe el proyecto o estás arrancando una carpeta nueva y querés que Quiver acompañe el workflow desde el primer commit.
108
+ Ese flujo usa el modo determinístico de Quiver: analiza el proyecto y actualiza solo documentación de contexto sin llamar a un proveedor de IA. Si querés que un agente planificador proponga el contexto, usá el modo asistido:
133
109
 
134
110
  ```bash
135
- mkdir mi-proyecto
136
- cd mi-proyecto
137
- npx create-quiver init --name "Mi Proyecto"
138
- npx create-quiver flow
139
- npx create-quiver prepare --dry-run
140
- npx create-quiver analyze
141
- npx create-quiver doctor
142
- npx create-quiver ai prepare-context --dry-run
143
- npx create-quiver ai onboard --dry-run
111
+ npx --yes create-quiver@latest ai prepare-context --with-planner --dry-run
112
+ npx --yes create-quiver@latest ai prepare-context --with-planner --review --interactive
144
113
  ```
145
114
 
146
- Qué esperar:
147
-
148
- - Quiver crea un contrato visible chico: `AGENTS.md`, `docs/`, `.gitignore`, scripts `quiver:*` en `package.json` y configuración interna en `.quiver/`.
149
- - No crea `docs-template/`, `tools/scripts/` ni una spec placeholder en el flujo default.
150
- - `analyze` crea el scan crudo en `.quiver/scans/PROJECT_SCAN.json` y el mapa legible en `docs/PROJECT_MAP.md`.
151
- - `doctor` valida que el contrato inicial esté completo.
152
- - `ai prepare-context --dry-run` muestra borradores y supuestos sin escribir; `ai onboard --dry-run` muestra cómo se incorporaría un agente planner sin ejecutar el provider todavía.
115
+ La inicialización crea un contrato visible para humanos y agentes, más estado interno de Quiver:
153
116
 
154
- Después del bootstrap, revisá:
155
-
156
- ```bash
157
- npx create-quiver ai plan --phase acceptance --input requirements.md --dry-run
158
- npx create-quiver ai revise --phase acceptance --input feedback.md --dry-run
159
- npx create-quiver ai approve --phase acceptance --version <n>
160
- npx create-quiver ai plan --phase technical-plan --dry-run
161
- npx create-quiver ai review-plan --dry-run
162
- npx create-quiver ai approve --phase technical-plan --version <n>
163
- npx create-quiver spec create --dry-run
164
- npx create-quiver plan
165
- npx create-quiver graph
166
- npx create-quiver next
167
- ```
168
-
169
- ### 2. Proyecto ya iniciado sin Quiver
170
-
171
- Usá este camino cuando el repo ya tiene código, pero nunca fue inicializado con Quiver.
172
-
173
- Primero revisá el estado actual:
174
-
175
- ```bash
176
- git status --short
177
- ```
178
-
179
- Si hay cambios pendientes, conviene guardarlos, commitearlos o crear una rama dedicada para que el diff de onboarding sea fácil de revisar.
180
-
181
- Luego inicializá Quiver desde la raíz del proyecto:
182
-
183
- ```bash
184
- npx create-quiver init --name "Nombre del Proyecto"
185
- npx create-quiver flow
186
- npx create-quiver analyze
187
- npx create-quiver doctor
188
- npx create-quiver ai agent set planner --provider codex --model "planner-model"
189
- npx create-quiver ai agent set executor --provider codex --model "executor-model"
190
- npx create-quiver ai prepare-context --dry-run
191
- npx create-quiver ai onboard --dry-run
192
- git status --short
193
- ```
194
-
195
- Qué esperar:
196
-
197
- - Quiver agrega documentación, scripts `quiver:*` y archivos internos de soporte en `.quiver/`.
198
- - No deberías mezclar este paso con cambios de producto.
199
- - `docs/PROJECT_MAP.md` queda como fuente de verdad para stack, package manager, comandos y rutas importantes.
200
- - Las specs y slices reales se crean después, con `spec create`, cuando ya existen criterios aprobados y un plan técnico revisado y aprobado.
201
- - El primer trabajo de IA debería ser preparar contexto y planificación, no implementar.
202
-
203
- Importante: no uses `migrate` para un proyecto que nunca tuvo Quiver. `migrate` es solo para proyectos previamente inicializados.
204
-
205
- ### 3. Proyecto iniciado con una versión vieja de Quiver
206
-
207
- Usá este camino cuando el repo ya tiene señales de Quiver, pero querés actualizarlo al contrato actual.
208
-
209
- Señales típicas de una instalación previa:
210
-
211
- - `.quiver/state.json`
212
117
  - `AGENTS.md`
118
+ - `docs/`
213
119
  - `docs/AI_CONTEXT.md`
120
+ - `docs/AI_ONBOARDING_PROMPT.md`
214
121
  - `docs/PROJECT_MAP.md`
215
- - `docs-template/` como señal legacy u opcional
216
- - `tools/scripts/` como señal legacy u opcional
217
- - scripts `quiver:*` o scripts legacy en `package.json`
218
-
219
- Desde la raíz del proyecto:
220
-
221
- ```bash
222
- npx create-quiver doctor
223
- npx create-quiver migrate
224
- npx create-quiver analyze
225
- npx create-quiver doctor
226
- npx create-quiver ai prepare-context --dry-run
227
- npx create-quiver ai onboard --dry-run
228
- git status --short
229
- ```
230
-
231
- Si estás en CI, offline o no querés que la migración instale dependencias automáticamente:
122
+ - `.quiver/`
123
+ - scripts `quiver:*` en `package.json`
232
124
 
233
- ```bash
234
- npx create-quiver migrate --skip-install
235
- ```
125
+ Las specs se crean después, cuando los criterios de aceptación y el plan técnico ya fueron aprobados.
236
126
 
237
- Qué esperar:
127
+ ## Elegí tu sistema operativo
238
128
 
239
- - La migración restaura o agrega archivos faltantes de forma aditiva.
240
- - No debería sobrescribir archivos existentes de proyecto sin necesidad.
241
- - Después de migrar, `analyze` actualiza el mapa técnico y `doctor` confirma los próximos pasos.
242
- - `ai prepare-context --dry-run` ayuda a revisar supuestos del contexto migrado; `ai onboard --dry-run` valida que el contexto viejo quedó entendible para un agente planner.
129
+ Empezá por acá si estás configurando Quiver por primera vez en una máquina:
243
130
 
244
- Si `doctor` falla indicando que el proyecto no fue inicializado por Quiver, usá el flujo del caso 2.
131
+ - [macOS](./docs/getting-started/macos.md)
132
+ - [Linux](./docs/getting-started/linux.md)
133
+ - [Windows PowerShell](./docs/getting-started/windows-powershell.md)
134
+ - [Windows Git Bash / WSL](./docs/getting-started/windows-git-bash-wsl.md)
245
135
 
246
- ## Qué hace
136
+ ## Elegí tu flujo
247
137
 
248
- Quiver instala una estructura de trabajo para que un proyecto pueda usar IA sin improvisar contexto en cada tarea:
138
+ Usá la guía que corresponda al estado de tu proyecto:
249
139
 
250
- - documentación base para humanos y agentes;
251
- - contexto AI-first con roles de planner y executor;
252
- - specs y slices para dividir trabajo en partes revisables;
253
- - comandos para planificar, ejecutar y validar trabajo asistido por IA;
254
- - checks de readiness, PR, handoff y scope;
255
- - plantillas de contribución, soporte, seguridad, changelog y GitHub Actions.
140
+ - [Proyecto nuevo desde cero](./docs/workflows/new-project.md)
141
+ - [Proyecto existente sin Quiver](./docs/workflows/existing-project.md)
142
+ - [Proyecto existente con una versión vieja de Quiver](./docs/workflows/legacy-quiver-project.md)
143
+ - [Flujo completo con IA: requerimiento, spec, slices, commits y PR](./docs/workflows/full-ai-spec-to-pr.md)
256
144
 
257
- La idea práctica: primero contexto, después plan, después código.
145
+ ## Comandos principales
258
146
 
259
- ## 🧱 Stack tecnológico
260
-
261
- | Área | Tecnología detectada |
262
- |---|---|
263
- | Runtime | Node.js CLI |
264
- | Lenguaje | JavaScript CommonJS |
265
- | Package manager | npm (`package-lock.json`) |
266
- | Binario npm | `create-quiver` y alias `quiver` -> `bin/create-quiver.js` |
267
- | Tests | Node built-in test runner (`node:test`) |
268
- | CI/CD | GitHub Actions |
269
- | Distribución | Paquete npm público `create-quiver` |
270
- | Base de datos | No detectada |
271
- | Docker / Compose | No detectado |
272
- | Prisma / Supabase / migrations / seeders | No detectados |
273
-
274
- ## 📦 Requisitos
275
-
276
- - Node.js 22.x recomendado. La CI usa Node 22, aunque `package.json` todavía no declara `engines`.
277
- - npm.
278
- - Git, especialmente para ramas y worktrees.
279
- - `shellcheck` si querés replicar localmente el job de CI que valida scripts Bash.
280
- - Opcional: `gh` para preflight de PR con GitHub.
281
- - CLI local de `codex`, `claude` o `gemini` si vas a ejecutar comandos de IA sin `--dry-run`.
282
-
283
- No se detectaron archivos `.env`; Quiver no requiere variables de entorno para el flujo básico.
284
-
285
- ## 📁 Estructura del proyecto
286
-
287
- | Ruta | Propósito |
147
+ | Comando | Qué hace |
288
148
  |---|---|
289
- | `bin/create-quiver.js` | Entry point ejecutable del CLI. |
290
- | `src/create-quiver/` | Código fuente del CLI y comandos principales. |
291
- | `src/create-quiver/commands/` | Comandos `ai`, `graph`, `next` y `plan`. |
292
- | `src/create-quiver/lib/` | Lógica de análisis, doctor, slices, lifecycle, IA, Git y renderers. |
293
- | `docs/` | Plantillas que Quiver copia a proyectos destino. |
294
- | `specs/` | Specs internas del desarrollo de Quiver y templates usados cuando `spec create` crea una spec real. |
295
- | `scripts/` | Scripts de packaging, release, CI smoke y wrappers legacy. |
296
- | `tests/` | Tests unitarios y fixtures. |
297
- | `examples/` | Ejemplo mínimo de spec/slice. |
298
- | `i18n/es/` | Documentación y plantillas en español. |
299
- | `.github/` | Workflows, templates de issues y PR. |
300
-
301
- ## ⚙️ Configuración
302
-
303
- ### Variables opcionales
304
-
305
- | Variable | Uso |
149
+ | `npx --yes create-quiver@latest --help` | Muestra la lista pública de comandos. |
150
+ | `npx --yes create-quiver@latest --version` | Muestra la versión del CLI. |
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. |
153
+ | `npx --yes create-quiver@latest migrate --dry-run` | Previsualiza la migración de un proyecto Quiver anterior. |
154
+ | `npx --yes create-quiver@latest analyze` | Genera el mapa del proyecto usado por humanos y agentes. |
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. |
157
+ | `npx --yes create-quiver@latest flow` | Indica el próximo paso seguro. |
158
+ | `npx --yes create-quiver@latest ai prepare-context --dry-run` | Previsualiza contexto de onboarding para IA sin tocar código de producto. |
159
+ | `npx --yes create-quiver@latest ai prepare-context --with-planner --dry-run` | Previsualiza una propuesta de contexto generada por el planner. |
160
+ | `npx --yes create-quiver@latest ai plan --phase acceptance` | Genera un borrador de criterios de aceptación. |
161
+ | `npx --yes create-quiver@latest ai plan --phase technical-plan` | Genera un borrador de plan técnico. |
162
+ | `npx --yes create-quiver@latest ai review-plan` | Revisa el plan técnico antes de aprobarlo. |
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. |
165
+ | `npx --yes create-quiver@latest spec start specs/<spec>` | Crea o reutiliza el worktree de una spec. |
166
+ | `npx --yes create-quiver@latest next --all-ready --spec <spec>` | Lista los slices listos para ejecutar. |
167
+ | `npx --yes create-quiver@latest ai execute-slice --slice <slice.json> --commit` | Ejecuta un slice aprobado y lo commitea después de validar. |
168
+ | `npx --yes create-quiver@latest ai pr --dry-run --input specs/<spec>/pr.md` | Previsualiza la creación del PR y el estado de GitHub. |
169
+ | `npx --yes create-quiver@latest spec close specs/<spec>` | Cierra el worktree de una spec ya mergeada. |
170
+
171
+ La referencia completa está en [docs/reference/commands.md](./docs/reference/commands.md).
172
+
173
+ ## UX del CLI
174
+
175
+ Quiver usa un estándar único para que los comandos sean claros tanto para humanos como para automatizaciones:
176
+
177
+ - `--dry-run` muestra qué pasaría sin escribir ni ejecutar proveedores.
178
+ - `--print-prompt` imprime el prompt exacto y no ejecuta IA.
179
+ - `--with-planner` activa un modo asistido por planner solo en comandos que lo soportan.
180
+ - `--review` abre o prepara una revisión humana antes de escrituras persistentes.
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.
183
+ - `--json` mantiene salida legible por máquinas y no se combina con `--interactive` ni `--review`.
184
+ - `--no-color` desactiva colores cuando el entorno no los necesita.
185
+
186
+ El detalle del estándar, la matriz de comandos y los colores de Quiver están en [docs/CLI_UX_GUIDE.md](./docs/CLI_UX_GUIDE.md).
187
+
188
+ ## ¿Qué crea Quiver?
189
+
190
+ Quiver deja visible la documentación útil del proyecto y guarda su estado interno en `.quiver/`.
191
+
192
+ | Ruta | Para qué sirve |
306
193
  |---|---|
307
- | `SLICE_WORKTREES_DIR` | Cambia la carpeta donde `start-slice` crea worktrees. |
308
- | `ALLOW_DRAFT_SLICE=1` | Permite iniciar slices en estado `draft`. Equivale a usar `--allow-draft`. |
309
- | `QUIVER_VERSION` | Usada por scripts legacy de inicialización. |
310
- | `QUIVER_MIGRATE` | Activa modo migración en scripts legacy. |
311
- | `QUIVER_PROJECT_NAME` | Define nombre de proyecto en scripts legacy. |
312
-
313
- Para IA sin `--dry-run`, la autenticación depende del proveedor local que uses (`codex`, `claude` o `gemini`). Para PR preflight, Quiver espera que `gh` y tu configuración SSH ya existan; no instala ni modifica credenciales.
194
+ | `AGENTS.md` | Punto de entrada para agentes de IA. |
195
+ | `docs/AI_CONTEXT.md` | Contexto compacto del proyecto para agentes. |
196
+ | `docs/AI_ONBOARDING_PROMPT.md` | Prompt que un agente puede ejecutar para hacer onboarding seguro. |
197
+ | `docs/PROJECT_MAP.md` | Stack, package manager, scripts y datos del proyecto. |
198
+ | `docs/WORKFLOW.md` | Contrato local de trabajo. |
199
+ | `specs/<spec>/SPEC.md` | Spec aprobada. |
200
+ | `specs/<spec>/slices/<slice>/slice.json` | Contrato del slice: alcance, dependencias y validación. |
201
+ | `EXECUTION_BRIEF.md` | Lo que necesita saber el agente ejecutor. |
202
+ | `CLOSURE_BRIEF.md` | Qué se hizo, qué se validó y qué quedó pendiente. |
203
+ | `.quiver/` | Estado interno: runs, approvals, scans, snapshots y agentes. |
314
204
 
315
- ## 🧭 Comandos principales
205
+ ## Para agentes de IA
316
206
 
317
- Los comandos reales del CLI se ejecutan con `npx create-quiver ...` o, durante desarrollo local, con `node bin/create-quiver.js ...`.
318
- El paquete también publica el alias binario `quiver`, que apunta al mismo CLI. Usalo cuando el paquete ya esté instalado localmente; para bootstrap remoto, seguí usando `npx create-quiver`.
319
-
320
- | Comando | Para qué sirve |
321
- |---|---|
322
- | `npx create-quiver init --name "Proyecto"` | Inicializa Quiver en un proyecto nuevo o nunca inicializado. |
323
- | `npx create-quiver --name "Proyecto"` | Alias compatible del flujo de init recomendado. |
324
- | `npx create-quiver --version` | Muestra la versión instalada del CLI. |
325
- | `npx create-quiver --help` | Lista todos los comandos públicos con descripción, opciones principales y ejemplos recomendados. |
326
- | `npx create-quiver help` | Alias legible de la ayuda completa. |
327
- | `quiver --help` | Muestra la misma ayuda cuando Quiver ya está instalado localmente. |
328
- | `npx create-quiver flow` | Muestra el estado inicial del flujo guiado, la fuente/frescura del contexto, el package manager detectado, el script `quiver:flow` correcto y el próximo comando seguro sin escribir estado ni llamar providers. |
329
- | `npx create-quiver ai agent set <role> --provider <provider> --model <label> --dry-run` | Previsualiza el perfil que se guardaría sin escribir `.quiver/agents/profiles.json`. |
330
- | `npx create-quiver ai agent set <role> --provider <provider> --model <label>` | Guarda perfiles reutilizables para planner, executor, reviewer o doctor sin guardar secretos. |
331
- | `npx create-quiver ai agent list` | Lista los perfiles configurados. |
332
- | `npx create-quiver ai agent show <role>` | Muestra un perfil específico. |
333
- | `npx create-quiver ai run create --input requirements.md` | Crea un run persistente en `.quiver/runs/` para un requerimiento. |
334
- | `npx create-quiver ai status` | Muestra la fase actual del run AI y el próximo comando seguro. |
335
- | `npx create-quiver ai resume` | Reanuda el run AI desde la última fase válida sin depender del historial del chat. |
336
- | `npx create-quiver ai inspect` | Resume specs, slices, runs, agentes, layout y próximos comandos accionables. |
337
- | `npx create-quiver ai export --format json` | Exporta estado de specs, slices, runs, agentes, dependencias y migración para dashboards o agentes. |
338
- | `npx create-quiver ai export --format markdown` | Exporta el mismo estado en Markdown legible para PRs o docs. |
339
- | `npx create-quiver ai active-slice reconcile --dry-run` | Inspecciona y reconcilia en modo lectura el estado local del slice activo entre `docs/ai/ACTIVE_SLICE.md` y `ACTIVE_SLICES.md`. |
340
- | `npx create-quiver ai specs list` | Lista specs con estado, progreso y cantidad de slices. |
341
- | `npx create-quiver ai slices list` | Lista slices con estado, progreso, dependencias y bloqueos. |
342
- | `npx create-quiver ai trace report` | Muestra runs, olas de ejecución y estado de migración en formato humano. |
343
- | `npx create-quiver ai approvals` | Muestra drafts versionados y aprobados por fase. |
344
- | `npx create-quiver ai approve --phase acceptance --version <n>` | Aprueba una versión concreta de un draft guardado. |
345
- | `npx create-quiver init --minimal` | Crea solo el contrato esencial de onboarding. |
346
- | `npx create-quiver init --full` | Crea el layout amplio de compatibilidad. |
347
- | `npx create-quiver init --legacy-scripts` | Agrega wrappers Bash legacy bajo `tools/scripts/`. |
348
- | `npx create-quiver init --include-templates` | Exporta templates empaquetados bajo `.quiver/templates/`. |
349
- | `npx create-quiver analyze --dry-run` | Previsualiza el scan, el mapa de proyecto y el refresh de contexto sin escribir archivos. |
350
- | `npx create-quiver analyze` | Genera `.quiver/scans/PROJECT_SCAN.json`, `docs/PROJECT_MAP.md` y refresca `docs/AI_CONTEXT.md`. |
351
- | `npx create-quiver doctor` | Valida que el contrato de Quiver esté completo. |
352
- | `npx create-quiver doctor --fix --dry-run` | Muestra reparaciones seguras sin escribir archivos. |
353
- | `npx create-quiver doctor --fix` | Aplica reparaciones no destructivas e idempotentes. |
354
- | `npx create-quiver prepare --dry-run` | Ejecuta diagnóstico guiado de preparación sin escribir archivos. |
355
- | `npx create-quiver prepare` | Refresca contexto y muestra riesgos, supuestos y próximos comandos. |
356
- | `npx create-quiver ai prepare-context --dry-run` | Previsualiza docs de onboarding, diffs, supuestos, riesgos, contradicciones y rutas omitidas sin escribir. |
357
- | `npx create-quiver migrate` | Actualiza proyectos que ya fueron inicializados con Quiver. |
358
- | `npx create-quiver migrate --dry-run` | Muestra qué actualizaría la migración sin escribir archivos. |
359
- | `npx create-quiver plan` | Lista slices pendientes en orden y calcula camino crítico. |
360
- | `npx create-quiver graph` | Muestra el grafo de dependencias (`tree`, `mermaid` o `dot`). |
361
- | `npx create-quiver next` | Sugiere el próximo slice listo para trabajar. |
362
- | `npx create-quiver plan --include-completed` | Muestra slices completados para auditoría o demos. |
363
- | `npx create-quiver graph --include-completed` | Incluye slices completados en el grafo histórico. |
364
- | `npx create-quiver next --include-completed` | Mantiene la recomendación accionable y agrega historial completado. |
365
- | `npx create-quiver spec create` | Crea la spec real desde el plan técnico revisado y aprobado. |
366
- | `npx create-quiver spec start <spec-dir>` | Crea o reutiliza el worktree dedicado de una spec. Usá `--dry-run` para ver qué worktree se crearía sin tocar Git. |
367
- | `npx create-quiver spec status <spec-dir>` | Muestra branch, path, `slice-00` y slices pendientes. |
368
- | `npx create-quiver spec validate <spec-dir>` | Valida documentos de spec, slices, briefs, evidencia, estado, dependencias y rutas seguras. |
369
- | `npx create-quiver spec close <spec-dir>` | Cierra un worktree de spec ya mergeado y limpio; en modo normal también intenta traer los cambios del merge al checkout principal. |
370
- | `npx create-quiver start-slice <slice.json>` | Prepara worktree y contexto para ejecutar un slice. |
371
- | `npx create-quiver check-slice <slice.json>` | Valida readiness del slice. |
372
- | `npx create-quiver check-slice --local <slice.json>` | Valida estructura local sin exigir remoto/base. |
373
- | `npx create-quiver check-pr <slice.json>` | Valida estructura esperada para PR. |
374
- | `npx create-quiver check-scope <slice.json>` | Verifica que los archivos modificados estén dentro del alcance declarado. |
375
- | `npx create-quiver cleanup-slice <slice.json>` | Limpia worktree/branch local asociado a un slice. |
376
- | `npx create-quiver refresh-active-slices` | Regenera el tablero local `ACTIVE_SLICES.md`. |
377
- | `npx create-quiver check-handoff <handoff-or-brief.md>` | Valida un `HANDOFF.md` o un brief de slice (`EXECUTION_BRIEF.md` / `CLOSURE_BRIEF.md`). |
378
- | `npx create-quiver new-handoff <spec-slug>` | Crea un handoff para una transferencia excepcional. |
379
- | `npx create-quiver evidence run -- <comando>` | Ejecuta un comando y guarda evidencia local con exit code, duración y salida redactada/truncada. |
380
- | `npx create-quiver demo create spec-viewer --dry-run` | Previsualiza el demo opcional Quiver Spec Viewer sin escribir archivos. |
381
- | `npx create-quiver demo create spec-viewer --dir <target>` | Crea el demo estático con app, spec, slices, handoffs y validación. |
382
-
383
- ### Comandos de IA para WDD + SDD
207
+ Los comandos pensados para agentes deberían usar una versión explícita y modo no interactivo:
384
208
 
385
209
  ```bash
386
- npx create-quiver ai prepare-context --dry-run
387
- npx create-quiver ai onboard --dry-run
388
- npx create-quiver ai onboard --print-prompt
389
- npx create-quiver ai agent set planner --provider codex --model "planner-model" --dry-run
390
- npx create-quiver ai agent set planner --provider codex --model "planner-model"
391
- npx create-quiver ai agent set executor --provider codex --model "executor-model"
392
- npx create-quiver ai agent set doctor --provider codex --model "diagnostic-model"
393
- npx create-quiver ai agent list
394
- npx create-quiver ai plan --phase acceptance --input requirements.md --dry-run
395
- npx create-quiver ai plan --phase acceptance --input requirements.md --print-prompt
396
- npx create-quiver ai revise --phase acceptance --input feedback.md --dry-run
397
- npx create-quiver ai approve --phase acceptance --version <n>
398
- npx create-quiver ai plan --phase technical-plan --dry-run
399
- npx create-quiver ai review-plan --dry-run
400
- npx create-quiver ai review-plan --print-prompt
401
- npx create-quiver ai approve --phase technical-plan --version <n>
402
- npx create-quiver spec create --dry-run
403
- npx create-quiver ai prompt-slice --slice specs/<project-slug>/slices/slice-01/slice.json --dry-run
404
- npx create-quiver ai execute-slice --slice specs/<project-slug>/slices/slice-01/slice.json --dry-run --commit
405
- npx create-quiver ai execute-plan --dry-run --commit --mode manual
406
- npx create-quiver ai execute-plan --dry-run --commit --mode delegated
407
- npx create-quiver ai doctor --dry-run --ssh-host-alias github-work --identity-file ~/.ssh/github-work
408
- npx create-quiver ai pr --dry-run --input specs/<project-slug>/pr.md --ssh-host-alias github-work --identity-file ~/.ssh/github-work
210
+ npx --yes create-quiver@latest ai prompt-slice --slice specs/<spec>/slices/<slice>/slice.json --dry-run
409
211
  ```
410
212
 
411
- Providers soportados: `codex`, `claude` y `gemini`, siempre vía CLI local.
412
- Usá `--dry-run` primero para revisar provider, rol, context pack y paths sin ejecutar el modelo. Usá `--print-prompt` cuando quieras ver el prompt exacto que se enviaría, sin depender de autenticación del provider.
213
+ Quiver puede trabajar con CLIs locales de proveedores como:
214
+
215
+ - `codex`
216
+ - `claude`
217
+ - `gemini`
413
218
 
414
- Orden recomendado:
219
+ Las credenciales las manejan esos CLIs. Quiver no guarda API keys en los perfiles de agentes.
415
220
 
416
- 1. `ai prepare-context --dry-run`: revisa borradores de contexto, diffs, supuestos, riesgos y contradicciones antes de escribir docs. En modo escritura, Quiver guarda snapshots bajo `.quiver/runs/<run-id>/snapshots/`.
417
- 2. `ai onboard`: el planner entiende el repo y el workflow.
418
- 3. `ai plan --phase acceptance`: convierte requerimientos en criterios de aceptación.
419
- 4. `ai plan --phase technical-plan`: propone el plan técnico.
420
- 5. `ai review-plan`: revisa el plan como si fuera a producción, sin tocar código ni cuestionar el alcance aprobado. La salida guarda metadata con recomendación `approve`, `approve-with-risk` o `revise`.
421
- 6. `ai approve`: guarda criterios o la versión revisada del plan técnico.
422
- 7. `spec create`: genera spec, slices, handoffs y PR body desde el plan revisado y aprobado.
423
- 8. `spec start`: prepara un worktree por spec.
424
- 9. `ai prompt-slice`: imprime el prompt mínimo para asignar un slice manualmente.
425
- 10. `ai execute-slice` / `ai execute-plan`: ejecuta slices aprobados, con commit opt-in. `ai execute-slice` exige worktree/rama correctos, bloquea cambios fuera del alcance declarado, redacta logs sensibles y actualiza `CLOSURE_BRIEF.md`, `EVIDENCE_REPORT.md`, `COMMAND_LOG.md`, `STATUS.md` y `slice.json` cuando la ejecución pasa. Usá `--mode manual` para prompts y `--mode delegated` para worktrees temporales en olas paralelas.
426
- 11. `ai inspect` / `ai export`: exponen estado accionable y formatos JSON/Markdown para humanos, agentes o dashboards.
427
- 12. `ai doctor` / `ai pr`: valida GitHub y crea el PR solo con `--create`.
428
- 13. `spec close`: cierra el worktree después del merge.
221
+ ## Requisitos
429
222
 
430
- ## 🧪 Cómo probar que funciona
223
+ - Node.js y npm.
224
+ - Git.
225
+ - `gh` para crear pull requests en GitHub.
226
+ - Un CLI local de proveedor si querés que Quiver invoque IA directamente.
431
227
 
432
- Validación rápida del repo:
228
+ El CLI está pensado para macOS, Linux, Windows PowerShell, Git Bash y WSL.
229
+
230
+ ## Desarrollar Quiver
433
231
 
434
232
  ```bash
233
+ git clone <repo-url>
234
+ cd quiver
235
+ npm install
435
236
  node bin/create-quiver.js --help
436
237
  node --test tests/**/*.test.js
437
238
  npm run package:quiver
438
- npm pack --dry-run
439
239
  ```
440
240
 
441
- Validaciones adicionales disponibles:
241
+ Validación de release:
442
242
 
443
243
  ```bash
444
244
  npm run smoke:create-quiver
445
245
  npm run smoke:doctor-fixtures
446
246
  npm run smoke:guided-workflow
447
247
  npm run smoke:tiered-pack
248
+ npm run package:quiver
249
+ npm pack --dry-run
448
250
  ```
449
251
 
450
- Para dejar evidencia resumida de una validación sin pegar logs completos:
451
-
452
- ```bash
453
- npx create-quiver evidence run -- npm test
454
- ```
455
-
456
- Por defecto la evidencia queda en `.quiver/evidence/`. También podés elegir destino con `--output <archivo>` y limitar stdout/stderr con `--max-output <n>`.
457
-
458
- Para probar Quiver sin inventar una app desde cero:
459
-
460
- ```bash
461
- npx create-quiver demo create spec-viewer --dry-run
462
- npx create-quiver demo create spec-viewer --dir ./quiver-spec-viewer
463
- ```
464
-
465
- El demo genera una app estática pequeña, metadata mínima de Quiver, specs/slices de ejemplo y scripts de validación. `doctor`, `plan`, `graph` y `next` funcionan dentro del demo, y el server intenta el siguiente puerto si el inicial está ocupado. No forma parte de `init`; se crea solo cuando lo pedís.
466
-
467
- Notas reales del estado actual:
468
-
469
- - No hay script `npm test`; el comando verificado para tests es `node --test tests/**/*.test.js`.
470
- - `npm run package:quiver` valida el contenido del paquete npm generado.
471
- - `npm run smoke:guided-workflow` cubre el flujo guiado con IA sin llamadas reales pagas a providers.
472
- - `npm run smoke:doctor-fixtures` valida la matriz de estados de proyecto que deben seguir cubiertos por doctor/preflight.
473
-
474
- ## 📜 Scripts npm
475
-
476
- | Script | Uso |
477
- |---|---|
478
- | `npm run quiver:analyze` | Ejecuta `npx create-quiver analyze`; usalo con `-- --dry-run` para previsualizar sin escribir. |
479
- | `npm run quiver:flow` | Ejecuta `npx create-quiver flow`. |
480
- | `npm run quiver:plan` | Ejecuta `npx create-quiver plan`. |
481
- | `npm run quiver:prepare` | Ejecuta preparación guiada y diagnósticos. |
482
- | `npm run quiver:graph` | Ejecuta `npx create-quiver graph`. |
483
- | `npm run quiver:next` | Ejecuta `npx create-quiver next`. |
484
- | `npm run quiver:doctor` | Ejecuta `npx create-quiver doctor`. |
485
- | `npm run quiver:evidence` | Ejecuta `npx create-quiver evidence`; usalo como `npm run quiver:evidence -- run -- <comando>`. |
486
- | `npm run quiver:ai:agent` | Ejecuta `npx create-quiver ai agent`. |
487
- | `npm run quiver:ai:inspect` | Ejecuta `npx create-quiver ai inspect`. |
488
- | `npm run quiver:ai:export` | Ejecuta `npx create-quiver ai export`. |
489
- | `npm run quiver:ai:specs` | Ejecuta `npx create-quiver ai specs list`. |
490
- | `npm run quiver:ai:slices` | Ejecuta `npx create-quiver ai slices list`. |
491
- | `npm run quiver:ai:trace` | Ejecuta `npx create-quiver ai trace report`. |
492
- | `npm run quiver:ai:onboard` | Ejecuta onboarding de IA. |
493
- | `npm run quiver:ai:prepare-context` | Prepara docs de contexto IA solo en documentación; usalo primero con `-- --dry-run` para revisar diffs y contradicciones. |
494
- | `npm run quiver:ai:plan` | Ejecuta planificación IA por fases. |
495
- | `npm run quiver:ai:review-plan` | Revisa el plan técnico antes de aprobarlo y crear la spec. |
496
- | `npm run quiver:ai:approve` | Guarda criterios o planes aprobados. |
497
- | `npm run quiver:ai:prompt-slice` | Imprime un prompt mínimo para asignar un slice a un executor. |
498
- | `npm run quiver:ai:execute-slice` | Ejecuta un slice con rol executor. |
499
- | `npm run quiver:ai:execute-plan` | Imprime o ejecuta olas de slices; soporta `--mode manual` y `--mode delegated`. |
500
- | `npm run quiver:ai:doctor` | Ejecuta preflight IA/GitHub. |
501
- | `npm run quiver:ai:pr` | Ejecuta preflight de PR y crea PR con `--create`. |
502
- | `npm run quiver:spec:create` | Ejecuta `npx create-quiver spec create`. |
503
- | `npm run quiver:spec:start` | Ejecuta `npx create-quiver spec start`. |
504
- | `npm run quiver:spec:status` | Ejecuta `npx create-quiver spec status`. |
505
- | `npm run quiver:spec:validate` | Ejecuta `npx create-quiver spec validate`. |
506
- | `npm run quiver:spec:close` | Ejecuta `npx create-quiver spec close`. |
507
- | `npm run package:quiver` | Empaqueta y valida el tarball npm. |
508
- | `npm run smoke:create-quiver` | Smoke del instalador `create-quiver`. |
509
- | `npm run smoke:doctor-fixtures` | Smoke de la matriz de fixtures para validación, doctor y errores accionables. |
510
- | `npm run smoke:guided-workflow` | Smoke del flujo guiado con IA, PR, cleanup y package safety. |
511
- | `npm run smoke:tiered-pack` | Smoke de context packs y lifecycle. |
512
- | `npm run release:quiver` | Release dry-run o publish, según flags. |
513
-
514
- `package.json` también contiene scripts legacy como `check:slice`, `check:pr`, `start:slice`, `cleanup:slice` y `migrate` que apuntan a `tools/scripts/*`. En proyectos generados esos wrappers aparecen solo cuando se pide compatibilidad con `--legacy-scripts` o el perfil amplio `--full`; en este repo fuente requieren revisión antes de usarse directamente.
515
-
516
- ## 🔁 Flujo recomendado
517
-
518
- 1. Inicializá Quiver o migrá si el proyecto ya lo tenía.
519
- 2. Corré `analyze` para generar el mapa técnico.
520
- 3. Corré `doctor` para validar el contrato.
521
- 4. Prepará contexto IA con `ai prepare-context --dry-run` y revisá los supuestos antes de escribir.
522
- 5. Incorporá al planner con `ai onboard --dry-run`.
523
- 6. Convertí requerimientos en criterios, plan técnico y spec con `ai plan`; revisá el plan con `ai review-plan` antes de aprobarlo.
524
- 7. Creá la spec real con `spec create` y prepará su worktree con `spec start`.
525
- 8. Revisá dependencias con `graph`, `next` o `ai execute-plan --dry-run --mode manual`.
526
- 9. Para ejecución manual, generá el prompt con `ai prompt-slice --slice <slice.json> --dry-run`.
527
- 10. Ejecutá slices con `ai execute-slice --commit` o `ai execute-plan --execute --commit --mode delegated`.
528
- 11. Abrí el PR con `ai pr --create` después de revisar el dry-run.
529
- 12. Después del merge, cerrá el worktree con `spec close`.
530
-
531
- ## 🤝 Contribuir
532
-
533
- 1. Abrí un issue describiendo el problema o propuesta.
534
- 2. Acordá el alcance antes de implementar si hace falta.
535
- 3. Trabajá en un slice pequeño y revisable.
536
- 4. Incluí evidencia de validación en el PR.
537
- 5. Mantené una relación clara: un slice, un commit; una spec, un PR.
538
-
539
- ## 🚢 Release
540
-
541
- Release dry-run:
542
-
543
- ```bash
544
- npm run release:quiver
545
- ```
546
-
547
- Publicar la versión actual:
548
-
549
- ```bash
550
- bash scripts/release-quiver.sh --publish-current
551
- ```
552
-
553
- Publicar con bump:
554
-
555
- ```bash
556
- bash scripts/release-quiver.sh patch --publish
557
- ```
558
-
559
- Antes de publicar, verificá autenticación y estado del paquete:
560
-
561
- ```bash
562
- npm whoami
563
- npm view create-quiver version
564
- ```
565
-
566
- Checklist de release:
567
-
568
- 1. `node --test tests/**/*.test.js`
569
- 2. `npm run smoke:create-quiver`
570
- 3. `npm run smoke:doctor-fixtures`
571
- 4. `npm run smoke:guided-workflow`
572
- 5. `npm run smoke:tiered-pack`
573
- 6. `npm run package:quiver`
574
- 7. `npm pack --dry-run`
575
- 8. Confirmar que el PR esta aprobado antes de publicar.
252
+ ## Documentación
576
253
 
577
- ## 📚 Documentación útil
578
-
579
- - [README para agentes de IA](./README_FOR_AI.md)
254
+ - [Flujo completo](./docs/workflows/full-ai-spec-to-pr.md)
255
+ - [Guía para proyectos existentes](./docs/workflows/existing-project.md)
256
+ - [Referencia de comandos](./docs/reference/commands.md)
257
+ - [Guía de UX del CLI](./docs/CLI_UX_GUIDE.md)
258
+ - [Troubleshooting template](./docs/TROUBLESHOOTING.md.template)
259
+ - [Guía de IA de este repositorio](./README_FOR_AI.md)
580
260
  - [Changelog](./CHANGELOG.md)
581
261
  - [Roadmap](./ROADMAP.md)
582
- - [Backlog](./BACKLOG.md)
583
- - [Guía de templates](./TEMPLATE.md)
584
- - [Contribución](./CONTRIBUTING.md)
585
- - [Seguridad](./SECURITY.md)
586
-
587
- ## Información confirmada y pendiente
588
-
589
- - `package.json` está en `0.14.0` y `CHANGELOG.md` reconoce `0.14.0`.
590
- - `package.json` no declara `engines`; la versión mínima real de Node queda pendiente. La CI usa Node 22.
591
- - Si aparece alguna referencia vieja a `0.9.0`, hay que actualizarla al contrato actual antes de seguir.
592
- - Los scripts legacy de `package.json` que apuntan a `tools/scripts/*` deben confirmarse para este repo fuente o separarse de los scripts pensados para proyectos generados con `--legacy-scripts` o `--full`.
593
262
 
594
263
  ## Licencia
595
264