create-quiver 0.9.1 → 0.10.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 (106) hide show
  1. package/README.md +289 -335
  2. package/README_FOR_AI.md +57 -44
  3. package/docs/AI_ONBOARDING_PROMPT.md.template +13 -3
  4. package/docs/COMMANDS.md.template +24 -0
  5. package/docs/GITFLOW_PR_GUIDE.md.template +11 -0
  6. package/docs/STANDARD.md.template +1 -1
  7. package/docs/SUPPORT_MATRIX.md.template +4 -0
  8. package/docs/TROUBLESHOOTING.md.template +29 -1
  9. package/docs/WORKFLOW.md.template +1 -1
  10. package/package.json +6 -1
  11. package/package.template.json +11 -6
  12. package/scripts/check-pr-readiness.sh +1 -1
  13. package/scripts/check-scope.sh +0 -1
  14. package/scripts/check-slice-readiness.sh +3 -4
  15. package/scripts/init-docs.sh +46 -6
  16. package/specs/quiver-v20-ai-cli-orchestration/EVIDENCE_REPORT.md +23 -0
  17. package/specs/quiver-v20-ai-cli-orchestration/EXECUTION_PLAN.md +57 -0
  18. package/specs/quiver-v20-ai-cli-orchestration/SPEC.md +202 -0
  19. package/specs/quiver-v20-ai-cli-orchestration/STATUS.md +35 -0
  20. package/specs/quiver-v20-ai-cli-orchestration/pr.md +100 -0
  21. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-00-spec-foundation/CLOSURE_BRIEF.md +30 -0
  22. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-00-spec-foundation/EXECUTION_BRIEF.md +61 -0
  23. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-00-spec-foundation/slice.json +54 -0
  24. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-01-ai-provider-runner/CLOSURE_BRIEF.md +39 -0
  25. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-01-ai-provider-runner/EXECUTION_BRIEF.md +63 -0
  26. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-01-ai-provider-runner/slice.json +55 -0
  27. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-02-context-packs-token-budget/CLOSURE_BRIEF.md +40 -0
  28. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-02-context-packs-token-budget/EXECUTION_BRIEF.md +60 -0
  29. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-02-context-packs-token-budget/slice.json +54 -0
  30. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-03-ai-phase-gated-planner/CLOSURE_BRIEF.md +43 -0
  31. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-03-ai-phase-gated-planner/EXECUTION_BRIEF.md +62 -0
  32. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-03-ai-phase-gated-planner/slice.json +62 -0
  33. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-04-spec-slice-handoff-pr-generation/CLOSURE_BRIEF.md +36 -0
  34. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-04-spec-slice-handoff-pr-generation/EXECUTION_BRIEF.md +63 -0
  35. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-04-spec-slice-handoff-pr-generation/slice.json +59 -0
  36. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-05-execution-plan-parallel-worktrees/CLOSURE_BRIEF.md +32 -0
  37. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-05-execution-plan-parallel-worktrees/EXECUTION_BRIEF.md +61 -0
  38. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-05-execution-plan-parallel-worktrees/slice.json +59 -0
  39. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-06-ai-execute-slice-scope-enforcement/CLOSURE_BRIEF.md +36 -0
  40. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-06-ai-execute-slice-scope-enforcement/EXECUTION_BRIEF.md +64 -0
  41. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-06-ai-execute-slice-scope-enforcement/slice.json +65 -0
  42. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-07-github-pr-preflight/CLOSURE_BRIEF.md +36 -0
  43. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-07-github-pr-preflight/EXECUTION_BRIEF.md +66 -0
  44. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-07-github-pr-preflight/slice.json +63 -0
  45. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-08-docs-smokes-release-readiness/CLOSURE_BRIEF.md +35 -0
  46. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-08-docs-smokes-release-readiness/EXECUTION_BRIEF.md +64 -0
  47. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-08-docs-smokes-release-readiness/slice.json +77 -0
  48. package/specs/quiver-v21-ai-first-layout/EVIDENCE_REPORT.md +31 -0
  49. package/specs/quiver-v21-ai-first-layout/EXECUTION_PLAN.md +185 -0
  50. package/specs/quiver-v21-ai-first-layout/SPEC.md +212 -0
  51. package/specs/quiver-v21-ai-first-layout/STATUS.md +37 -0
  52. package/specs/quiver-v21-ai-first-layout/pr.md +110 -0
  53. package/specs/quiver-v21-ai-first-layout/slices/slice-00-spec-foundation/CLOSURE_BRIEF.md +30 -0
  54. package/specs/quiver-v21-ai-first-layout/slices/slice-00-spec-foundation/EXECUTION_BRIEF.md +63 -0
  55. package/specs/quiver-v21-ai-first-layout/slices/slice-00-spec-foundation/slice.json +45 -0
  56. package/specs/quiver-v21-ai-first-layout/slices/slice-01-init-profiles-dry-run/CLOSURE_BRIEF.md +31 -0
  57. package/specs/quiver-v21-ai-first-layout/slices/slice-01-init-profiles-dry-run/EXECUTION_BRIEF.md +59 -0
  58. package/specs/quiver-v21-ai-first-layout/slices/slice-01-init-profiles-dry-run/slice.json +57 -0
  59. package/specs/quiver-v21-ai-first-layout/slices/slice-02-internal-layout-template-resolver/CLOSURE_BRIEF.md +32 -0
  60. package/specs/quiver-v21-ai-first-layout/slices/slice-02-internal-layout-template-resolver/EXECUTION_BRIEF.md +60 -0
  61. package/specs/quiver-v21-ai-first-layout/slices/slice-02-internal-layout-template-resolver/slice.json +58 -0
  62. package/specs/quiver-v21-ai-first-layout/slices/slice-03-generation-profiles-visible-contract/CLOSURE_BRIEF.md +34 -0
  63. package/specs/quiver-v21-ai-first-layout/slices/slice-03-generation-profiles-visible-contract/EXECUTION_BRIEF.md +61 -0
  64. package/specs/quiver-v21-ai-first-layout/slices/slice-03-generation-profiles-visible-contract/slice.json +64 -0
  65. package/specs/quiver-v21-ai-first-layout/slices/slice-04-analyze-scan-relocation/CLOSURE_BRIEF.md +32 -0
  66. package/specs/quiver-v21-ai-first-layout/slices/slice-04-analyze-scan-relocation/EXECUTION_BRIEF.md +58 -0
  67. package/specs/quiver-v21-ai-first-layout/slices/slice-04-analyze-scan-relocation/slice.json +64 -0
  68. package/specs/quiver-v21-ai-first-layout/slices/slice-05-empty-specs-layout-doctor/CLOSURE_BRIEF.md +32 -0
  69. package/specs/quiver-v21-ai-first-layout/slices/slice-05-empty-specs-layout-doctor/EXECUTION_BRIEF.md +60 -0
  70. package/specs/quiver-v21-ai-first-layout/slices/slice-05-empty-specs-layout-doctor/slice.json +65 -0
  71. package/specs/quiver-v21-ai-first-layout/slices/slice-06-legacy-migration-optional-assets/CLOSURE_BRIEF.md +31 -0
  72. package/specs/quiver-v21-ai-first-layout/slices/slice-06-legacy-migration-optional-assets/EXECUTION_BRIEF.md +62 -0
  73. package/specs/quiver-v21-ai-first-layout/slices/slice-06-legacy-migration-optional-assets/slice.json +66 -0
  74. package/specs/quiver-v21-ai-first-layout/slices/slice-07-docs-guidance-alignment/CLOSURE_BRIEF.md +33 -0
  75. package/specs/quiver-v21-ai-first-layout/slices/slice-07-docs-guidance-alignment/EXECUTION_BRIEF.md +61 -0
  76. package/specs/quiver-v21-ai-first-layout/slices/slice-07-docs-guidance-alignment/slice.json +67 -0
  77. package/specs/quiver-v21-ai-first-layout/slices/slice-08-smokes-release-readiness/CLOSURE_BRIEF.md +35 -0
  78. package/specs/quiver-v21-ai-first-layout/slices/slice-08-smokes-release-readiness/EXECUTION_BRIEF.md +66 -0
  79. package/specs/quiver-v21-ai-first-layout/slices/slice-08-smokes-release-readiness/slice.json +62 -0
  80. package/src/create-quiver/commands/ai.js +442 -0
  81. package/src/create-quiver/index.js +418 -81
  82. package/src/create-quiver/lib/ai/context-packs.js +158 -0
  83. package/src/create-quiver/lib/ai/execution-plan.js +254 -0
  84. package/src/create-quiver/lib/ai/executor.js +323 -0
  85. package/src/create-quiver/lib/ai/github.js +329 -0
  86. package/src/create-quiver/lib/ai/phase-gates.js +72 -0
  87. package/src/create-quiver/lib/ai/preflight.js +58 -0
  88. package/src/create-quiver/lib/ai/prompt-transport.js +81 -0
  89. package/src/create-quiver/lib/ai/prompts.js +39 -0
  90. package/src/create-quiver/lib/ai/providers.js +314 -0
  91. package/src/create-quiver/lib/ai/safety.js +151 -0
  92. package/src/create-quiver/lib/ai/spec-generator.js +314 -0
  93. package/src/create-quiver/lib/ai/spec-templates.js +715 -0
  94. package/src/create-quiver/lib/doctor.js +114 -0
  95. package/src/create-quiver/lib/git.js +21 -0
  96. package/src/create-quiver/lib/init-docs.js +277 -22
  97. package/src/create-quiver/lib/init-layout.js +426 -0
  98. package/src/create-quiver/lib/lifecycle.js +2 -2
  99. package/src/create-quiver/lib/paths.js +63 -2
  100. package/src/create-quiver/lib/project-scan.js +66 -0
  101. package/src/create-quiver/lib/readiness.js +4 -2
  102. package/src/create-quiver/lib/scope.js +125 -0
  103. package/src/create-quiver/lib/slice-graph.js +6 -0
  104. package/src/create-quiver/lib/slice.js +51 -8
  105. package/src/create-quiver/lib/state.js +18 -1
  106. package/src/create-quiver/lib/template-resolver.js +74 -0
