create-quiver 0.9.1 → 0.12.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 (245) hide show
  1. package/BACKLOG.md +16 -17
  2. package/CHANGELOG.md +34 -0
  3. package/README.md +419 -330
  4. package/README_FOR_AI.md +93 -56
  5. package/ROADMAP.md +22 -11
  6. package/docs/AI_CONTEXT.md.template +2 -0
  7. package/docs/AI_ONBOARDING_PROMPT.md.template +36 -19
  8. package/docs/COMMANDS.md.template +73 -1
  9. package/docs/CONTEXTO.md.template +2 -0
  10. package/docs/DECISIONS.md.template +1 -0
  11. package/docs/GITFLOW_PR_GUIDE.md.template +11 -0
  12. package/docs/INDEX.md.template +20 -18
  13. package/docs/STANDARD.md.template +1 -1
  14. package/docs/STATUS.md.template +1 -0
  15. package/docs/SUPPORT_MATRIX.md.template +6 -2
  16. package/docs/TROUBLESHOOTING.md.template +79 -1
  17. package/docs/WORKFLOW.md.template +26 -18
  18. package/package.json +24 -2
  19. package/package.template.json +24 -7
  20. package/scripts/check-pr-readiness.sh +1 -1
  21. package/scripts/check-scope.sh +0 -1
  22. package/scripts/check-slice-readiness.sh +3 -4
  23. package/scripts/init-docs.sh +53 -6
  24. package/scripts/package-quiver.sh +18 -2
  25. package/specs/quiver-v20-ai-cli-orchestration/EVIDENCE_REPORT.md +23 -0
  26. package/specs/quiver-v20-ai-cli-orchestration/EXECUTION_PLAN.md +57 -0
  27. package/specs/quiver-v20-ai-cli-orchestration/SPEC.md +202 -0
  28. package/specs/quiver-v20-ai-cli-orchestration/STATUS.md +35 -0
  29. package/specs/quiver-v20-ai-cli-orchestration/pr.md +100 -0
  30. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-00-spec-foundation/CLOSURE_BRIEF.md +30 -0
  31. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-00-spec-foundation/EXECUTION_BRIEF.md +61 -0
  32. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-00-spec-foundation/slice.json +54 -0
  33. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-01-ai-provider-runner/CLOSURE_BRIEF.md +39 -0
  34. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-01-ai-provider-runner/EXECUTION_BRIEF.md +63 -0
  35. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-01-ai-provider-runner/slice.json +55 -0
  36. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-02-context-packs-token-budget/CLOSURE_BRIEF.md +40 -0
  37. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-02-context-packs-token-budget/EXECUTION_BRIEF.md +60 -0
  38. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-02-context-packs-token-budget/slice.json +54 -0
  39. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-03-ai-phase-gated-planner/CLOSURE_BRIEF.md +43 -0
  40. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-03-ai-phase-gated-planner/EXECUTION_BRIEF.md +62 -0
  41. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-03-ai-phase-gated-planner/slice.json +62 -0
  42. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-04-spec-slice-handoff-pr-generation/CLOSURE_BRIEF.md +36 -0
  43. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-04-spec-slice-handoff-pr-generation/EXECUTION_BRIEF.md +63 -0
  44. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-04-spec-slice-handoff-pr-generation/slice.json +59 -0
  45. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-05-execution-plan-parallel-worktrees/CLOSURE_BRIEF.md +32 -0
  46. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-05-execution-plan-parallel-worktrees/EXECUTION_BRIEF.md +61 -0
  47. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-05-execution-plan-parallel-worktrees/slice.json +59 -0
  48. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-06-ai-execute-slice-scope-enforcement/CLOSURE_BRIEF.md +36 -0
  49. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-06-ai-execute-slice-scope-enforcement/EXECUTION_BRIEF.md +64 -0
  50. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-06-ai-execute-slice-scope-enforcement/slice.json +65 -0
  51. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-07-github-pr-preflight/CLOSURE_BRIEF.md +36 -0
  52. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-07-github-pr-preflight/EXECUTION_BRIEF.md +66 -0
  53. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-07-github-pr-preflight/slice.json +63 -0
  54. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-08-docs-smokes-release-readiness/CLOSURE_BRIEF.md +35 -0
  55. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-08-docs-smokes-release-readiness/EXECUTION_BRIEF.md +64 -0
  56. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-08-docs-smokes-release-readiness/slice.json +77 -0
  57. package/specs/quiver-v21-ai-first-layout/EVIDENCE_REPORT.md +31 -0
  58. package/specs/quiver-v21-ai-first-layout/EXECUTION_PLAN.md +185 -0
  59. package/specs/quiver-v21-ai-first-layout/SPEC.md +212 -0
  60. package/specs/quiver-v21-ai-first-layout/STATUS.md +37 -0
  61. package/specs/quiver-v21-ai-first-layout/pr.md +110 -0
  62. package/specs/quiver-v21-ai-first-layout/slices/slice-00-spec-foundation/CLOSURE_BRIEF.md +30 -0
  63. package/specs/quiver-v21-ai-first-layout/slices/slice-00-spec-foundation/EXECUTION_BRIEF.md +63 -0
  64. package/specs/quiver-v21-ai-first-layout/slices/slice-00-spec-foundation/slice.json +45 -0
  65. package/specs/quiver-v21-ai-first-layout/slices/slice-01-init-profiles-dry-run/CLOSURE_BRIEF.md +31 -0
  66. package/specs/quiver-v21-ai-first-layout/slices/slice-01-init-profiles-dry-run/EXECUTION_BRIEF.md +59 -0
  67. package/specs/quiver-v21-ai-first-layout/slices/slice-01-init-profiles-dry-run/slice.json +57 -0
  68. package/specs/quiver-v21-ai-first-layout/slices/slice-02-internal-layout-template-resolver/CLOSURE_BRIEF.md +32 -0
  69. package/specs/quiver-v21-ai-first-layout/slices/slice-02-internal-layout-template-resolver/EXECUTION_BRIEF.md +60 -0
  70. package/specs/quiver-v21-ai-first-layout/slices/slice-02-internal-layout-template-resolver/slice.json +58 -0
  71. package/specs/quiver-v21-ai-first-layout/slices/slice-03-generation-profiles-visible-contract/CLOSURE_BRIEF.md +34 -0
  72. package/specs/quiver-v21-ai-first-layout/slices/slice-03-generation-profiles-visible-contract/EXECUTION_BRIEF.md +61 -0
  73. package/specs/quiver-v21-ai-first-layout/slices/slice-03-generation-profiles-visible-contract/slice.json +64 -0
  74. package/specs/quiver-v21-ai-first-layout/slices/slice-04-analyze-scan-relocation/CLOSURE_BRIEF.md +32 -0
  75. package/specs/quiver-v21-ai-first-layout/slices/slice-04-analyze-scan-relocation/EXECUTION_BRIEF.md +58 -0
  76. package/specs/quiver-v21-ai-first-layout/slices/slice-04-analyze-scan-relocation/slice.json +64 -0
  77. package/specs/quiver-v21-ai-first-layout/slices/slice-05-empty-specs-layout-doctor/CLOSURE_BRIEF.md +32 -0
  78. package/specs/quiver-v21-ai-first-layout/slices/slice-05-empty-specs-layout-doctor/EXECUTION_BRIEF.md +60 -0
  79. package/specs/quiver-v21-ai-first-layout/slices/slice-05-empty-specs-layout-doctor/slice.json +65 -0
  80. package/specs/quiver-v21-ai-first-layout/slices/slice-06-legacy-migration-optional-assets/CLOSURE_BRIEF.md +31 -0
  81. package/specs/quiver-v21-ai-first-layout/slices/slice-06-legacy-migration-optional-assets/EXECUTION_BRIEF.md +62 -0
  82. package/specs/quiver-v21-ai-first-layout/slices/slice-06-legacy-migration-optional-assets/slice.json +66 -0
  83. package/specs/quiver-v21-ai-first-layout/slices/slice-07-docs-guidance-alignment/CLOSURE_BRIEF.md +33 -0
  84. package/specs/quiver-v21-ai-first-layout/slices/slice-07-docs-guidance-alignment/EXECUTION_BRIEF.md +61 -0
  85. package/specs/quiver-v21-ai-first-layout/slices/slice-07-docs-guidance-alignment/slice.json +67 -0
  86. package/specs/quiver-v21-ai-first-layout/slices/slice-08-smokes-release-readiness/CLOSURE_BRIEF.md +35 -0
  87. package/specs/quiver-v21-ai-first-layout/slices/slice-08-smokes-release-readiness/EXECUTION_BRIEF.md +66 -0
  88. package/specs/quiver-v21-ai-first-layout/slices/slice-08-smokes-release-readiness/slice.json +62 -0
  89. package/specs/quiver-v22-guided-ai-workflow/EVIDENCE_REPORT.md +58 -0
  90. package/specs/quiver-v22-guided-ai-workflow/EXECUTION_PLAN.md +88 -0
  91. package/specs/quiver-v22-guided-ai-workflow/SPEC.md +228 -0
  92. package/specs/quiver-v22-guided-ai-workflow/STATUS.md +42 -0
  93. package/specs/quiver-v22-guided-ai-workflow/pr.md +104 -0
  94. package/specs/quiver-v22-guided-ai-workflow/slices/slice-00-spec-foundation/CLOSURE_BRIEF.md +35 -0
  95. package/specs/quiver-v22-guided-ai-workflow/slices/slice-00-spec-foundation/EXECUTION_BRIEF.md +61 -0
  96. package/specs/quiver-v22-guided-ai-workflow/slices/slice-00-spec-foundation/slice.json +51 -0
  97. package/specs/quiver-v22-guided-ai-workflow/slices/slice-01-docs-source-of-truth-sync/CLOSURE_BRIEF.md +31 -0
  98. package/specs/quiver-v22-guided-ai-workflow/slices/slice-01-docs-source-of-truth-sync/EXECUTION_BRIEF.md +58 -0
  99. package/specs/quiver-v22-guided-ai-workflow/slices/slice-01-docs-source-of-truth-sync/slice.json +55 -0
  100. package/specs/quiver-v22-guided-ai-workflow/slices/slice-02-prepare-command-diagnostics/CLOSURE_BRIEF.md +30 -0
  101. package/specs/quiver-v22-guided-ai-workflow/slices/slice-02-prepare-command-diagnostics/EXECUTION_BRIEF.md +57 -0
  102. package/specs/quiver-v22-guided-ai-workflow/slices/slice-02-prepare-command-diagnostics/slice.json +57 -0
  103. package/specs/quiver-v22-guided-ai-workflow/slices/slice-03-context-doc-refresh/CLOSURE_BRIEF.md +32 -0
  104. package/specs/quiver-v22-guided-ai-workflow/slices/slice-03-context-doc-refresh/EXECUTION_BRIEF.md +56 -0
  105. package/specs/quiver-v22-guided-ai-workflow/slices/slice-03-context-doc-refresh/slice.json +56 -0
  106. package/specs/quiver-v22-guided-ai-workflow/slices/slice-04-planner-approval-state/CLOSURE_BRIEF.md +33 -0
  107. package/specs/quiver-v22-guided-ai-workflow/slices/slice-04-planner-approval-state/EXECUTION_BRIEF.md +56 -0
  108. package/specs/quiver-v22-guided-ai-workflow/slices/slice-04-planner-approval-state/slice.json +58 -0
  109. package/specs/quiver-v22-guided-ai-workflow/slices/slice-05-spec-worktree-lifecycle/CLOSURE_BRIEF.md +32 -0
  110. package/specs/quiver-v22-guided-ai-workflow/slices/slice-05-spec-worktree-lifecycle/EXECUTION_BRIEF.md +56 -0
  111. package/specs/quiver-v22-guided-ai-workflow/slices/slice-05-spec-worktree-lifecycle/slice.json +54 -0
  112. package/specs/quiver-v22-guided-ai-workflow/slices/slice-06-executor-commit-recovery/CLOSURE_BRIEF.md +32 -0
  113. package/specs/quiver-v22-guided-ai-workflow/slices/slice-06-executor-commit-recovery/EXECUTION_BRIEF.md +58 -0
  114. package/specs/quiver-v22-guided-ai-workflow/slices/slice-06-executor-commit-recovery/slice.json +57 -0
  115. package/specs/quiver-v22-guided-ai-workflow/slices/slice-07-execution-waves-delegation/CLOSURE_BRIEF.md +32 -0
  116. package/specs/quiver-v22-guided-ai-workflow/slices/slice-07-execution-waves-delegation/EXECUTION_BRIEF.md +58 -0
  117. package/specs/quiver-v22-guided-ai-workflow/slices/slice-07-execution-waves-delegation/slice.json +55 -0
  118. package/specs/quiver-v22-guided-ai-workflow/slices/slice-08-pr-create-gh-ssh/CLOSURE_BRIEF.md +32 -0
  119. package/specs/quiver-v22-guided-ai-workflow/slices/slice-08-pr-create-gh-ssh/EXECUTION_BRIEF.md +58 -0
  120. package/specs/quiver-v22-guided-ai-workflow/slices/slice-08-pr-create-gh-ssh/slice.json +53 -0
  121. package/specs/quiver-v22-guided-ai-workflow/slices/slice-09-post-merge-cleanup-release-safety/CLOSURE_BRIEF.md +33 -0
  122. package/specs/quiver-v22-guided-ai-workflow/slices/slice-09-post-merge-cleanup-release-safety/EXECUTION_BRIEF.md +59 -0
  123. package/specs/quiver-v22-guided-ai-workflow/slices/slice-09-post-merge-cleanup-release-safety/slice.json +59 -0
  124. package/specs/quiver-v22-guided-ai-workflow/slices/slice-10-docs-smokes-release-readiness/CLOSURE_BRIEF.md +34 -0
  125. package/specs/quiver-v22-guided-ai-workflow/slices/slice-10-docs-smokes-release-readiness/EXECUTION_BRIEF.md +58 -0
  126. package/specs/quiver-v22-guided-ai-workflow/slices/slice-10-docs-smokes-release-readiness/slice.json +60 -0
  127. package/specs/quiver-v23-guided-flow-productization/EVIDENCE_REPORT.md +80 -0
  128. package/specs/quiver-v23-guided-flow-productization/EXECUTION_PLAN.md +80 -0
  129. package/specs/quiver-v23-guided-flow-productization/SPEC.md +203 -0
  130. package/specs/quiver-v23-guided-flow-productization/STATUS.md +39 -0
  131. package/specs/quiver-v23-guided-flow-productization/pr.md +119 -0
  132. package/specs/quiver-v23-guided-flow-productization/slices/slice-00-spec-foundation/CLOSURE_BRIEF.md +30 -0
  133. package/specs/quiver-v23-guided-flow-productization/slices/slice-00-spec-foundation/EXECUTION_BRIEF.md +61 -0
  134. package/specs/quiver-v23-guided-flow-productization/slices/slice-00-spec-foundation/slice.json +51 -0
  135. package/specs/quiver-v23-guided-flow-productization/slices/slice-01-short-command-and-flow-entrypoint/CLOSURE_BRIEF.md +33 -0
  136. package/specs/quiver-v23-guided-flow-productization/slices/slice-01-short-command-and-flow-entrypoint/EXECUTION_BRIEF.md +35 -0
  137. package/specs/quiver-v23-guided-flow-productization/slices/slice-01-short-command-and-flow-entrypoint/slice.json +56 -0
  138. package/specs/quiver-v23-guided-flow-productization/slices/slice-02-flow-status-wizard/CLOSURE_BRIEF.md +31 -0
  139. package/specs/quiver-v23-guided-flow-productization/slices/slice-02-flow-status-wizard/EXECUTION_BRIEF.md +29 -0
  140. package/specs/quiver-v23-guided-flow-productization/slices/slice-02-flow-status-wizard/slice.json +55 -0
  141. package/specs/quiver-v23-guided-flow-productization/slices/slice-03-agent-profiles/CLOSURE_BRIEF.md +33 -0
  142. package/specs/quiver-v23-guided-flow-productization/slices/slice-03-agent-profiles/EXECUTION_BRIEF.md +29 -0
  143. package/specs/quiver-v23-guided-flow-productization/slices/slice-03-agent-profiles/slice.json +54 -0
  144. package/specs/quiver-v23-guided-flow-productization/slices/slice-04-context-preparation-onboarding/CLOSURE_BRIEF.md +32 -0
  145. package/specs/quiver-v23-guided-flow-productization/slices/slice-04-context-preparation-onboarding/EXECUTION_BRIEF.md +30 -0
  146. package/specs/quiver-v23-guided-flow-productization/slices/slice-04-context-preparation-onboarding/slice.json +59 -0
  147. package/specs/quiver-v23-guided-flow-productization/slices/slice-05-planner-iteration-history/CLOSURE_BRIEF.md +31 -0
  148. package/specs/quiver-v23-guided-flow-productization/slices/slice-05-planner-iteration-history/EXECUTION_BRIEF.md +29 -0
  149. package/specs/quiver-v23-guided-flow-productization/slices/slice-05-planner-iteration-history/slice.json +53 -0
  150. package/specs/quiver-v23-guided-flow-productization/slices/slice-06-production-plan-review/CLOSURE_BRIEF.md +33 -0
  151. package/specs/quiver-v23-guided-flow-productization/slices/slice-06-production-plan-review/EXECUTION_BRIEF.md +30 -0
  152. package/specs/quiver-v23-guided-flow-productization/slices/slice-06-production-plan-review/slice.json +54 -0
  153. package/specs/quiver-v23-guided-flow-productization/slices/slice-07-spec-create-experience/CLOSURE_BRIEF.md +33 -0
  154. package/specs/quiver-v23-guided-flow-productization/slices/slice-07-spec-create-experience/EXECUTION_BRIEF.md +30 -0
  155. package/specs/quiver-v23-guided-flow-productization/slices/slice-07-spec-create-experience/slice.json +55 -0
  156. package/specs/quiver-v23-guided-flow-productization/slices/slice-08-executor-prompt-generation/CLOSURE_BRIEF.md +32 -0
  157. package/specs/quiver-v23-guided-flow-productization/slices/slice-08-executor-prompt-generation/EXECUTION_BRIEF.md +30 -0
  158. package/specs/quiver-v23-guided-flow-productization/slices/slice-08-executor-prompt-generation/slice.json +55 -0
  159. package/specs/quiver-v23-guided-flow-productization/slices/slice-09-delegated-slice-execution/CLOSURE_BRIEF.md +33 -0
  160. package/specs/quiver-v23-guided-flow-productization/slices/slice-09-delegated-slice-execution/EXECUTION_BRIEF.md +34 -0
  161. package/specs/quiver-v23-guided-flow-productization/slices/slice-09-delegated-slice-execution/slice.json +57 -0
  162. package/specs/quiver-v23-guided-flow-productization/slices/slice-10-docs-smokes-release-readiness/CLOSURE_BRIEF.md +33 -0
  163. package/specs/quiver-v23-guided-flow-productization/slices/slice-10-docs-smokes-release-readiness/EXECUTION_BRIEF.md +32 -0
  164. package/specs/quiver-v23-guided-flow-productization/slices/slice-10-docs-smokes-release-readiness/slice.json +63 -0
  165. package/specs/quiver-v24-dx-onboarding-hardening/EVIDENCE_REPORT.md +55 -0
  166. package/specs/quiver-v24-dx-onboarding-hardening/EXECUTION_PLAN.md +43 -0
  167. package/specs/quiver-v24-dx-onboarding-hardening/SPEC.md +149 -0
  168. package/specs/quiver-v24-dx-onboarding-hardening/STATUS.md +31 -0
  169. package/specs/quiver-v24-dx-onboarding-hardening/pr.md +76 -0
  170. package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-00-spec-foundation/CLOSURE_BRIEF.md +31 -0
  171. package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-00-spec-foundation/EXECUTION_BRIEF.md +52 -0
  172. package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-00-spec-foundation/slice.json +51 -0
  173. package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-01-init-template-hygiene/CLOSURE_BRIEF.md +38 -0
  174. package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-01-init-template-hygiene/EXECUTION_BRIEF.md +53 -0
  175. package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-01-init-template-hygiene/slice.json +55 -0
  176. package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-02-cli-command-routing-version-errors/CLOSURE_BRIEF.md +33 -0
  177. package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-02-cli-command-routing-version-errors/EXECUTION_BRIEF.md +50 -0
  178. package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-02-cli-command-routing-version-errors/slice.json +52 -0
  179. package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-03-doctor-fix-doc-link-checks/CLOSURE_BRIEF.md +33 -0
  180. package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-03-doctor-fix-doc-link-checks/EXECUTION_BRIEF.md +50 -0
  181. package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-03-doctor-fix-doc-link-checks/slice.json +53 -0
  182. package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-04-prepare-output-ai-context-drafts/CLOSURE_BRIEF.md +33 -0
  183. package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-04-prepare-output-ai-context-drafts/EXECUTION_BRIEF.md +50 -0
  184. package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-04-prepare-output-ai-context-drafts/slice.json +70 -0
  185. package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-05-local-slice-validation-base-guidance/CLOSURE_BRIEF.md +36 -0
  186. package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-05-local-slice-validation-base-guidance/EXECUTION_BRIEF.md +49 -0
  187. package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-05-local-slice-validation-base-guidance/slice.json +52 -0
  188. package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-06-plan-graph-next-history-views/CLOSURE_BRIEF.md +43 -0
  189. package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-06-plan-graph-next-history-views/EXECUTION_BRIEF.md +53 -0
  190. package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-06-plan-graph-next-history-views/slice.json +60 -0
  191. package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-07-analyzer-command-map-hardening/CLOSURE_BRIEF.md +32 -0
  192. package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-07-analyzer-command-map-hardening/EXECUTION_BRIEF.md +50 -0
  193. package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-07-analyzer-command-map-hardening/slice.json +51 -0
  194. package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-08-evidence-run-command/CLOSURE_BRIEF.md +34 -0
  195. package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-08-evidence-run-command/EXECUTION_BRIEF.md +52 -0
  196. package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-08-evidence-run-command/slice.json +54 -0
  197. package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-09-spec-viewer-demo-scaffolding/CLOSURE_BRIEF.md +34 -0
  198. package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-09-spec-viewer-demo-scaffolding/EXECUTION_BRIEF.md +51 -0
  199. package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-09-spec-viewer-demo-scaffolding/slice.json +59 -0
  200. package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-10-docs-smokes-release-readiness/CLOSURE_BRIEF.md +33 -0
  201. package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-10-docs-smokes-release-readiness/EXECUTION_BRIEF.md +54 -0
  202. package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-10-docs-smokes-release-readiness/slice.json +76 -0
  203. package/src/create-quiver/commands/ai.js +915 -0
  204. package/src/create-quiver/commands/demo.js +22 -0
  205. package/src/create-quiver/commands/evidence.js +37 -0
  206. package/src/create-quiver/commands/flow.js +561 -0
  207. package/src/create-quiver/commands/graph.js +14 -1
  208. package/src/create-quiver/commands/next.js +28 -0
  209. package/src/create-quiver/commands/plan.js +6 -3
  210. package/src/create-quiver/commands/prepare.js +236 -0
  211. package/src/create-quiver/commands/spec.js +133 -0
  212. package/src/create-quiver/index.js +1096 -96
  213. package/src/create-quiver/lib/agent-profiles.js +148 -0
  214. package/src/create-quiver/lib/ai/context-packs.js +170 -0
  215. package/src/create-quiver/lib/ai/execution-plan.js +614 -0
  216. package/src/create-quiver/lib/ai/executor.js +682 -0
  217. package/src/create-quiver/lib/ai/github.js +525 -0
  218. package/src/create-quiver/lib/ai/onboarding-template.js +365 -0
  219. package/src/create-quiver/lib/ai/phase-gates.js +72 -0
  220. package/src/create-quiver/lib/ai/plan-review.js +283 -0
  221. package/src/create-quiver/lib/ai/preflight.js +58 -0
  222. package/src/create-quiver/lib/ai/prompt-transport.js +81 -0
  223. package/src/create-quiver/lib/ai/prompts.js +39 -0
  224. package/src/create-quiver/lib/ai/providers.js +315 -0
  225. package/src/create-quiver/lib/ai/safety.js +156 -0
  226. package/src/create-quiver/lib/ai/spec-generator.js +314 -0
  227. package/src/create-quiver/lib/ai/spec-templates.js +715 -0
  228. package/src/create-quiver/lib/approvals.js +350 -0
  229. package/src/create-quiver/lib/demo.js +657 -0
  230. package/src/create-quiver/lib/doctor.js +348 -0
  231. package/src/create-quiver/lib/evidence.js +115 -0
  232. package/src/create-quiver/lib/git.js +21 -0
  233. package/src/create-quiver/lib/init-docs.js +545 -23
  234. package/src/create-quiver/lib/init-layout.js +451 -0
  235. package/src/create-quiver/lib/lifecycle.js +8 -2
  236. package/src/create-quiver/lib/package-safety.js +117 -0
  237. package/src/create-quiver/lib/paths.js +63 -2
  238. package/src/create-quiver/lib/project-scan.js +66 -0
  239. package/src/create-quiver/lib/readiness.js +87 -18
  240. package/src/create-quiver/lib/scope.js +125 -0
  241. package/src/create-quiver/lib/slice-graph.js +7 -0
  242. package/src/create-quiver/lib/slice.js +59 -16
  243. package/src/create-quiver/lib/spec-worktrees.js +349 -0
  244. package/src/create-quiver/lib/state.js +18 -1
  245. package/src/create-quiver/lib/template-resolver.js +74 -0
