create-quiver 0.10.0 → 0.12.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/BACKLOG.md +16 -17
- package/CHANGELOG.md +78 -0
- package/README.md +208 -41
- package/README_FOR_AI.md +50 -24
- package/ROADMAP.md +34 -11
- package/docs/AI_CONTEXT.md.template +2 -0
- package/docs/AI_ONBOARDING_PROMPT.md.template +31 -18
- package/docs/COMMANDS.md.template +90 -16
- package/docs/CONTEXTO.md.template +2 -0
- package/docs/DECISIONS.md.template +1 -0
- package/docs/INDEX.md.template +20 -18
- package/docs/STATUS.md.template +6 -1
- package/docs/SUPPORT_MATRIX.md.template +2 -2
- package/docs/TROUBLESHOOTING.md.template +50 -0
- package/docs/WORKFLOW.md.template +27 -17
- package/package.json +27 -4
- package/package.template.json +13 -1
- package/scripts/init-docs.sh +11 -4
- package/scripts/package-quiver.sh +18 -2
- package/specs/quiver-v22-guided-ai-workflow/EVIDENCE_REPORT.md +58 -0
- package/specs/quiver-v22-guided-ai-workflow/EXECUTION_PLAN.md +88 -0
- package/specs/quiver-v22-guided-ai-workflow/SPEC.md +228 -0
- package/specs/quiver-v22-guided-ai-workflow/STATUS.md +42 -0
- package/specs/quiver-v22-guided-ai-workflow/pr.md +104 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-00-spec-foundation/CLOSURE_BRIEF.md +35 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-00-spec-foundation/EXECUTION_BRIEF.md +61 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-00-spec-foundation/slice.json +51 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-01-docs-source-of-truth-sync/CLOSURE_BRIEF.md +31 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-01-docs-source-of-truth-sync/EXECUTION_BRIEF.md +58 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-01-docs-source-of-truth-sync/slice.json +55 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-02-prepare-command-diagnostics/CLOSURE_BRIEF.md +30 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-02-prepare-command-diagnostics/EXECUTION_BRIEF.md +57 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-02-prepare-command-diagnostics/slice.json +57 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-03-context-doc-refresh/CLOSURE_BRIEF.md +32 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-03-context-doc-refresh/EXECUTION_BRIEF.md +56 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-03-context-doc-refresh/slice.json +56 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-04-planner-approval-state/CLOSURE_BRIEF.md +33 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-04-planner-approval-state/EXECUTION_BRIEF.md +56 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-04-planner-approval-state/slice.json +58 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-05-spec-worktree-lifecycle/CLOSURE_BRIEF.md +32 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-05-spec-worktree-lifecycle/EXECUTION_BRIEF.md +56 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-05-spec-worktree-lifecycle/slice.json +54 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-06-executor-commit-recovery/CLOSURE_BRIEF.md +32 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-06-executor-commit-recovery/EXECUTION_BRIEF.md +58 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-06-executor-commit-recovery/slice.json +57 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-07-execution-waves-delegation/CLOSURE_BRIEF.md +32 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-07-execution-waves-delegation/EXECUTION_BRIEF.md +58 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-07-execution-waves-delegation/slice.json +55 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-08-pr-create-gh-ssh/CLOSURE_BRIEF.md +32 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-08-pr-create-gh-ssh/EXECUTION_BRIEF.md +58 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-08-pr-create-gh-ssh/slice.json +53 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-09-post-merge-cleanup-release-safety/CLOSURE_BRIEF.md +33 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-09-post-merge-cleanup-release-safety/EXECUTION_BRIEF.md +59 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-09-post-merge-cleanup-release-safety/slice.json +59 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-10-docs-smokes-release-readiness/CLOSURE_BRIEF.md +34 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-10-docs-smokes-release-readiness/EXECUTION_BRIEF.md +58 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-10-docs-smokes-release-readiness/slice.json +60 -0
- package/specs/quiver-v23-guided-flow-productization/EVIDENCE_REPORT.md +80 -0
- package/specs/quiver-v23-guided-flow-productization/EXECUTION_PLAN.md +80 -0
- package/specs/quiver-v23-guided-flow-productization/SPEC.md +203 -0
- package/specs/quiver-v23-guided-flow-productization/STATUS.md +39 -0
- package/specs/quiver-v23-guided-flow-productization/pr.md +119 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-00-spec-foundation/CLOSURE_BRIEF.md +30 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-00-spec-foundation/EXECUTION_BRIEF.md +61 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-00-spec-foundation/slice.json +51 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-01-short-command-and-flow-entrypoint/CLOSURE_BRIEF.md +33 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-01-short-command-and-flow-entrypoint/EXECUTION_BRIEF.md +35 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-01-short-command-and-flow-entrypoint/slice.json +56 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-02-flow-status-wizard/CLOSURE_BRIEF.md +31 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-02-flow-status-wizard/EXECUTION_BRIEF.md +29 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-02-flow-status-wizard/slice.json +55 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-03-agent-profiles/CLOSURE_BRIEF.md +33 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-03-agent-profiles/EXECUTION_BRIEF.md +29 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-03-agent-profiles/slice.json +54 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-04-context-preparation-onboarding/CLOSURE_BRIEF.md +32 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-04-context-preparation-onboarding/EXECUTION_BRIEF.md +30 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-04-context-preparation-onboarding/slice.json +59 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-05-planner-iteration-history/CLOSURE_BRIEF.md +31 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-05-planner-iteration-history/EXECUTION_BRIEF.md +29 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-05-planner-iteration-history/slice.json +53 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-06-production-plan-review/CLOSURE_BRIEF.md +33 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-06-production-plan-review/EXECUTION_BRIEF.md +30 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-06-production-plan-review/slice.json +54 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-07-spec-create-experience/CLOSURE_BRIEF.md +33 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-07-spec-create-experience/EXECUTION_BRIEF.md +30 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-07-spec-create-experience/slice.json +55 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-08-executor-prompt-generation/CLOSURE_BRIEF.md +32 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-08-executor-prompt-generation/EXECUTION_BRIEF.md +30 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-08-executor-prompt-generation/slice.json +55 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-09-delegated-slice-execution/CLOSURE_BRIEF.md +33 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-09-delegated-slice-execution/EXECUTION_BRIEF.md +34 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-09-delegated-slice-execution/slice.json +57 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-10-docs-smokes-release-readiness/CLOSURE_BRIEF.md +33 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-10-docs-smokes-release-readiness/EXECUTION_BRIEF.md +32 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-10-docs-smokes-release-readiness/slice.json +63 -0
- package/specs/quiver-v24-dx-onboarding-hardening/EVIDENCE_REPORT.md +55 -0
- package/specs/quiver-v24-dx-onboarding-hardening/EXECUTION_PLAN.md +43 -0
- package/specs/quiver-v24-dx-onboarding-hardening/SPEC.md +149 -0
- package/specs/quiver-v24-dx-onboarding-hardening/STATUS.md +31 -0
- package/specs/quiver-v24-dx-onboarding-hardening/pr.md +76 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-00-spec-foundation/CLOSURE_BRIEF.md +31 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-00-spec-foundation/EXECUTION_BRIEF.md +52 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-00-spec-foundation/slice.json +51 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-01-init-template-hygiene/CLOSURE_BRIEF.md +38 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-01-init-template-hygiene/EXECUTION_BRIEF.md +53 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-01-init-template-hygiene/slice.json +55 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-02-cli-command-routing-version-errors/CLOSURE_BRIEF.md +33 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-02-cli-command-routing-version-errors/EXECUTION_BRIEF.md +50 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-02-cli-command-routing-version-errors/slice.json +52 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-03-doctor-fix-doc-link-checks/CLOSURE_BRIEF.md +33 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-03-doctor-fix-doc-link-checks/EXECUTION_BRIEF.md +50 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-03-doctor-fix-doc-link-checks/slice.json +53 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-04-prepare-output-ai-context-drafts/CLOSURE_BRIEF.md +33 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-04-prepare-output-ai-context-drafts/EXECUTION_BRIEF.md +50 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-04-prepare-output-ai-context-drafts/slice.json +70 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-05-local-slice-validation-base-guidance/CLOSURE_BRIEF.md +36 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-05-local-slice-validation-base-guidance/EXECUTION_BRIEF.md +49 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-05-local-slice-validation-base-guidance/slice.json +52 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-06-plan-graph-next-history-views/CLOSURE_BRIEF.md +43 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-06-plan-graph-next-history-views/EXECUTION_BRIEF.md +53 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-06-plan-graph-next-history-views/slice.json +60 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-07-analyzer-command-map-hardening/CLOSURE_BRIEF.md +32 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-07-analyzer-command-map-hardening/EXECUTION_BRIEF.md +50 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-07-analyzer-command-map-hardening/slice.json +51 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-08-evidence-run-command/CLOSURE_BRIEF.md +34 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-08-evidence-run-command/EXECUTION_BRIEF.md +52 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-08-evidence-run-command/slice.json +54 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-09-spec-viewer-demo-scaffolding/CLOSURE_BRIEF.md +34 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-09-spec-viewer-demo-scaffolding/EXECUTION_BRIEF.md +51 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-09-spec-viewer-demo-scaffolding/slice.json +59 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-10-docs-smokes-release-readiness/CLOSURE_BRIEF.md +33 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-10-docs-smokes-release-readiness/EXECUTION_BRIEF.md +54 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-10-docs-smokes-release-readiness/slice.json +76 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/EVIDENCE_REPORT.md +293 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/EXECUTION_PLAN.md +58 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/SPEC.md +242 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/STATUS.md +35 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/pr.md +77 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-00-spec-foundation/CLOSURE_BRIEF.md +34 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-00-spec-foundation/EXECUTION_BRIEF.md +52 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-00-spec-foundation/slice.json +52 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-01-cli-contract-compatibility/CLOSURE_BRIEF.md +36 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-01-cli-contract-compatibility/EXECUTION_BRIEF.md +52 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-01-cli-contract-compatibility/slice.json +56 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-02-run-state-phase-locks/CLOSURE_BRIEF.md +43 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-02-run-state-phase-locks/EXECUTION_BRIEF.md +54 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-02-run-state-phase-locks/slice.json +52 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-03-safe-ai-onboarding-docs/CLOSURE_BRIEF.md +35 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-03-safe-ai-onboarding-docs/EXECUTION_BRIEF.md +53 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-03-safe-ai-onboarding-docs/slice.json +54 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-04-agent-profiles-adapters/CLOSURE_BRIEF.md +34 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-04-agent-profiles-adapters/EXECUTION_BRIEF.md +54 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-04-agent-profiles-adapters/slice.json +52 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-05-approval-gates/CLOSURE_BRIEF.md +34 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-05-approval-gates/EXECUTION_BRIEF.md +54 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-05-approval-gates/slice.json +53 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-06-spec-slice-generator/CLOSURE_BRIEF.md +33 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-06-spec-slice-generator/EXECUTION_BRIEF.md +56 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-06-spec-slice-generator/slice.json +55 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-07-slice-execution-planner/CLOSURE_BRIEF.md +33 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-07-slice-execution-planner/EXECUTION_BRIEF.md +54 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-07-slice-execution-planner/slice.json +52 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-08-controlled-slice-execution/CLOSURE_BRIEF.md +39 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-08-controlled-slice-execution/EXECUTION_BRIEF.md +56 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-08-controlled-slice-execution/slice.json +53 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-09-git-worktree-pr-lifecycle/CLOSURE_BRIEF.md +38 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-09-git-worktree-pr-lifecycle/EXECUTION_BRIEF.md +57 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-09-git-worktree-pr-lifecycle/slice.json +52 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-10-validation-errors-fixtures/CLOSURE_BRIEF.md +39 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-10-validation-errors-fixtures/EXECUTION_BRIEF.md +55 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-10-validation-errors-fixtures/slice.json +56 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-11-export-dashboard-migration/CLOSURE_BRIEF.md +36 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-11-export-dashboard-migration/EXECUTION_BRIEF.md +54 -0
- package/specs/quiver-v25-ai-first-lifecycle-orchestrator/slices/slice-11-export-dashboard-migration/slice.json +53 -0
- package/specs/quiver-v26-0121-smoke-hardening/EVIDENCE_REPORT.md +208 -0
- package/specs/quiver-v26-0121-smoke-hardening/EXECUTION_PLAN.md +57 -0
- package/specs/quiver-v26-0121-smoke-hardening/SPEC.md +137 -0
- package/specs/quiver-v26-0121-smoke-hardening/STATUS.md +32 -0
- package/specs/quiver-v26-0121-smoke-hardening/pr.md +96 -0
- package/specs/quiver-v26-0121-smoke-hardening/slices/slice-00-docs-foundation/CLOSURE_BRIEF.md +35 -0
- package/specs/quiver-v26-0121-smoke-hardening/slices/slice-00-docs-foundation/EXECUTION_BRIEF.md +55 -0
- package/specs/quiver-v26-0121-smoke-hardening/slices/slice-00-docs-foundation/slice.json +73 -0
- package/specs/quiver-v26-0121-smoke-hardening/slices/slice-01-cli-help-version-contract/CLOSURE_BRIEF.md +38 -0
- package/specs/quiver-v26-0121-smoke-hardening/slices/slice-01-cli-help-version-contract/EXECUTION_BRIEF.md +51 -0
- package/specs/quiver-v26-0121-smoke-hardening/slices/slice-01-cli-help-version-contract/slice.json +76 -0
- package/specs/quiver-v26-0121-smoke-hardening/slices/slice-02-init-doc-links-and-flow-guidance/CLOSURE_BRIEF.md +37 -0
- package/specs/quiver-v26-0121-smoke-hardening/slices/slice-02-init-doc-links-and-flow-guidance/EXECUTION_BRIEF.md +52 -0
- package/specs/quiver-v26-0121-smoke-hardening/slices/slice-02-init-doc-links-and-flow-guidance/slice.json +75 -0
- package/specs/quiver-v26-0121-smoke-hardening/slices/slice-03-ai-approval-review-consistency/CLOSURE_BRIEF.md +37 -0
- package/specs/quiver-v26-0121-smoke-hardening/slices/slice-03-ai-approval-review-consistency/EXECUTION_BRIEF.md +53 -0
- package/specs/quiver-v26-0121-smoke-hardening/slices/slice-03-ai-approval-review-consistency/slice.json +77 -0
- package/specs/quiver-v26-0121-smoke-hardening/slices/slice-04-local-validation-brief-contracts/CLOSURE_BRIEF.md +35 -0
- package/specs/quiver-v26-0121-smoke-hardening/slices/slice-04-local-validation-brief-contracts/EXECUTION_BRIEF.md +52 -0
- package/specs/quiver-v26-0121-smoke-hardening/slices/slice-04-local-validation-brief-contracts/slice.json +77 -0
- package/specs/quiver-v26-0121-smoke-hardening/slices/slice-05-demo-scaffold-readiness/CLOSURE_BRIEF.md +34 -0
- package/specs/quiver-v26-0121-smoke-hardening/slices/slice-05-demo-scaffold-readiness/EXECUTION_BRIEF.md +54 -0
- package/specs/quiver-v26-0121-smoke-hardening/slices/slice-05-demo-scaffold-readiness/slice.json +84 -0
- package/specs/quiver-v26-0121-smoke-hardening/slices/slice-06-plan-graph-scope-performance/CLOSURE_BRIEF.md +35 -0
- package/specs/quiver-v26-0121-smoke-hardening/slices/slice-06-plan-graph-scope-performance/EXECUTION_BRIEF.md +53 -0
- package/specs/quiver-v26-0121-smoke-hardening/slices/slice-06-plan-graph-scope-performance/slice.json +82 -0
- package/specs/quiver-v26-0121-smoke-hardening/slices/slice-07-smoke-release-readiness/CLOSURE_BRIEF.md +35 -0
- package/specs/quiver-v26-0121-smoke-hardening/slices/slice-07-smoke-release-readiness/EXECUTION_BRIEF.md +55 -0
- package/specs/quiver-v26-0121-smoke-hardening/slices/slice-07-smoke-release-readiness/slice.json +92 -0
- package/src/create-quiver/commands/ai.js +1060 -37
- package/src/create-quiver/commands/demo.js +22 -0
- package/src/create-quiver/commands/evidence.js +37 -0
- package/src/create-quiver/commands/flow.js +562 -0
- package/src/create-quiver/commands/graph.js +19 -4
- package/src/create-quiver/commands/next.js +28 -0
- package/src/create-quiver/commands/plan.js +9 -6
- package/src/create-quiver/commands/prepare.js +236 -0
- package/src/create-quiver/commands/spec.js +133 -0
- package/src/create-quiver/index.js +1010 -31
- package/src/create-quiver/lib/actionable-error.js +27 -0
- package/src/create-quiver/lib/agent-profiles.js +148 -0
- package/src/create-quiver/lib/ai/context-packs.js +16 -0
- package/src/create-quiver/lib/ai/execution-plan.js +377 -11
- package/src/create-quiver/lib/ai/executor.js +633 -24
- package/src/create-quiver/lib/ai/export-state.js +534 -0
- package/src/create-quiver/lib/ai/github.js +279 -0
- package/src/create-quiver/lib/ai/onboarding-template.js +578 -0
- package/src/create-quiver/lib/ai/plan-review.js +286 -0
- package/src/create-quiver/lib/ai/providers.js +5 -3
- package/src/create-quiver/lib/ai/run-state.js +414 -0
- package/src/create-quiver/lib/ai/safety.js +5 -0
- package/src/create-quiver/lib/ai/spec-generator.js +12 -0
- package/src/create-quiver/lib/ai/spec-templates.js +80 -11
- package/src/create-quiver/lib/approvals.js +369 -0
- package/src/create-quiver/lib/demo.js +832 -0
- package/src/create-quiver/lib/doctor.js +309 -0
- package/src/create-quiver/lib/evidence.js +115 -0
- package/src/create-quiver/lib/handoff.js +81 -12
- package/src/create-quiver/lib/init-docs.js +302 -17
- package/src/create-quiver/lib/init-layout.js +34 -1
- package/src/create-quiver/lib/json.js +53 -3
- package/src/create-quiver/lib/lifecycle.js +6 -0
- package/src/create-quiver/lib/package-safety.js +117 -0
- package/src/create-quiver/lib/readiness.js +103 -21
- package/src/create-quiver/lib/scope.js +50 -7
- package/src/create-quiver/lib/slice-graph.js +138 -37
- package/src/create-quiver/lib/slice.js +14 -9
- package/src/create-quiver/lib/spec-worktrees.js +363 -0
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# Evidence Report - Quiver v24
|
|
2
|
+
|
|
3
|
+
## Status
|
|
4
|
+
|
|
5
|
+
All v24 slices are completed. Package publication is intentionally outside this spec.
|
|
6
|
+
|
|
7
|
+
## Required Final Evidence
|
|
8
|
+
|
|
9
|
+
- `git diff --check`
|
|
10
|
+
- `node --test tests/**/*.test.js`
|
|
11
|
+
- `npm run smoke:create-quiver`
|
|
12
|
+
- `npm run smoke:guided-workflow`
|
|
13
|
+
- `npm run smoke:tiered-pack`
|
|
14
|
+
- `npm pack --dry-run`
|
|
15
|
+
- Generated-project smoke covering `init`, `flow`, `prepare --dry-run`, `analyze`, `doctor`, `check-slice --local`, `plan --include-completed`, `graph --include-completed`, `ai prepare-context --dry-run`, `evidence run`, and `demo create spec-viewer --dry-run`
|
|
16
|
+
|
|
17
|
+
## Evidence Log
|
|
18
|
+
|
|
19
|
+
| Slice | Evidence | Result | Notes |
|
|
20
|
+
|---|---|---|---|
|
|
21
|
+
| slice-00 | `git diff --check` | Pass | No whitespace errors. |
|
|
22
|
+
| slice-00 | `find specs/quiver-v24-dx-onboarding-hardening -name "slice.json" -print -exec node -e "JSON.parse(require('fs').readFileSync(process.argv[1], 'utf8'))" {} \;` | Pass | All 11 slice definitions parse. |
|
|
23
|
+
| slice-00 | `node bin/create-quiver.js plan --spec quiver-v24-dx-onboarding-hardening` | Pass with observation | Shows 10 planned implementation slices and a critical path. Ticket values rendered as `-`; captured under `slice-06`. |
|
|
24
|
+
| slice-00 | `node bin/create-quiver.js graph --spec quiver-v24-dx-onboarding-hardening` | Observed issue | Output included an unrelated v20 slice; captured under `slice-06` scope for spec-filter hardening. |
|
|
25
|
+
| slice-01 | `node --test tests/lib/init-docs.test.js tests/lib/init-layout.test.js tests/commands/init-profiles.test.js` | Pass | 30 tests passed, covering `.gitignore`, package name, profile-aware index, and generated script command targets. |
|
|
26
|
+
| slice-01 | `npm run smoke:create-quiver` | Pass | Generated-project smoke passed after aligning full-profile index expectations with actual generated extras. |
|
|
27
|
+
| slice-02 | `node --test tests/commands/init-profiles.test.js tests/commands/doctor.test.js tests/commands/flow.test.js` | Pass | 29 tests passed, covering unsupported command routing, legacy `--name`, doctor script mismatch warnings, and flow regressions. |
|
|
28
|
+
| slice-03 | `node --test tests/lib/doctor.test.js tests/commands/doctor.test.js tests/commands/prepare.test.js` | Pass | 15 tests passed, covering fix dry-run, idempotent fixes, local docs link warnings, and prepare regressions. |
|
|
29
|
+
| slice-04 | `node --test tests/commands/prepare.test.js tests/commands/ai-onboard.test.js tests/lib/ai-context-packs.test.js tests/commands/doctor.test.js tests/lib/init-layout.test.js` | Pass | 32 tests passed, covering prepare wording, `ai prepare-context` dry-run/write mode, approved docs-only targets, generated scripts, and doctor support for the new AI command. |
|
|
30
|
+
| slice-04 | `node bin/create-quiver.js ai prepare-context --dry-run` | Pass | Dry-run reported proposed docs, files considered, assumptions, risks, omitted paths, and uncertainty markers without writing files. |
|
|
31
|
+
| slice-04 | `npm run smoke:create-quiver` | Pass | Generated-project smoke passed with `quiver:ai:prepare-context` in the script contract. |
|
|
32
|
+
| slice-05 | `node --test tests/lib/check-slice.test.js tests/commands/flow.test.js` | Pass | 18 tests passed, covering `check-slice --local`, omitted-check reporting, missing-base guidance, explicit base branch, and flow regressions. |
|
|
33
|
+
| slice-06 | `node --test tests/commands/plan.test.js tests/commands/graph.test.js tests/commands/next.test.js tests/lib/slice-graph.test.js` | Pass | 30 tests passed, covering `--include-completed`, spec filtering, JSON output, next history behavior, and ticket propagation. |
|
|
34
|
+
| slice-06 | `node bin/create-quiver.js plan --spec quiver-v24-dx-onboarding-hardening --include-completed` | Pass | Plan history view shows completed v24 slices and preserves `QUIVER-24-*` ticket values. |
|
|
35
|
+
| slice-06 | `node bin/create-quiver.js graph --spec quiver-v24-dx-onboarding-hardening --include-completed` | Pass | Graph history view is restricted to v24 and no longer leaks unrelated specs. |
|
|
36
|
+
| slice-06 | `node bin/create-quiver.js next --spec quiver-v24-dx-onboarding-hardening --include-completed` | Pass | Next output keeps an actionable planned slice and appends completed history separately. |
|
|
37
|
+
| slice-07 | `node --test tests/commands/analyze.test.js tests/lib/project-scan.test.js` | Pass | 6 tests passed, covering plain Node/JavaScript analysis, language dedupe, useful script surfacing, and scan artifact helpers. |
|
|
38
|
+
| slice-08 | `node --test tests/commands/evidence.test.js tests/lib/evidence.test.js` | Pass | 9 tests passed, covering success/failure exit codes, output truncation, default paths, output path display, and secret redaction across command/stdout/stderr. |
|
|
39
|
+
| slice-08 | `node --test tests/lib/init-layout.test.js tests/commands/doctor.test.js tests/lib/quiver-internal-layout.test.js tests/lib/doctor.test.js` | Pass | 22 tests passed, covering supported script surfacing, `.quiver/.gitignore` evidence defaults, and doctor regression coverage. |
|
|
40
|
+
| slice-08 | `node --test tests/commands/init-profiles.test.js tests/lib/init-docs.test.js tests/lib/doctor.test.js tests/commands/prepare.test.js` | Pass | 30 tests passed, covering generated init profiles, docs initialization, doctor layout checks, and prepare regressions. |
|
|
41
|
+
| slice-08 | `node bin/create-quiver.js evidence run --output /private/tmp/quiver-v24-slice08-evidence.md --max-output 200 -- node --version` | Pass | Smoke verified direct command execution, exit code preservation, and explicit output path display. |
|
|
42
|
+
| slice-08 | `npm run smoke:create-quiver` | Pass | Generated package smoke passed after adding `quiver:evidence` to generated scripts. |
|
|
43
|
+
| slice-09 | `node --test tests/commands/demo.test.js tests/lib/package-safety.test.js` | Pass | 9 tests passed, covering dry-run, default nested target, real scaffold, file preservation, unsupported demo errors, and package safety for local demo output. |
|
|
44
|
+
| slice-09 | `node bin/create-quiver.js demo create spec-viewer --dir /private/tmp/quiver-spec-viewer-smoke --dry-run` | Pass | Dry-run listed 17 files and wrote nothing. |
|
|
45
|
+
| slice-09 | `node bin/create-quiver.js demo create spec-viewer --dir /private/tmp/quiver-spec-viewer-smoke-real` | Pass | Created static demo app, spec/slices, handoffs, PR body, and validation script. |
|
|
46
|
+
| slice-09 | `npm run validate` from `/private/tmp/quiver-spec-viewer-smoke-real` | Pass | Generated demo validation passed. |
|
|
47
|
+
| slice-09 | `npm run smoke:create-quiver` | Pass | Smoke now covers demo dry-run, real scaffold, demo validation, and evidence capture from the generated demo. |
|
|
48
|
+
| slice-10 | `git diff --check` | Pass | No whitespace errors. |
|
|
49
|
+
| slice-10 | `node --test tests/**/*.test.js` | Pass | 255 tests passed. |
|
|
50
|
+
| slice-10 | `npm pack --dry-run` | Local environment issue | Default npm cache had root-owned files under `~/.npm`; not a package failure. Re-ran with isolated cache. |
|
|
51
|
+
| slice-10 | `npm --cache /private/tmp/quiver-npm-cache pack --dry-run` | Pass | npm dry-run generated `create-quiver-0.10.0.tgz` with 401 files. |
|
|
52
|
+
| slice-10 | `npm run smoke:create-quiver` | Pass | Generated-project smoke passed, including v24 demo/evidence paths. |
|
|
53
|
+
| slice-10 | `npm run smoke:guided-workflow` | Pass | Guided workflow smoke and package smoke passed. |
|
|
54
|
+
| slice-10 | `npm run smoke:tiered-pack` | Pass | Tiered context smoke passed after updating expected doctor link warnings. |
|
|
55
|
+
| slice-10 | `npm run package:quiver` | Pass | Package safety smoke passed for `create-quiver-0.10.0.tgz`. |
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# Execution Plan - Quiver v24
|
|
2
|
+
|
|
3
|
+
## Wave 0 - Required Foundation
|
|
4
|
+
|
|
5
|
+
1. `slice-00-spec-foundation`
|
|
6
|
+
- Must land before implementation.
|
|
7
|
+
- Publishes spec, slices, handoffs, execution plan, PR body, and source-of-truth sync.
|
|
8
|
+
|
|
9
|
+
## Wave 1 - Low-Level Contract Fixes
|
|
10
|
+
|
|
11
|
+
These can run after `slice-00` and can be parallel if write scopes stay separate:
|
|
12
|
+
|
|
13
|
+
1. `slice-01-init-template-hygiene`
|
|
14
|
+
2. `slice-02-cli-command-routing-version-errors`
|
|
15
|
+
3. `slice-07-analyzer-command-map-hardening`
|
|
16
|
+
|
|
17
|
+
## Wave 2 - Validation and Context Commands
|
|
18
|
+
|
|
19
|
+
These depend on Wave 1 contracts:
|
|
20
|
+
|
|
21
|
+
1. `slice-03-doctor-fix-doc-link-checks`
|
|
22
|
+
2. `slice-04-prepare-output-ai-context-drafts`
|
|
23
|
+
3. `slice-05-local-slice-validation-base-guidance`
|
|
24
|
+
|
|
25
|
+
## Wave 3 - Planning History and Evidence
|
|
26
|
+
|
|
27
|
+
1. `slice-06-plan-graph-next-history-views`
|
|
28
|
+
2. `slice-08-evidence-run-command`
|
|
29
|
+
|
|
30
|
+
## Wave 4 - Demo Experience
|
|
31
|
+
|
|
32
|
+
1. `slice-09-spec-viewer-demo-scaffolding`
|
|
33
|
+
|
|
34
|
+
## Wave 5 - Release Readiness
|
|
35
|
+
|
|
36
|
+
1. `slice-10-docs-smokes-release-readiness`
|
|
37
|
+
|
|
38
|
+
## Parallel Safety Notes
|
|
39
|
+
|
|
40
|
+
- Do not run two slices in parallel if both modify `src/create-quiver/index.js`.
|
|
41
|
+
- Prefer one commit per slice.
|
|
42
|
+
- Run `node --test` for touched command/lib areas before marking a slice complete.
|
|
43
|
+
- Run package safety and smoke tests only in the final slice unless an earlier slice changes packaging behavior.
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
# Quiver v24 - DX Onboarding Hardening
|
|
2
|
+
|
|
3
|
+
**Date:** 2026-05-22
|
|
4
|
+
**Status:** Completed, pending package release
|
|
5
|
+
|
|
6
|
+
Slice numbering resets here. This spec intentionally starts at `slice-00`.
|
|
7
|
+
|
|
8
|
+
## Problem
|
|
9
|
+
|
|
10
|
+
Quiver's guided AI workflow is now capable, but real dogfooding with a small project, Quiver Spec Viewer, exposed friction that can confuse new users and agents:
|
|
11
|
+
|
|
12
|
+
- `init` can leave noisy or incorrect generated project metadata.
|
|
13
|
+
- Generated docs can point at files that are not present in the selected profile.
|
|
14
|
+
- Modern subcommands can be ambiguous when an older installed package is used.
|
|
15
|
+
- `prepare --dry-run` reports `README_FOR_AI.md missing` in a way that sounds like project debt.
|
|
16
|
+
- `check-slice` assumes remote/base branch behavior that does not fit new local repos.
|
|
17
|
+
- `plan`, `graph`, and `next` are not useful for completed demo histories.
|
|
18
|
+
- `analyze` under-describes simple Node/JavaScript projects and command surfaces.
|
|
19
|
+
- Context preparation, evidence capture, and demo scaffolding still require manual glue.
|
|
20
|
+
|
|
21
|
+
## Objective
|
|
22
|
+
|
|
23
|
+
Harden Quiver's first-use and dogfooding experience so a new project can be initialized, analyzed, prepared for AI, validated locally, demonstrated, and documented with fewer manual commands, clearer errors, safer fixes, and better tests.
|
|
24
|
+
|
|
25
|
+
## Core Decisions
|
|
26
|
+
|
|
27
|
+
- `npx create-quiver` remains the canonical bootstrap entrypoint.
|
|
28
|
+
- The `quiver` binary remains a local alias to the same CLI behavior.
|
|
29
|
+
- Fixes must be non-destructive by default and previewable with `--dry-run`.
|
|
30
|
+
- Generated project docs must reflect the selected init profile and must not link to files that do not exist.
|
|
31
|
+
- Local validation and PR/base-branch validation are different modes and must be reported separately.
|
|
32
|
+
- AI context preparation may produce drafts and assumptions; it must not invent confirmed project facts.
|
|
33
|
+
- `slice-00` publishes this planning package only. Product implementation starts in later slices.
|
|
34
|
+
|
|
35
|
+
## Scope
|
|
36
|
+
|
|
37
|
+
### Included
|
|
38
|
+
|
|
39
|
+
- Init/template hygiene for `.gitignore`, `package.json.name`, scripts, and generated docs.
|
|
40
|
+
- Safer CLI command routing and actionable errors for unknown subcommands.
|
|
41
|
+
- Version mismatch detection between generator, installed package, and generated scripts.
|
|
42
|
+
- `doctor --fix --dry-run` and safe `doctor --fix` for non-destructive repairs.
|
|
43
|
+
- Documentation link checking for generated docs.
|
|
44
|
+
- Clearer `prepare --dry-run` output around framework vs generated-project sources.
|
|
45
|
+
- `ai prepare-context` for project context drafts and assumption/risk reporting.
|
|
46
|
+
- Local slice validation with `check-slice --local` and better base/remote guidance.
|
|
47
|
+
- Historical/demonstration views for `plan`, `graph`, and `next`.
|
|
48
|
+
- Analyzer improvements for simple Node/JavaScript projects, scripts, and deduplicated language output.
|
|
49
|
+
- Evidence capture with `evidence run`.
|
|
50
|
+
- Optional `demo create spec-viewer` scaffolding.
|
|
51
|
+
- README, `README_FOR_AI.md`, templates, release notes, smokes, and tests.
|
|
52
|
+
|
|
53
|
+
### Excluded
|
|
54
|
+
|
|
55
|
+
- Building a persistent web UI or local IDE.
|
|
56
|
+
- Publishing a package version.
|
|
57
|
+
- Silent installation of provider CLIs, GitHub CLI, SSH keys, or credentials.
|
|
58
|
+
- Direct provider API integrations.
|
|
59
|
+
- Replacing human approval gates.
|
|
60
|
+
- Changing the core spec/slice schema unless a slice explicitly proves it is required.
|
|
61
|
+
|
|
62
|
+
## Acceptance Criteria
|
|
63
|
+
|
|
64
|
+
1. Given an empty directory, when `init --name "Mi Proyecto"` runs, then generated `package.json.name` is derived from the project slug and is not `quiver-docs-template`.
|
|
65
|
+
2. Given a project without `.gitignore`, when `init` runs, then Quiver creates a root `.gitignore` with safe defaults including `node_modules/`, `.DS_Store`, `dist/`, and `coverage/`.
|
|
66
|
+
3. Given a project with an existing `.gitignore`, when `init` or `doctor --fix` runs, then Quiver merges missing defaults without deleting existing entries or duplicating lines.
|
|
67
|
+
4. Given a generated profile, when `docs/INDEX.md` is created, then it only links to files present in that profile or clearly marks optional files.
|
|
68
|
+
5. Given a subcommand is unknown to the installed CLI, when it runs, then Quiver fails clearly and does not treat it as a legacy project name.
|
|
69
|
+
6. Given generated `quiver:*` scripts exist, when `doctor` runs, then it can detect scripts that target commands unsupported by the installed CLI version.
|
|
70
|
+
7. Given `prepare --dry-run` runs in a generated project without root `README_FOR_AI.md`, then the output distinguishes framework source guidance from generated project docs and does not report false project debt.
|
|
71
|
+
8. Given a local repo has valid slices but no remote, when `check-slice --local` runs, then structural validation passes without requiring `origin/develop`.
|
|
72
|
+
9. Given normal `check-slice` needs a remote/base branch but none exists, then it recommends `--local`, `--base`, or config instead of a misleading merge message.
|
|
73
|
+
10. Given a spec contains completed slices, when `plan`, `graph`, or `next` runs with `--include-completed`, then completed slices are visible for demos and audits.
|
|
74
|
+
11. Given `plan`, `graph`, or `next` receives `--spec <slug>`, then output is restricted to that spec and does not include slices from other specs.
|
|
75
|
+
12. Given a slice has a `ticket` field, when `plan` renders human or JSON output, then the ticket is preserved instead of displayed as `-`.
|
|
76
|
+
13. Given all slices are complete, when the default planning commands run without history flags, then they still report that no work is pending.
|
|
77
|
+
14. Given a simple Node/JavaScript project, when `analyze` runs, then `PROJECT_MAP.md` identifies it more precisely than `unknown`, deduplicates languages, and surfaces useful scripts such as `validate`, `start`, `dev`, and `test`.
|
|
78
|
+
15. Given a project has been analyzed, when `ai prepare-context --dry-run` runs, then Quiver reports proposed docs, assumptions, risks, and omitted paths without writing files.
|
|
79
|
+
16. Given `ai prepare-context` writes docs, then it only touches approved docs and marks uncertain statements as `TODO`, `Assumption`, or `Pending confirmation`.
|
|
80
|
+
17. Given `evidence run -- <command>` runs, then Quiver captures command, exit code, duration, truncated output summary, and a safe evidence record.
|
|
81
|
+
18. Given a command output contains likely secrets, when evidence is recorded, then Quiver redacts common token and secret patterns.
|
|
82
|
+
19. Given `demo create spec-viewer --dry-run` runs, then Quiver shows the demo files it would create without writing.
|
|
83
|
+
20. Given `demo create spec-viewer` runs in an empty or safe target, then it creates a small demo app, spec, slices, and validation scripts without adding heavy dependencies.
|
|
84
|
+
21. Given docs and CLI behavior change, when tests and smokes run, then they cover init hygiene, command routing, prepare output, local slice validation, analyzer, evidence, and demo scaffolding.
|
|
85
|
+
22. Given the implementation is complete, when package safety runs, then no local AI state, secrets, generated demo noise, or worktree state is included in the npm tarball.
|
|
86
|
+
|
|
87
|
+
## Approved Technical Plan
|
|
88
|
+
|
|
89
|
+
### Objective
|
|
90
|
+
|
|
91
|
+
Create a cohesive DX hardening layer that fixes the observed dogfooding issues while preserving Quiver's WDD + SDD flow and cross-platform Node CLI contract.
|
|
92
|
+
|
|
93
|
+
### Approach
|
|
94
|
+
|
|
95
|
+
Implement in small vertical slices:
|
|
96
|
+
|
|
97
|
+
1. Foundation docs and source-of-truth sync.
|
|
98
|
+
2. Init/template hygiene.
|
|
99
|
+
3. CLI routing and version mismatch errors.
|
|
100
|
+
4. Doctor fixes and docs link checks.
|
|
101
|
+
5. Prepare output and AI context drafts.
|
|
102
|
+
6. Local slice validation.
|
|
103
|
+
7. Historical planning views.
|
|
104
|
+
8. Analyzer improvements.
|
|
105
|
+
9. Evidence capture.
|
|
106
|
+
10. Demo scaffolding.
|
|
107
|
+
11. Final documentation, smokes, and release readiness.
|
|
108
|
+
|
|
109
|
+
### Production Review Decisions
|
|
110
|
+
|
|
111
|
+
- `doctor --fix` must ship with `--dry-run` and non-destructive behavior.
|
|
112
|
+
- `check-slice --local` must state which remote/base checks were omitted.
|
|
113
|
+
- `ai prepare-context` must write only documentation/context files and mark uncertainty explicitly.
|
|
114
|
+
- `evidence run` must preserve the wrapped command exit code and redact common secret patterns.
|
|
115
|
+
- `demo create spec-viewer` is optional and must not become part of default `init`.
|
|
116
|
+
|
|
117
|
+
## Slicing Strategy
|
|
118
|
+
|
|
119
|
+
`slice-00` lands first and only publishes planning artifacts. Implementation slices are ordered so low-level safety and routing fixes land before commands that depend on them. Demo scaffolding is intentionally late because it depends on clean init behavior, better validation, and evidence capture.
|
|
120
|
+
|
|
121
|
+
## Slice Roadmap
|
|
122
|
+
|
|
123
|
+
| Slice | Title | Status | Dependencies |
|
|
124
|
+
|---|---|---|---|
|
|
125
|
+
| slice-00 | Spec foundation and source-of-truth sync | Completed | none |
|
|
126
|
+
| slice-01 | Init and generated template hygiene | Completed | slice-00 |
|
|
127
|
+
| slice-02 | CLI command routing and version mismatch errors | Completed | slice-00 |
|
|
128
|
+
| slice-03 | Doctor fixes and documentation link checks | Completed | slice-01, slice-02 |
|
|
129
|
+
| slice-04 | Prepare output and AI context preparation drafts | Completed | slice-01, slice-02 |
|
|
130
|
+
| slice-05 | Local slice validation and base branch guidance | Completed | slice-02 |
|
|
131
|
+
| slice-06 | Historical plan, graph, and next views | Completed | slice-05 |
|
|
132
|
+
| slice-07 | Analyzer command map hardening | Completed | slice-01 |
|
|
133
|
+
| slice-08 | Evidence run command | Completed | slice-03 |
|
|
134
|
+
| slice-09 | Spec Viewer demo scaffolding | Completed | slice-01, slice-06, slice-08 |
|
|
135
|
+
| slice-10 | Docs, smokes, and release readiness | Completed | all implementation slices |
|
|
136
|
+
|
|
137
|
+
## Risks
|
|
138
|
+
|
|
139
|
+
- Fix commands can damage user-owned files if not strictly non-destructive.
|
|
140
|
+
- New commands can increase surface area unless docs keep the main path simple.
|
|
141
|
+
- Version mismatch detection may be hard when running through `npx` caches.
|
|
142
|
+
- Secret redaction in evidence can never be perfect; package safety and docs must still warn users.
|
|
143
|
+
- Demo scaffolding can drift into an app product; it must remain optional and small.
|
|
144
|
+
|
|
145
|
+
## Open Questions
|
|
146
|
+
|
|
147
|
+
- Should `doctor --fix` require `--yes` in non-interactive mode?
|
|
148
|
+
- Resolved in `slice-04`: `ai prepare-context --dry-run` previews docs-only drafts; running without `--dry-run` writes only the approved docs/context files.
|
|
149
|
+
- Resolved in `slice-08`: evidence records live under `.quiver/evidence/` by default, with `--output <file>` for explicit destinations.
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# Quiver v24 Status
|
|
2
|
+
|
|
3
|
+
**Spec:** DX Onboarding Hardening
|
|
4
|
+
**Status:** Completed, pending package release
|
|
5
|
+
**Created:** 2026-05-22
|
|
6
|
+
|
|
7
|
+
## Summary
|
|
8
|
+
|
|
9
|
+
| Slice | Title | Status | Progress | Dependencies |
|
|
10
|
+
|---|---|---|---|---|
|
|
11
|
+
| slice-00 | Spec foundation and source-of-truth sync | Completed | 100% | none |
|
|
12
|
+
| slice-01 | Init and generated template hygiene | Completed | 100% | slice-00 |
|
|
13
|
+
| slice-02 | CLI command routing and version mismatch errors | Completed | 100% | slice-00 |
|
|
14
|
+
| slice-03 | Doctor fixes and documentation link checks | Completed | 100% | slice-01, slice-02 |
|
|
15
|
+
| slice-04 | Prepare output and AI context preparation drafts | Completed | 100% | slice-01, slice-02 |
|
|
16
|
+
| slice-05 | Local slice validation and base branch guidance | Completed | 100% | slice-02 |
|
|
17
|
+
| slice-06 | Historical plan, graph, and next views | Completed | 100% | slice-05 |
|
|
18
|
+
| slice-07 | Analyzer command map hardening | Completed | 100% | slice-01 |
|
|
19
|
+
| slice-08 | Evidence run command | Completed | 100% | slice-03 |
|
|
20
|
+
| slice-09 | Spec Viewer demo scaffolding | Completed | 100% | slice-01, slice-06, slice-08 |
|
|
21
|
+
| slice-10 | Docs, smokes, and release readiness | Completed | 100% | all implementation slices |
|
|
22
|
+
|
|
23
|
+
## Current Blockers
|
|
24
|
+
|
|
25
|
+
- No current blockers for completed slices.
|
|
26
|
+
- Package publication is intentionally outside this spec.
|
|
27
|
+
|
|
28
|
+
## Notes
|
|
29
|
+
|
|
30
|
+
- This spec comes from real dogfooding of Quiver with Quiver Spec Viewer.
|
|
31
|
+
- Do not publish a package version from this spec until final release readiness passes.
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
## Title
|
|
2
|
+
Quiver v24 - DX Onboarding Hardening
|
|
3
|
+
|
|
4
|
+
## Summary
|
|
5
|
+
- Hardens first-use and dogfooding workflows discovered while building Quiver Spec Viewer.
|
|
6
|
+
- Improves init hygiene, CLI errors, doctor fixes, prepare/context output, local slice validation, analyzer quality, evidence capture, and demo scaffolding.
|
|
7
|
+
- Adds tests, smokes, and documentation for the new DX contract.
|
|
8
|
+
|
|
9
|
+
## Scope
|
|
10
|
+
- Quiver CLI and generated project templates.
|
|
11
|
+
- Documentation and source-of-truth sync.
|
|
12
|
+
- Tests and smoke coverage.
|
|
13
|
+
- No provider API integrations.
|
|
14
|
+
- No package publishing in this PR.
|
|
15
|
+
|
|
16
|
+
## Files
|
|
17
|
+
- `README_FOR_AI.md`
|
|
18
|
+
- `ROADMAP.md`
|
|
19
|
+
- `README.md`
|
|
20
|
+
- `src/create-quiver/**`
|
|
21
|
+
- `docs/**`
|
|
22
|
+
- `specs/quiver-v24-dx-onboarding-hardening/**`
|
|
23
|
+
- `tests/**`
|
|
24
|
+
- `scripts/ci/**`
|
|
25
|
+
|
|
26
|
+
## How to Test (DETAILED - REQUIRED)
|
|
27
|
+
|
|
28
|
+
### Required Environment
|
|
29
|
+
- Node.js 22.x or compatible runtime used by CI.
|
|
30
|
+
- npm.
|
|
31
|
+
- Git.
|
|
32
|
+
- Optional `gh` for PR preflight tests where applicable.
|
|
33
|
+
|
|
34
|
+
### Worktree Access
|
|
35
|
+
- One spec worktree/branch for v24.
|
|
36
|
+
- One commit per slice.
|
|
37
|
+
- `slice-00` must land before implementation slices.
|
|
38
|
+
|
|
39
|
+
### Run the Project
|
|
40
|
+
```bash
|
|
41
|
+
npm install
|
|
42
|
+
node bin/create-quiver.js --help
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
### Use Cases
|
|
46
|
+
- Initialize an empty project and inspect `.gitignore`, `package.json`, scripts, and docs links.
|
|
47
|
+
- Run `prepare --dry-run` in a generated project.
|
|
48
|
+
- Run `check-slice --local` in a repo without remotes.
|
|
49
|
+
- Run `plan --include-completed` and `graph --include-completed`.
|
|
50
|
+
- Run `ai prepare-context --dry-run`.
|
|
51
|
+
- Run `evidence run -- npm test`.
|
|
52
|
+
- Run `demo create spec-viewer --dry-run`.
|
|
53
|
+
|
|
54
|
+
### Technical Verification
|
|
55
|
+
```bash
|
|
56
|
+
git diff --check
|
|
57
|
+
node --test tests/**/*.test.js
|
|
58
|
+
npm run smoke:create-quiver
|
|
59
|
+
npm run smoke:guided-workflow
|
|
60
|
+
npm run smoke:tiered-pack
|
|
61
|
+
npm --cache /private/tmp/quiver-npm-cache pack --dry-run
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
If the default npm cache is healthy, `npm pack --dry-run` is equivalent. The explicit cache keeps local machine cache permissions out of the validation.
|
|
65
|
+
|
|
66
|
+
## Evidence
|
|
67
|
+
- Update `specs/quiver-v24-dx-onboarding-hardening/EVIDENCE_REPORT.md` after each slice.
|
|
68
|
+
|
|
69
|
+
## Rollback
|
|
70
|
+
- Revert the slice commits in reverse order.
|
|
71
|
+
- If template changes caused generated-project regressions, revert init/template slices before command slices.
|
|
72
|
+
|
|
73
|
+
## Risks / Notes
|
|
74
|
+
- `doctor --fix` must remain non-destructive.
|
|
75
|
+
- Evidence redaction is best-effort and must not be presented as a complete secret scanner.
|
|
76
|
+
- Demo scaffolding must stay optional and lightweight.
|
package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-00-spec-foundation/CLOSURE_BRIEF.md
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# CLOSURE BRIEF - slice-00: Spec foundation and source-of-truth sync
|
|
2
|
+
|
|
3
|
+
## Resumen de lo realizado
|
|
4
|
+
|
|
5
|
+
Created the v24 DX onboarding hardening spec foundation, slice plan, handoffs, PR body, and source-of-truth updates.
|
|
6
|
+
|
|
7
|
+
## Validación contra criterios de aceptación
|
|
8
|
+
|
|
9
|
+
- [x] Spec folder created.
|
|
10
|
+
- [x] Mandatory `slice-00` created.
|
|
11
|
+
- [x] Every planned slice has `slice.json`, `EXECUTION_BRIEF.md`, and `CLOSURE_BRIEF.md`.
|
|
12
|
+
- [x] JSON parse validation passed for all slice definitions.
|
|
13
|
+
- [x] `git diff --check` passed.
|
|
14
|
+
|
|
15
|
+
## Cambios relevantes
|
|
16
|
+
|
|
17
|
+
- `README_FOR_AI.md`
|
|
18
|
+
- `ROADMAP.md`
|
|
19
|
+
- `specs/quiver-v24-dx-onboarding-hardening/**`
|
|
20
|
+
|
|
21
|
+
## Pendientes
|
|
22
|
+
|
|
23
|
+
- Execute implementation slices after this documentation foundation is committed.
|
|
24
|
+
|
|
25
|
+
## Riesgos remanentes
|
|
26
|
+
|
|
27
|
+
- `graph --spec quiver-v24-dx-onboarding-hardening` included an unrelated v20 slice during validation. This is now captured in `slice-06` as part of spec-filter hardening.
|
|
28
|
+
|
|
29
|
+
## Recomendaciones futuras
|
|
30
|
+
|
|
31
|
+
- Execute slices in the order described by `EXECUTION_PLAN.md`.
|
package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-00-spec-foundation/EXECUTION_BRIEF.md
ADDED
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# EXECUTION BRIEF - slice-00: Spec foundation and source-of-truth sync
|
|
2
|
+
|
|
3
|
+
## Contexto
|
|
4
|
+
|
|
5
|
+
This slice publishes the v24 planning package generated from the approved acceptance criteria and production-reviewed technical plan.
|
|
6
|
+
|
|
7
|
+
## Objetivo
|
|
8
|
+
|
|
9
|
+
Create the durable spec foundation for Quiver v24 without changing product behavior.
|
|
10
|
+
|
|
11
|
+
## Alcance
|
|
12
|
+
|
|
13
|
+
- Create `SPEC.md`, `STATUS.md`, `EVIDENCE_REPORT.md`, `EXECUTION_PLAN.md`, and `pr.md`.
|
|
14
|
+
- Create every slice folder with `slice.json`, `EXECUTION_BRIEF.md`, and `CLOSURE_BRIEF.md`.
|
|
15
|
+
- Update `README_FOR_AI.md` and `ROADMAP.md` so the source of truth mentions v24 as planned.
|
|
16
|
+
|
|
17
|
+
## Criterios de aceptación
|
|
18
|
+
|
|
19
|
+
- Spec folder exists.
|
|
20
|
+
- Mandatory `slice-00` exists.
|
|
21
|
+
- Every slice has the required handoff files.
|
|
22
|
+
- Every `slice.json` parses.
|
|
23
|
+
- No product code is modified.
|
|
24
|
+
|
|
25
|
+
## Plan técnico resumido
|
|
26
|
+
|
|
27
|
+
Write documentation only, following the existing `specs/quiver-v23-guided-flow-productization/` structure.
|
|
28
|
+
|
|
29
|
+
## Pasos sugeridos de ejecución
|
|
30
|
+
|
|
31
|
+
1. Create the spec folder and top-level spec files.
|
|
32
|
+
2. Create all slice folders and handoffs.
|
|
33
|
+
3. Sync `README_FOR_AI.md` and `ROADMAP.md`.
|
|
34
|
+
4. Validate JSON and diff whitespace.
|
|
35
|
+
|
|
36
|
+
## Restricciones
|
|
37
|
+
|
|
38
|
+
- Do not edit CLI source.
|
|
39
|
+
- Do not modify tests.
|
|
40
|
+
- Do not publish or open a PR from this slice.
|
|
41
|
+
|
|
42
|
+
## Riesgos
|
|
43
|
+
|
|
44
|
+
- Source-of-truth docs could accidentally imply v24 is implemented. Keep wording as planned only.
|
|
45
|
+
|
|
46
|
+
## Checklist de finalización
|
|
47
|
+
|
|
48
|
+
- [x] Spec files created.
|
|
49
|
+
- [x] Slice handoffs created.
|
|
50
|
+
- [x] Source-of-truth docs synced.
|
|
51
|
+
- [x] JSON parse validation captured.
|
|
52
|
+
- [x] `git diff --check` captured.
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
{
|
|
2
|
+
"slice_id": "slice-00-spec-foundation",
|
|
3
|
+
"ticket": "QUIVER-24-00",
|
|
4
|
+
"type": "docs",
|
|
5
|
+
"title": "Spec foundation and source-of-truth sync",
|
|
6
|
+
"objective": "Create the complete documentation foundation for the DX onboarding hardening spec before product implementation starts.",
|
|
7
|
+
"description": "Publish the v24 spec, status, evidence report, execution plan, PR body, slice definitions, handoffs, and source-of-truth updates.",
|
|
8
|
+
"git": {
|
|
9
|
+
"branch_type": "feature",
|
|
10
|
+
"base_branch": "main",
|
|
11
|
+
"branch_slug": "dx-onboarding-hardening-spec-foundation",
|
|
12
|
+
"branch_name": "feature/QUIVER-24-00-dx-onboarding-hardening-spec-foundation"
|
|
13
|
+
},
|
|
14
|
+
"files": [
|
|
15
|
+
"README_FOR_AI.md",
|
|
16
|
+
"ROADMAP.md",
|
|
17
|
+
"specs/quiver-v24-dx-onboarding-hardening/**"
|
|
18
|
+
],
|
|
19
|
+
"depends_on": [],
|
|
20
|
+
"parallel_safe": "no",
|
|
21
|
+
"parallel_safe_reason": "slice-00 must land before every implementation slice.",
|
|
22
|
+
"must": [
|
|
23
|
+
"Create SPEC.md, STATUS.md, EVIDENCE_REPORT.md, EXECUTION_PLAN.md, and pr.md.",
|
|
24
|
+
"Create slice.json, EXECUTION_BRIEF.md, and CLOSURE_BRIEF.md for every slice.",
|
|
25
|
+
"Sync README_FOR_AI.md and ROADMAP.md with the planned v24 spec.",
|
|
26
|
+
"Avoid product code changes."
|
|
27
|
+
],
|
|
28
|
+
"not_included": [
|
|
29
|
+
"Implementing CLI behavior.",
|
|
30
|
+
"Changing generated templates.",
|
|
31
|
+
"Running package release.",
|
|
32
|
+
"Opening a PR."
|
|
33
|
+
],
|
|
34
|
+
"acceptance": [
|
|
35
|
+
"Spec folder exists under specs/quiver-v24-dx-onboarding-hardening.",
|
|
36
|
+
"Mandatory slice-00 exists.",
|
|
37
|
+
"Every slice has slice.json, EXECUTION_BRIEF.md, and CLOSURE_BRIEF.md.",
|
|
38
|
+
"Every slice.json parses successfully.",
|
|
39
|
+
"README_FOR_AI.md and ROADMAP.md mention v24 as planned, not completed.",
|
|
40
|
+
"No product code is modified."
|
|
41
|
+
],
|
|
42
|
+
"tests": [
|
|
43
|
+
"git diff --check",
|
|
44
|
+
"find specs/quiver-v24-dx-onboarding-hardening -name \"slice.json\" -print -exec node -e \"JSON.parse(require('fs').readFileSync(process.argv[1], 'utf8'))\" {} \\;"
|
|
45
|
+
],
|
|
46
|
+
"estimated_hours": 2,
|
|
47
|
+
"status": "completed",
|
|
48
|
+
"blocked_reason": null,
|
|
49
|
+
"actual_hours": 2,
|
|
50
|
+
"completed_at": "2026-05-22T00:00:00-0300"
|
|
51
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# CLOSURE BRIEF - slice-01: Init and generated template hygiene
|
|
2
|
+
|
|
3
|
+
## Resumen de lo realizado
|
|
4
|
+
|
|
5
|
+
- `init` ahora crea o mergea un `.gitignore` raíz con defaults seguros sin borrar entradas existentes.
|
|
6
|
+
- El `package.json` generado usa el slug del proyecto como `name`; los proyectos existentes conservan su nombre y solo reciben uno si estaba vacío.
|
|
7
|
+
- `docs/INDEX.md.template` quedó limpio para el perfil default y el perfil `--full` agrega un apéndice con los extras reales que genera.
|
|
8
|
+
- El plan de init muestra `.gitignore` como archivo creado/actualizado y los tests cubren scripts `quiver:*` contra comandos soportados.
|
|
9
|
+
|
|
10
|
+
## Validación contra criterios de aceptación
|
|
11
|
+
|
|
12
|
+
- [x] Package name uses project slug.
|
|
13
|
+
- [x] Root `.gitignore` is created or merged.
|
|
14
|
+
- [x] Docs index is profile-aware.
|
|
15
|
+
- [x] Generated scripts match command surface.
|
|
16
|
+
|
|
17
|
+
## Cambios relevantes
|
|
18
|
+
|
|
19
|
+
- `src/create-quiver/lib/init-docs.js`
|
|
20
|
+
- `src/create-quiver/lib/init-layout.js`
|
|
21
|
+
- `docs/INDEX.md.template`
|
|
22
|
+
- `package.template.json`
|
|
23
|
+
- `README.md`
|
|
24
|
+
- `README_FOR_AI.md`
|
|
25
|
+
- `tests/commands/init-profiles.test.js`
|
|
26
|
+
- `tests/lib/init-layout.test.js`
|
|
27
|
+
|
|
28
|
+
## Pendientes
|
|
29
|
+
|
|
30
|
+
Sin pendientes del slice.
|
|
31
|
+
|
|
32
|
+
## Riesgos remanentes
|
|
33
|
+
|
|
34
|
+
La normalización del `.gitignore` evita duplicados simples entre `node_modules` y `node_modules/`, pero no intenta resolver patrones avanzados de negación o reglas específicas de cada repo.
|
|
35
|
+
|
|
36
|
+
## Recomendaciones futuras
|
|
37
|
+
|
|
38
|
+
Mantener futuros fixes de `init` como operaciones aditivas y fáciles de auditar con `--dry-run`.
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# EXECUTION BRIEF - slice-01: Init and generated template hygiene
|
|
2
|
+
|
|
3
|
+
## Contexto
|
|
4
|
+
|
|
5
|
+
Dogfooding showed that a generated project can start with noisy or inaccurate metadata: missing root `.gitignore`, `package.json.name` set to `quiver-docs-template`, and docs links to absent optional files.
|
|
6
|
+
|
|
7
|
+
## Objetivo
|
|
8
|
+
|
|
9
|
+
Make `init` output clean, profile-aware, and non-destructive.
|
|
10
|
+
|
|
11
|
+
## Alcance
|
|
12
|
+
|
|
13
|
+
- Root `.gitignore` creation and merge.
|
|
14
|
+
- Generated package name from project slug.
|
|
15
|
+
- Profile-aware `docs/INDEX.md`.
|
|
16
|
+
- Generated script contract check against supported command surface.
|
|
17
|
+
- Tests for empty and existing projects.
|
|
18
|
+
|
|
19
|
+
## Criterios de aceptación
|
|
20
|
+
|
|
21
|
+
- Empty project init creates correct package name.
|
|
22
|
+
- Empty project init creates root `.gitignore`.
|
|
23
|
+
- Existing `.gitignore` is preserved and merged.
|
|
24
|
+
- Generated docs do not contain profile-inconsistent local links.
|
|
25
|
+
- Generated scripts match available commands.
|
|
26
|
+
|
|
27
|
+
## Plan técnico resumido
|
|
28
|
+
|
|
29
|
+
Extend init rendering helpers and tests. Keep all writes additive and idempotent.
|
|
30
|
+
|
|
31
|
+
## Pasos sugeridos de ejecución
|
|
32
|
+
|
|
33
|
+
1. Locate init layout/rendering helpers.
|
|
34
|
+
2. Add root `.gitignore` handling with merge semantics.
|
|
35
|
+
3. Fix package name derivation.
|
|
36
|
+
4. Render docs index based on selected profile.
|
|
37
|
+
5. Add tests and smoke coverage.
|
|
38
|
+
|
|
39
|
+
## Restricciones
|
|
40
|
+
|
|
41
|
+
- Do not overwrite user-owned files.
|
|
42
|
+
- Do not change default init scope beyond approved hygiene fixes.
|
|
43
|
+
|
|
44
|
+
## Riesgos
|
|
45
|
+
|
|
46
|
+
- Package names must remain valid npm names.
|
|
47
|
+
- Existing projects may have intentional `.gitignore` content; preserve it.
|
|
48
|
+
|
|
49
|
+
## Checklist de finalización
|
|
50
|
+
|
|
51
|
+
- [ ] Init tests added.
|
|
52
|
+
- [ ] Existing-project preservation tested.
|
|
53
|
+
- [ ] Smoke passes.
|
package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-01-init-template-hygiene/slice.json
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
{
|
|
2
|
+
"slice_id": "slice-01-init-template-hygiene",
|
|
3
|
+
"ticket": "QUIVER-24-01",
|
|
4
|
+
"type": "feature",
|
|
5
|
+
"title": "Init and generated template hygiene",
|
|
6
|
+
"objective": "Make newly initialized projects cleaner, correctly named, and free of generated docs links that point to absent files.",
|
|
7
|
+
"description": "Fix root .gitignore generation/merge, package name rendering, generated script contract, profile-aware docs index output, and install/version guidance.",
|
|
8
|
+
"git": {
|
|
9
|
+
"branch_type": "feature",
|
|
10
|
+
"base_branch": "main",
|
|
11
|
+
"branch_slug": "init-template-hygiene",
|
|
12
|
+
"branch_name": "feature/QUIVER-24-01-init-template-hygiene"
|
|
13
|
+
},
|
|
14
|
+
"files": [
|
|
15
|
+
"src/create-quiver/lib/init-docs.js",
|
|
16
|
+
"src/create-quiver/lib/init-layout.js",
|
|
17
|
+
"src/create-quiver/index.js",
|
|
18
|
+
"docs/INDEX.md.template",
|
|
19
|
+
"package.template.json",
|
|
20
|
+
"tests/lib/init-docs.test.js",
|
|
21
|
+
"tests/lib/init-layout.test.js",
|
|
22
|
+
"tests/commands/init-profiles.test.js"
|
|
23
|
+
],
|
|
24
|
+
"depends_on": [
|
|
25
|
+
"slice-00-spec-foundation"
|
|
26
|
+
],
|
|
27
|
+
"parallel_safe": "yes",
|
|
28
|
+
"parallel_safe_reason": "Can run in parallel with CLI routing and analyzer slices if it owns init/template files and avoids shared parser edits unless coordinated.",
|
|
29
|
+
"must": [
|
|
30
|
+
"Generate or merge a root .gitignore non-destructively.",
|
|
31
|
+
"Use the project slug for generated package.json.name.",
|
|
32
|
+
"Ensure docs/INDEX.md reflects the actual init profile.",
|
|
33
|
+
"Ensure generated quiver:* scripts match supported command surface.",
|
|
34
|
+
"Keep init non-destructive for existing projects."
|
|
35
|
+
],
|
|
36
|
+
"not_included": [
|
|
37
|
+
"Implementing doctor --fix.",
|
|
38
|
+
"Adding demo scaffolding.",
|
|
39
|
+
"Changing package publishing."
|
|
40
|
+
],
|
|
41
|
+
"acceptance": [
|
|
42
|
+
"Empty project init creates package.json.name from the project slug.",
|
|
43
|
+
"Empty project init creates a root .gitignore with safe defaults.",
|
|
44
|
+
"Existing .gitignore entries are preserved and missing defaults are merged without duplicates.",
|
|
45
|
+
"Default profile docs/INDEX.md does not link to files that are absent from the generated project.",
|
|
46
|
+
"Generated quiver:* scripts reference commands supported by the generated package version."
|
|
47
|
+
],
|
|
48
|
+
"tests": [
|
|
49
|
+
"node --test tests/lib/init-docs.test.js tests/lib/init-layout.test.js tests/commands/init-profiles.test.js",
|
|
50
|
+
"npm run smoke:create-quiver"
|
|
51
|
+
],
|
|
52
|
+
"estimated_hours": 5,
|
|
53
|
+
"status": "completed",
|
|
54
|
+
"blocked_reason": null
|
|
55
|
+
}
|