package/README.md CHANGED
@@ -1,433 +1,375 @@
1
1
  # Quiver
2
2
 
3
- Quiver es una herramienta de línea de comandos para ordenar proyectos que trabajan con documentación, especificaciones, slices y ayuda de agentes de IA.
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.
4
6
 
5
- Su objetivo es simple: que una persona o un agente puedan llegar a un repo, entender qué está pasando, elegir el próximo trabajo correcto y avanzar sin romper el flujo del equipo.
7
+ ## 🚀 Inicio rápido
6
8
 
7
- ## ¿Qué es Quiver?
9
+ ### Usar Quiver con IA en un proyecto
8
10
 
9
- Quiver es un workflow de documentación para proyectos de software.
10
-
11
- Sirve para preparar un proyecto antes de implementar: crea una estructura de documentos, comandos y convenciones para que el trabajo no dependa de memoria, chats perdidos o instrucciones sueltas.
12
-
13
- Ayuda a:
14
-
15
- - desarrolladores que quieren trabajar por piezas pequeñas y revisables;
16
- - equipos que usan IA para analizar, planificar o implementar;
17
- - maintainers que necesitan que cada cambio tenga contexto, alcance y evidencia;
18
- - agentes de IA que necesitan saber por dónde empezar sin leer todo el repo.
19
-
20
- Quiver existe porque el caos también compila. A veces. Pero después alguien tiene que entenderlo.
21
-
22
- ## ¿Qué problema resuelve?
23
-
24
- En muchos proyectos, el trabajo empieza con una pregunta sencilla: "¿por dónde arranco?"
25
-
26
- El problema es que la respuesta suele estar repartida en demasiados lugares:
27
-
28
- - un README que no está actualizado;
29
- - tickets con contexto incompleto;
30
- - decisiones tomadas en conversaciones;
31
- - comandos que solo una persona conoce;
32
- - agentes de IA leyendo archivos de más o tocando archivos de menos;
33
- - PRs grandes donde es difícil saber qué se intentó hacer.
34
-
35
- Quiver busca reducir esa fricción. No intenta reemplazar al equipo ni decidir por él. Lo que hace es ordenar el terreno para que el siguiente paso sea claro.
36
-
37
- ## ¿Cómo lo resuelve?
38
-
39
- Quiver agrega una estructura de trabajo al proyecto.
40
-
41
- Esa estructura separa tres cosas que suelen mezclarse:
42
-
43
- - **Contexto:** qué es el proyecto, cómo se trabaja y qué comandos existen.
44
- - **Plan:** qué problema se quiere resolver y en qué partes se divide.
45
- - **Ejecución:** qué slice se está trabajando, qué archivos puede tocar y cómo se valida.
46
-
47
- Al inicializarse, Quiver genera documentos y comandos para que el proyecto tenga un contrato de trabajo repetible.
48
-
49
- Los conceptos principales son:
50
-
51
- - **Spec:** documento que describe un objetivo de trabajo. Define el problema, alcance, estado y evidencia esperada.
52
- - **Slice:** parte pequeña de una spec. Un slice debe ser lo bastante acotado como para implementarse, validarse y revisarse sin mezclar temas.
53
- - **Project map:** resumen generado por Quiver con stack, package manager, comandos y pistas del repo. Vive en `docs/PROJECT_MAP.md`.
54
- - **AI context:** paquete de contexto para agentes de IA. Vive en `docs/AI_CONTEXT.md`.
55
- - **Handoff:** documento excepcional para transferir contexto entre agentes o fases. Vive en `specs/<spec-slug>/HANDOFF.md`.
56
-
57
- La regla práctica es: primero contexto, después plan, después código.
58
-
59
- ## Primeros pasos
60
-
61
- Quiver se usa desde la raíz del proyecto donde querés instalar el workflow. No se recomienda instalarlo globalmente. Usá `npx create-quiver` o, si el equipo necesita fijar versión, una dev dependency local.
62
-
63
- ### Caso 1: Proyecto nuevo desde cero
64
-
65
- Usá este camino cuando estás empezando un proyecto y querés sumar Quiver desde el principio.
66
-
67
- 1. Creá o entrá a la carpeta del proyecto.
11
+ Ejecutá Quiver desde la raíz del proyecto donde querés instalar el workflow:
68
12
 