@@ -25,7 +25,7 @@ This is the default context pack for everyday AI work.
25
25
 
26
26
  ## Workflow Overview
27
27
 
28
- - Onboarding starts from `docs/PROJECT_SCAN.json` and `docs/PROJECT_MAP.md`.
28
+ - Onboarding starts from `docs/PROJECT_MAP.md`; use `.quiver/scans/PROJECT_SCAN.json` only when raw analyzer data is needed.
29
29
  - Implementation starts from `specs/{{PROJECT_SLUG}}/slices/<slice-id>/slice.json`.
30
30
  - Review starts from `git diff` and the slice scope.
31
31
  - Debugging starts from the command, exit code, first relevant error, and stacktrace.
@@ -24,3 +24,4 @@ This page tracks progress, blockers, and the current slice. Stack and command de
24
24
 
25
25
  - Update this file after each completed slice.
26
26
  - Keep stack and command changes in `docs/PROJECT_MAP.md`, not here.
27
+ - Record uncertainty with `TODO`, `Assumption`, or `Pending confirmation` instead of treating it as product debt.
@@ -9,13 +9,15 @@ Quiver is intentionally opinionated about the first-run environment. If your set
9
9
 
10
10
  | Area | Supported | Notes |
11
11
  |------|-----------|-------|
