create-quiver 0.14.0 → 0.14.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +11 -0
- package/README.md +183 -518
- package/README_FOR_AI.md +32 -26
- package/ROADMAP.md +5 -0
- package/assets/quiver-wordmark.svg +22 -0
- package/docs/AI_CONTEXT.md.template +2 -0
- package/docs/AI_ONBOARDING_PROMPT.md.template +9 -1
- package/docs/CLI_UX_GUIDE.md +125 -0
- package/docs/COMMANDS.md.template +16 -3
- package/docs/GITFLOW_PR_GUIDE.md +70 -0
- package/docs/getting-started/linux.md +84 -0
- package/docs/getting-started/macos.md +85 -0
- package/docs/getting-started/windows-git-bash-wsl.md +78 -0
- package/docs/getting-started/windows-powershell.md +96 -0
- package/docs/reference/commands.md +94 -0
- package/docs/workflows/existing-project.md +131 -0
- package/docs/workflows/full-ai-spec-to-pr.md +311 -0
- package/docs/workflows/legacy-quiver-project.md +102 -0
- package/docs/workflows/new-project.md +76 -0
- package/package.json +5 -1
- package/specs/quiver-v29-planner-prepare-context-cli-ux/EVIDENCE_REPORT.md +163 -0
- package/specs/quiver-v29-planner-prepare-context-cli-ux/EXECUTION_PLAN.md +72 -0
- package/specs/quiver-v29-planner-prepare-context-cli-ux/SPEC.md +173 -0
- package/specs/quiver-v29-planner-prepare-context-cli-ux/STATUS.md +34 -0
- package/specs/quiver-v29-planner-prepare-context-cli-ux/pr.md +95 -0
- package/specs/quiver-v29-planner-prepare-context-cli-ux/slices/slice-00-cli-ux-spec-foundation/CLOSURE_BRIEF.md +32 -0
- package/specs/quiver-v29-planner-prepare-context-cli-ux/slices/slice-00-cli-ux-spec-foundation/EXECUTION_BRIEF.md +45 -0
- package/specs/quiver-v29-planner-prepare-context-cli-ux/slices/slice-00-cli-ux-spec-foundation/slice.json +58 -0
- package/specs/quiver-v29-planner-prepare-context-cli-ux/slices/slice-01-cli-ux-primitives-theme/CLOSURE_BRIEF.md +33 -0
- package/specs/quiver-v29-planner-prepare-context-cli-ux/slices/slice-01-cli-ux-primitives-theme/EXECUTION_BRIEF.md +49 -0
- package/specs/quiver-v29-planner-prepare-context-cli-ux/slices/slice-01-cli-ux-primitives-theme/slice.json +75 -0
- package/specs/quiver-v29-planner-prepare-context-cli-ux/slices/slice-02-planner-context-proposal-contract/CLOSURE_BRIEF.md +32 -0
- package/specs/quiver-v29-planner-prepare-context-cli-ux/slices/slice-02-planner-context-proposal-contract/EXECUTION_BRIEF.md +47 -0
- package/specs/quiver-v29-planner-prepare-context-cli-ux/slices/slice-02-planner-context-proposal-contract/slice.json +71 -0
- package/specs/quiver-v29-planner-prepare-context-cli-ux/slices/slice-03-prepare-context-planner-review-flow/CLOSURE_BRIEF.md +33 -0
- package/specs/quiver-v29-planner-prepare-context-cli-ux/slices/slice-03-prepare-context-planner-review-flow/EXECUTION_BRIEF.md +52 -0
- package/specs/quiver-v29-planner-prepare-context-cli-ux/slices/slice-03-prepare-context-planner-review-flow/slice.json +82 -0
- package/specs/quiver-v29-planner-prepare-context-cli-ux/slices/slice-04-ux-flag-matrix-compatibility/CLOSURE_BRIEF.md +34 -0
- package/specs/quiver-v29-planner-prepare-context-cli-ux/slices/slice-04-ux-flag-matrix-compatibility/EXECUTION_BRIEF.md +46 -0
- package/specs/quiver-v29-planner-prepare-context-cli-ux/slices/slice-04-ux-flag-matrix-compatibility/slice.json +73 -0
- package/specs/quiver-v29-planner-prepare-context-cli-ux/slices/slice-05-progressive-command-adoption/CLOSURE_BRIEF.md +34 -0
- package/specs/quiver-v29-planner-prepare-context-cli-ux/slices/slice-05-progressive-command-adoption/EXECUTION_BRIEF.md +46 -0
- package/specs/quiver-v29-planner-prepare-context-cli-ux/slices/slice-05-progressive-command-adoption/slice.json +83 -0
- package/specs/quiver-v29-planner-prepare-context-cli-ux/slices/slice-06-docs-tests-smoke-readiness/CLOSURE_BRIEF.md +31 -0
- package/specs/quiver-v29-planner-prepare-context-cli-ux/slices/slice-06-docs-tests-smoke-readiness/EXECUTION_BRIEF.md +50 -0
- package/specs/quiver-v29-planner-prepare-context-cli-ux/slices/slice-06-docs-tests-smoke-readiness/slice.json +95 -0
- package/src/create-quiver/commands/ai.js +458 -3
- package/src/create-quiver/commands/spec.js +64 -2
- package/src/create-quiver/index.js +49 -1
- package/src/create-quiver/lib/ai/context-proposal.js +389 -0
- package/src/create-quiver/lib/ai/context-proposal.schema.js +31 -0
- package/src/create-quiver/lib/cli/editor.js +118 -0
- package/src/create-quiver/lib/cli/theme.js +100 -0
- package/src/create-quiver/lib/cli/ux-flags.js +151 -0
- package/src/create-quiver/lib/cli/ux.js +130 -0
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
# Configurar Quiver en Windows Git Bash o WSL
|
|
2
|
+
|
|
3
|
+
Usá esta guía si ejecutás Quiver desde Git Bash o WSL en Windows.
|
|
4
|
+
|
|
5
|
+
## 1. Revisar herramientas requeridas
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
node --version
|
|
9
|
+
npm --version
|
|
10
|
+
git --version
|
|
11
|
+
gh --version
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
Qué hace:
|
|
15
|
+
|
|
16
|
+
- confirma que Node.js y npm pueden ejecutar Quiver;
|
|
17
|
+
- confirma que Git está disponible para ramas y worktrees;
|
|
18
|
+
- confirma que GitHub CLI está disponible para crear PRs.
|
|
19
|
+
|
|
20
|
+
## 2. Instalar herramientas faltantes
|
|
21
|
+
|
|
22
|
+
Instalá Node.js, Git y GitHub CLI en el entorno que realmente vas a usar.
|
|
23
|
+
|
|
24
|
+
Importante:
|
|
25
|
+
|
|
26
|
+
- Git Bash y WSL pueden tener instalaciones distintas;
|
|
27
|
+
- si vas a ejecutar Quiver en WSL, instalá `node`, `npm`, `git` y `gh` dentro de WSL.
|
|
28
|
+
|
|
29
|
+
## 3. Autenticar GitHub CLI
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
gh auth login
|
|
33
|
+
gh auth status
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
Qué hace:
|
|
37
|
+
|
|
38
|
+
- inicia sesión en GitHub desde la misma terminal donde vas a usar Quiver.
|
|
39
|
+
|
|
40
|
+
## 4. Preparar alias SSH
|
|
41
|
+
|
|
42
|
+
Git Bash y WSL normalmente soportan rutas estilo Unix.
|
|
43
|
+
|
|
44
|
+
Ejemplo:
|
|
45
|
+
|
|
46
|
+
```sshconfig
|
|
47
|
+
Host github-personal
|
|
48
|
+
HostName github.com
|
|
49
|
+
User git
|
|
50
|
+
IdentityFile ~/.ssh/github-personal
|
|
51
|
+
IdentitiesOnly yes
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
Verificalo:
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
ssh -T github-personal
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
Qué hace:
|
|
61
|
+
|
|
62
|
+
- confirma que el alias SSH funciona desde la misma terminal que usará Quiver.
|
|
63
|
+
|
|
64
|
+
## 5. Verificar Quiver
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
npx --yes create-quiver@latest --version
|
|
68
|
+
npx --yes create-quiver@latest --help
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
Qué hace:
|
|
72
|
+
|
|
73
|
+
- ejecuta la última versión de Quiver desde npm.
|
|
74
|
+
|
|
75
|
+
Siguiente paso:
|
|
76
|
+
|
|
77
|
+
- [Usar Quiver en un proyecto existente](../workflows/existing-project.md)
|
|
78
|
+
- [Ejecutar el flujo completo de spec a PR con IA](../workflows/full-ai-spec-to-pr.md)
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
# Configurar Quiver en Windows PowerShell
|
|
2
|
+
|
|
3
|
+
Usá esta guía para preparar Windows PowerShell antes de usar Quiver.
|
|
4
|
+
|
|
5
|
+
## 1. Revisar herramientas requeridas
|
|
6
|
+
|
|
7
|
+
```powershell
|
|
8
|
+
node --version
|
|
9
|
+
npm --version
|
|
10
|
+
git --version
|
|
11
|
+
gh --version
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
Qué hace:
|
|
15
|
+
|
|
16
|
+
- confirma que Node.js y npm pueden ejecutar Quiver;
|
|
17
|
+
- confirma que Git está disponible para ramas y worktrees;
|
|
18
|
+
- confirma que GitHub CLI está disponible para crear PRs.
|
|
19
|
+
|
|
20
|
+
## 2. Instalar herramientas faltantes
|
|
21
|
+
|
|
22
|
+
Instalá:
|
|
23
|
+
|
|
24
|
+
- Node.js para Windows;
|
|
25
|
+
- Git for Windows;
|
|
26
|
+
- GitHub CLI para Windows.
|
|
27
|
+
|
|
28
|
+
Después cerrá y abrí PowerShell de nuevo, y ejecutá:
|
|
29
|
+
|
|
30
|
+
```powershell
|
|
31
|
+
node --version
|
|
32
|
+
npm --version
|
|
33
|
+
git --version
|
|
34
|
+
gh --version
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## 3. Autenticar GitHub CLI
|
|
38
|
+
|
|
39
|
+
```powershell
|
|
40
|
+
gh auth login
|
|
41
|
+
gh auth status
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
Qué hace:
|
|
45
|
+
|
|
46
|
+
- inicia sesión en GitHub desde `gh`;
|
|
47
|
+
- confirma la cuenta activa y los permisos.
|
|
48
|
+
|
|
49
|
+
## 4. Preparar alias SSH
|
|
50
|
+
|
|
51
|
+
Tu configuración SSH normalmente está en:
|
|
52
|
+
|
|
53
|
+
```powershell
|
|
54
|
+
$HOME\.ssh\config
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
Ejemplo:
|
|
58
|
+
|
|
59
|
+
```sshconfig
|
|
60
|
+
Host github-personal
|
|
61
|
+
HostName github.com
|
|
62
|
+
User git
|
|
63
|
+
IdentityFile C:\Users\<user>\ssh\github-personal
|
|
64
|
+
IdentitiesOnly yes
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
Verificalo:
|
|
68
|
+
|
|
69
|
+
```powershell
|
|
70
|
+
ssh -T github-personal
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
Qué hace:
|
|
74
|
+
|
|
75
|
+
- confirma que el alias funciona con tu clave SSH.
|
|
76
|
+
|
|
77
|
+
## 5. Verificar Quiver
|
|
78
|
+
|
|
79
|
+
```powershell
|
|
80
|
+
npx --yes create-quiver@latest --version
|
|
81
|
+
npx --yes create-quiver@latest --help
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
Qué hace:
|
|
85
|
+
|
|
86
|
+
- ejecuta la última versión publicada de Quiver sin instalarla globalmente.
|
|
87
|
+
|
|
88
|
+
Nota sobre rutas:
|
|
89
|
+
|
|
90
|
+
- usá comillas cuando una ruta tenga espacios;
|
|
91
|
+
- pasá `--identity-file` con ruta de Windows al crear PRs.
|
|
92
|
+
|
|
93
|
+
Siguiente paso:
|
|
94
|
+
|
|
95
|
+
- [Usar Quiver en un proyecto existente](../workflows/existing-project.md)
|
|
96
|
+
- [Ejecutar el flujo completo de spec a PR con IA](../workflows/full-ai-spec-to-pr.md)
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
# Referencia de comandos de Quiver
|
|
2
|
+
|
|
3
|
+
Usá `npx --yes create-quiver@latest --help` para ver la lista viva de comandos soportados por la versión instalada.
|
|
4
|
+
|
|
5
|
+
## Configuración inicial
|
|
6
|
+
|
|
7
|
+
| Comando | Para qué sirve |
|
|
8
|
+
|---|---|
|
|
9
|
+
| `npx --yes create-quiver@latest --version` | Muestra la versión del CLI. |
|
|
10
|
+
| `npx --yes create-quiver@latest --help` | Muestra los comandos soportados. |
|
|
11
|
+
| `npx --yes create-quiver@latest init --name "Proyecto"` | Inicializa Quiver en un proyecto. |
|
|
12
|
+
| `npx --yes create-quiver@latest migrate --dry-run` | Previsualiza migración de un proyecto Quiver anterior. |
|
|
13
|
+
| `npx --yes create-quiver@latest migrate` | Aplica la migración. |
|
|
14
|
+
| `npx --yes create-quiver@latest analyze` | Genera mapa del proyecto y datos de escaneo. |
|
|
15
|
+
| `npx --yes create-quiver@latest doctor` | Valida la salud de Quiver. |
|
|
16
|
+
| `npx --yes create-quiver@latest flow` | Muestra el próximo paso seguro. |
|
|
17
|
+
|
|
18
|
+
## Planificación con IA
|
|
19
|
+
|
|
20
|
+
| Comando | Para qué sirve |
|
|
21
|
+
|---|---|
|
|
22
|
+
| `npx --yes create-quiver@latest ai prepare-context --dry-run` | Previsualiza actualizaciones documentales de contexto para IA. |
|
|
23
|
+
| `npx --yes create-quiver@latest ai prepare-context` | Escribe actualizaciones documentales de contexto para IA. |
|
|
24
|
+
| `npx --yes create-quiver@latest ai prepare-context --with-planner --dry-run` | Previsualiza una propuesta docs-only generada por el planner sin escribir archivos. |
|
|
25
|
+
| `npx --yes create-quiver@latest ai prepare-context --with-planner --print-prompt` | Imprime el prompt exacto para ejecutar el planner en otro entorno. |
|
|
26
|
+
| `npx --yes create-quiver@latest ai prepare-context --with-planner --review --interactive` | Ejecuta planner, abre revisión humana y pide confirmación antes de escribir docs permitidos. |
|
|
27
|
+
| `npx --yes create-quiver@latest ai agent set <role> --provider <provider> --model "<label>"` | Guarda un perfil de agente sin secretos. |
|
|
28
|
+
| `npx --yes create-quiver@latest ai run create --input <file>` | Inicia una ejecución persistente de IA. |
|
|
29
|
+
| `npx --yes create-quiver@latest ai status` | Muestra el estado de la ejecución actual. |
|
|
30
|
+
| `npx --yes create-quiver@latest ai plan --phase acceptance --input <file>` | Genera criterios de aceptación. |
|
|
31
|
+
| `npx --yes create-quiver@latest ai plan --phase acceptance --review --interactive --input <file>` | Permite revisar y confirmar el borrador del planner antes de guardarlo. |
|
|
32
|
+
| `npx --yes create-quiver@latest ai revise --phase acceptance --input <file>` | Crea una nueva versión de criterios. |
|
|
33
|
+
| `npx --yes create-quiver@latest ai approve --phase acceptance --version <n>` | Aprueba criterios. |
|
|
34
|
+
| `npx --yes create-quiver@latest ai plan --phase technical-plan` | Genera plan técnico. |
|
|
35
|
+
| `npx --yes create-quiver@latest ai review-plan` | Revisa el plan técnico. |
|
|
36
|
+
| `npx --yes create-quiver@latest ai approve --phase technical-plan --version <n>` | Aprueba el plan técnico revisado. |
|
|
37
|
+
|
|
38
|
+
## Specs y slices
|
|
39
|
+
|
|
40
|
+
| Comando | Para qué sirve |
|
|
41
|
+
|---|---|
|
|
42
|
+
| `npx --yes create-quiver@latest spec create --dry-run` | Previsualiza archivos de spec generados. |
|
|
43
|
+
| `npx --yes create-quiver@latest spec create` | Genera spec, slices, briefs, plan de ejecución y cuerpo del PR. |
|
|
44
|
+
| `npx --yes create-quiver@latest spec create --review --interactive` | Abre una revisión del paquete a generar y pide confirmación antes de escribir. |
|
|
45
|
+
| `npx --yes create-quiver@latest spec validate specs/<spec> --strict` | Valida el paquete de spec. |
|
|
46
|
+
| `npx --yes create-quiver@latest spec start specs/<spec>` | Crea o reutiliza el worktree de una spec. |
|
|
47
|
+
| `npx --yes create-quiver@latest plan --spec <spec>` | Muestra el orden de ejecución de slices. |
|
|
48
|
+
| `npx --yes create-quiver@latest graph --spec <spec>` | Muestra dependencias entre slices. |
|
|
49
|
+
| `npx --yes create-quiver@latest next --all-ready --spec <spec>` | Lista slices listos para ejecutar. |
|
|
50
|
+
| `npx --yes create-quiver@latest ai prompt-slice --slice <slice.json> --dry-run` | Imprime un prompt mínimo para el ejecutor. |
|
|
51
|
+
| `npx --yes create-quiver@latest ai execute-slice --slice <slice.json> --commit` | Ejecuta un slice y commitea después de validar. |
|
|
52
|
+
| `npx --yes create-quiver@latest ai execute-plan --execute --commit --mode delegated` | Ejecuta slices delegados por olas. |
|
|
53
|
+
|
|
54
|
+
## PR y cierre
|
|
55
|
+
|
|
56
|
+
| Comando | Para qué sirve |
|
|
57
|
+
|---|---|
|
|
58
|
+
| `npx --yes create-quiver@latest ai pr --dry-run --input specs/<spec>/pr.md` | Previsualiza creación de PR y readiness de GitHub. |
|
|
59
|
+
| `npx --yes create-quiver@latest ai pr --review --dry-run --input specs/<spec>/pr.md` | Abre `pr.md` para revisión y vuelve a armar el plan de PR sin crear el PR. |
|
|
60
|
+
| `npx --yes create-quiver@latest ai pr --create --input specs/<spec>/pr.md` | Crea el PR usando `gh`. |
|
|
61
|
+
| `npx --yes create-quiver@latest spec close specs/<spec> --dry-run` | Previsualiza limpieza del worktree después del merge. |
|
|
62
|
+
| `npx --yes create-quiver@latest spec close specs/<spec>` | Cierra el worktree de la spec mergeada. |
|
|
63
|
+
|
|
64
|
+
## Opciones útiles
|
|
65
|
+
|
|
66
|
+
| Opción | Para qué sirve |
|
|
67
|
+
|---|---|
|
|
68
|
+
| `--dry-run` | Previsualiza sin escribir archivos ni ejecutar proveedores. |
|
|
69
|
+
| `--print-prompt` | Imprime el prompt del proveedor sin ejecutarlo. |
|
|
70
|
+
| `--with-planner` | Activa comportamiento asistido por planner solo en comandos que lo soportan. |
|
|
71
|
+
| `--interactive` | Habilita prompts humanos de confirmación o elección. |
|
|
72
|
+
| `--review` | Abre o prepara revisión humana antes de escrituras persistentes. |
|
|
73
|
+
| `--no-color` | Desactiva colores ANSI en salida humana. |
|
|
74
|
+
| `--provider codex\|claude\|gemini` | Selecciona CLI local de proveedor. |
|
|
75
|
+
| `--commit` | Permite que Quiver commitee trabajo validado del slice. |
|
|
76
|
+
| `--mode manual` | Imprime prompts para asignación manual de ejecutores. |
|
|
77
|
+
| `--mode delegated` | Usa ejecución delegada con worktrees temporales cuando es seguro. |
|
|
78
|
+
| `--ssh-host-alias <alias>` | Alias SSH de GitHub para validaciones de PR. |
|
|
79
|
+
| `--identity-file <path>` | Ruta de la clave SSH para validaciones de PR. |
|
|
80
|
+
|
|
81
|
+
## Matriz de flags UX
|
|
82
|
+
|
|
83
|
+
| Comando | `--with-planner` | `--interactive` | `--review` |
|
|
84
|
+
|---|---:|---:|---:|
|
|
85
|
+
| `ai prepare-context` | sí | sí | sí |
|
|
86
|
+
| `ai plan` | sí | sí | sí |
|
|
87
|
+
| `spec create` | sí | sí | sí |
|
|
88
|
+
| `ai pr` | no | sí | sí |
|
|
89
|
+
| `flow`, `next`, `graph` | no | no | no |
|
|
90
|
+
| `ai inspect`, `ai export`, `ai specs list`, `ai slices list`, `ai trace report` | no | no | no |
|
|
91
|
+
|
|
92
|
+
`--json` no se puede combinar con `--interactive` ni `--review`, porque la salida debe mantenerse legible por máquinas. El estándar completo vive en [docs/CLI_UX_GUIDE.md](../CLI_UX_GUIDE.md).
|
|
93
|
+
|
|
94
|
+
Nota: `spec create --with-planner` no ejecuta un proveedor nuevo; indica que el comando consume el plan técnico aprobado generado por el planner.
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
# Flujo para proyecto existente
|
|
2
|
+
|
|
3
|
+
Usá este flujo cuando el proyecto ya tiene código, pero todavía no usa Quiver.
|
|
4
|
+
|
|
5
|
+
## 1. Entrar al proyecto
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
cd /ruta/al/proyecto
|
|
9
|
+
git status -sb
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
Qué hace:
|
|
13
|
+
|
|
14
|
+
- entra a la raíz del proyecto;
|
|
15
|
+
- muestra si hay cambios pendientes.
|
|
16
|
+
|
|
17
|
+
Recomendado:
|
|
18
|
+
|
|
19
|
+
- empezar desde una rama limpia;
|
|
20
|
+
- no mezclar el onboarding de Quiver con trabajo de producto no relacionado.
|
|
21
|
+
|
|
22
|
+
## 2. Verificar la versión publicada de Quiver
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
npx --yes create-quiver@latest --version
|
|
26
|
+
npx --yes create-quiver@latest --help
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
Qué hace:
|
|
30
|
+
|
|
31
|
+
- confirma que npm puede resolver Quiver;
|
|
32
|
+
- muestra los comandos disponibles.
|
|
33
|
+
|
|
34
|
+
## 3. Inicializar Quiver
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
npx --yes create-quiver@latest init --name "Nombre del Proyecto"
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
Qué hace:
|
|
41
|
+
|
|
42
|
+
- agrega documentación de Quiver y estado interno;
|
|
43
|
+
- todavía no crea una spec;
|
|
44
|
+
- preserva archivos existentes.
|
|
45
|
+
|
|
46
|
+
## 4. Inspeccionar el estado del workflow
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
npx --yes create-quiver@latest flow
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
Qué hace:
|
|
53
|
+
|
|
54
|
+
- informa qué ve Quiver;
|
|
55
|
+
- recomienda el próximo comando seguro.
|
|
56
|
+
|
|
57
|
+
## 5. Analizar el proyecto existente
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
npx --yes create-quiver@latest analyze --dry-run
|
|
61
|
+
npx --yes create-quiver@latest analyze
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
Qué hace:
|
|
65
|
+
|
|
66
|
+
- previsualiza actualizaciones del mapa del proyecto;
|
|
67
|
+
- escribe `docs/PROJECT_MAP.md`;
|
|
68
|
+
- guarda el escaneo crudo en `.quiver/scans/`.
|
|
69
|
+
|
|
70
|
+
## 6. Validar el contrato
|
|
71
|
+
|
|
72
|
+
```bash
|
|
73
|
+
npx --yes create-quiver@latest doctor
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
Qué hace:
|
|
77
|
+
|
|
78
|
+
- revisa documentación requerida;
|
|
79
|
+
- revisa salud de la estructura;
|
|
80
|
+
- reporta herramientas faltantes o estados riesgosos.
|
|
81
|
+
|
|
82
|
+
## 7. Preparar contexto de onboarding para IA
|
|
83
|
+
|
|
84
|
+
```bash
|
|
85
|
+
npx --yes create-quiver@latest ai prepare-context --dry-run
|
|
86
|
+
npx --yes create-quiver@latest ai prepare-context
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
Modo asistido por planner, recomendado cuando querés que una IA complete el contexto inicial:
|
|
90
|
+
|
|
91
|
+
```bash
|
|
92
|
+
npx --yes create-quiver@latest ai prepare-context --with-planner --dry-run
|
|
93
|
+
npx --yes create-quiver@latest ai prepare-context --with-planner --review --interactive
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
Qué hace:
|
|
97
|
+
|
|
98
|
+
- previsualiza actualizaciones documentales;
|
|
99
|
+
- escribe contexto para IA después de revisar;
|
|
100
|
+
- registra supuestos, riesgos y rutas omitidas.
|
|
101
|
+
|
|
102
|
+
## 8. Configurar agentes
|
|
103
|
+
|
|
104
|
+
```bash
|
|
105
|
+
npx --yes create-quiver@latest ai agent set planner --provider codex --model "planner-model" --dry-run
|
|
106
|
+
npx --yes create-quiver@latest ai agent set planner --provider codex --model "planner-model"
|
|
107
|
+
npx --yes create-quiver@latest ai agent set executor --provider codex --model "executor-model"
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
Qué hace:
|
|
111
|
+
|
|
112
|
+
- guarda perfiles reutilizables por rol;
|
|
113
|
+
- no guarda credenciales ni API keys.
|
|
114
|
+
|
|
115
|
+
## 9. Commit de documentación inicial
|
|
116
|
+
|
|
117
|
+
```bash
|
|
118
|
+
git status -sb
|
|
119
|
+
git add AGENTS.md docs .quiver .gitignore package.json package-lock.json
|
|
120
|
+
git commit -m "docs: initialize quiver workflow"
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
Qué hace:
|
|
124
|
+
|
|
125
|
+
- crea una base limpia antes de empezar a planificar features.
|
|
126
|
+
|
|
127
|
+
Ajustá los paths de `git add` según los archivos que Quiver haya creado realmente.
|
|
128
|
+
|
|
129
|
+
Siguiente paso:
|
|
130
|
+
|
|
131
|
+
- [Ejecutar el flujo completo de spec a PR con IA](./full-ai-spec-to-pr.md)
|
|
@@ -0,0 +1,311 @@
|
|
|
1
|
+
# Flujo completo de IA: de requerimiento a PR
|
|
2
|
+
|
|
3
|
+
Esta guía cubre el flujo completo de Quiver desde un requerimiento hasta un pull request abierto.
|
|
4
|
+
|
|
5
|
+
Ejecutá los comandos desde la raíz del proyecto.
|
|
6
|
+
|
|
7
|
+
## 1. Confirmar estado del proyecto
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
git status -sb
|
|
11
|
+
npx --yes create-quiver@latest flow
|
|
12
|
+
npx --yes create-quiver@latest doctor
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
Qué hace:
|
|
16
|
+
|
|
17
|
+
- revisa el estado local de Git;
|
|
18
|
+
- le pide a Quiver el próximo paso seguro;
|
|
19
|
+
- valida el contrato del proyecto.
|
|
20
|
+
|
|
21
|
+
## 2. Crear un archivo de requerimiento
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
mkdir -p requirements
|
|
25
|
+
$EDITOR requirements/mi-requerimiento.md
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
Qué hace:
|
|
29
|
+
|
|
30
|
+
- crea una entrada durable para el planner;
|
|
31
|
+
- evita perder el requerimiento en el historial del chat.
|
|
32
|
+
|
|
33
|
+
## 3. Crear una ejecución de IA
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
npx --yes create-quiver@latest ai run create --input requirements/mi-requerimiento.md
|
|
37
|
+
npx --yes create-quiver@latest ai status
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
Qué hace:
|
|
41
|
+
|
|
42
|
+
- crea estado persistente en `.quiver/runs/`;
|
|
43
|
+
- muestra la fase actual y el próximo comando seguro.
|
|
44
|
+
|
|
45
|
+
## 4. Generar criterios de aceptación
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
npx --yes create-quiver@latest ai plan --phase acceptance --input requirements/mi-requerimiento.md --dry-run
|
|
49
|
+
npx --yes create-quiver@latest ai plan --phase acceptance --input requirements/mi-requerimiento.md
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
Si querés revisar y confirmar el borrador antes de guardarlo:
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
npx --yes create-quiver@latest ai plan --phase acceptance --input requirements/mi-requerimiento.md --review --interactive
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
Qué hace:
|
|
59
|
+
|
|
60
|
+
- previsualiza la invocación al proveedor;
|
|
61
|
+
- le pide al planner un borrador de criterios de aceptación.
|
|
62
|
+
|
|
63
|
+
Revisar borradores:
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
npx --yes create-quiver@latest ai approvals
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
Aprobar una versión:
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
npx --yes create-quiver@latest ai approve --phase acceptance --version <n>
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
Qué hace:
|
|
76
|
+
|
|
77
|
+
- guarda los criterios aprobados como entrada para el plan técnico.
|
|
78
|
+
|
|
79
|
+
## 5. Iterar criterios cuando haga falta
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
npx --yes create-quiver@latest ai revise --phase acceptance --input feedback.md --dry-run
|
|
83
|
+
npx --yes create-quiver@latest ai revise --phase acceptance --input feedback.md
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
Qué hace:
|
|
87
|
+
|
|
88
|
+
- crea un nuevo borrador sin aprobarlo automáticamente;
|
|
89
|
+
- mantiene explícita la compuerta de aprobación humana.
|
|
90
|
+
|
|
91
|
+
## 6. Generar el plan técnico
|
|
92
|
+
|
|
93
|
+
```bash
|
|
94
|
+
npx --yes create-quiver@latest ai plan --phase technical-plan --dry-run
|
|
95
|
+
npx --yes create-quiver@latest ai plan --phase technical-plan
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
Si querés editar el borrador antes de guardarlo:
|
|
99
|
+
|
|
100
|
+
```bash
|
|
101
|
+
npx --yes create-quiver@latest ai plan --phase technical-plan --review --interactive
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
Qué hace:
|
|
105
|
+
|
|
106
|
+
- genera un plan técnico desde los criterios aprobados;
|
|
107
|
+
- exige información estructurada de slices para poder crear specs después.
|
|
108
|
+
|
|
109
|
+
## 7. Revisar el plan técnico
|
|
110
|
+
|
|
111
|
+
```bash
|
|
112
|
+
npx --yes create-quiver@latest ai review-plan --dry-run
|
|
113
|
+
npx --yes create-quiver@latest ai review-plan
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
Qué hace:
|
|
117
|
+
|
|
118
|
+
- revisa el plan como si fuera a implementarse y probarse en producción;
|
|
119
|
+
- guarda metadata de revisión con recomendación `approve`, `approve-with-risk` o `revise`;
|
|
120
|
+
- bloquea la aprobación cuando hay fixes requeridos.
|
|
121
|
+
|
|
122
|
+
Aprobar un plan revisado:
|
|
123
|
+
|
|
124
|
+
```bash
|
|
125
|
+
npx --yes create-quiver@latest ai approve --phase technical-plan --version <n>
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
## 8. Crear el paquete de spec
|
|
129
|
+
|
|
130
|
+
```bash
|
|
131
|
+
npx --yes create-quiver@latest spec create --dry-run
|
|
132
|
+
npx --yes create-quiver@latest spec create
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
Si querés revisar el paquete antes de escribirlo:
|
|
136
|
+
|
|
137
|
+
```bash
|
|
138
|
+
npx --yes create-quiver@latest spec create --review --interactive
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
Qué hace:
|
|
142
|
+
|
|
143
|
+
- crea `SPEC.md`;
|
|
144
|
+
- crea el `slice-00` obligatorio;
|
|
145
|
+
- crea slices de implementación;
|
|
146
|
+
- crea `EXECUTION_BRIEF.md` y `CLOSURE_BRIEF.md`;
|
|
147
|
+
- crea el plan de ejecución y `pr.md`.
|
|
148
|
+
|
|
149
|
+
Validarlo:
|
|
150
|
+
|
|
151
|
+
```bash
|
|
152
|
+
npx --yes create-quiver@latest spec validate specs/<spec-slug> --strict
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
## 9. Crear o reutilizar el worktree de la spec
|
|
156
|
+
|
|
157
|
+
```bash
|
|
158
|
+
npx --yes create-quiver@latest spec start specs/<spec-slug> --dry-run
|
|
159
|
+
npx --yes create-quiver@latest spec start specs/<spec-slug>
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
Qué hace:
|
|
163
|
+
|
|
164
|
+
- prepara la rama y el worktree dedicados a esta spec;
|
|
165
|
+
- mantiene una spec aislada de otros trabajos.
|
|
166
|
+
|
|
167
|
+
## 10. Inspeccionar el orden de slices
|
|
168
|
+
|
|
169
|
+
```bash
|
|
170
|
+
npx --yes create-quiver@latest plan --spec <spec-slug>
|
|
171
|
+
npx --yes create-quiver@latest graph --spec <spec-slug>
|
|
172
|
+
npx --yes create-quiver@latest next --all-ready --spec <spec-slug>
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
Qué hace:
|
|
176
|
+
|
|
177
|
+
- muestra el orden de ejecución;
|
|
178
|
+
- muestra dependencias;
|
|
179
|
+
- lista slices listos para ejecutar.
|
|
180
|
+
|
|
181
|
+
## 11. Ejecutar slices manualmente
|
|
182
|
+
|
|
183
|
+
Generá un prompt para un agente ejecutor de menor costo:
|
|
184
|
+
|
|
185
|
+
```bash
|
|
186
|
+
npx --yes create-quiver@latest ai prompt-slice --slice specs/<spec-slug>/slices/<slice-id>/slice.json --dry-run
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
Qué hace:
|
|
190
|
+
|
|
191
|
+
- imprime el contexto mínimo que necesita el ejecutor;
|
|
192
|
+
- evita enviar la spec completa salvo que sea necesario.
|
|
193
|
+
|
|
194
|
+
## 12. Ejecutar un slice con Quiver
|
|
195
|
+
|
|
196
|
+
```bash
|
|
197
|
+
npx --yes create-quiver@latest ai execute-slice --slice specs/<spec-slug>/slices/<slice-id>/slice.json --commit --dry-run
|
|
198
|
+
npx --yes create-quiver@latest ai execute-slice --slice specs/<spec-slug>/slices/<slice-id>/slice.json --commit
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
Qué hace:
|
|
202
|
+
|
|
203
|
+
- ejecuta el slice con el ejecutor configurado;
|
|
204
|
+
- valida rama y worktree;
|
|
205
|
+
- valida archivos modificados contra el alcance del slice;
|
|
206
|
+
- corre comandos de validación declarados;
|
|
207
|
+
- actualiza cierre, evidencia, estado y `slice.json`;
|
|
208
|
+
- crea un commit para el slice.
|
|
209
|
+
|
|
210
|
+
## 13. Ejecutar slices por olas
|
|
211
|
+
|
|
212
|
+
Modo manual:
|
|
213
|
+
|
|
214
|
+
```bash
|
|
215
|
+
npx --yes create-quiver@latest ai execute-plan --dry-run --commit --mode manual
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
Qué hace:
|
|
219
|
+
|
|
220
|
+
- imprime prompts de slices en orden de ejecución;
|
|
221
|
+
- no llama proveedores.
|
|
222
|
+
|
|
223
|
+
Modo delegado:
|
|
224
|
+
|
|
225
|
+
```bash
|
|
226
|
+
npx --yes create-quiver@latest ai execute-plan --dry-run --commit --mode delegated
|
|
227
|
+
npx --yes create-quiver@latest ai execute-plan --execute --commit --mode delegated
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
Qué hace:
|
|
231
|
+
|
|
232
|
+
- previsualiza o ejecuta slices delegados;
|
|
233
|
+
- usa worktrees temporales para slices paralelizables;
|
|
234
|
+
- vuelve a ejecución secuencial cuando el alcance no es seguro.
|
|
235
|
+
|
|
236
|
+
## 14. Validar antes del PR
|
|
237
|
+
|
|
238
|
+
```bash
|
|
239
|
+
npx --yes create-quiver@latest spec validate specs/<spec-slug> --strict
|
|
240
|
+
npx --yes create-quiver@latest next --all-ready --spec <spec-slug>
|
|
241
|
+
git diff --check
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
Qué hace:
|
|
245
|
+
|
|
246
|
+
- confirma que el paquete de spec esté completo;
|
|
247
|
+
- confirma que no queden slices listos sin ejecutar;
|
|
248
|
+
- revisa whitespace.
|
|
249
|
+
|
|
250
|
+
También corré validaciones propias del proyecto:
|
|
251
|
+
|
|
252
|
+
```bash
|
|
253
|
+
npm test
|
|
254
|
+
npm run build
|
|
255
|
+
npm run lint
|
|
256
|
+
```
|
|
257
|
+
|
|
258
|
+
Usá solo los scripts que existan en el proyecto.
|
|
259
|
+
|
|
260
|
+
## 15. Previsualizar creación del PR
|
|
261
|
+
|
|
262
|
+
```bash
|
|
263
|
+
npx --yes create-quiver@latest ai pr \
|
|
264
|
+
--review \
|
|
265
|
+
--dry-run \
|
|
266
|
+
--input specs/<spec-slug>/pr.md \
|
|
267
|
+
--ssh-host-alias github-personal \
|
|
268
|
+
--identity-file ~/.ssh/github-personal
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
Qué hace:
|
|
272
|
+
|
|
273
|
+
- valida `gh`;
|
|
274
|
+
- valida autenticación de GitHub;
|
|
275
|
+
- valida alias SSH y archivo de identidad;
|
|
276
|
+
- verifica que exista el cuerpo del PR;
|
|
277
|
+
- no crea el PR.
|
|
278
|
+
|
|
279
|
+
Adaptá `--identity-file` a la ruta real de tu máquina, por ejemplo `~/ssh/github-personal`, `~/.ssh/github-personal` o una ruta de Windows.
|
|
280
|
+
|
|
281
|
+
## 16. Crear el pull request
|
|
282
|
+
|
|
283
|
+
```bash
|
|
284
|
+
npx --yes create-quiver@latest ai pr \
|
|
285
|
+
--create \
|
|
286
|
+
--interactive \
|
|
287
|
+
--input specs/<spec-slug>/pr.md \
|
|
288
|
+
--ssh-host-alias github-personal \
|
|
289
|
+
--identity-file ~/.ssh/github-personal
|
|
290
|
+
```
|
|
291
|
+
|
|
292
|
+
Qué hace:
|
|
293
|
+
|
|
294
|
+
- abre el PR usando `gh`;
|
|
295
|
+
- usa el cuerpo generado en `pr.md`;
|
|
296
|
+
- bloquea la creación si todavía quedan slices abiertos.
|
|
297
|
+
|
|
298
|
+
## 17. Después del merge
|
|
299
|
+
|
|
300
|
+
```bash
|
|
301
|
+
npx --yes create-quiver@latest spec close specs/<spec-slug> --dry-run
|
|
302
|
+
npx --yes create-quiver@latest spec close specs/<spec-slug>
|
|
303
|
+
git switch main
|
|
304
|
+
git pull --ff-only origin main
|
|
305
|
+
```
|
|
306
|
+
|
|
307
|
+
Qué hace:
|
|
308
|
+
|
|
309
|
+
- previsualiza y luego cierra el worktree de la spec;
|
|
310
|
+
- vuelve al checkout principal;
|
|
311
|
+
- trae localmente el resultado mergeado.
|