69
13
  ```bash
70
- mkdir mi-proyecto
71
- cd mi-proyecto
14
+ npx create-quiver init --name "Mi Proyecto"
15
+ npx create-quiver analyze
16
+ npx create-quiver doctor
17
+ npx create-quiver ai onboard --dry-run
72
18
  ```
73
19
 
74
- 2. Inicializá Quiver con el nombre del proyecto.
20
+ Después de eso, revisá:
75
21
 
76
- ```bash
77
- npx create-quiver --name "Mi Proyecto"
78
- ```
22
+ - `AGENTS.md`
23
+ - `docs/PROJECT_MAP.md`
24
+ - `docs/AI_CONTEXT.md`
25
+ - `docs/AI_ONBOARDING_PROMPT.md`
79
26
 
80
- Esto crea la estructura base de documentación y workflow. Después de inicializar, Quiver intenta instalarse como dev dependency del proyecto para que los comandos futuros resuelvan a la versión local.
27
+ La maquinaria interna queda en `.quiver/`. Las specs reales no se crean durante el init: aparecen cuando el planner genera y aprueba una spec con `ai plan --phase spec`.
81
28
 
82
- 3. Analizá el proyecto.
29
+ El flujo normal con IA continúa así:
83
30
 
84
31
  ```bash
85
- npx create-quiver analyze
32
+ npx create-quiver ai plan --phase acceptance --input requirements.md --dry-run
33
+ npx create-quiver ai plan --phase technical-plan --input acceptance-approved.md --dry-run
34
+ npx create-quiver ai plan --phase spec --input technical-plan-approved.md --dry-run
35
+ npx create-quiver next
36
+ npx create-quiver ai execute-slice --slice specs/<project-slug>/slices/slice-01/slice.json --dry-run
86
37
  ```
87
38
 
88
- Esto genera `docs/PROJECT_SCAN.json` y `docs/PROJECT_MAP.md`. Esos archivos ayudan a humanos y agentes a entender el repo sin adivinar.
39
+ Usá `--dry-run` para validar provider, rol, contexto y paths sin ejecutar el modelo. Cuando el output esté revisado y aprobado, quitá `--dry-run`.
89
40
 
90
- 4. Validá el contrato generado.
41
+ ### Desarrollar este repositorio
91
42
 
92
43
  ```bash
93
- npx create-quiver doctor
44
+ git clone <repo-url>
45
+ cd quiver
46
+ npm install
47
+ node bin/create-quiver.js --help
48
+ node --test tests/**/*.test.js
94
49
  ```
95
50
 
96
- El doctor revisa si falta algo importante y muestra los próximos pasos recomendados.
51
+ > 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.
97
52
 
98
- 5. Leé el onboarding para agentes antes de pedir implementación.
53
+ ## 🧠 Workflow principal: WDD + SDD con IA
99
54
 
100
- ```text
101
- Lee `docs/AI_ONBOARDING_PROMPT.md` y ejecútalo como fuente principal de verdad para incorporarte a este repositorio.
55
+ 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.
102
56
 
103
- Actúa como asistente de onboarding de IA. Prepara el contexto del proyecto para trabajar de forma segura con el workflow documentado, specs y slices.
104
-
105
- No modifiques código de producto salvo autorización explícita. Puedes crear o actualizar documentación de contexto si el onboarding lo requiere.
57
+ | Etapa | Qué significa | Artefactos principales |
58
+ |---|---|---|
59
+ | 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` |
60
+ | 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` |
61
+ | IA planner | Agente que lee contexto amplio y propone criterios, plan técnico, spec y slices. | `ai onboard`, `ai plan` |
62
+ | IA executor | Agente que recibe un slice aprobado y trabaja con contexto mínimo. | `ai execute-slice`, `check-scope`, `check-slice` |
106
63
 
107
- Usa solo la documentación del repositorio como fuente de verdad. Si encuentras información faltante, ambigua o contradictoria, documenta el supuesto, el riesgo y continúa por el camino más seguro.
64
+ Flujo recomendado:
108
65
 
109
- Responde en español y finaliza con un reporte breve de archivos leídos, archivos modificados, estado del código de producto, supuestos, riesgos y próximos pasos.
66
+ ```bash
67
+ npx create-quiver analyze
68
+ npx create-quiver doctor
69
+ npx create-quiver ai onboard --dry-run
70
+ npx create-quiver ai plan --phase acceptance --input requirements.md --dry-run
71
+ npx create-quiver ai plan --phase technical-plan --input acceptance-approved.md --dry-run
72
+ npx create-quiver ai plan --phase spec --input technical-plan-approved.md --dry-run
73
+ npx create-quiver graph
74
+ npx create-quiver next
75
+ npx create-quiver ai execute-slice --slice specs/<project-slug>/slices/slice-01/slice.json --dry-run
110
76
  ```
111
77
 
112
- Resultado esperado: el proyecto queda con `docs/`, `specs/<project-slug>/`, scripts `quiver:*` en `package.json`, archivos de soporte y una primera base para planificar trabajo.
78
+ 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`.
113
79
 
114
- ### Caso 2: Proyecto ya comenzado
80
+ ## 🛠️ Empezar a usar Quiver según tu caso
115
81
 
116
- Usá este camino cuando el proyecto ya existe, pero nunca fue inicializado con Quiver.
82
+ ### 1. Proyecto nuevo desde cero
117
83
 