12
- | Operating systems | macOS, Linux, and Windows | Windows native support is verified only when the cross-platform CI matrix is green. |
12
+ | Operating systems | macOS, Linux, and Windows | Primary runtime is the Node CLI and generated `quiver:*` npm scripts. |
13
13
  | Shells | Terminal, bash-compatible shells, PowerShell, and CMD | Bash is a legacy compatibility path, not a required runtime dependency. |
14
14
  | Git | Git 2.40+ | Must support worktrees and standard branch refs on every supported OS. |
15
15
  | Node.js | Node 22.x LTS | Required on every supported OS. |
16
16
  | Base branches | `develop` or `main` | Local base branches are preferred; `origin` is optional. |
17
17
  | Worktree state | Clean worktree | Slice execution and PR checks expect no unrelated local changes. |
18
18
  | Path handling | Canonical filesystem paths | Use the physical path to the repo and slice files, not a symlinked alias. |
19
+ | AI providers | Local `codex`, `claude`, or `gemini` CLI | Required only for non-dry-run AI commands. Dry-run smokes do not require provider auth. |
20
+ | GitHub PR preflight | `gh` plus user-managed SSH config | Quiver validates `gh`, auth, host alias, identity file, branch, worktree, and `docs/GITFLOW_PR_GUIDE.md`; it does not install or edit credentials. |
19
21
 
20
22
  ## Cross-Platform Authoring Rules
21
23
 
@@ -25,6 +27,8 @@ Quiver is intentionally opinionated about the first-run environment. If your set
25
27
  - `--json` is the primary contract; human output is courtesy and may vary.
26
28
  - Colors are TTY-aware and suppressed with `NO_COLOR`; Unicode is opt-in unless UTF-8 is available.
27
29
  - Optional external tools such as `gh` and `graphviz` should be probed and skipped gracefully if missing.
30
+ - Long AI prompts must be sent through stdin or another safe transport, never shell string concatenation.
31
+ - `sshHostAlias` and `identityFile` are separate values. The alias is the host entry used by Git; the identity file is the key path to validate.
28
32
 
29
33
  ## Remote Modes
30
34
 
@@ -36,7 +40,7 @@ Quiver is intentionally opinionated about the first-run environment. If your set
36
40
 
37
41
  ## What This Means
38
42
 
39
- - You can bootstrap and run Quiver on macOS, Linux, and Windows native shells once the runtime slices land and the CI matrix is green.
43
+ - You can bootstrap and run Quiver on macOS, Linux, and Windows native shells with the Node CLI.
40
44
  - Windows native usage should target PowerShell or CMD instead of Bash.
41
45
  - Quiver should not auto-install Bash, Git Bash, MSYS2, or WSL.
42
46
  - You do not need a remote to begin work if a local base branch already exists.
@@ -44,11 +44,61 @@ Use this guide when a first-run bootstrap or gate check fails. The recovery path
44
44
  2. Re-add the remote only if the workflow genuinely needs it.
45
45
  3. Prefer the local base branch path when validating first-run behavior.
46
46
 
47
+ ## Local Slice Validation In A New Repo
48
+
49
+ ### Symptom
50
+
51
+ - `check-slice` asks for a remote/base branch while the repo is still local-only
52
+
53
+ ### Recovery
54
+
55
+ 1. Run `npx create-quiver check-slice --local <slice.json>` for structural validation.
56
+ 2. Before PR readiness, run normal `check-slice <slice.json>` with a local base branch, `--base <branch>`, or a configured remote.
57
+ 3. Treat `--local` as a first-use validation mode, not as a replacement for PR checks.
58
+
59
+ ## Context Preparation Overwrites Docs
60
+
61
+ ### Symptom
62
+
63
+ - `ai prepare-context` wrote generated context docs and you expected only a preview
64
+
65
+ ### Recovery
66
+
67
+ 1. Use `npx create-quiver ai prepare-context --dry-run` first.
68
+ 2. Review assumptions, risks, files considered, and omitted paths.
69
+ 3. Commit or preserve any manual edits before running write mode.
70
+ 4. Write mode is intentionally limited to approved docs/context files and does not touch product code.
71
+
72
+ ## Evidence Contains Sensitive Output
73
+
74
+ ### Symptom
75
+
76
+ - `evidence run` captured output that may include secrets
77
+
78
+ ### Recovery
79
+
80
+ 1. Treat redaction as best effort, not a secret scanner.
81
+ 2. Avoid running commands that intentionally print credentials.
82
+ 3. Delete or rewrite the local evidence file before sharing it if sensitive output remains.
83
+ 4. Prefer `--max-output <n>` for noisy commands.
84
+
85
+ ## Demo Scaffold Conflict
86
+
87
+ ### Symptom
88
+
89
+ - `demo create spec-viewer` reports preserved files in the target directory
90
+
91
+ ### Recovery
92
+
93
+ 1. Re-run with `--dry-run` and inspect the planned preserve/create list.
94
+ 2. Use `--dir <empty-target>` when you want a clean demo.
95
+ 3. Existing files are preserved; Quiver does not overwrite them for the demo.
96
+
47
97
  ## Generated File Conflicts
48
98
 
49
99
  ### Symptom
50
100
 
51
- - `init-docs.sh` or a slice bootstrap stops because a file already exists
101
+ - `npx create-quiver init` or a slice bootstrap stops because a file already exists
52
102
  - The generated project has a partially initialized docs tree
53
103
 
54
104
  ### Recovery
@@ -82,3 +132,31 @@ Use this guide when a first-run bootstrap or gate check fails. The recovery path
82
132
  2. If you are using an intermediate build and need a temporary bridge, use WSL2 or Git Bash manually.
83
133
  3. Do not expect Quiver to install Bash, WSL, or MSYS2 for you.