118
- 1. Revisá el estado actual antes de tocar nada.
84
+ 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.
119
85
 
120
86
  ```bash
121
- git status --short
87
+ mkdir mi-proyecto
88
+ cd mi-proyecto
89
+ npx create-quiver init --name "Mi Proyecto"
90
+ npx create-quiver analyze
91
+ npx create-quiver doctor
92
+ npx create-quiver ai onboard --dry-run
122
93
  ```
123
94
 
124
- Si hay cambios pendientes, conviene commitearlos, guardarlos o crear una rama dedicada para incorporar Quiver. La idea es que el diff de onboarding sea fácil de revisar.
125
-
126
- 2. Inicializá Quiver desde la raíz del proyecto.
127
-
128
- ```bash
129
- npx create-quiver --name "Nombre del Proyecto"
130
- ```
95
+ Qué esperar:
131
96
 
132
- No uses `migrate` si el proyecto nunca tuvo Quiver. `migrate` es solo para proyectos ya inicializados por una versión anterior.
97
+ - Quiver crea un contrato visible chico: `AGENTS.md`, `docs/`, scripts `quiver:*` en `package.json` y configuración interna en `.quiver/`.
98
+ - No crea `docs-template/`, `tools/scripts/` ni una spec placeholder en el flujo default.
99
+ - `analyze` crea el scan crudo en `.quiver/scans/PROJECT_SCAN.json` y el mapa legible en `docs/PROJECT_MAP.md`.
100
+ - `doctor` valida que el contrato inicial esté completo.
101
+ - `ai onboard --dry-run` muestra cómo se incorporaría un agente planner sin ejecutar el provider todavía.
133
102
 
134
- 3. Analizá el repo real.
103
+ Después del bootstrap, revisá:
135
104
 
136
105
  ```bash
137
- npx create-quiver analyze
106
+ npx create-quiver ai plan --phase acceptance --input requirements.md --dry-run
107
+ npx create-quiver ai plan --phase technical-plan --input acceptance-approved.md --dry-run
108
+ npx create-quiver ai plan --phase spec --input technical-plan-approved.md --dry-run
109
+ npx create-quiver plan
110
+ npx create-quiver graph
111
+ npx create-quiver next
138
112
  ```
139
113
 
140
- Esto detecta stack, package manager, comandos y archivos relevantes.
114
+ ### 2. Proyecto ya iniciado sin Quiver
115
+
116
+ Usá este camino cuando el repo ya tiene código, pero nunca fue inicializado con Quiver.
141
117
 
142
- 4. Corré el doctor.
118
+ Primero revisá el estado actual:
143
119
 
144
120
  ```bash
145
- npx create-quiver doctor
121
+ git status --short
146
122
  ```
147
123
 
148
- El doctor indica si falta completar contexto, si conviene revisar el onboarding de IA o si hay pasos pendientes.
124
+ Si hay cambios pendientes, conviene guardarlos, commitearlos o crear una rama dedicada para que el diff de onboarding sea fácil de revisar.
149
125
 
150
- 5. Revisá el diff antes de seguir.
126
+ Luego inicializá Quiver desde la raíz del proyecto:
151
127
 
152
128
  ```bash
129
+ npx create-quiver init --name "Nombre del Proyecto"
130
+ npx create-quiver analyze
131
+ npx create-quiver doctor
132
+ npx create-quiver ai onboard --dry-run
153
133
  git status --short
154
134
  ```
155
135
 
156
- Resultado esperado: Quiver agrega o actualiza archivos de workflow y documentación. No debería ser el momento de cambiar código de producto; primero se estabiliza el contexto.
136
+ Qué esperar:
137
+
138
+ - Quiver agrega documentación, scripts `quiver:*` y archivos internos de soporte en `.quiver/`.
139
+ - No deberías mezclar este paso con cambios de producto.
140
+ - `docs/PROJECT_MAP.md` queda como fuente de verdad para stack, package manager, comandos y rutas importantes.
141
+ - Las specs y slices reales se crean después, con `ai plan --phase spec`, cuando ya existen criterios y plan técnico aprobados.
142
+ - El primer trabajo de IA debería ser preparar contexto y planificación, no implementar.
157
143
 
158
- ### Caso 3: Proyecto ya comenzado con una versión vieja de Quiver
144
+ Importante: no uses `migrate` para un proyecto que nunca tuvo Quiver. `migrate` es solo para proyectos previamente inicializados.
159
145
 
160
- Usá este camino cuando el proyecto ya tiene archivos de Quiver, pero pueden estar desactualizados.
146
+ ### 3. Proyecto iniciado con una versión vieja de Quiver
161
147
 
162
- 1. Buscá señales de una instalación previa.
148
+ Usá este camino cuando el repo ya tiene señales de Quiver, pero querés actualizarlo al contrato actual.
163
149
 
164
- Revisá si existen archivos como:
150
+ Señales típicas de una instalación previa:
165
151
 
166
152
  - `.quiver/state.json`
153
+ - `AGENTS.md`
167
154
  - `docs/AI_CONTEXT.md`
168
155
  - `docs/PROJECT_MAP.md`
169
- - `docs-template/`
170
- - `tools/scripts/`
171
- - scripts `quiver:*` en `package.json`
156
+ - `docs-template/` como señal legacy u opcional
157
+ - `tools/scripts/` como señal legacy u opcional
158
+ - scripts `quiver:*` o scripts legacy en `package.json`
172
159
 
173
- 2. Ejecutá el doctor para conocer el estado.
160
+ Desde la raíz del proyecto:
174
161
 
175
162
  ```bash
176
163
  npx create-quiver doctor
177
- ```
178
-
179
- Si el proyecto necesita migración, el doctor debería indicarlo.
180
-
181
- 3. Migrá solo si el proyecto ya había sido inicializado por Quiver.
182
-
183
- ```bash
184
164
  npx create-quiver migrate
185
- ```
186
-
187
- La migración actualiza el contrato de Quiver y agrega scripts o archivos faltantes de forma aditiva. Si estás en CI, offline o no querés instalar dependencias durante la migración, podés usar:
188
-
189
- ```bash
190
- npx create-quiver migrate --skip-install
191
- ```
192
-
193
- 4. Volvé a analizar y validar.
194
-
195
- ```bash
196
165
  npx create-quiver analyze
197
166
  npx create-quiver doctor
198
- ```
199
-
200
- 5. Revisá el diff antes de continuar con slices.
201
-
202
- ```bash
167
+ npx create-quiver ai onboard --dry-run
203
168
  git status --short
204
169
  ```
205
170
 
206
- Resultado esperado: el proyecto queda alineado con el contrato actual de Quiver sin mezclar migración con implementación de producto.
207
-
208
- ## Flujo de trabajo recomendado con WDD y SDD
209
-
210
- El repositorio no define formalmente las siglas WDD y SDD como comandos propios. En esta guía las usamos para nombrar dos prácticas que Quiver ya promueve:
211
-
212
- - **WDD, Workflow-Driven Development:** primero se documenta cómo se trabaja. El workflow, comandos, contexto y reglas quedan escritos antes de pedir cambios de producto.
213
- - **SDD, Spec-Driven Development:** el trabajo se define en specs y slices antes de implementar. La spec explica el objetivo; el slice limita el alcance.
214
-
215
- ```mermaid
216
- flowchart TD
217
- A[1. Instalar o migrar Quiver] --> B[2. Analizar el proyecto]
218
- B --> C[3. Completar contexto WDD]
219
- C --> D[4. Definir o revisar spec SDD]
220
- D --> E[5. Elegir el próximo slice]
221
- E --> F[6. Empezar el slice]
222
- F --> G[7. Implementar y validar]
223
- G --> H[8. Abrir PR con evidencia]
224
- ```
225
-
226
- ### 1. Instalar o migrar Quiver
227
-
228
- Usá `npx create-quiver --name "Proyecto"` para proyectos nuevos o nunca inicializados. Usá `npx create-quiver migrate` solo cuando el proyecto ya tenía Quiver.
229
-
230
- ### 2. Analizar el proyecto
231
-
232
- Ejecutá:
171
+ Si estás en CI, offline o no querés que la migración instale dependencias automáticamente:
233
172
 
234
173
  ```bash
235
- npx create-quiver analyze
174
+ npx create-quiver migrate --skip-install
236
175
  ```
237
176
 
238
- El resultado importante es `docs/PROJECT_MAP.md`, que debe tratarse como fuente de verdad para stack, package manager, comandos y pistas de archivos.
239
-
240
- ### 3. Completar contexto WDD
241
-
242
- Antes de implementar, revisá y completá la documentación de contexto:
243
-
244
- - `AGENTS.md`
245
- - `docs/AI_CONTEXT.md`
246
- - `docs/AI_ONBOARDING_PROMPT.md`
247
- - `docs/CONTEXTO.md`
248
- - `docs/WORKFLOW.md`
249
- - `docs/STATUS.md`
250
- - `docs/DECISIONS.md`
251
-
252
- Si un agente de IA participa, primero debe preparar contexto y reportar supuestos. No debería tocar código de producto sin autorización explícita.
253
-
254
- ### 4. Definir o revisar spec SDD
255
-
256
- Trabajá sobre `specs/<project-slug>/SPEC.md`.
257
-
258
- La spec debe explicar:
259
-
260
- - qué problema se quiere resolver;
261
- - qué entra y qué queda afuera;
262
- - qué evidencia va a demostrar que el trabajo terminó;
263
- - cómo se divide en slices.
264
-
265
- ### 5. Elegir el próximo slice
266
-
267
- Usá los comandos de orquestación:
177
+ Qué esperar:
178
+
179
+ - La migración restaura o agrega archivos faltantes de forma aditiva.
180
+ - No debería sobrescribir archivos existentes de proyecto sin necesidad.
181
+ - Después de migrar, `analyze` actualiza el mapa técnico y `doctor` confirma los próximos pasos.
182
+ - `ai onboard --dry-run` ayuda a validar que el contexto viejo quedó entendible para un agente planner.
183
+
184
+ Si `doctor` falla indicando que el proyecto no fue inicializado por Quiver, usá el flujo del caso 2.
185
+
186
+ ## ✨ Qué hace
187
+
188
+ Quiver instala una estructura de trabajo para que un proyecto pueda usar IA sin improvisar contexto en cada tarea:
189
+
190
+ - documentación base para humanos y agentes;
191
+ - contexto AI-first con roles de planner y executor;
192
+ - specs y slices para dividir trabajo en partes revisables;
193
+ - comandos para planificar, ejecutar y validar trabajo asistido por IA;
194
+ - checks de readiness, PR, handoff y scope;
195
+ - plantillas de contribución, soporte, seguridad, changelog y GitHub Actions.
196
+
197
+ La idea práctica: primero contexto, después plan, después código.
198
+
199
+ ## 🧱 Stack tecnológico
200
+
201
+ | Área | Tecnología detectada |
202
+ |---|---|
203
+ | Runtime | Node.js CLI |
204
+ | Lenguaje | JavaScript CommonJS |
205
+ | Package manager | npm (`package-lock.json`) |
206
+ | Binario npm | `create-quiver` -> `bin/create-quiver.js` |
207
+ | Tests | Node built-in test runner (`node:test`) |
208
+ | CI/CD | GitHub Actions |
209
+ | Distribución | Paquete npm público `create-quiver` |
210
+ | Base de datos | No detectada |
211
+ | Docker / Compose | No detectado |
212
+ | Prisma / Supabase / migrations / seeders | No detectados |
213
+
214
+ ## 📦 Requisitos
215
+
216
+ - Node.js 22.x recomendado. La CI usa Node 22, aunque `package.json` todavía no declara `engines`.
217
+ - npm.
218
+ - Git, especialmente para ramas y worktrees.
219
+ - `shellcheck` si querés replicar localmente el job de CI que valida scripts Bash.
220
+ - Opcional: `gh` para preflight de PR con GitHub.
221
+ - CLI local de `codex`, `claude` o `gemini` si vas a ejecutar comandos de IA sin `--dry-run`.
222
+
223
+ No se detectaron archivos `.env`; Quiver no requiere variables de entorno para el flujo básico.
224
+
225
+ ## 📁 Estructura del proyecto
226
+
227
+ | Ruta | Propósito |
228
+ |---|---|
229
+ | `bin/create-quiver.js` | Entry point ejecutable del CLI. |
230
+ | `src/create-quiver/` | Código fuente del CLI y comandos principales. |
231
+ | `src/create-quiver/commands/` | Comandos `ai`, `graph`, `next` y `plan`. |
232
+ | `src/create-quiver/lib/` | Lógica de análisis, doctor, slices, lifecycle, IA, Git y renderers. |
233
+ | `docs/` | Plantillas que Quiver copia a proyectos destino. |
234
+ | `specs/` | Specs internas del desarrollo de Quiver y templates usados cuando `ai plan --phase spec` crea una spec real. |
235
+ | `scripts/` | Scripts de packaging, release, CI smoke y wrappers legacy. |
236
+ | `tests/` | Tests unitarios y fixtures. |
237
+ | `examples/` | Ejemplo mínimo de spec/slice. |
238
+ | `i18n/es/` | Documentación y plantillas en español. |
239
+ | `.github/` | Workflows, templates de issues y PR. |
240
+
241
+ ## ⚙️ Configuración
242
+
243
+ ### Variables opcionales
244
+
245
+ | Variable | Uso |
246
+ |---|---|
247
+ | `SLICE_WORKTREES_DIR` | Cambia la carpeta donde `start-slice` crea worktrees. |
248
+ | `ALLOW_DRAFT_SLICE=1` | Permite iniciar slices en estado `draft`. Equivale a usar `--allow-draft`. |
249
+ | `QUIVER_VERSION` | Usada por scripts legacy de inicialización. |
250
+ | `QUIVER_MIGRATE` | Activa modo migración en scripts legacy. |
251
+ | `QUIVER_PROJECT_NAME` | Define nombre de proyecto en scripts legacy. |
252
+
253
+ 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.
254
+
255
+ ## 🧭 Comandos principales
256
+
257
+ Los comandos reales del CLI se ejecutan con `npx create-quiver ...` o, durante desarrollo local, con `node bin/create-quiver.js ...`.
258
+
259
+ | Comando | Para qué sirve |
260
+ |---|---|
261
+ | `npx create-quiver init --name "Proyecto"` | Inicializa Quiver en un proyecto nuevo o nunca inicializado. |
262
+ | `npx create-quiver --name "Proyecto"` | Alias compatible del flujo de init recomendado. |
263
+ | `npx create-quiver init --minimal` | Crea solo el contrato esencial de onboarding. |
264
+ | `npx create-quiver init --full` | Crea el layout amplio de compatibilidad. |
265
+ | `npx create-quiver init --legacy-scripts` | Agrega wrappers Bash legacy bajo `tools/scripts/`. |
266
+ | `npx create-quiver init --include-templates` | Exporta templates empaquetados bajo `.quiver/templates/`. |
267
+ | `npx create-quiver analyze` | Genera `.quiver/scans/PROJECT_SCAN.json` y `docs/PROJECT_MAP.md`. |
268
+ | `npx create-quiver doctor` | Valida que el contrato de Quiver esté completo. |
269
+ | `npx create-quiver migrate` | Actualiza proyectos que ya fueron inicializados con Quiver. |
270
+ | `npx create-quiver plan` | Lista slices pendientes en orden y calcula camino crítico. |
271
+ | `npx create-quiver graph` | Muestra el grafo de dependencias (`tree`, `mermaid` o `dot`). |
272
+ | `npx create-quiver next` | Sugiere el próximo slice listo para trabajar. |
273
+ | `npx create-quiver start-slice <slice.json>` | Prepara worktree y contexto para ejecutar un slice. |
274
+ | `npx create-quiver check-slice <slice.json>` | Valida readiness del slice. |
275
+ | `npx create-quiver check-pr <slice.json>` | Valida estructura esperada para PR. |
276
+ | `npx create-quiver check-scope <slice.json>` | Verifica que los archivos modificados estén dentro del alcance declarado. |
277
+ | `npx create-quiver cleanup-slice <slice.json>` | Limpia worktree/branch local asociado a un slice. |
278
+ | `npx create-quiver refresh-active-slices` | Regenera el tablero local `ACTIVE_SLICES.md`. |
279
+ | `npx create-quiver check-handoff <handoff.md>` | Valida un handoff. |
280
+ | `npx create-quiver new-handoff <spec-slug>` | Crea un handoff para una transferencia excepcional. |
281
+
282
+ ### Comandos de IA para WDD + SDD
268
283
 