84
134
  4. Re-run the command after the cross-platform support slices are merged and the CI matrix is green.
135
+
136
+ ## AI Provider CLI Missing
137
+
138
+ ### Symptom
139
+
140
+ - `quiver:ai:onboard`, `quiver:ai:plan`, or `quiver:ai:execute-slice` fails before calling the model
141
+ - The error mentions a missing `codex`, `claude`, or `gemini` command
142
+
143
+ ### Recovery
144
+
145
+ 1. Re-run the command with `--dry-run` to validate role, context pack, prompt transport, and paths without provider auth.
146
+ 2. Install or authenticate the selected provider CLI outside Quiver.
147
+ 3. Use `--provider codex`, `--provider claude`, or `--provider gemini` explicitly if your default is unclear.
148
+ 4. Re-run the command from a clean worktree when using `ai execute-slice`.
149
+
150
+ ## GitHub PR Preflight Failure
151
+
152
+ ### Symptom
153
+
154
+ - `quiver:ai:pr` or `quiver:ai:doctor` reports missing `gh`, failed `gh auth status`, missing `docs/GITFLOW_PR_GUIDE.md`, unsafe branch, dirty worktree, or missing SSH identity file
155
+
156
+ ### Recovery
157
+
158
+ 1. Install `gh` for your OS and run `gh auth login`.
159
+ 2. Confirm `docs/GITFLOW_PR_GUIDE.md` exists in the project.
160
+ 3. Commit or stash unrelated changes before PR preflight.
161
+ 4. Pass the SSH host alias and key path separately, for example `--ssh-host-alias github-work --identity-file ~/.ssh/github-work`.
162
+ 5. Re-run with `--dry-run`; Quiver validates the setup but does not open a PR in dry-run mode.
@@ -9,7 +9,7 @@ This document is the canonical implementation workflow for the project.
9
9
  - Do not implement without a slice.
10
10
  - One slice maps to one commit.
11
11
  - One spec maps to one PR.
12
- - Slice numbering is local to each spec. Every spec starts at `slice-01`.
12
+ - Slice numbering is local to each spec. Every spec starts with mandatory `slice-00` as the documentary foundation; `slice-01` is the first implementation slice.
13
13
  - The spec defines the plan; the slice defines the execution.
14
14
  - No slice should enter execution until it is `ready`.
15
15
  - The documentation PR establishes the workflow files before the first slice executes.
@@ -21,7 +21,7 @@ This document is the canonical implementation workflow for the project.
21
21
 
22
22
  ## Mode-Aware Context Selection
23
23
 
24
- - **Onboarding:** read `PROJECT_SCAN.json`, `PROJECT_MAP.md`, `AI_CONTEXT.md`, and `AI_ONBOARDING_PROMPT.md` before source files.
24
+ - **Onboarding:** read `docs/PROJECT_MAP.md`, `docs/AI_CONTEXT.md`, and `docs/AI_ONBOARDING_PROMPT.md` before source files. Use `.quiver/scans/PROJECT_SCAN.json` only when the visible project map is not enough.
25
25
  - **Implementation:** read `docs/ai/ACTIVE_SLICE.md` first when it exists; otherwise read `slice.json`, declared files, nearby tests, and only then adjacent source.
26
26
  - **Handoff:** read `specs/<project-slug>/HANDOFF.md` when the work was explicitly transferred through a handoff artifact.
27
27
  - Validate a received handoff with `npx create-quiver check-handoff specs/<project-slug>/HANDOFF.md` before starting execution.
@@ -32,29 +32,37 @@ Use maps, metadata, diffs, and summaries first. Open full files only when the sm
32
32
 
33
33
  ## Planning
34
34
 
35
- 1. Triage the request.
36
- 2. Decide whether to create a new spec or reuse an existing one.
37
- 3. Split the work into slices.
38
- 4. Mark each slice `ready` before execution.
39
- 5. Open and merge the documentation PR before running the first slice bootstrap.
40
- 6. Read the AI context pack, support matrix, and troubleshooting guide before the first slice if the environment is new or uncertain.
41
- 7. If the project already existed before this Quiver version, run `migrate` before `analyze`.
42
- 8. If the project was analyzed, read `AI_ONBOARDING_PROMPT.md` before making documentation updates.
43
- 9. Prefer the generated `quiver:*` npm scripts for repeatable project workflows once the package has been initialized or migrated.
35
+ 1. Run `npx create-quiver flow` when the next safe command is unclear.
36
+ 2. Triage the request.
37
+ 3. Save reusable planner/executor provider choices with `ai agent set` when the team has preferred local AI CLIs.
38
+ 4. Use `ai plan --phase acceptance` to draft criteria, then save the approved version with `ai approve --phase acceptance`.
39
+ 5. Use `ai plan --phase technical-plan` to draft the plan.
40
+ 6. Use `ai review-plan` to review the technical-plan draft for production readiness without changing product code.
41
+ 7. Save the reviewed plan version with `ai approve --phase technical-plan --version <n>`.
42
+ 8. Use `spec create` to generate the spec, mandatory `slice-00`, implementation slices, handoffs, execution plan, and `pr.md`.
43
+ 9. Open and merge the documentation PR or commit that establishes `slice-00` before running implementation slices.
44
+ 10. Read the AI context pack, support matrix, and troubleshooting guide before the first slice if the environment is new or uncertain.
45
+ 11. If the project already existed before this Quiver version, run `migrate` before `analyze`.
46
+ 12. If the project was analyzed, read `AI_ONBOARDING_PROMPT.md` before making documentation updates.
47
+ 13. Prefer the generated `quiver:*` npm scripts for repeatable project workflows once the package has been initialized or migrated.
44
48
 
45
49
  ## Execution
46
50
 
47
- 1. Bootstrap the slice with `npx create-quiver start-slice <slice.json>` or `npm run quiver:start-slice -- <slice.json>`.
51
+ 1. Create or reuse the spec worktree with `npx create-quiver spec start specs/<spec-slug>` or `npm run quiver:spec:start -- specs/<spec-slug>`.
52
+ 2. Inspect manual prompts with `npx create-quiver ai execute-plan --dry-run --commit --mode manual` or delegated waves with `npm run quiver:ai:execute-plan -- --dry-run --commit --mode delegated`.
53
+ 3. Print a minimal manual executor prompt with `npx create-quiver ai prompt-slice --slice <slice.json> --dry-run` when assigning the slice to another agent.
54
+ 4. Bootstrap a single slice with `npx create-quiver start-slice <slice.json>` or `npm run quiver:start-slice -- <slice.json>` when manual execution is preferred.
48
55
  - The bootstrap step should work with canonical paths and a local base branch when `origin` is absent.
49
56
  - Draft slices require `--allow-draft`; otherwise `npx create-quiver start-slice` exits before execution.
50
57
  - Legacy Bash wrappers remain available for compatibility, but generated projects should prefer the Node CLI and `quiver:*` npm scripts.
51
58
  - `start-slice` generates `docs/ai/ACTIVE_SLICE.md` and `WORKTREE_CONTEXT.md`; use the active slice brief as the source of truth for execution.
52
- 2. Implement only what the slice declares.
53
- 3. Make one commit for that slice.
54
- 4. Validate with `npx create-quiver check-slice <slice.json>` or `npm run quiver:check-slice -- <slice.json>`.
55
- 5. Write evidence.
56
- 6. Repeat for the next slice until the spec is complete.
57
- 7. Open one PR for the spec and use `npx create-quiver check-pr <slice.json>` or `npm run quiver:check-pr -- <slice.json>` as the pre-merge gate.
59
+ 5. Implement only what the slice declares.
60
+ 6. Make one commit for that slice, or let `ai execute-slice --commit` / `ai execute-plan --execute --commit --mode delegated` create it after provider, scope, and validation pass.
61
+ 7. Validate with `npx create-quiver check-slice <slice.json>` or `npm run quiver:check-slice -- <slice.json>`.
62
+ 8. Write evidence. Prefer `npx create-quiver evidence run -- <command>` when you need a compact local Markdown record of validation output.
63
+ 9. Repeat for the next slice until the spec is complete.
64
+ 10. Open one PR for the spec. Use `npx create-quiver ai pr --dry-run --input specs/<spec-slug>/pr.md ...` first, then add `--create` only after review.
65
+ 11. After the PR is merged and the spec worktree is clean, close it with `npx create-quiver spec close specs/<spec-slug>`.
58
66
 