269
284
  ```bash
270
- npx create-quiver plan
271
- npx create-quiver graph
272
- npx create-quiver next
285
+ npx create-quiver ai onboard --dry-run
286
+ npx create-quiver ai plan --phase acceptance --input requirements.md --dry-run
287
+ npx create-quiver ai plan --phase technical-plan --input acceptance-approved.md --dry-run
288
+ npx create-quiver ai plan --phase spec --input technical-plan-approved.md --dry-run
289
+ npx create-quiver ai execute-slice --slice specs/<project-slug>/slices/slice-01/slice.json --dry-run
290
+ npx create-quiver ai doctor --dry-run --ssh-host-alias github-work --identity-file ~/.ssh/github-work
291
+ npx create-quiver ai pr --dry-run --ssh-host-alias github-work --identity-file ~/.ssh/github-work
273
292
  ```
274
293
 
275
- `plan` muestra el orden sugerido. `graph` muestra dependencias. `next` señala el próximo slice listo.
294
+ Providers soportados: `codex`, `claude` y `gemini`, siempre vía CLI local.
295
+ Usá `--dry-run` primero para revisar provider, rol, context pack, prompt y paths sin ejecutar el modelo.
276
296
 
277
- ### 6. Empezar el slice
297
+ Orden recomendado:
278
298
 
279
- Cuando el slice esté definido:
299
+ 1. `ai onboard`: el planner entiende el repo y el workflow.
300
+ 2. `ai plan --phase acceptance`: convierte requerimientos en criterios de aceptación.
301
+ 3. `ai plan --phase technical-plan`: propone el plan técnico.
302
+ 4. `ai plan --phase spec`: genera spec, slices, handoffs y PR body.
303
+ 5. `ai execute-slice`: ejecuta un slice aprobado con rol executor.
304
+ 6. `ai doctor` / `ai pr`: valida preflight de GitHub y PR.
280
305
 
281
- ```bash
282
- npx create-quiver start-slice specs/<project-slug>/slices/slice-01/slice.json
283
- ```
284
-
285
- Cada spec vuelve a empezar en `slice-01`. El número del slice es local a esa spec, no global del repo.
286
-
287
- ### 7. Implementar y validar
306
+ ## 🧪 Cómo probar que funciona
288
307
 
289
- Durante la implementación, leé primero el `slice.json`, los archivos declarados, pruebas cercanas y código directamente relacionado.
290
-
291
- Validá el slice y el PR:
308
+ Validación rápida del repo:
292
309
 
293
310
  ```bash
294
- npx create-quiver check-slice specs/<project-slug>/slices/slice-01/slice.json
295
- npx create-quiver check-pr specs/<project-slug>/slices/slice-01/slice.json
311
+ node bin/create-quiver.js --help
312
+ node --test tests/**/*.test.js
313
+ npm run package:quiver
296
314
  ```
297
315
 
298
- Si querés validar que los archivos tocados respetan el alcance declarado:
316
+ Validaciones adicionales disponibles:
299
317
 
300
318
  ```bash
301
- npx create-quiver check-scope specs/<project-slug>/slices/slice-01/slice.json
302
- ```
303
-
304
- ### 8. Abrir PR con evidencia
305
-
306
- La regla del workflow es:
307
-
308
- - un slice = un commit;
309
- - una spec = un PR;
310
- - cada PR debe incluir evidencia de validación;
311
- - las decisiones durables van en `docs/DECISIONS.md`;
312
- - los aprendizajes reutilizables pueden registrarse en `docs/ai/LESSONS.md`.
313
-
314
- ## Comandos disponibles
315
-
316
- Los comandos principales se ejecutan con `npx create-quiver ...`. En proyectos generados, también quedan disponibles scripts `npm run quiver:*` que llaman al CLI Node.
317
-
318
- ### Inicialización y mantenimiento del workflow
319
-
320
- | Comando | Para qué sirve | Cuándo usarlo |
321
- |---|---|---|
322
- | `npx create-quiver --name "Proyecto"` | Inicializa Quiver en el proyecto actual. | Proyecto nuevo o proyecto existente que nunca tuvo Quiver. |
323
- | `npx create-quiver --name "Proyecto" --dir ./ruta` | Inicializa o inspecciona otra carpeta explícitamente. | Cuando no estás parado en la raíz del proyecto destino. |
324
- | `npx create-quiver migrate` | Actualiza una instalación previa de Quiver. | Solo en proyectos que ya fueron inicializados por Quiver. |
325
- | `npx create-quiver migrate --skip-install` | Migra sin instalar `create-quiver` como dev dependency. | CI, entornos offline o migraciones donde no querés tocar dependencias. |
326
- | `npx create-quiver doctor` | Valida el contrato generado y muestra pasos siguientes. | Después de init, migrate o analyze. |
327
-
328
- ### Análisis y contexto
329
-
330
- | Comando | Para qué sirve | Resultado esperado |
331
- |---|---|---|
332
- | `npx create-quiver analyze` | Escanea el proyecto y genera contexto técnico. | `docs/PROJECT_SCAN.json` y `docs/PROJECT_MAP.md`. |
333
- | `npx create-quiver check-handoff specs/<spec-slug>/HANDOFF.md` | Valida que un handoff exista en la ubicación correcta y tenga secciones requeridas. | Confirmación o errores accionables. |
334
- | `npx create-quiver new-handoff <spec-slug>` | Crea un `HANDOFF.md` para una transferencia excepcional. | `specs/<spec-slug>/HANDOFF.md`. |
335
-
336
- ### Planificación y orquestación de slices
337
-
338
- | Comando | Para qué sirve | Flags útiles |
339
- |---|---|---|
340
- | `npx create-quiver plan` | Lista slices pendientes en orden de ejecución y calcula camino crítico. | `--json`, `--only-ready`, `--spec <slug>` |
341
- | `npx create-quiver graph` | Muestra el grafo de dependencias entre slices. | `--format mermaid`, `--format dot`, `--show-conflicts`, `--level <n>` |
342
- | `npx create-quiver next` | Muestra el próximo slice listo para trabajar. | `--all-ready`, `--json`, `--auto-start` |
343
-
344
- ### Ejecución y validación
345
-
346
- | Comando | Para qué sirve | Cuándo usarlo |
347
- |---|---|---|
348
- | `npx create-quiver start-slice <slice.json>` | Prepara el trabajo de un slice. | Al comenzar una unidad de trabajo. |
349
- | `npx create-quiver start-slice --allow-draft <slice.json>` | Permite iniciar un slice en estado draft intencionalmente. | Solo cuando el equipo decide trabajar sobre un draft. |
350
- | `npx create-quiver check-slice <slice.json>` | Valida readiness del slice. | Antes o durante la ejecución. |
351
- | `npx create-quiver check-slice --gate validation <slice.json>` | Valida el slice en modo cierre. | Antes de marcarlo como completado. |
352
- | `npx create-quiver check-pr <slice.json>` | Valida que el PR tenga la estructura esperada. | Antes de abrir o pedir review. |
353
- | `npx create-quiver check-scope <slice.json>` | Revisa que los archivos tocados estén dentro del alcance declarado. | Antes de cerrar el slice. |
354
- | `npx create-quiver cleanup-slice <slice.json>` | Limpia estado local asociado a un slice. | Al terminar o descartar trabajo local. |
355
- | `npx create-quiver refresh-active-slices` | Regenera el tablero local de slices activos. | Cuando querés ver o refrescar actividad local. |
356
-
357
- ### Scripts npm generados
358
-
359
- Después de inicializar o migrar, los proyectos quedan con scripts equivalentes:
360
-
361
- ```bash
362
- npm run quiver:analyze
363
- npm run quiver:plan
364
- npm run quiver:graph
365
- npm run quiver:next
366
- npm run quiver:doctor
367
- npm run quiver:migrate
368
- npm run quiver:start-slice -- specs/<project-slug>/slices/slice-01/slice.json
369
- npm run quiver:check-slice -- specs/<project-slug>/slices/slice-01/slice.json
370
- npm run quiver:check-pr -- specs/<project-slug>/slices/slice-01/slice.json
371
- npm run quiver:check-handoff -- specs/<project-slug>/HANDOFF.md
372
- npm run quiver:cleanup-slice -- specs/<project-slug>/slices/slice-01/slice.json
373
- npm run quiver:check-scope -- specs/<project-slug>/slices/slice-01/slice.json
374
- npm run quiver:refresh-active-slices
319
+ npm run smoke:create-quiver
320
+ npm run smoke:tiered-pack
375
321
  ```
376
322
 
377
- Los wrappers Bash en `tools/scripts/` existen por compatibilidad en proyectos generados. Para automatización nueva, preferí `npx create-quiver ...` o los scripts `quiver:*`.
323
+ Notas reales del estado actual:
378
324
 
379
- ## Qué genera Quiver
325
+ - No hay script `npm test`; el comando verificado para tests es `node --test tests/**/*.test.js`.
326
+ - `npm run package:quiver` valida el contenido del paquete npm generado.
327
+ - `npm run smoke:tiered-pack` existe, pero revisar la sección "Información pendiente de confirmar" antes de usarlo como gate obligatorio.
380
328
 
381
- Según el estado del proyecto y el modo usado, Quiver puede generar o actualizar:
329
+ ## 📜 Scripts npm
382
330
 