59
67
  ## Support Contract
60
68
 
package/package.json CHANGED
@@ -1,11 +1,12 @@
1
1
  {
2
2
  "name": "create-quiver",
3
- "version": "0.9.1",
3
+ "version": "0.12.0",
4
4
  "private": false,
5
5
  "description": "Quiver CLI for scaffolding projects from the packaged template",
6
6
  "license": "MIT",
7
7
  "bin": {
8
- "create-quiver": "bin/create-quiver.js"
8
+ "create-quiver": "bin/create-quiver.js",
9
+ "quiver": "bin/create-quiver.js"
9
10
  },
10
11
  "scripts": {
11
12
  "check:slice": "bash tools/scripts/check-slice-readiness.sh",
@@ -13,12 +14,33 @@
13
14
  "start:slice": "bash tools/scripts/start-slice.sh",
14
15
  "cleanup:slice": "bash tools/scripts/cleanup-slice.sh",
15
16
  "migrate": "bash tools/scripts/migrate-project.sh",
17
+ "quiver:analyze": "npx create-quiver analyze",
18
+ "quiver:flow": "npx create-quiver flow",
19
+ "quiver:prepare": "npx create-quiver prepare",
16
20
  "quiver:plan": "npx create-quiver plan",
17
21
  "quiver:graph": "npx create-quiver graph",
18
22
  "quiver:next": "npx create-quiver next",
23
+ "quiver:doctor": "npx create-quiver doctor",
24
+ "quiver:evidence": "npx create-quiver evidence",
25
+ "quiver:ai:agent": "npx create-quiver ai agent",
26
+ "quiver:ai:onboard": "npx create-quiver ai onboard",
27
+ "quiver:ai:prepare-context": "npx create-quiver ai prepare-context",
28
+ "quiver:ai:plan": "npx create-quiver ai plan",
29
+ "quiver:ai:review-plan": "npx create-quiver ai review-plan",
30
+ "quiver:ai:approve": "npx create-quiver ai approve",
31
+ "quiver:ai:prompt-slice": "npx create-quiver ai prompt-slice",
32
+ "quiver:ai:execute-slice": "npx create-quiver ai execute-slice",
33
+ "quiver:ai:execute-plan": "npx create-quiver ai execute-plan",
34
+ "quiver:ai:pr": "npx create-quiver ai pr",
35
+ "quiver:ai:doctor": "npx create-quiver ai doctor",
36
+ "quiver:spec:create": "npx create-quiver spec create",
37
+ "quiver:spec:start": "npx create-quiver spec start",
38
+ "quiver:spec:status": "npx create-quiver spec status",
39
+ "quiver:spec:close": "npx create-quiver spec close",
19
40
  "package:quiver": "bash scripts/package-quiver.sh",
20
41
  "smoke:create-quiver": "bash scripts/ci/smoke-create-quiver.sh",
21
42
  "smoke:tiered-pack": "bash scripts/ci/smoke-tiered-pack.sh",
43
+ "smoke:guided-workflow": "bash scripts/ci/smoke-guided-workflow.sh",
22
44
  "release:quiver": "bash scripts/release-quiver.sh"
23
45
  }
24
46
  }