383
- - `AGENTS.md`
384
- - `docs/`
385
- - `docs/ai/`
386
- - `docs/AI_CONTEXT.md`
387
- - `docs/AI_ONBOARDING_PROMPT.md`
388
- - `docs/PROJECT_SCAN.json`
389
- - `docs/PROJECT_MAP.md`
390
- - `docs/DECISIONS.md`
391
- - `docs/COMMANDS.md`
392
- - `specs/<project-slug>/`
393
- - `specs/<project-slug>/HANDOFF.md`
394
- - `tools/scripts/`
395
- - `.github/`
396
- - scripts `quiver:*` en `package.json`
397
-
398
- No todos los proyectos necesitan todos los archivos opcionales. Si un archivo no existe, no lo des por hecho: crealo desde la plantilla o registrá que falta.
331
+ | Script | Uso |
332
+ |---|---|
333
+ | `npm run quiver:plan` | Ejecuta `npx create-quiver plan`. |
334
+ | `npm run quiver:graph` | Ejecuta `npx create-quiver graph`. |
335
+ | `npm run quiver:next` | Ejecuta `npx create-quiver next`. |
336
+ | `npm run quiver:ai:onboard` | Ejecuta onboarding de IA. |
337
+ | `npm run quiver:ai:plan` | Ejecuta planificación IA por fases. |
338
+ | `npm run quiver:ai:execute-slice` | Ejecuta un slice con rol executor. |
339
+ | `npm run quiver:ai:doctor` | Ejecuta preflight IA/GitHub. |
340
+ | `npm run quiver:ai:pr` | Ejecuta preflight de PR. |
341
+ | `npm run package:quiver` | Empaqueta y valida el tarball npm. |
342
+ | `npm run smoke:create-quiver` | Smoke del instalador `create-quiver`. |
343
+ | `npm run smoke:tiered-pack` | Smoke de context packs y lifecycle. |
344
+ | `npm run release:quiver` | Release dry-run o publish, según flags. |
399
345
 
400
- ## Requisitos
346
+ `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.
401
347
 
402
- - Node.js y npm para ejecutar el instalador.
403
- - Git para branches, worktrees y validaciones de PR.
404
- - macOS, Linux o Windows PowerShell/CMD como entornos objetivo del runtime Node.
348
+ ## 🔁 Flujo recomendado
405
349
 
406
- Bash queda como camino de compatibilidad legacy para algunos wrappers. El contrato de largo plazo es Node-first.
350
+ 1. Inicializá Quiver o migrá si el proyecto ya lo tenía.
351
+ 2. Corré `analyze` para generar el mapa técnico.
352
+ 3. Corré `doctor` para validar el contrato.
353
+ 4. Incorporá al planner con `ai onboard --dry-run`.
354
+ 5. Convertí requerimientos en criterios, plan técnico y spec con `ai plan`.
355
+ 6. Revisá dependencias con `graph` y elegí el próximo trabajo con `next`.
356
+ 7. Ejecutá el slice con `ai execute-slice` o con tu agente usando el handoff generado.
357
+ 8. Validá con `check-slice`, `check-scope` y `check-pr`.
358
+ 9. Cerrá el trabajo con evidencia en el PR.
407
359
 
408
- ## Para agentes de IA
360
+ ## 🤝 Contribuir
409
361
 
410
- Si estás trabajando como agente dentro de este repo, leé primero `README_FOR_AI.md`.
362
+ 1. Abrí un issue describiendo el problema o propuesta.
363
+ 2. Acordá el alcance antes de implementar si hace falta.
364
+ 3. Trabajá en un slice pequeño y revisable.
365
+ 4. Incluí evidencia de validación en el PR.
366
+ 5. Mantené una relación clara: un slice, un commit; una spec, un PR.
411
367
 
412
- Si estás trabajando en un proyecto generado con Quiver, el orden recomendado es:
368
+ ## 🚢 Release
413
369
 
414
- 1. `AGENTS.md`
415
- 2. `docs/PROJECT_MAP.md`
416
- 3. `docs/PROJECT_SCAN.json`
417
- 4. `docs/AI_CONTEXT.md`
418
- 5. `docs/AI_ONBOARDING_PROMPT.md`
419
-
420
- Para implementar, no abras todo el repo por costumbre. Empezá por el `slice.json`, los archivos declarados, pruebas cercanas y código directamente relacionado.
421
-
422
- ## Para maintainers de Quiver
423
-
424
- Comandos útiles para preparar releases del paquete:
370
+ Release dry-run:
425
371
 
426
372
  ```bash
427
- npm whoami
428
- npm view create-quiver version
429
- npm run package:quiver
430
- npm run smoke:create-quiver
431
373
  npm run release:quiver
432
374
  ```
433
375
 
@@ -437,23 +379,35 @@ Publicar la versión actual:
437
379
  bash scripts/release-quiver.sh --publish-current
438
380
  ```
439
381
 
440
- Publicar con bump de versión:
382
+ Publicar con bump:
441
383
 
442
384
  ```bash
443
385
  bash scripts/release-quiver.sh patch --publish
444
386
  ```
445
387
 
446
- Si `npm whoami` o `npm view create-quiver version` falla, primero resolvé autenticación o conectividad con npm.
388
+ Antes de publicar, verificá autenticación y estado del paquete:
447
389
 
448
- ## Referencias
390
+ ```bash
391
+ npm whoami
392
+ npm view create-quiver version
393
+ ```
394
+
395
+ ## 📚 Documentación útil
449
396
 
450
- - [Guía para IA](./README_FOR_AI.md)
397
+ - [README para agentes de IA](./README_FOR_AI.md)
451
398
  - [Changelog](./CHANGELOG.md)
452
399
  - [Roadmap](./ROADMAP.md)
453
400
  - [Backlog](./BACKLOG.md)
454
- - [Template customization](./TEMPLATE.md)
455
- - [Contributing](./CONTRIBUTING.md)
456
- - [Security](./SECURITY.md)
401
+ - [Guía de templates](./TEMPLATE.md)
402
+ - [Contribución](./CONTRIBUTING.md)
403
+ - [Seguridad](./SECURITY.md)
404
+
405
+ ## Información pendiente de confirmar
406
+
407
+ - `package.json` no declara `engines`; la versión mínima real de Node queda pendiente. La CI usa Node 22.
408
+ - `package.json` está en `0.9.0`, igual que `CHANGELOG.md`.
409
+ - `docs/COMMANDS.md.template` marca algunos comandos de IA como `v0.10`, aunque `package.json` todavía está en `0.9.0`; la próxima publicación debe alinear versión y changelog.
410
+ - 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`.
457
411
 
458
412
  ## Licencia
459
413