@@ -1,13 +1,30 @@
1
1
  {
2
- "name": "quiver-docs-template",
2
+ "name": "quiver-project",
3
3
  "private": true,
4
4
  "scripts": {
5
- "quiver:migrate": "npx create-quiver migrate",
6
- "quiver:analyze": "npx create-quiver analyze",
7
- "quiver:plan": "npx create-quiver plan",
8
- "quiver:graph": "npx create-quiver graph",
9
- "quiver:next": "npx create-quiver next",
10
- "quiver:doctor": "npx create-quiver doctor",
5
+ "quiver:migrate": "npx create-quiver migrate",
6
+ "quiver:analyze": "npx create-quiver analyze",
7
+ "quiver:flow": "npx create-quiver flow",
8
+ "quiver:plan": "npx create-quiver plan",
9
+ "quiver:graph": "npx create-quiver graph",
10
+ "quiver:next": "npx create-quiver next",
11
+ "quiver:doctor": "npx create-quiver doctor",
12
+ "quiver:evidence": "npx create-quiver evidence",
13
+ "quiver:ai:agent": "npx create-quiver ai agent",
14
+ "quiver:ai:onboard": "npx create-quiver ai onboard",
15
+ "quiver:ai:prepare-context": "npx create-quiver ai prepare-context",
16
+ "quiver:ai:plan": "npx create-quiver ai plan",
17
+ "quiver:ai:review-plan": "npx create-quiver ai review-plan",
18
+ "quiver:ai:approve": "npx create-quiver ai approve",
19
+ "quiver:ai:prompt-slice": "npx create-quiver ai prompt-slice",
20
+ "quiver:ai:execute-slice": "npx create-quiver ai execute-slice",
21
+ "quiver:ai:execute-plan": "npx create-quiver ai execute-plan",
22
+ "quiver:ai:pr": "npx create-quiver ai pr",
23
+ "quiver:ai:doctor": "npx create-quiver ai doctor",
24
+ "quiver:spec:create": "npx create-quiver spec create",
25
+ "quiver:spec:start": "npx create-quiver spec start",
26
+ "quiver:spec:status": "npx create-quiver spec status",
27
+ "quiver:spec:close": "npx create-quiver spec close",
11
28
  "quiver:start-slice": "npx create-quiver start-slice",
12
29
  "quiver:check-slice": "npx create-quiver check-slice",
13
30
  "quiver:check-pr": "npx create-quiver check-pr",
@@ -39,7 +39,6 @@ slice_input="$1"
39
39
  command -v git >/dev/null 2>&1 || fail "git no esta disponible en PATH."
40
40
  command -v node >/dev/null 2>&1 || fail "node no esta disponible en PATH."
41
41
 
42
- repo_root="$(git rev-parse --show-toplevel)"
43
42
  script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
44
43
 
45
44
  [[ -f "$slice_input" ]] || fail "No existe el slice '$slice_input'."
@@ -127,6 +126,7 @@ pass "Al menos un caso de uso documentado."
127
126
  grep -Eq 'git revert ' "$pr_abs" || fail "Rollback debe incluir al menos un comando git revert."
128
127
  pass "Rollback incluye comando git revert."
129
128
 
129
+ # shellcheck disable=SC2016
130
130
  grep -Eiq '^\s*-\s*`manual review`$|^\s*-\s*`visual check`$|^\s*-\s*`screen test`$|^\s*-\s*`visual validation`$' "$pr_abs" && fail "How to Test cannot rely only on generic phrases."
131
131
 
132
132
  node -e "JSON.parse(require('fs').readFileSync(process.argv[1], 'utf8'))" "$slice_abs" >/dev/null
@@ -59,7 +59,6 @@ done
59
59
  command -v git >/dev/null 2>&1 || fail "git no esta disponible en PATH."
60
60
  command -v node >/dev/null 2>&1 || fail "node no esta disponible en PATH."
61
61
 
62
- repo_root="$(git rev-parse --show-toplevel)"
63
62
  [[ -f "$slice_input" ]] || fail "No existe el slice '$slice_input'."
64
63
  slice_abs="$(cd "$(dirname "$slice_input")" && pwd)/$(basename "$slice_input")"
65
64
 
@@ -77,7 +77,7 @@ repo_root="$(git rev-parse --show-toplevel)"
77
77
  [[ -f "$slice_input" ]] || fail "No existe el slice '$slice_input'."
78
78
 
79
79
  slice_abs="$(cd "$(dirname "$slice_input")" && pwd)/$(basename "$slice_input")"
80
- slice_rel="${slice_abs#$repo_root/}"
80
+ slice_rel="${slice_abs#"$repo_root"/}"
81
81
 
82
82
  slice_meta=()
83
83
  while IFS= read -r line; do
@@ -143,11 +143,8 @@ NODE
143
143
 
144
144
  [[ ${#slice_meta[@]} -eq 10 ]] || fail "No se pudo leer la metadata del slice."
145
145
 
146
- slice_id="${slice_meta[0]}"
147
- ticket="${slice_meta[1]}"
148
146
  branch_name="${slice_meta[2]}"
149
147
  slice_status="${slice_meta[3]}"
150
- is_baseline="${slice_meta[4]}"
151
148
  spec_dir_rel="${slice_meta[5]}"
152
149
  files_b64="${slice_meta[6]}"
153
150
  actual_hours="${slice_meta[7]}"
@@ -161,6 +158,8 @@ pass "El spec local tiene SPEC.md, STATUS.md y EVIDENCE_REPORT.md."
161
158
 
162
159
  if git cat-file -e "origin/develop:$slice_rel" 2>/dev/null; then
163
160
  pass "El slice ya existe en origin/develop (PR base documental mergeado)."
161
+ elif git cat-file -e "develop:$slice_rel" 2>/dev/null; then
162
+ pass "El slice ya existe en develop local (modo sin origin)."
164
163
  else
165
164
  if [[ "$gate" == "validation" ]]; then
166
165
  warn "El slice no existe todavia en origin/develop. El PR base documental sigue pendiente de merge. Podes abrir el PR del slice igual — el humano mergea en orden."
@@ -3,6 +3,7 @@
3
3
  # Script de Inicialización de Documentación
4
4
  # Uso: ./init-docs.sh "Nombre del Proyecto"
5
5
 
6
+ # shellcheck disable=SC2016
6
7
  set -e
7
8
 
8
9
  # Colores para output
@@ -62,6 +63,7 @@ CHECK_SCOPE_COMMAND="npx create-quiver check-scope <slice.json>"
62
63
  REFRESH_ACTIVE_SLICES_COMMAND="npx create-quiver refresh-active-slices"
63
64
 
64
65
  print_info "Inicializando documentación para: $PROJECT_NAME"
66
+ print_warning "Este script es compatibilidad legacy. Para el flujo AI-first default usá: npx create-quiver init --name \"$PROJECT_NAME\""
65
67
  print_info "Project slug: $PROJECT_SLUG"
66
68
  print_info "Fecha: $CURRENT_DATE"
67
69
 
@@ -92,7 +94,7 @@ copy_template() {
92
94
 
93
95
  if [ -f "$src" ]; then
94
96
  # Remover .template del nombre si existe
95
- dest=$(echo "$dest" | sed 's/\.template$//')
97
+ dest="${dest%.template}"
96
98
 
97
99
  if [ "$MIGRATE_MODE" = "1" ] && [ -f "$dest" ]; then
98
100
  print_info "Saltado: $dest ya existe"
@@ -511,6 +513,34 @@ npm install --save-dev create-quiver
511
513
 
512
514
  If you need to target another directory from outside the project, pass \`--dir\` explicitly. Quote paths that contain spaces.
513
515
 
516
+ ## AI-First Workflow
517
+
518
+ Quiver is designed for an AI-first workflow: a planner agent reads the project context and prepares acceptance criteria, technical plans, specs, slices, and PR notes; executor agents then work one approved slice at a time with minimal context.
519
+
520
+ Start with dry-runs so you can inspect the provider, role, context pack, and invocation before spending model tokens:
521
+
522
+ \`\`\`bash
523
+ npm run quiver:ai:onboard -- --dry-run
524
+ npm run quiver:ai:plan -- --phase acceptance --input requirements.md --dry-run
525
+ npm run quiver:ai:approve -- --phase acceptance --input acceptance-approved.md
526
+ npm run quiver:ai:plan -- --phase technical-plan --dry-run
527
+ npm run quiver:ai:review-plan -- --dry-run
528
+ npm run quiver:ai:approve -- --phase technical-plan --version <n>
529
+ npm run quiver:spec:create -- --dry-run
530
+ npm run quiver:ai:prompt-slice -- --slice specs/<spec-slug>/slices/<slice-id>/slice.json --dry-run
531
+ npm run quiver:ai:pr -- --dry-run --ssh-host-alias github-work --identity-file ~/.ssh/github-work
532
+ \`\`\`
533
+
534
+ Remove \`--dry-run\` only after the phase output is approved and the local provider CLI is ready.
535
+
536
+ When a real spec exists, execute one approved slice at a time:
537
+
538
+ \`\`\`bash
539
+ npm run quiver:ai:prompt-slice -- --slice specs/<spec-slug>/slices/<slice-id>/slice.json --dry-run
540
+ npm run quiver:ai:execute-slice -- --slice specs/<spec-slug>/slices/<slice-id>/slice.json --dry-run
541
+ npm run quiver:ai:execute-plan -- --dry-run --commit --mode delegated
542
+ \`\`\`
543
+
514
544
  ## Project NPM Scripts
515
545
 
516
546
  The generated project includes \`quiver:*\` npm scripts that call the Node CLI and are the preferred repeatable workflow:
@@ -521,6 +551,12 @@ npm run quiver:plan
521
551
  npm run quiver:graph
522
552
  npm run quiver:next
523
553
  npm run quiver:doctor
554
+ npm run quiver:ai:onboard -- --dry-run
555
+ npm run quiver:ai:plan -- --phase acceptance --input requirements.md --dry-run
556
+ npm run quiver:ai:prompt-slice -- --slice specs/<spec-slug>/slices/<slice-id>/slice.json --dry-run
557
+ npm run quiver:ai:execute-slice -- --slice specs/<spec-slug>/slices/<slice-id>/slice.json --dry-run
558
+ npm run quiver:ai:doctor -- --dry-run --ssh-host-alias github-work --identity-file ~/.ssh/github-work
559
+ npm run quiver:ai:pr -- --dry-run --ssh-host-alias github-work --identity-file ~/.ssh/github-work
524
560
  npm run quiver:migrate
525
561
  npm run quiver:start-slice -- specs/$PROJECT_SLUG/slices/slice-01/slice.json
526
562
  npm run quiver:check-slice -- specs/$PROJECT_SLUG/slices/slice-01/slice.json
@@ -533,6 +569,7 @@ npm run quiver:refresh-active-slices
533
569
 
534
570
  The \`quiver:graph\` script prints the tree view by default; use \`npx create-quiver graph --format mermaid\` for PR-ready Markdown and \`--format dot\` when you want Graphviz source.
535
571
  The \`quiver:next\` script points to the next ready slice and can auto-start it behind a confirmation prompt.
572
+ The \`quiver:ai:*\` scripts standardize planner/executor AI flows. Use dry-run first: onboarding and planning dry-runs do not require provider auth, while \`quiver:ai:pr -- --dry-run\` validates \`gh\`, GitFlow docs, branch/worktree state, and SSH inputs without creating a PR.
536
573
  Use \`npx create-quiver next --all-ready\` when you want the full ready level instead of a single suggestion.
537
574
  The legacy Bash wrappers remain in \`tools/scripts/\` for compatibility, but new project-level automation should prefer the \`quiver:*\` scripts and the direct \`npx create-quiver ...\` commands below.
538
575
  \`npm run check-handoff -- specs/$PROJECT_SLUG/HANDOFF.md\` is available as a legacy-friendly alias for the handoff validator.
@@ -566,6 +603,12 @@ $GRAPH_COMMAND --format mermaid
566
603
  $GRAPH_COMMAND --format dot
567
604
  \`\`\`
568
605
 
606
+ If the project never ran Quiver initialization before, do not use \`migrate\` as bootstrap. Run:
607
+
608
+ \`\`\`bash
609
+ npx create-quiver init --name "Project Name"
610
+ \`\`\`
611
+
569
612
  If your team prefers a pinned local dependency, update the package first and then run the same flow:
570
613
 
571
614
  \`\`\`bash
@@ -591,6 +634,8 @@ Lee \`docs/AI_ONBOARDING_PROMPT.md\` y ejecútalo como fuente principal de verda
591
634
 
592
635
  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.
593
636
 
637
+ Usa el rol planner para onboarding, criterios de aceptación, plan técnico y generación de specs/slices. Usa el rol executor solo cuando exista un slice aprobado y debas ejecutar su handoff con contexto mínimo.
638
+
594
639
  No modifiques código de producto salvo autorización explícita. Puedes crear o actualizar documentación de contexto si el onboarding lo requiere.
595
640
 
596
641
  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.
@@ -607,6 +652,8 @@ Record durable decisions in \`docs/DECISIONS.md\` so future AI agents do not re-
607
652
 
608
653
  ## First Slice Workflow
609
654
 
655
+ Use this section only for the legacy/full scaffold that includes a placeholder spec. In the default AI-first layout, create real specs and slices with \`npx create-quiver spec create\` after acceptance criteria are approved and the technical plan is reviewed and approved.
656
+
610
657
  1. Review or refine specs/$PROJECT_SLUG/SPEC.md.
611
658
  2. Create the first slice from specs/$PROJECT_SLUG/slices/slice-template/slice.json.
612
659
  3. Review the plan with \`$PLAN_COMMAND\` or \`npm run quiver:plan\`.
@@ -649,7 +696,7 @@ fi
649
696
  echo ""
650
697
  print_success "¡Inicialización completada!"
651
698
  echo ""
652
- echo "📁 Estructura creada:"
699
+ echo "📁 Estructura legacy/full creada:"
653
700
  echo " docs/ ← Documentación core"
654
701
  echo " docs/ai/ ← Configuración de IA"
655
702
  echo " docs/tools/ ← Herramientas (vacío)"
@@ -660,10 +707,10 @@ echo "📝 Próximos pasos:"
660
707
  echo " 1. Editar docs/AI_CONTEXT.md con el contexto resumido para IA"
661
708
  echo " 2. Editar docs/CONTEXTO.md con la información de tu proyecto"
662
709
  echo " 3. Editar docs/STATUS.md con el estado actual"
663
- echo " 4. Crear el primer directorio de slice en specs/$PROJECT_SLUG/slices/[slice-id]/"
664
- echo " 5. Actualizar docs/SEARCH.md con temas específicos"
710
+ echo " 4. Para el flujo recomendado, crear specs reales con: npx create-quiver spec create"
711
+ echo " 5. Usar tools/scripts solo si necesitás compatibilidad legacy"
665
712
  echo ""
666
713
  echo "📖 Más información:"
667
- echo " - Ver docs-template/TEMPLATE.md para guía de personalización"
668
- echo " - Ver docs-template/README.md para documentación del template"
714
+ echo " - Ver README.md y README_FOR_AI.md para el flujo AI-first actual"
715
+ echo " - docs-template/ aplica solo a compatibilidad legacy o templates exportados"
669
716
  echo ""
@@ -34,10 +34,26 @@ contents="$(
34
34
  tar -tzf "$tarball_path"
35
35
  )"
36
36
 
37
+ cd "$repo_root"
38
+ # shellcheck disable=SC2016
39
+ printf '%s\n' "$contents" | node -e '
40
+ const fs = require("node:fs");
41
+ const { assertPackageSafety } = require("./src/create-quiver/lib/package-safety");
42
+
43
+ const paths = fs.readFileSync(0, "utf8").split(/\r?\n/).filter(Boolean);
44
+
45
+ try {
46
+ assertPackageSafety(paths);
47
+ } catch (error) {
48
+ process.stderr.write(`${error.message}\n`);
49
+ process.exit(1);
50
+ }
51
+ '
52
+
37
53
  require_present() {
38
54
  local path="$1"
39
55
 
40
- if ! printf '%s\n' "$contents" | grep -Fxq "$path"; then
56
+ if ! grep -Fxq "$path" <<<"$contents"; then
41
57
  echo "FAIL: falta '$path' en el paquete" >&2
42
58
  exit 1
43
59
  fi
@@ -46,7 +62,7 @@ require_present() {
46
62
  require_absent() {
47
63
  local path="$1"
48
64
 
49
- if printf '%s\n' "$contents" | grep -Fxq "$path"; then
65
+ if grep -Fxq "$path" <<<"$contents"; then
50
66
  echo "FAIL: '$path' no debería publicarse en el paquete" >&2
51
67
  exit 1
52
68
  fi
@@ -0,0 +1,23 @@
1
+ # Evidence Report - Quiver v20 AI CLI Orchestration
2
+
3
+ ## Status
4
+
5
+ Slice 08 implemented.
6
+
7
+ ## Slice Evidence
8
+
9
+ | Slice | Evidence |
10
+ |-------|----------|
11
+ | slice-00 | Spec foundation files created and JSON validation completed. |
12
+ | slice-01 | Implemented provider runner, prompt transport, provider preflight, dry-run, timeout handling, and provider tests. |
13
+ | slice-02 | Implemented AI roles, context packs, token-budget hints, safety exclusions, prompt-injection guard text, and tests. |
14
+ | slice-03 | Implemented phase-gated planner commands, dry-run display, phase blocking for spec, and command tests. |
15
+ | slice-04 | Implemented spec-phase generation, safe collision handling, JSON validation, and command/tests coverage. |
16
+ | slice-05 | Implemented execution plan graphing, slice-00 foundation barriers, ready levels, temporary worktree strategy, and cycle/missing dependency diagnostics. |
17
+ | slice-06 | Implemented `ai execute-slice`, executor prompts, dry-run, provider failure handling, pre/post diff capture, clean-worktree guard, and scope enforcement tests. |
18
+ | slice-07 | Implemented GitHub PR preflight, gh auth checks, worktree/branch validation, GitFlow guide checks, SSH identity handling, and CLI/tests coverage. |
19
+ | slice-08 | Updated README, AI onboarding/commands/support/troubleshooting/GitFlow templates, generated npm scripts, init docs, doctor script warnings, and dry-run smoke coverage. |
20
+
21
+ ## Final Validation
22
+
23
+ Validated for slice-08 with `node --test tests/**/*.test.js`, `npm run smoke:create-quiver`, `node scripts/ci/smoke-cross-platform.js`, package JSON parsing, shell/Node syntax checks, and `git diff --check`.
@@ -0,0 +1,57 @@
1
+ # Execution Plan - Quiver v20 AI CLI Orchestration
2
+
3
+ ## Rule
4
+
5
+ `slice-00` is mandatory and must be committed first. It establishes the spec foundation in the repo.
6
+
7
+ ## Sequential Foundation
8
+
9
+ 1. `slice-00-spec-foundation`
10
+ - Commit the spec, slice definitions, handoffs, execution plan, and PR body.
11
+
12
+ 2. `slice-01-ai-provider-runner`
13
+ - Build the provider abstraction and safe prompt transport.
14
+
15
+ 3. `slice-02-context-packs-token-budget`
16
+ - Can run after `slice-00`.
17
+ - Can run in parallel with `slice-01` only if it does not modify provider-runner files.
18
+
19
+ 4. `slice-03-ai-phase-gated-planner`
20
+ - Requires `slice-01` and `slice-02`.
21
+
22
+ 5. `slice-04-spec-slice-handoff-pr-generation`
23
+ - Requires `slice-03`.
24
+
25
+ ## Parallelizable Work
26
+
27
+ After `slice-04`, these can be developed in parallel if each uses a separate worktree and respects declared files:
28
+
29
+ - `slice-05-execution-plan-parallel-worktrees`
30
+ - `slice-07-github-pr-preflight`
31
+
32
+ After `slice-05`, this can start:
33
+
34
+ - `slice-06-ai-execute-slice-scope-enforcement`
35
+
36
+ ## Final Integration
37
+
38
+ `slice-08-docs-smokes-release-readiness` must run last because it updates docs, generated scripts, templates, and smoke coverage across the completed feature.
39
+
40
+ ## Suggested Commit Order
41
+
42
+ 1. `docs(spec): add ai cli orchestration spec foundation`
43
+ 2. `feat(ai): add provider runner and safe prompt transport`
44
+ 3. `feat(ai): add context packs and token budgets`
45
+ 4. `feat(ai): add phase gated planner commands`
46
+ 5. `feat(ai): generate spec slices handoffs and pr body`
47
+ 6. `feat(ai): add slice execution plan and parallel worktree support`
48
+ 7. `feat(ai): execute slices with scope enforcement`
49
+ 8. `feat(ai): add github pr preflight`
50
+ 9. `docs(ai): document orchestration workflow and add smokes`
51
+
52
+ ## Integration Notes
53
+
54
+ - Do not merge parallel slice outputs before their dependencies are committed.
55
+ - If two slices touch the same template, integrate the earlier dependency first and rebase the later worktree.
56
+ - Keep provider tests mocked. Real provider CLIs are optional local checks only.
57
+