create-quiver 0.15.3 → 0.16.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.
- package/.github/pull_request_template.md +17 -0
- package/.github/workflows/ci.yml +79 -0
- package/.markdown-link-check.json +15 -0
- package/.markdownlint.json +11 -0
- package/.quiver/runs/run-2026-06-09t19-14-39z/approvals.json +5 -0
- package/.quiver/runs/run-2026-06-09t19-14-39z/decisions.md +2 -0
- package/.quiver/runs/run-2026-06-09t19-14-39z/requirement.md +0 -0
- package/.quiver/runs/run-2026-06-09t19-14-39z/snapshots/20260609T191439Z/docs/INDEX.md +97 -0
- package/.quiver/runs/run-2026-06-09t19-14-39z/snapshots/20260609T191439Z/manifest.json +61 -0
- package/.quiver/runs/run-2026-06-09t19-14-39z/state.json +28 -0
- package/ACTIVE_SLICES.md +43 -0
- package/AGENTS.md.es.template +37 -0
- package/ARCHITECTURE.md +133 -0
- package/CHANGELOG.md +12 -0
- package/CONTRIBUTING.md +174 -9
- package/README.md +10 -1
- package/ROADMAP.md +4 -0
- package/SECURITY.md +9 -2
- package/auditoria-ux-ui-performance-documentacion.md +705 -0
- package/copys-landing-page.md +244 -0
- package/docs/AI_CONTEXT.md.es.template +37 -0
- package/docs/AI_CONTEXT.md.template +3 -1
- package/docs/AI_ONBOARDING_PROMPT.md.es.template +22 -0
- package/docs/CLI_UX_GUIDE.md +55 -1
- package/docs/COMMANDS.md.es.template +28 -0
- package/docs/COMMANDS.md.template +20 -6
- package/docs/CONTEXTO.md.es.template +33 -0
- package/docs/DECISIONS.md.es.template +17 -0
- package/docs/GITFLOW_PR_GUIDE.md +73 -11
- package/docs/GITFLOW_PR_GUIDE.md.es.template +84 -0
- package/docs/GITFLOW_PR_GUIDE.md.template +72 -10
- package/docs/INDEX.md +11 -1
- package/docs/INDEX.md.es.template +36 -0
- package/docs/QUICK.md.template +2 -1
- package/docs/STANDARD.md.template +2 -1
- package/docs/STATUS.md.es.template +28 -0
- package/docs/SUPPORT_MATRIX.md.es.template +22 -0
- package/docs/TESTING_GUIDE_FOR_AI.md.es.template +19 -0
- package/docs/TROUBLESHOOTING.md.es.template +35 -0
- package/docs/WORKFLOW.md.es.template +31 -0
- package/docs/WORKFLOW.md.template +6 -4
- package/docs/ai/ACTIVE_SLICE.md +61 -0
- package/docs/ai/LESSONS.md.es.template +24 -0
- package/docs/getting-started/installation.md +26 -0
- package/docs/reference/commands.md +159 -7
- package/docs/reference/slice-schema.md +37 -0
- package/docs/schema/slice.schema.json +221 -0
- package/docs/specs/01-spec/01-slice/01-slice.json +36 -0
- package/docs/specs/01-spec/01-slice/01-slice.md +106 -0
- package/docs/specs/01-spec/01-slice/CLOSURE_BRIEF.md +80 -0
- package/docs/specs/01-spec/01-slice/EXECUTION_BRIEF.md +39 -0
- package/docs/specs/01-spec/02-slice/02-slice.json +36 -0
- package/docs/specs/01-spec/02-slice/02-slice.md +108 -0
- package/docs/specs/01-spec/02-slice/CLOSURE_BRIEF.md +88 -0
- package/docs/specs/01-spec/02-slice/EXECUTION_BRIEF.md +40 -0
- package/docs/specs/01-spec/03-slice/03-slice.json +36 -0
- package/docs/specs/01-spec/03-slice/03-slice.md +103 -0
- package/docs/specs/01-spec/03-slice/CLOSURE_BRIEF.md +54 -0
- package/docs/specs/01-spec/03-slice/EXECUTION_BRIEF.md +39 -0
- package/docs/specs/01-spec/04-slice/04-slice.json +36 -0
- package/docs/specs/01-spec/04-slice/04-slice.md +107 -0
- package/docs/specs/01-spec/04-slice/CLOSURE_BRIEF.md +46 -0
- package/docs/specs/01-spec/04-slice/EXECUTION_BRIEF.md +39 -0
- package/docs/specs/01-spec/05-slice/05-slice.json +36 -0
- package/docs/specs/01-spec/05-slice/05-slice.md +106 -0
- package/docs/specs/01-spec/05-slice/CLOSURE_BRIEF.md +84 -0
- package/docs/specs/01-spec/05-slice/EXECUTION_BRIEF.md +109 -0
- package/docs/specs/01-spec/06-slice/06-slice.json +36 -0
- package/docs/specs/01-spec/06-slice/06-slice.md +107 -0
- package/docs/specs/01-spec/06-slice/CLOSURE_BRIEF.md +67 -0
- package/docs/specs/01-spec/06-slice/EXECUTION_BRIEF.md +39 -0
- package/docs/specs/01-spec/07-slice/07-slice.json +36 -0
- package/docs/specs/01-spec/07-slice/07-slice.md +105 -0
- package/docs/specs/01-spec/07-slice/CLOSURE_BRIEF.md +71 -0
- package/docs/specs/01-spec/07-slice/EXECUTION_BRIEF.md +39 -0
- package/docs/specs/01-spec/08-slice/08-slice.json +36 -0
- package/docs/specs/01-spec/08-slice/08-slice.md +105 -0
- package/docs/specs/01-spec/08-slice/CLOSURE_BRIEF.md +114 -0
- package/docs/specs/01-spec/08-slice/EXECUTION_BRIEF.md +39 -0
- package/docs/specs/01-spec/CLOSURE_BRIEF.md +87 -0
- package/docs/specs/01-spec/spec.md +197 -0
- package/docs/workflows/full-ai-spec-to-pr.md +46 -3
- package/i18n/es/docs/GITFLOW_PR_GUIDE.md.template +38 -1
- package/package.json +27 -1
- package/pr.md +154 -0
- package/scripts/package-quiver.sh +82 -2
- package/scripts/release-quiver.sh +14 -3
- package/specs/[project-name]/slices/pr.md.template +19 -0
- package/specs/quiver-v37-cli-i18n-foundation/EVIDENCE_REPORT.md +73 -0
- package/specs/quiver-v37-cli-i18n-foundation/EXECUTION_PLAN.md +34 -0
- package/specs/quiver-v37-cli-i18n-foundation/SPEC.md +91 -0
- package/specs/quiver-v37-cli-i18n-foundation/STATUS.md +29 -0
- package/specs/quiver-v37-cli-i18n-foundation/pr.md +97 -0
- package/specs/quiver-v37-cli-i18n-foundation/slices/slice-00-foundation-and-program-roadmap/CLOSURE_BRIEF.md +10 -0
- package/specs/quiver-v37-cli-i18n-foundation/slices/slice-00-foundation-and-program-roadmap/EXECUTION_BRIEF.md +22 -0
- package/specs/quiver-v37-cli-i18n-foundation/slices/slice-00-foundation-and-program-roadmap/slice.json +54 -0
- package/specs/quiver-v37-cli-i18n-foundation/slices/slice-01-language-resolution-contract/CLOSURE_BRIEF.md +30 -0
- package/specs/quiver-v37-cli-i18n-foundation/slices/slice-01-language-resolution-contract/EXECUTION_BRIEF.md +27 -0
- package/specs/quiver-v37-cli-i18n-foundation/slices/slice-01-language-resolution-contract/slice.json +66 -0
- package/specs/quiver-v37-cli-i18n-foundation/slices/slice-02-message-catalog-interpolation/CLOSURE_BRIEF.md +27 -0
- package/specs/quiver-v37-cli-i18n-foundation/slices/slice-02-message-catalog-interpolation/EXECUTION_BRIEF.md +26 -0
- package/specs/quiver-v37-cli-i18n-foundation/slices/slice-02-message-catalog-interpolation/slice.json +62 -0
- package/specs/quiver-v37-cli-i18n-foundation/slices/slice-03-config-language-command/CLOSURE_BRIEF.md +32 -0
- package/specs/quiver-v37-cli-i18n-foundation/slices/slice-03-config-language-command/EXECUTION_BRIEF.md +25 -0
- package/specs/quiver-v37-cli-i18n-foundation/slices/slice-03-config-language-command/slice.json +66 -0
- package/specs/quiver-v37-cli-i18n-foundation/slices/slice-04-parser-help-error-foundation/CLOSURE_BRIEF.md +30 -0
- package/specs/quiver-v37-cli-i18n-foundation/slices/slice-04-parser-help-error-foundation/EXECUTION_BRIEF.md +24 -0
- package/specs/quiver-v37-cli-i18n-foundation/slices/slice-04-parser-help-error-foundation/slice.json +65 -0
- package/specs/quiver-v37-cli-i18n-foundation/slices/slice-05-foundation-docs-tests-package-readiness/CLOSURE_BRIEF.md +27 -0
- package/specs/quiver-v37-cli-i18n-foundation/slices/slice-05-foundation-docs-tests-package-readiness/EXECUTION_BRIEF.md +23 -0
- package/specs/quiver-v37-cli-i18n-foundation/slices/slice-05-foundation-docs-tests-package-readiness/slice.json +67 -0
- package/specs/quiver-v38-cli-i18n-read-only-commands/EVIDENCE_REPORT.md +69 -0
- package/specs/quiver-v38-cli-i18n-read-only-commands/EXECUTION_PLAN.md +25 -0
- package/specs/quiver-v38-cli-i18n-read-only-commands/SPEC.md +52 -0
- package/specs/quiver-v38-cli-i18n-read-only-commands/STATUS.md +24 -0
- package/specs/quiver-v38-cli-i18n-read-only-commands/pr.md +119 -0
- package/specs/quiver-v38-cli-i18n-read-only-commands/slices/slice-00-read-only-foundation/CLOSURE_BRIEF.md +10 -0
- package/specs/quiver-v38-cli-i18n-read-only-commands/slices/slice-00-read-only-foundation/EXECUTION_BRIEF.md +21 -0
- package/specs/quiver-v38-cli-i18n-read-only-commands/slices/slice-00-read-only-foundation/slice.json +53 -0
- package/specs/quiver-v38-cli-i18n-read-only-commands/slices/slice-01-version-dashboard-help/CLOSURE_BRIEF.md +17 -0
- package/specs/quiver-v38-cli-i18n-read-only-commands/slices/slice-01-version-dashboard-help/EXECUTION_BRIEF.md +23 -0
- package/specs/quiver-v38-cli-i18n-read-only-commands/slices/slice-01-version-dashboard-help/slice.json +69 -0
- package/specs/quiver-v38-cli-i18n-read-only-commands/slices/slice-02-flow-doctor-next-graph/CLOSURE_BRIEF.md +13 -0
- package/specs/quiver-v38-cli-i18n-read-only-commands/slices/slice-02-flow-doctor-next-graph/EXECUTION_BRIEF.md +22 -0
- package/specs/quiver-v38-cli-i18n-read-only-commands/slices/slice-02-flow-doctor-next-graph/slice.json +77 -0
- package/specs/quiver-v38-cli-i18n-read-only-commands/slices/slice-03-ai-inspection-and-export/CLOSURE_BRIEF.md +12 -0
- package/specs/quiver-v38-cli-i18n-read-only-commands/slices/slice-03-ai-inspection-and-export/EXECUTION_BRIEF.md +22 -0
- package/specs/quiver-v38-cli-i18n-read-only-commands/slices/slice-03-ai-inspection-and-export/slice.json +66 -0
- package/specs/quiver-v38-cli-i18n-read-only-commands/slices/slice-04-read-only-tests-smokes/CLOSURE_BRIEF.md +13 -0
- package/specs/quiver-v38-cli-i18n-read-only-commands/slices/slice-04-read-only-tests-smokes/EXECUTION_BRIEF.md +22 -0
- package/specs/quiver-v38-cli-i18n-read-only-commands/slices/slice-04-read-only-tests-smokes/slice.json +61 -0
- package/specs/quiver-v39-cli-i18n-setup-onboarding/EVIDENCE_REPORT.md +71 -0
- package/specs/quiver-v39-cli-i18n-setup-onboarding/EXECUTION_PLAN.md +25 -0
- package/specs/quiver-v39-cli-i18n-setup-onboarding/SPEC.md +53 -0
- package/specs/quiver-v39-cli-i18n-setup-onboarding/STATUS.md +24 -0
- package/specs/quiver-v39-cli-i18n-setup-onboarding/pr.md +104 -0
- package/specs/quiver-v39-cli-i18n-setup-onboarding/slices/slice-00-setup-foundation/CLOSURE_BRIEF.md +10 -0
- package/specs/quiver-v39-cli-i18n-setup-onboarding/slices/slice-00-setup-foundation/EXECUTION_BRIEF.md +21 -0
- package/specs/quiver-v39-cli-i18n-setup-onboarding/slices/slice-00-setup-foundation/slice.json +53 -0
- package/specs/quiver-v39-cli-i18n-setup-onboarding/slices/slice-01-init-interactive-language/CLOSURE_BRIEF.md +12 -0
- package/specs/quiver-v39-cli-i18n-setup-onboarding/slices/slice-01-init-interactive-language/EXECUTION_BRIEF.md +23 -0
- package/specs/quiver-v39-cli-i18n-setup-onboarding/slices/slice-01-init-interactive-language/slice.json +68 -0
- package/specs/quiver-v39-cli-i18n-setup-onboarding/slices/slice-02-analyze-migrate-prepare/CLOSURE_BRIEF.md +12 -0
- package/specs/quiver-v39-cli-i18n-setup-onboarding/slices/slice-02-analyze-migrate-prepare/EXECUTION_BRIEF.md +23 -0
- package/specs/quiver-v39-cli-i18n-setup-onboarding/slices/slice-02-analyze-migrate-prepare/slice.json +62 -0
- package/specs/quiver-v39-cli-i18n-setup-onboarding/slices/slice-03-demo-evidence-onboarding/CLOSURE_BRIEF.md +12 -0
- package/specs/quiver-v39-cli-i18n-setup-onboarding/slices/slice-03-demo-evidence-onboarding/EXECUTION_BRIEF.md +22 -0
- package/specs/quiver-v39-cli-i18n-setup-onboarding/slices/slice-03-demo-evidence-onboarding/slice.json +72 -0
- package/specs/quiver-v39-cli-i18n-setup-onboarding/slices/slice-04-setup-tests-smokes/CLOSURE_BRIEF.md +15 -0
- package/specs/quiver-v39-cli-i18n-setup-onboarding/slices/slice-04-setup-tests-smokes/EXECUTION_BRIEF.md +22 -0
- package/specs/quiver-v39-cli-i18n-setup-onboarding/slices/slice-04-setup-tests-smokes/slice.json +61 -0
- package/specs/quiver-v40-cli-i18n-spec-slice-workflows/EVIDENCE_REPORT.md +50 -0
- package/specs/quiver-v40-cli-i18n-spec-slice-workflows/EXECUTION_PLAN.md +25 -0
- package/specs/quiver-v40-cli-i18n-spec-slice-workflows/SPEC.md +52 -0
- package/specs/quiver-v40-cli-i18n-spec-slice-workflows/STATUS.md +24 -0
- package/specs/quiver-v40-cli-i18n-spec-slice-workflows/pr.md +94 -0
- package/specs/quiver-v40-cli-i18n-spec-slice-workflows/slices/slice-00-spec-slice-foundation/CLOSURE_BRIEF.md +10 -0
- package/specs/quiver-v40-cli-i18n-spec-slice-workflows/slices/slice-00-spec-slice-foundation/EXECUTION_BRIEF.md +21 -0
- package/specs/quiver-v40-cli-i18n-spec-slice-workflows/slices/slice-00-spec-slice-foundation/slice.json +53 -0
- package/specs/quiver-v40-cli-i18n-spec-slice-workflows/slices/slice-01-spec-create-start-status/CLOSURE_BRIEF.md +12 -0
- package/specs/quiver-v40-cli-i18n-spec-slice-workflows/slices/slice-01-spec-create-start-status/EXECUTION_BRIEF.md +22 -0
- package/specs/quiver-v40-cli-i18n-spec-slice-workflows/slices/slice-01-spec-create-start-status/slice.json +63 -0
- package/specs/quiver-v40-cli-i18n-spec-slice-workflows/slices/slice-02-spec-validate-close/CLOSURE_BRIEF.md +10 -0
- package/specs/quiver-v40-cli-i18n-spec-slice-workflows/slices/slice-02-spec-validate-close/EXECUTION_BRIEF.md +22 -0
- package/specs/quiver-v40-cli-i18n-spec-slice-workflows/slices/slice-02-spec-validate-close/slice.json +63 -0
- package/specs/quiver-v40-cli-i18n-spec-slice-workflows/slices/slice-03-slice-lifecycle-handoffs/CLOSURE_BRIEF.md +10 -0
- package/specs/quiver-v40-cli-i18n-spec-slice-workflows/slices/slice-03-slice-lifecycle-handoffs/EXECUTION_BRIEF.md +22 -0
- package/specs/quiver-v40-cli-i18n-spec-slice-workflows/slices/slice-03-slice-lifecycle-handoffs/slice.json +72 -0
- package/specs/quiver-v40-cli-i18n-spec-slice-workflows/slices/slice-04-spec-slice-tests-smokes/CLOSURE_BRIEF.md +15 -0
- package/specs/quiver-v40-cli-i18n-spec-slice-workflows/slices/slice-04-spec-slice-tests-smokes/EXECUTION_BRIEF.md +22 -0
- package/specs/quiver-v40-cli-i18n-spec-slice-workflows/slices/slice-04-spec-slice-tests-smokes/slice.json +69 -0
- package/specs/quiver-v41-cli-i18n-ai-lifecycle/EVIDENCE_REPORT.md +90 -0
- package/specs/quiver-v41-cli-i18n-ai-lifecycle/EXECUTION_PLAN.md +33 -0
- package/specs/quiver-v41-cli-i18n-ai-lifecycle/SPEC.md +57 -0
- package/specs/quiver-v41-cli-i18n-ai-lifecycle/STATUS.md +26 -0
- package/specs/quiver-v41-cli-i18n-ai-lifecycle/pr.md +103 -0
- package/specs/quiver-v41-cli-i18n-ai-lifecycle/slices/slice-00-ai-i18n-foundation/CLOSURE_BRIEF.md +10 -0
- package/specs/quiver-v41-cli-i18n-ai-lifecycle/slices/slice-00-ai-i18n-foundation/EXECUTION_BRIEF.md +21 -0
- package/specs/quiver-v41-cli-i18n-ai-lifecycle/slices/slice-00-ai-i18n-foundation/slice.json +53 -0
- package/specs/quiver-v41-cli-i18n-ai-lifecycle/slices/slice-01-ai-run-status-resume/CLOSURE_BRIEF.md +13 -0
- package/specs/quiver-v41-cli-i18n-ai-lifecycle/slices/slice-01-ai-run-status-resume/EXECUTION_BRIEF.md +22 -0
- package/specs/quiver-v41-cli-i18n-ai-lifecycle/slices/slice-01-ai-run-status-resume/slice.json +68 -0
- package/specs/quiver-v41-cli-i18n-ai-lifecycle/slices/slice-02-ai-agent-models/CLOSURE_BRIEF.md +12 -0
- package/specs/quiver-v41-cli-i18n-ai-lifecycle/slices/slice-02-ai-agent-models/EXECUTION_BRIEF.md +22 -0
- package/specs/quiver-v41-cli-i18n-ai-lifecycle/slices/slice-02-ai-agent-models/slice.json +66 -0
- package/specs/quiver-v41-cli-i18n-ai-lifecycle/slices/slice-03-ai-planner-approval-review/CLOSURE_BRIEF.md +12 -0
- package/specs/quiver-v41-cli-i18n-ai-lifecycle/slices/slice-03-ai-planner-approval-review/EXECUTION_BRIEF.md +23 -0
- package/specs/quiver-v41-cli-i18n-ai-lifecycle/slices/slice-03-ai-planner-approval-review/slice.json +68 -0
- package/specs/quiver-v41-cli-i18n-ai-lifecycle/slices/slice-04-ai-execution-pr/CLOSURE_BRIEF.md +13 -0
- package/specs/quiver-v41-cli-i18n-ai-lifecycle/slices/slice-04-ai-execution-pr/EXECUTION_BRIEF.md +23 -0
- package/specs/quiver-v41-cli-i18n-ai-lifecycle/slices/slice-04-ai-execution-pr/slice.json +72 -0
- package/specs/quiver-v41-cli-i18n-ai-lifecycle/slices/slice-05-ai-tests-smokes/CLOSURE_BRIEF.md +15 -0
- package/specs/quiver-v41-cli-i18n-ai-lifecycle/slices/slice-05-ai-tests-smokes/EXECUTION_BRIEF.md +22 -0
- package/specs/quiver-v41-cli-i18n-ai-lifecycle/slices/slice-05-ai-tests-smokes/slice.json +66 -0
- package/specs/quiver-v41-cli-i18n-ai-lifecycle/slices/slice-06-ai-prepare-context-progress-i18n-fix/CLOSURE_BRIEF.md +11 -0
- package/specs/quiver-v41-cli-i18n-ai-lifecycle/slices/slice-06-ai-prepare-context-progress-i18n-fix/EXECUTION_BRIEF.md +22 -0
- package/specs/quiver-v41-cli-i18n-ai-lifecycle/slices/slice-06-ai-prepare-context-progress-i18n-fix/slice.json +70 -0
- package/specs/quiver-v42-cli-i18n-generated-docs/EVIDENCE_REPORT.md +64 -0
- package/specs/quiver-v42-cli-i18n-generated-docs/EXECUTION_PLAN.md +26 -0
- package/specs/quiver-v42-cli-i18n-generated-docs/SPEC.md +52 -0
- package/specs/quiver-v42-cli-i18n-generated-docs/STATUS.md +24 -0
- package/specs/quiver-v42-cli-i18n-generated-docs/pr.md +125 -0
- package/specs/quiver-v42-cli-i18n-generated-docs/slices/slice-00-generated-docs-foundation/CLOSURE_BRIEF.md +10 -0
- package/specs/quiver-v42-cli-i18n-generated-docs/slices/slice-00-generated-docs-foundation/EXECUTION_BRIEF.md +21 -0
- package/specs/quiver-v42-cli-i18n-generated-docs/slices/slice-00-generated-docs-foundation/slice.json +53 -0
- package/specs/quiver-v42-cli-i18n-generated-docs/slices/slice-01-template-language-routing/CLOSURE_BRIEF.md +10 -0
- package/specs/quiver-v42-cli-i18n-generated-docs/slices/slice-01-template-language-routing/EXECUTION_BRIEF.md +22 -0
- package/specs/quiver-v42-cli-i18n-generated-docs/slices/slice-01-template-language-routing/slice.json +62 -0
- package/specs/quiver-v42-cli-i18n-generated-docs/slices/slice-02-init-docs-and-i18n-assets/CLOSURE_BRIEF.md +11 -0
- package/specs/quiver-v42-cli-i18n-generated-docs/slices/slice-02-init-docs-and-i18n-assets/EXECUTION_BRIEF.md +22 -0
- package/specs/quiver-v42-cli-i18n-generated-docs/slices/slice-02-init-docs-and-i18n-assets/slice.json +72 -0
- package/specs/quiver-v42-cli-i18n-generated-docs/slices/slice-03-docs-reference-guides/CLOSURE_BRIEF.md +12 -0
- package/specs/quiver-v42-cli-i18n-generated-docs/slices/slice-03-docs-reference-guides/EXECUTION_BRIEF.md +22 -0
- package/specs/quiver-v42-cli-i18n-generated-docs/slices/slice-03-docs-reference-guides/slice.json +60 -0
- package/specs/quiver-v42-cli-i18n-generated-docs/slices/slice-04-generated-docs-tests-smokes/CLOSURE_BRIEF.md +16 -0
- package/specs/quiver-v42-cli-i18n-generated-docs/slices/slice-04-generated-docs-tests-smokes/EXECUTION_BRIEF.md +22 -0
- package/specs/quiver-v42-cli-i18n-generated-docs/slices/slice-04-generated-docs-tests-smokes/slice.json +62 -0
- package/specs/quiver-v43-cli-i18n-audit-release-readiness/EVIDENCE_REPORT.md +203 -0
- package/specs/quiver-v43-cli-i18n-audit-release-readiness/EXECUTION_PLAN.md +27 -0
- package/specs/quiver-v43-cli-i18n-audit-release-readiness/SPEC.md +54 -0
- package/specs/quiver-v43-cli-i18n-audit-release-readiness/STATUS.md +24 -0
- package/specs/quiver-v43-cli-i18n-audit-release-readiness/command-language-mode-matrix.json +636 -0
- package/specs/quiver-v43-cli-i18n-audit-release-readiness/cross-platform-smoke-matrix.md +35 -0
- package/specs/quiver-v43-cli-i18n-audit-release-readiness/pr.md +155 -0
- package/specs/quiver-v43-cli-i18n-audit-release-readiness/slices/slice-00-audit-foundation/CLOSURE_BRIEF.md +10 -0
- package/specs/quiver-v43-cli-i18n-audit-release-readiness/slices/slice-00-audit-foundation/EXECUTION_BRIEF.md +21 -0
- package/specs/quiver-v43-cli-i18n-audit-release-readiness/slices/slice-00-audit-foundation/slice.json +53 -0
- package/specs/quiver-v43-cli-i18n-audit-release-readiness/slices/slice-01-command-language-mode-matrix/CLOSURE_BRIEF.md +13 -0
- package/specs/quiver-v43-cli-i18n-audit-release-readiness/slices/slice-01-command-language-mode-matrix/EXECUTION_BRIEF.md +23 -0
- package/specs/quiver-v43-cli-i18n-audit-release-readiness/slices/slice-01-command-language-mode-matrix/slice.json +62 -0
- package/specs/quiver-v43-cli-i18n-audit-release-readiness/slices/slice-02-public-string-audit/CLOSURE_BRIEF.md +18 -0
- package/specs/quiver-v43-cli-i18n-audit-release-readiness/slices/slice-02-public-string-audit/EXECUTION_BRIEF.md +22 -0
- package/specs/quiver-v43-cli-i18n-audit-release-readiness/slices/slice-02-public-string-audit/slice.json +59 -0
- package/specs/quiver-v43-cli-i18n-audit-release-readiness/slices/slice-03-cross-platform-smokes/CLOSURE_BRIEF.md +15 -0
- package/specs/quiver-v43-cli-i18n-audit-release-readiness/slices/slice-03-cross-platform-smokes/EXECUTION_BRIEF.md +23 -0
- package/specs/quiver-v43-cli-i18n-audit-release-readiness/slices/slice-03-cross-platform-smokes/slice.json +62 -0
- package/specs/quiver-v43-cli-i18n-audit-release-readiness/slices/slice-04-package-release-readiness/CLOSURE_BRIEF.md +17 -0
- package/specs/quiver-v43-cli-i18n-audit-release-readiness/slices/slice-04-package-release-readiness/EXECUTION_BRIEF.md +24 -0
- package/specs/quiver-v43-cli-i18n-audit-release-readiness/slices/slice-04-package-release-readiness/slice.json +66 -0
- package/specs/quiver-v44-provider-live-output-tui-lite/EVIDENCE_REPORT.md +18 -0
- package/specs/quiver-v44-provider-live-output-tui-lite/EXECUTION_PLAN.md +31 -0
- package/specs/quiver-v44-provider-live-output-tui-lite/SPEC.md +118 -0
- package/specs/quiver-v44-provider-live-output-tui-lite/STATUS.md +25 -0
- package/specs/quiver-v44-provider-live-output-tui-lite/pr.md +92 -0
- package/specs/quiver-v44-provider-live-output-tui-lite/slices/slice-00-tui-lite-contract-foundation/CLOSURE_BRIEF.md +11 -0
- package/specs/quiver-v44-provider-live-output-tui-lite/slices/slice-00-tui-lite-contract-foundation/EXECUTION_BRIEF.md +23 -0
- package/specs/quiver-v44-provider-live-output-tui-lite/slices/slice-00-tui-lite-contract-foundation/slice.json +64 -0
- package/specs/quiver-v44-provider-live-output-tui-lite/slices/slice-01-provider-stream-hooks/CLOSURE_BRIEF.md +10 -0
- package/specs/quiver-v44-provider-live-output-tui-lite/slices/slice-01-provider-stream-hooks/EXECUTION_BRIEF.md +24 -0
- package/specs/quiver-v44-provider-live-output-tui-lite/slices/slice-01-provider-stream-hooks/slice.json +65 -0
- package/specs/quiver-v44-provider-live-output-tui-lite/slices/slice-02-live-output-renderer/CLOSURE_BRIEF.md +10 -0
- package/specs/quiver-v44-provider-live-output-tui-lite/slices/slice-02-live-output-renderer/EXECUTION_BRIEF.md +24 -0
- package/specs/quiver-v44-provider-live-output-tui-lite/slices/slice-02-live-output-renderer/slice.json +70 -0
- package/specs/quiver-v44-provider-live-output-tui-lite/slices/slice-03-prepare-context-integration/CLOSURE_BRIEF.md +10 -0
- package/specs/quiver-v44-provider-live-output-tui-lite/slices/slice-03-prepare-context-integration/EXECUTION_BRIEF.md +25 -0
- package/specs/quiver-v44-provider-live-output-tui-lite/slices/slice-03-prepare-context-integration/slice.json +70 -0
- package/specs/quiver-v44-provider-live-output-tui-lite/slices/slice-04-planner-command-audit-adoption/CLOSURE_BRIEF.md +10 -0
- package/specs/quiver-v44-provider-live-output-tui-lite/slices/slice-04-planner-command-audit-adoption/EXECUTION_BRIEF.md +26 -0
- package/specs/quiver-v44-provider-live-output-tui-lite/slices/slice-04-planner-command-audit-adoption/slice.json +72 -0
- package/specs/quiver-v44-provider-live-output-tui-lite/slices/slice-05-docs-tests-readiness/CLOSURE_BRIEF.md +15 -0
- package/specs/quiver-v44-provider-live-output-tui-lite/slices/slice-05-docs-tests-readiness/EXECUTION_BRIEF.md +26 -0
- package/specs/quiver-v44-provider-live-output-tui-lite/slices/slice-05-docs-tests-readiness/slice.json +75 -0
- package/specs/quiver-v45-ci-actions-node24-readiness/EVIDENCE_REPORT.md +30 -0
- package/specs/quiver-v45-ci-actions-node24-readiness/EXECUTION_PLAN.md +22 -0
- package/specs/quiver-v45-ci-actions-node24-readiness/SPEC.md +49 -0
- package/specs/quiver-v45-ci-actions-node24-readiness/STATUS.md +21 -0
- package/specs/quiver-v45-ci-actions-node24-readiness/pr.md +67 -0
- package/specs/quiver-v45-ci-actions-node24-readiness/slices/slice-00-ci-actions-foundation/CLOSURE_BRIEF.md +10 -0
- package/specs/quiver-v45-ci-actions-node24-readiness/slices/slice-00-ci-actions-foundation/EXECUTION_BRIEF.md +21 -0
- package/specs/quiver-v45-ci-actions-node24-readiness/slices/slice-00-ci-actions-foundation/slice.json +48 -0
- package/specs/quiver-v45-ci-actions-node24-readiness/slices/slice-01-actions-node24-readiness/CLOSURE_BRIEF.md +14 -0
- package/specs/quiver-v45-ci-actions-node24-readiness/slices/slice-01-actions-node24-readiness/EXECUTION_BRIEF.md +23 -0
- package/specs/quiver-v45-ci-actions-node24-readiness/slices/slice-01-actions-node24-readiness/slice.json +65 -0
- package/specs/quiver-v50-audit-trust-foundation/EVIDENCE_REPORT.md +151 -0
- package/specs/quiver-v50-audit-trust-foundation/EXECUTION_PLAN.md +34 -0
- package/specs/quiver-v50-audit-trust-foundation/SPEC.md +113 -0
- package/specs/quiver-v50-audit-trust-foundation/STATUS.md +26 -0
- package/specs/quiver-v50-audit-trust-foundation/pr.md +120 -0
- package/specs/quiver-v50-audit-trust-foundation/slices/slice-00-audit-baseline-and-resolved-findings/CLOSURE_BRIEF.md +20 -0
- package/specs/quiver-v50-audit-trust-foundation/slices/slice-00-audit-baseline-and-resolved-findings/EXECUTION_BRIEF.md +58 -0
- package/specs/quiver-v50-audit-trust-foundation/slices/slice-00-audit-baseline-and-resolved-findings/slice.json +57 -0
- package/specs/quiver-v50-audit-trust-foundation/slices/slice-01-runtime-minimum-and-package-metadata/CLOSURE_BRIEF.md +24 -0
- package/specs/quiver-v50-audit-trust-foundation/slices/slice-01-runtime-minimum-and-package-metadata/EXECUTION_BRIEF.md +67 -0
- package/specs/quiver-v50-audit-trust-foundation/slices/slice-01-runtime-minimum-and-package-metadata/slice.json +71 -0
- package/specs/quiver-v50-audit-trust-foundation/slices/slice-02-migrate-write-safety-contract/CLOSURE_BRIEF.md +24 -0
- package/specs/quiver-v50-audit-trust-foundation/slices/slice-02-migrate-write-safety-contract/EXECUTION_BRIEF.md +71 -0
- package/specs/quiver-v50-audit-trust-foundation/slices/slice-02-migrate-write-safety-contract/slice.json +81 -0
- package/specs/quiver-v50-audit-trust-foundation/slices/slice-03-security-reporting-channel/CLOSURE_BRIEF.md +22 -0
- package/specs/quiver-v50-audit-trust-foundation/slices/slice-03-security-reporting-channel/EXECUTION_BRIEF.md +57 -0
- package/specs/quiver-v50-audit-trust-foundation/slices/slice-03-security-reporting-channel/slice.json +56 -0
- package/specs/quiver-v50-audit-trust-foundation/slices/slice-04-user-facing-i18n-error-coverage/CLOSURE_BRIEF.md +23 -0
- package/specs/quiver-v50-audit-trust-foundation/slices/slice-04-user-facing-i18n-error-coverage/EXECUTION_BRIEF.md +68 -0
- package/specs/quiver-v50-audit-trust-foundation/slices/slice-04-user-facing-i18n-error-coverage/slice.json +84 -0
- package/specs/quiver-v50-audit-trust-foundation/slices/slice-05-init-analyze-progress-and-summaries/CLOSURE_BRIEF.md +25 -0
- package/specs/quiver-v50-audit-trust-foundation/slices/slice-05-init-analyze-progress-and-summaries/EXECUTION_BRIEF.md +73 -0
- package/specs/quiver-v50-audit-trust-foundation/slices/slice-05-init-analyze-progress-and-summaries/slice.json +72 -0
- package/specs/quiver-v50-audit-trust-foundation/slices/slice-06-contributor-and-architecture-docs/CLOSURE_BRIEF.md +22 -0
- package/specs/quiver-v50-audit-trust-foundation/slices/slice-06-contributor-and-architecture-docs/EXECUTION_BRIEF.md +66 -0
- package/specs/quiver-v50-audit-trust-foundation/slices/slice-06-contributor-and-architecture-docs/slice.json +74 -0
- package/specs/quiver-v50-audit-trust-foundation/slices/slice-07-ci-and-documentation-lint-baseline/CLOSURE_BRIEF.md +29 -0
- package/specs/quiver-v50-audit-trust-foundation/slices/slice-07-ci-and-documentation-lint-baseline/EXECUTION_BRIEF.md +74 -0
- package/specs/quiver-v50-audit-trust-foundation/slices/slice-07-ci-and-documentation-lint-baseline/slice.json +81 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/EVIDENCE_REPORT.md +145 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/EXECUTION_PLAN.md +32 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/SPEC.md +109 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/STATUS.md +25 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/pr.md +69 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-00-cli-contract-baseline/CLOSURE_BRIEF.md +20 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-00-cli-contract-baseline/EXECUTION_BRIEF.md +58 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-00-cli-contract-baseline/slice.json +56 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-01-flow-json-compatibility/CLOSURE_BRIEF.md +21 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-01-flow-json-compatibility/EXECUTION_BRIEF.md +61 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-01-flow-json-compatibility/slice.json +68 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-02-dashboard-section-validation-i18n/CLOSURE_BRIEF.md +25 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-02-dashboard-section-validation-i18n/EXECUTION_BRIEF.md +65 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-02-dashboard-section-validation-i18n/pr.md +134 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-02-dashboard-section-validation-i18n/slice.json +80 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-03-base-branch-resolution-policy/CLOSURE_BRIEF.md +31 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-03-base-branch-resolution-policy/EXECUTION_BRIEF.md +80 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-03-base-branch-resolution-policy/pr.md +159 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-03-base-branch-resolution-policy/slice.json +102 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-04-next-plan-graph-ux-edge-cases/CLOSURE_BRIEF.md +25 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-04-next-plan-graph-ux-edge-cases/EXECUTION_BRIEF.md +74 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-04-next-plan-graph-ux-edge-cases/pr.md +147 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-04-next-plan-graph-ux-edge-cases/slice.json +91 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-05-evidence-robustness-path-safety/CLOSURE_BRIEF.md +28 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-05-evidence-robustness-path-safety/EXECUTION_BRIEF.md +73 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-05-evidence-robustness-path-safety/pr.md +146 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-05-evidence-robustness-path-safety/slice.json +100 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-06-namespace-compatibility-windows-scripts/CLOSURE_BRIEF.md +36 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-06-namespace-compatibility-windows-scripts/EXECUTION_BRIEF.md +76 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-06-namespace-compatibility-windows-scripts/pr.md +155 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-06-namespace-compatibility-windows-scripts/slice.json +111 -0
- package/specs/quiver-v52-schema-docs-release-hygiene/EVIDENCE_REPORT.md +95 -0
- package/specs/quiver-v52-schema-docs-release-hygiene/EXECUTION_PLAN.md +31 -0
- package/specs/quiver-v52-schema-docs-release-hygiene/SPEC.md +107 -0
- package/specs/quiver-v52-schema-docs-release-hygiene/STATUS.md +22 -0
- package/specs/quiver-v52-schema-docs-release-hygiene/pr.md +69 -0
- package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-00-schema-docs-release-baseline/CLOSURE_BRIEF.md +21 -0
- package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-00-schema-docs-release-baseline/EXECUTION_BRIEF.md +60 -0
- package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-00-schema-docs-release-baseline/slice.json +62 -0
- package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-01-json-schema-for-slice-json/CLOSURE_BRIEF.md +34 -0
- package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-01-json-schema-for-slice-json/EXECUTION_BRIEF.md +71 -0
- package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-01-json-schema-for-slice-json/pr.md +146 -0
- package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-01-json-schema-for-slice-json/slice.json +106 -0
- package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-02-generated-cli-reference/CLOSURE_BRIEF.md +33 -0
- package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-02-generated-cli-reference/EXECUTION_BRIEF.md +67 -0
- package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-02-generated-cli-reference/pr.md +144 -0
- package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-02-generated-cli-reference/slice.json +86 -0
- package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-03-changelog-package-release-smoke-hygiene/CLOSURE_BRIEF.md +38 -0
- package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-03-changelog-package-release-smoke-hygiene/EXECUTION_BRIEF.md +75 -0
- package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-03-changelog-package-release-smoke-hygiene/pr.md +159 -0
- package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-03-changelog-package-release-smoke-hygiene/slice.json +105 -0
- package/src/create-quiver/commands/ai.js +485 -307
- package/src/create-quiver/commands/changelog.js +93 -0
- package/src/create-quiver/commands/config.js +135 -0
- package/src/create-quiver/commands/demo.js +2 -2
- package/src/create-quiver/commands/evidence.js +39 -6
- package/src/create-quiver/commands/flow.js +109 -16
- package/src/create-quiver/commands/graph.js +9 -2
- package/src/create-quiver/commands/next.js +21 -18
- package/src/create-quiver/commands/plan.js +29 -6
- package/src/create-quiver/commands/spec.js +94 -70
- package/src/create-quiver/index.js +798 -223
- package/src/create-quiver/lib/ai/execution-plan.js +23 -20
- package/src/create-quiver/lib/ai/executor.js +60 -44
- package/src/create-quiver/lib/ai/export-state.js +75 -64
- package/src/create-quiver/lib/ai/github.js +29 -23
- package/src/create-quiver/lib/ai/run-state.js +28 -25
- package/src/create-quiver/lib/ai/spec-templates.js +19 -0
- package/src/create-quiver/lib/cli/command-registry.js +71 -0
- package/src/create-quiver/lib/cli/parser.js +14 -0
- package/src/create-quiver/lib/dashboard.js +154 -111
- package/src/create-quiver/lib/demo.js +14 -12
- package/src/create-quiver/lib/evidence.js +161 -6
- package/src/create-quiver/lib/git.js +99 -0
- package/src/create-quiver/lib/handoff.js +16 -7
- package/src/create-quiver/lib/i18n/catalog.js +152 -0
- package/src/create-quiver/lib/i18n/language.js +279 -0
- package/src/create-quiver/lib/i18n/messages/en.js +898 -0
- package/src/create-quiver/lib/i18n/messages/es.js +1013 -0
- package/src/create-quiver/lib/i18n/read-only-format.js +26 -0
- package/src/create-quiver/lib/i18n/templates.js +172 -0
- package/src/create-quiver/lib/init-docs.js +19 -5
- package/src/create-quiver/lib/init-layout.js +15 -8
- package/src/create-quiver/lib/lifecycle.js +72 -67
- package/src/create-quiver/lib/readiness.js +131 -110
- package/src/create-quiver/lib/renderers/tree.js +9 -6
- package/src/create-quiver/lib/spec-worktrees.js +50 -64
- package/src/create-quiver/lib/version.js +11 -9
package/pr.md
ADDED
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
## Title
|
|
2
|
+
|
|
3
|
+
chore(release): 0.16.0
|
|
4
|
+
|
|
5
|
+
## Summary
|
|
6
|
+
|
|
7
|
+
Prepares `create-quiver` `0.16.0` for publication. This release bumps package metadata from `0.15.3` to `0.16.0` and updates the changelog with the newly integrated read-only `changelog` command, parser/registry extraction, Spec 01 closure package, and release-readiness command-role audit.
|
|
8
|
+
|
|
9
|
+
## PR Policy
|
|
10
|
+
|
|
11
|
+
- One release = one commit.
|
|
12
|
+
- Base branch: `main`.
|
|
13
|
+
- Branch: `release/create-quiver-0.16.0`.
|
|
14
|
+
- Human merge required.
|
|
15
|
+
- This PR does not publish to npm.
|
|
16
|
+
- Publishing remains explicitly guarded by `QUIVER_ALLOW_NPM_PUBLISH=1` and npm auth.
|
|
17
|
+
|
|
18
|
+
## Scope
|
|
19
|
+
|
|
20
|
+
Includes:
|
|
21
|
+
|
|
22
|
+
- Bump `package.json` to `0.16.0`.
|
|
23
|
+
- Bump `package-lock.json` root/package versions to `0.16.0`.
|
|
24
|
+
- Update `CHANGELOG.md` with release notes for the command wrapper, parser/registry extraction, evidence gates, and Spec 01 closure.
|
|
25
|
+
- Validate the CLI command surface and release gates before opening the PR.
|
|
26
|
+
|
|
27
|
+
Excludes:
|
|
28
|
+
|
|
29
|
+
- No `npm publish`.
|
|
30
|
+
- No npm tag creation.
|
|
31
|
+
- No Git tag creation.
|
|
32
|
+
- No branch cleanup.
|
|
33
|
+
- No runtime code changes beyond already-merged slices.
|
|
34
|
+
|
|
35
|
+
## Files
|
|
36
|
+
|
|
37
|
+
- `package.json`
|
|
38
|
+
- `package-lock.json`
|
|
39
|
+
- `CHANGELOG.md`
|
|
40
|
+
|
|
41
|
+
## How to Test (DETAILED - REQUIRED)
|
|
42
|
+
|
|
43
|
+
### Required Environment
|
|
44
|
+
|
|
45
|
+
- Node.js and npm installed.
|
|
46
|
+
- Dependencies installed with `npm ci` or existing `node_modules` available.
|
|
47
|
+
- Git checkout of this PR branch.
|
|
48
|
+
- npm publish credentials are not required for PR validation.
|
|
49
|
+
|
|
50
|
+
### Worktree Access
|
|
51
|
+
|
|
52
|
+
1. Checkout `release/create-quiver-0.16.0`.
|
|
53
|
+
2. Confirm the package version is `0.16.0`:
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
node -e "const p=require('./package.json'); const l=require('./package-lock.json'); console.log(p.version, l.version, l.packages[''].version)"
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
3. Confirm only release metadata files changed:
|
|
60
|
+
|
|
61
|
+
```bash
|
|
62
|
+
git diff --stat origin/main...HEAD
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
### Run the Project
|
|
66
|
+
|
|
67
|
+
No server is required. This is a CLI package release PR.
|
|
68
|
+
|
|
69
|
+
### Use Cases
|
|
70
|
+
|
|
71
|
+
1. Confirm release version metadata.
|
|
72
|
+
|
|
73
|
+
Expected:
|
|
74
|
+
|
|
75
|
+
- `package.json` reports `0.16.0`.
|
|
76
|
+
- `package-lock.json` reports `0.16.0` at root and package entry.
|
|
77
|
+
|
|
78
|
+
2. Confirm changelog explains why the release exists.
|
|
79
|
+
|
|
80
|
+
Expected:
|
|
81
|
+
|
|
82
|
+
- `CHANGELOG.md` includes `changelog` command notes.
|
|
83
|
+
- `CHANGELOG.md` includes parser/registry extraction and release-readiness evidence notes.
|
|
84
|
+
|
|
85
|
+
3. Confirm the new command role.
|
|
86
|
+
|
|
87
|
+
Expected:
|
|
88
|
+
|
|
89
|
+
- `changelog` is read-only.
|
|
90
|
+
- Human output explains packaged release notes.
|
|
91
|
+
- JSON output is parseable for automation.
|
|
92
|
+
|
|
93
|
+
4. Confirm public command roles are understood before publish.
|
|
94
|
+
|
|
95
|
+
Expected:
|
|
96
|
+
|
|
97
|
+
- Help/version/changelog/config are direct inspection commands.
|
|
98
|
+
- Init/analyze/migrate/demo/evidence write only in explicit or fixture-safe modes.
|
|
99
|
+
- Flow/dashboard/plan/graph/next/spec/slice/handoff commands describe workflow state and validation.
|
|
100
|
+
- AI commands are lifecycle, planning, provider-profile, execution, inspection, and PR-preflight surfaces.
|
|
101
|
+
- Commands with missing prerequisites fail with actionable, controlled errors instead of crashes.
|
|
102
|
+
|
|
103
|
+
### Technical Verification
|
|
104
|
+
|
|
105
|
+
Run:
|
|
106
|
+
|
|
107
|
+
```bash
|
|
108
|
+
npm run changelog:check
|
|
109
|
+
npm run docs:check
|
|
110
|
+
npm run schema:slice:check
|
|
111
|
+
npm test
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
Optional release dry-run from a clean worktree:
|
|
115
|
+
|
|
116
|
+
```bash
|
|
117
|
+
npm ci
|
|
118
|
+
bash scripts/release-quiver.sh patch
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
Expected:
|
|
122
|
+
|
|
123
|
+
- Changelog validation passes.
|
|
124
|
+
- Docs lint/link/generated command reference checks pass.
|
|
125
|
+
- Slice schema validation passes.
|
|
126
|
+
- Full test suite passes.
|
|
127
|
+
- Release dry-run passes through changelog/docs/schema, installer smoke, package artifact, and installed CLI smoke.
|
|
128
|
+
|
|
129
|
+
## Evidence
|
|
130
|
+
|
|
131
|
+
Validated locally before PR:
|
|
132
|
+
|
|
133
|
+
- `npm run changelog:check`: OK, `Unreleased entries: 26`.
|
|
134
|
+
- `npm run docs:check`: OK.
|
|
135
|
+
- `npm run schema:slice:check`: OK.
|
|
136
|
+
- `npm test`: OK, `655/655` pass.
|
|
137
|
+
- Manual command-role audit: OK after correcting fixtures/preconditions.
|
|
138
|
+
- `changelog` human output: OK.
|
|
139
|
+
- `changelog --json`: OK, parseable JSON.
|
|
140
|
+
- `status --json`: controlled unsupported top-level command, as intended.
|
|
141
|
+
- Release dry-run in clean temporary worktree with `npm ci`: OK.
|
|
142
|
+
- Package smoke: OK, `create-quiver-0.16.0.tgz` installed CLI smoke passed.
|
|
143
|
+
|
|
144
|
+
## Rollback
|
|
145
|
+
|
|
146
|
+
Revert the single release commit before merge. If already merged but not published, revert the release commit on `main`. If already published, do not unpublish by default; publish a corrective patch release instead.
|
|
147
|
+
|
|
148
|
+
## Risks / Notes
|
|
149
|
+
|
|
150
|
+
- npm `latest` is currently `0.15.4`; this PR intentionally prepares `0.16.0` because the public CLI surface changed with `changelog`.
|
|
151
|
+
- Local `npm whoami` previously returned `401 Unauthorized`; publishing requires npm login before the final publish step.
|
|
152
|
+
- `QUIVER_ALLOW_NPM_PUBLISH=1` must be explicitly set for guarded publish flows.
|
|
153
|
+
- The release script does not publish in this PR.
|
|
154
|
+
- Local `pr.md` is not part of the PR commit.
|
|
@@ -6,6 +6,9 @@ repo_root="$(git rev-parse --show-toplevel)"
|
|
|
6
6
|
temp_root="$(mktemp -d "${TMPDIR:-/tmp}/quiver-pack.XXXXXX")"
|
|
7
7
|
pack_dir="$temp_root/pack"
|
|
8
8
|
npm_cache="$temp_root/npm-cache"
|
|
9
|
+
install_root="$temp_root/install-root"
|
|
10
|
+
dry_run_target="$temp_root/dry-run-project"
|
|
11
|
+
cli_version="$(node -p 'require(process.argv[1]).version' "$repo_root/package.json")"
|
|
9
12
|
|
|
10
13
|
cleanup() {
|
|
11
14
|
rm -rf "$temp_root"
|
|
@@ -15,13 +18,14 @@ trap cleanup EXIT
|
|
|
15
18
|
|
|
16
19
|
mkdir -p "$pack_dir"
|
|
17
20
|
mkdir -p "$npm_cache"
|
|
21
|
+
mkdir -p "$install_root"
|
|
18
22
|
|
|
19
23
|
pack_json="$(
|
|
20
24
|
cd "$repo_root" && npm_config_cache="$npm_cache" npm pack --json --pack-destination "$pack_dir"
|
|
21
25
|
)"
|
|
22
26
|
|
|
23
27
|
tarball_name="$(
|
|
24
|
-
node -e 'const data = JSON.parse(
|
|
28
|
+
printf '%s\n' "$pack_json" | node -e 'const fs = require("node:fs"); const data = JSON.parse(fs.readFileSync(0, "utf8")); process.stdout.write(data[0].filename);'
|
|
25
29
|
)"
|
|
26
30
|
tarball_path="$pack_dir/$tarball_name"
|
|
27
31
|
|
|
@@ -68,6 +72,41 @@ require_absent() {
|
|
|
68
72
|
fi
|
|
69
73
|
}
|
|
70
74
|
|
|
75
|
+
reject_forbidden_content_patterns() {
|
|
76
|
+
local path
|
|
77
|
+
|
|
78
|
+
while IFS= read -r path; do
|
|
79
|
+
case "$path" in
|
|
80
|
+
package/package-lock.json|\
|
|
81
|
+
package/CLI_ANALYSIS.md|\
|
|
82
|
+
package/REQUERIMIENTOS_DERIVADOS_DE_AUDITORIA.md|\
|
|
83
|
+
package/Documentation_Report.pdf|\
|
|
84
|
+
package/WORKTREE_CONTEXT.md|\
|
|
85
|
+
package/.DS_Store|\
|
|
86
|
+
package/*/.DS_Store|\
|
|
87
|
+
package/*.pdf|\
|
|
88
|
+
package/.env|\
|
|
89
|
+
package/.env.*|\
|
|
90
|
+
package/.npmrc|\
|
|
91
|
+
package/.npm/*|\
|
|
92
|
+
package/.ssh/*|\
|
|
93
|
+
package/ssh/*|\
|
|
94
|
+
package/*.pem|\
|
|
95
|
+
package/*.key|\
|
|
96
|
+
package/.claude/*|\
|
|
97
|
+
package/.codex/*|\
|
|
98
|
+
package/.quiver/*|\
|
|
99
|
+
package/.worktrees/*|\
|
|
100
|
+
package/tests/*|\
|
|
101
|
+
package/examples/*|\
|
|
102
|
+
package/scripts/ci/*)
|
|
103
|
+
echo "FAIL: el paquete incluye contenido fuera del contrato: $path" >&2
|
|
104
|
+
exit 1
|
|
105
|
+
;;
|
|
106
|
+
esac
|
|
107
|
+
done <<<"$contents"
|
|
108
|
+
}
|
|
109
|
+
|
|
71
110
|
required_paths=(
|
|
72
111
|
"package/package.json"
|
|
73
112
|
"package/bin/create-quiver.js"
|
|
@@ -93,6 +132,9 @@ required_paths=(
|
|
|
93
132
|
"package/.github/ISSUE_TEMPLATE/feature_request.md"
|
|
94
133
|
"package/.github/workflows/ci.yml"
|
|
95
134
|
"package/docs/INDEX.md.template"
|
|
135
|
+
"package/docs/reference/commands.md"
|
|
136
|
+
"package/docs/schema/slice.schema.json"
|
|
137
|
+
"package/docs/reference/slice-schema.md"
|
|
96
138
|
"package/docs/DOCUMENTATION_GUIDE.md.template"
|
|
97
139
|
"package/docs/WORKFLOW.md.template"
|
|
98
140
|
"package/docs/SUPPORT_MATRIX.md.template"
|
|
@@ -127,8 +169,16 @@ done
|
|
|
127
169
|
|
|
128
170
|
excluded_paths=(
|
|
129
171
|
"package/package-lock.json"
|
|
172
|
+
"package/CLI_ANALYSIS.md"
|
|
173
|
+
"package/REQUERIMIENTOS_DERIVADOS_DE_AUDITORIA.md"
|
|
174
|
+
"package/Documentation_Report.pdf"
|
|
175
|
+
"package/.DS_Store"
|
|
176
|
+
"package/WORKTREE_CONTEXT.md"
|
|
130
177
|
"package/tests/"
|
|
131
178
|
"package/examples/"
|
|
179
|
+
"package/.claude/"
|
|
180
|
+
"package/.codex/"
|
|
181
|
+
"package/.quiver/"
|
|
132
182
|
"package/.worktrees/"
|
|
133
183
|
"package/specs/quiver-v01/"
|
|
134
184
|
"package/specs/quiver-v02-bootstrap-hardening/"
|
|
@@ -144,4 +194,34 @@ for path in "${excluded_paths[@]}"; do
|
|
|
144
194
|
fi
|
|
145
195
|
done
|
|
146
196
|
|
|
147
|
-
|
|
197
|
+
reject_forbidden_content_patterns
|
|
198
|
+
|
|
199
|
+
npm_config_cache="$npm_cache" npm install --prefix "$install_root" "$tarball_path" --ignore-scripts --no-audit --no-fund >/dev/null
|
|
200
|
+
installed_cli="$install_root/node_modules/create-quiver/bin/create-quiver.js"
|
|
201
|
+
|
|
202
|
+
if [[ ! -f "$installed_cli" ]]; then
|
|
203
|
+
echo "FAIL: no se encontró el CLI instalado en $installed_cli" >&2
|
|
204
|
+
exit 1
|
|
205
|
+
fi
|
|
206
|
+
|
|
207
|
+
installed_semver="$(node "$installed_cli" --version)"
|
|
208
|
+
if [[ "$installed_semver" != "$cli_version" ]]; then
|
|
209
|
+
echo "FAIL: el CLI instalado devolvió versión '$installed_semver', esperada '$cli_version'" >&2
|
|
210
|
+
exit 1
|
|
211
|
+
fi
|
|
212
|
+
|
|
213
|
+
installed_help="$(node "$installed_cli" --help)"
|
|
214
|
+
if [[ "$installed_help" != *"version [--json]"* ]] \
|
|
215
|
+
|| [[ "$installed_help" != *"spec create"* ]] \
|
|
216
|
+
|| [[ "$installed_help" != *"slice start|check|pr|scope|cleanup|refresh-active"* ]]; then
|
|
217
|
+
echo "FAIL: la ayuda del CLI instalado no expone comandos públicos esperados" >&2
|
|
218
|
+
exit 1
|
|
219
|
+
fi
|
|
220
|
+
|
|
221
|
+
node "$installed_cli" init --dry-run --name "Package Smoke" --dir "$dry_run_target" --skip-install >/dev/null
|
|
222
|
+
if [[ -e "$dry_run_target" ]]; then
|
|
223
|
+
echo "FAIL: init --dry-run del CLI instalado escribió en $dry_run_target" >&2
|
|
224
|
+
exit 1
|
|
225
|
+
fi
|
|
226
|
+
|
|
227
|
+
printf 'Package smoke passed: %s (installed CLI smoke passed)\n' "$tarball_name"
|
|
@@ -11,12 +11,15 @@ usage() {
|
|
|
11
11
|
Usage: scripts/release-quiver.sh [patch|minor|major|x.y.z] [--publish | --publish-current]
|
|
12
12
|
|
|
13
13
|
By default the script performs a release dry run:
|
|
14
|
+
- validates changelog, docs, and schema gates
|
|
14
15
|
- validates the installer smoke
|
|
15
|
-
- validates the package artifact
|
|
16
|
+
- validates the package artifact and installed CLI smoke
|
|
16
17
|
- prints the versioning and publish commands to run next
|
|
17
18
|
|
|
18
|
-
|
|
19
|
-
|
|
19
|
+
Publishing remains manually guarded. Pass --publish only with
|
|
20
|
+
QUIVER_ALLOW_NPM_PUBLISH=1 to run npm version and npm publish after the smoke
|
|
21
|
+
checks pass. Pass --publish-current with the same environment guard to publish
|
|
22
|
+
the current package version without forcing a patch bump.
|
|
20
23
|
EOF
|
|
21
24
|
}
|
|
22
25
|
|
|
@@ -50,6 +53,14 @@ if [[ -n "$(git status --porcelain)" ]]; then
|
|
|
50
53
|
exit 1
|
|
51
54
|
fi
|
|
52
55
|
|
|
56
|
+
if [[ "$publish" == "true" && "${QUIVER_ALLOW_NPM_PUBLISH:-}" != "1" ]]; then
|
|
57
|
+
echo "FAIL: publishing requires QUIVER_ALLOW_NPM_PUBLISH=1. Run the dry-run first and publish manually unless this release is explicitly authorized." >&2
|
|
58
|
+
exit 1
|
|
59
|
+
fi
|
|
60
|
+
|
|
61
|
+
npm run changelog:check
|
|
62
|
+
npm run docs:check
|
|
63
|
+
npm run schema:slice:check
|
|
53
64
|
bash scripts/ci/smoke-create-quiver.sh
|
|
54
65
|
bash scripts/package-quiver.sh
|
|
55
66
|
|
|
@@ -8,6 +8,25 @@
|
|
|
8
8
|
|
|
9
9
|
[Brief summary of what was implemented and why]
|
|
10
10
|
|
|
11
|
+
## PR Policy
|
|
12
|
+
|
|
13
|
+
- [ ] One slice only.
|
|
14
|
+
- [ ] Grouped PR exception: at most 2-3 slices, all docs-only, research-only, or low-risk mechanical cleanup.
|
|
15
|
+
- [ ] No behavior changes in a grouped PR.
|
|
16
|
+
- [ ] No mixed docs with UI, backend, refactor, or performance work.
|
|
17
|
+
- [ ] Separate evidence for each included slice.
|
|
18
|
+
- [ ] Whole PR is revertible without leaving partial state.
|
|
19
|
+
|
|
20
|
+
Individual PR required when this slice includes functional code, UI/UX, Supabase, Edge Functions, auth, storage, preview, performance/code-splitting, refactors, or tests/CI changes that affect gates.
|
|
21
|
+
|
|
22
|
+
### Merge Policy
|
|
23
|
+
|
|
24
|
+
- [ ] Human merge expected.
|
|
25
|
+
- [ ] Assisted auto-merge explicitly authorized for this PR or documented category.
|
|
26
|
+
- [ ] Assisted auto-merge conditions met: docs-only or chore-only, low risk, no runtime changes, no production configuration changes, green checks, and no pending comments.
|
|
27
|
+
|
|
28
|
+
Assisted auto-merge is prohibited for UI, Supabase, Edge Functions, auth, storage, preview, performance, refactors, and changes with doubtful rollback.
|
|
29
|
+
|
|
11
30
|
## Scope
|
|
12
31
|
|
|
13
32
|
- [Included change 1]
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
# Evidence Report - Quiver v37 CLI i18n Foundation
|
|
2
|
+
|
|
3
|
+
## slice-00-foundation-and-program-roadmap
|
|
4
|
+
|
|
5
|
+
- Created this spec package and all slice handoffs.
|
|
6
|
+
- Runtime implementation intentionally not started.
|
|
7
|
+
|
|
8
|
+
## slice-01-language-resolution-contract
|
|
9
|
+
|
|
10
|
+
- Implemented `src/create-quiver/lib/i18n/language.js`.
|
|
11
|
+
- Wired global `--lang <en|es>` extraction before command dispatch in `src/create-quiver/index.js`.
|
|
12
|
+
- Added focused resolver/config/locale tests in `tests/lib/i18n-language.test.js`.
|
|
13
|
+
- Added CLI contract tests proving `--lang` works before and after commands without changing JSON output.
|
|
14
|
+
- Validation passed:
|
|
15
|
+
- `node --test tests/lib/i18n-language.test.js`
|
|
16
|
+
- `node --test tests/commands/cli-contract.test.js`
|
|
17
|
+
- `node --test tests/**/*.test.js` (534 tests)
|
|
18
|
+
- `node bin/create-quiver.js spec validate specs/quiver-v37-cli-i18n-foundation --strict`
|
|
19
|
+
- `git diff --check`
|
|
20
|
+
|
|
21
|
+
## slice-02-message-catalog-interpolation
|
|
22
|
+
|
|
23
|
+
- Implemented `src/create-quiver/lib/i18n/catalog.js`.
|
|
24
|
+
- Added versioned catalogs:
|
|
25
|
+
- `src/create-quiver/lib/i18n/messages/en.js`
|
|
26
|
+
- `src/create-quiver/lib/i18n/messages/es.js`
|
|
27
|
+
- Added focused catalog tests in `tests/lib/i18n-catalog.test.js`.
|
|
28
|
+
- Validation passed:
|
|
29
|
+
- `node --test tests/lib/i18n-catalog.test.js`
|
|
30
|
+
|
|
31
|
+
## slice-03-config-language-command
|
|
32
|
+
|
|
33
|
+
- Implemented `src/create-quiver/commands/config.js`.
|
|
34
|
+
- Wired `config language show` and `config language set <en|es>` into `src/create-quiver/index.js`.
|
|
35
|
+
- Added `--global` support for writing `~/.quiver/config.json`.
|
|
36
|
+
- Updated `docs/reference/commands.md`.
|
|
37
|
+
- Added `tests/commands/config-language.test.js`.
|
|
38
|
+
- Validation passed:
|
|
39
|
+
- `node --test tests/commands/config-language.test.js`
|
|
40
|
+
- `node --test tests/lib/i18n-catalog.test.js tests/lib/i18n-language.test.js tests/commands/cli-contract.test.js`
|
|
41
|
+
- `node --test tests/**/*.test.js` (547 tests)
|
|
42
|
+
- `node bin/create-quiver.js spec validate specs/quiver-v37-cli-i18n-foundation --strict`
|
|
43
|
+
- `git diff --check`
|
|
44
|
+
|
|
45
|
+
## slice-04-parser-help-error-foundation
|
|
46
|
+
|
|
47
|
+
- Routed top-level help headings, command descriptions, language warnings, unsupported commands, unsupported flags, and missing flag values through the i18n catalog.
|
|
48
|
+
- Preserved literal command snippets, flags, ids, and JSON contracts.
|
|
49
|
+
- Added CLI contract coverage for:
|
|
50
|
+
- `--lang es --help`
|
|
51
|
+
- project-configured Spanish help without `--lang`
|
|
52
|
+
- missing `--lang` value using `QUIVER_LANG=es`
|
|
53
|
+
- unsupported flags in Spanish
|
|
54
|
+
- unsupported commands in English and Spanish
|
|
55
|
+
- Validation passed:
|
|
56
|
+
- `node --test tests/commands/cli-contract.test.js`
|
|
57
|
+
- `node --test tests/lib/i18n-catalog.test.js tests/lib/i18n-language.test.js`
|
|
58
|
+
- `node --test tests/commands/config-language.test.js`
|
|
59
|
+
|
|
60
|
+
## slice-05-foundation-docs-tests-package-readiness
|
|
61
|
+
|
|
62
|
+
- Updated `docs/CLI_UX_GUIDE.md` with language resolution precedence, JSON stability, and automation/no-TTY rules.
|
|
63
|
+
- Updated `docs/reference/commands.md` with `--lang`, `QUIVER_LANG`, project/global config precedence, and examples.
|
|
64
|
+
- Validation passed:
|
|
65
|
+
- `node --test tests/**/*.test.js` (549 tests)
|
|
66
|
+
- `git diff --check`
|
|
67
|
+
- `npm run package:quiver`
|
|
68
|
+
- `npm run smoke:create-quiver`
|
|
69
|
+
- `node bin/create-quiver.js spec validate specs/quiver-v37-cli-i18n-foundation --strict`
|
|
70
|
+
|
|
71
|
+
## Pending Evidence
|
|
72
|
+
|
|
73
|
+
- None.
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# Execution Plan - Quiver v37 CLI i18n Foundation
|
|
2
|
+
|
|
3
|
+
## Execution Rules
|
|
4
|
+
|
|
5
|
+
- Do not implement runtime code without an approved slice.
|
|
6
|
+
- Preserve stable JSON output.
|
|
7
|
+
- Keep command names, flags, ids, paths, provider names, and model ids untranslated.
|
|
8
|
+
- Add tests for `en` and `es` for every public human output touched by this spec.
|
|
9
|
+
|
|
10
|
+
## Suggested Order
|
|
11
|
+
|
|
12
|
+
1. `slice-00-foundation-and-program-roadmap`
|
|
13
|
+
2. `slice-01-language-resolution-contract`
|
|
14
|
+
3. `slice-02-message-catalog-interpolation`
|
|
15
|
+
4. `slice-03-config-language-command`
|
|
16
|
+
5. `slice-04-parser-help-error-foundation`
|
|
17
|
+
6. `slice-05-foundation-docs-tests-package-readiness`
|
|
18
|
+
|
|
19
|
+
## Parallelization Guidance
|
|
20
|
+
|
|
21
|
+
- `slice-01` must complete before runtime i18n work.
|
|
22
|
+
- `slice-02` must complete before commands are migrated to catalogs.
|
|
23
|
+
- `slice-03` and `slice-04` can run in parallel only after `slice-02` if ownership is split by files.
|
|
24
|
+
- `slice-05` runs last.
|
|
25
|
+
|
|
26
|
+
## Final Validation
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
node --test tests/**/*.test.js
|
|
30
|
+
git diff --check
|
|
31
|
+
npx create-quiver spec validate specs/quiver-v37-cli-i18n-foundation --strict
|
|
32
|
+
npm run package:quiver
|
|
33
|
+
npm run smoke:create-quiver
|
|
34
|
+
```
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
# Quiver v37 - CLI i18n Foundation
|
|
2
|
+
|
|
3
|
+
**Date:** 2026-05-28
|
|
4
|
+
**Status:** Completed
|
|
5
|
+
**Source:** User-approved requirement for Spanish and English CLI output, hardened for production before implementation.
|
|
6
|
+
|
|
7
|
+
Slice numbering resets here. This spec intentionally starts at `slice-00`.
|
|
8
|
+
|
|
9
|
+
## Problem
|
|
10
|
+
|
|
11
|
+
Quiver currently exposes human CLI messages in a single language. Users should not need to remember language flags after configuring a project, and automation must keep stable JSON contracts while human output can be localized.
|
|
12
|
+
|
|
13
|
+
## Objective
|
|
14
|
+
|
|
15
|
+
Create the foundation for Spanish (`es`) and English (`en`) output across Quiver commands:
|
|
16
|
+
|
|
17
|
+
- A single language resolution contract.
|
|
18
|
+
- Project and global language persistence.
|
|
19
|
+
- A message catalog with interpolation, pluralization, fallback, and missing-key detection.
|
|
20
|
+
- Localized help, parser errors, and early command errors before command dispatch.
|
|
21
|
+
- A stable rule that JSON output remains machine-readable and not localized.
|
|
22
|
+
|
|
23
|
+
## Scope
|
|
24
|
+
|
|
25
|
+
### Included
|
|
26
|
+
|
|
27
|
+
- Supported languages: `en`, `es`.
|
|
28
|
+
- Global `--lang <en|es>` flag that works before and after command names.
|
|
29
|
+
- `QUIVER_LANG` environment override.
|
|
30
|
+
- Project config `.quiver/config.json`.
|
|
31
|
+
- Global config `~/.quiver/config.json` resolved with `os.homedir()`.
|
|
32
|
+
- Locale detection from `LC_ALL`, `LC_MESSAGES`, `LANG`, `LANGUAGE`, and `Intl.DateTimeFormat().resolvedOptions().locale`.
|
|
33
|
+
- Fallback to `en`.
|
|
34
|
+
- `config language show`, `config language set es`, and `config language set en`.
|
|
35
|
+
- Catalog versioning, interpolation, pluralization, fallback, and test coverage.
|
|
36
|
+
- Parser/help/error localization foundation.
|
|
37
|
+
|
|
38
|
+
### Excluded
|
|
39
|
+
|
|
40
|
+
- Migrating every existing command in this spec.
|
|
41
|
+
- Localizing JSON keys, error codes, schema fields, or command identifiers.
|
|
42
|
+
- Translating commands, flags, file paths, provider names, model ids, run ids, spec ids, slice ids, or suggested command snippets.
|
|
43
|
+
- Generated project documentation; that is covered by v42.
|
|
44
|
+
|
|
45
|
+
## Approved Acceptance Criteria
|
|
46
|
+
|
|
47
|
+
1. `init --interactive` can store the selected language in `.quiver/config.json`.
|
|
48
|
+
2. After project language is configured, normal commands use that language without requiring `--lang`.
|
|
49
|
+
3. `--lang` overrides every other source and works before or after the command.
|
|
50
|
+
4. `QUIVER_LANG` overrides project/global config when `--lang` is absent.
|
|
51
|
+
5. Project config overrides global config.
|
|
52
|
+
6. Global config lives at `~/.quiver/config.json` using `os.homedir()`.
|
|
53
|
+
7. Locale detection normalizes `es_AR`, `es-AR`, `en_US`, and `en-US`.
|
|
54
|
+
8. Unsupported or missing language falls back to `en` with an actionable warning in human mode.
|
|
55
|
+
9. `--json` output remains stable and parseable; JSON keys and codes are not localized.
|
|
56
|
+
10. Localized text keeps suggested commands and flags exact.
|
|
57
|
+
11. Catalog misses fail tests before release.
|
|
58
|
+
12. New commands after v37 must use i18n or declare a temporary documented exception.
|
|
59
|
+
|
|
60
|
+
## Approved Technical Plan
|
|
61
|
+
|
|
62
|
+
1. Create this SDD package and handoffs without runtime implementation.
|
|
63
|
+
2. Add language resolution and persistence helpers.
|
|
64
|
+
3. Add message catalogs and safe translation helpers.
|
|
65
|
+
4. Add `config language` commands.
|
|
66
|
+
5. Route help, parser errors, and early command errors through the i18n layer.
|
|
67
|
+
6. Add docs, tests, and package readiness for the foundation.
|
|
68
|
+
|
|
69
|
+
## Slice Roadmap
|
|
70
|
+
|
|
71
|
+
| Slice | Title | Status | Dependencies |
|
|
72
|
+
|---|---|---|---|
|
|
73
|
+
| slice-00 | Foundation and program roadmap | completed | none |
|
|
74
|
+
| slice-01 | Language resolution contract | completed | slice-00 |
|
|
75
|
+
| slice-02 | Message catalog and interpolation | completed | slice-01 |
|
|
76
|
+
| slice-03 | Config language command | completed | slice-01, slice-02 |
|
|
77
|
+
| slice-04 | Parser, help, and early error foundation | completed | slice-01, slice-02 |
|
|
78
|
+
| slice-05 | Foundation docs, tests, and package readiness | completed | slice-02, slice-03, slice-04 |
|
|
79
|
+
|
|
80
|
+
## Risks and Guardrails
|
|
81
|
+
|
|
82
|
+
- Do not localize JSON contracts.
|
|
83
|
+
- Do not mix Spanish and English in the same human command unless the untranslated fragment is a literal command, flag, path, id, provider, or model.
|
|
84
|
+
- Do not hardcode output strings in later command work when a catalog key should exist.
|
|
85
|
+
- Keep no-TTY and CI behavior deterministic; no prompts unless `--interactive` was requested.
|
|
86
|
+
- Keep fallback behavior explicit and testable.
|
|
87
|
+
|
|
88
|
+
## Assumptions
|
|
89
|
+
|
|
90
|
+
- This repository's canonical spec location is `specs/quiver-vNN-*`.
|
|
91
|
+
- The first implementation slice should start with a minimal reusable foundation before command migration.
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# Status - Quiver v37 CLI i18n Foundation
|
|
2
|
+
|
|
3
|
+
**Overall status:** Completed
|
|
4
|
+
**Created:** 2026-05-28
|
|
5
|
+
**Completed:** 2026-05-29
|
|
6
|
+
**Current slice:** none
|
|
7
|
+
|
|
8
|
+
## Summary
|
|
9
|
+
|
|
10
|
+
This spec defines the shared i18n foundation for Quiver CLI output. All v37 slices have been implemented and validated.
|
|
11
|
+
|
|
12
|
+
## Slice Status
|
|
13
|
+
|
|
14
|
+
| Slice | Status | Notes |
|
|
15
|
+
|---|---|---|
|
|
16
|
+
| slice-00-foundation-and-program-roadmap | Completed | Spec package, execution plan, PR body, evidence skeleton, and slice briefs created. |
|
|
17
|
+
| slice-01-language-resolution-contract | Completed | Language sources, precedence, normalization, config read/write primitives, and global `--lang` extraction implemented. |
|
|
18
|
+
| slice-02-message-catalog-interpolation | Completed | Catalog helpers, fallback, interpolation, pluralization, and missing-key tests implemented. |
|
|
19
|
+
| slice-03-config-language-command | Completed | Added `config language show|set`, project/global persistence, JSON output, and command docs. |
|
|
20
|
+
| slice-04-parser-help-error-foundation | Completed | Localized help headings/command descriptions, language warnings, unsupported commands, unsupported flags, and missing flag values. |
|
|
21
|
+
| slice-05-foundation-docs-tests-package-readiness | Completed | Updated public docs and ran full tests, package smoke, create-quiver smoke, spec validation, and diff check. |
|
|
22
|
+
|
|
23
|
+
## Current Blockers
|
|
24
|
+
|
|
25
|
+
- None.
|
|
26
|
+
|
|
27
|
+
## Next Step
|
|
28
|
+
|
|
29
|
+
Proceed to the next i18n migration spec in the approved roadmap.
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
## Title
|
|
2
|
+
|
|
3
|
+
Quiver v37 CLI i18n foundation
|
|
4
|
+
|
|
5
|
+
## Summary
|
|
6
|
+
|
|
7
|
+
- Adds the shared foundation for Spanish and English CLI output.
|
|
8
|
+
- Persists the configured language so users do not need flags after setup.
|
|
9
|
+
- Keeps JSON output stable and non-localized.
|
|
10
|
+
- Adds the approved follow-up i18n specs v38-v43 as the program roadmap.
|
|
11
|
+
|
|
12
|
+
## Scope
|
|
13
|
+
|
|
14
|
+
- Language resolution and config persistence.
|
|
15
|
+
- Message catalogs and translation helpers.
|
|
16
|
+
- `config language` commands.
|
|
17
|
+
- Localized help/parser/early errors.
|
|
18
|
+
- Docs and validation for the i18n foundation.
|
|
19
|
+
- Roadmap specs for read-only commands, setup/onboarding, spec/slice workflows, AI lifecycle, generated docs, and release readiness.
|
|
20
|
+
|
|
21
|
+
## Files
|
|
22
|
+
|
|
23
|
+
- `src/create-quiver/index.js`
|
|
24
|
+
- `src/create-quiver/commands/config.js`
|
|
25
|
+
- `src/create-quiver/lib/i18n/**`
|
|
26
|
+
- `tests/commands/cli-contract.test.js`
|
|
27
|
+
- `tests/commands/config-language.test.js`
|
|
28
|
+
- `tests/lib/i18n-catalog.test.js`
|
|
29
|
+
- `tests/lib/i18n-language.test.js`
|
|
30
|
+
- `docs/CLI_UX_GUIDE.md`
|
|
31
|
+
- `docs/reference/commands.md`
|
|
32
|
+
- `docs/INDEX.md`
|
|
33
|
+
- `specs/quiver-v37-cli-i18n-foundation/**`
|
|
34
|
+
- `specs/quiver-v38-cli-i18n-read-only-commands/**`
|
|
35
|
+
- `specs/quiver-v39-cli-i18n-setup-onboarding/**`
|
|
36
|
+
- `specs/quiver-v40-cli-i18n-spec-slice-workflows/**`
|
|
37
|
+
- `specs/quiver-v41-cli-i18n-ai-lifecycle/**`
|
|
38
|
+
- `specs/quiver-v42-cli-i18n-generated-docs/**`
|
|
39
|
+
- `specs/quiver-v43-cli-i18n-audit-release-readiness/**`
|
|
40
|
+
|
|
41
|
+
## How to Test (DETAILED - REQUIRED)
|
|
42
|
+
|
|
43
|
+
### Required Environment
|
|
44
|
+
|
|
45
|
+
- Node.js and npm available.
|
|
46
|
+
- Repository checked out on macOS, Linux, or Windows-compatible shell.
|
|
47
|
+
|
|
48
|
+
### Worktree Access
|
|
49
|
+
|
|
50
|
+
- This PR is based on `main`.
|
|
51
|
+
- No external services are required for local validation.
|
|
52
|
+
|
|
53
|
+
### Run the Project
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
node bin/create-quiver.js --help
|
|
57
|
+
node bin/create-quiver.js --lang es --help
|
|
58
|
+
node bin/create-quiver.js config language show
|
|
59
|
+
node bin/create-quiver.js config language set es --json
|
|
60
|
+
node bin/create-quiver.js version --json
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
### Use Cases
|
|
64
|
+
|
|
65
|
+
1. Run `node bin/create-quiver.js --lang es --help` and verify headings/descriptions are in Spanish while commands and flags remain exact.
|
|
66
|
+
2. Run `QUIVER_LANG=es node bin/create-quiver.js --unknown-flag` and verify the early parser error is localized.
|
|
67
|
+
3. Run `node bin/create-quiver.js version --json --lang es` and verify stdout remains parseable JSON with stable field names.
|
|
68
|
+
4. Run `node bin/create-quiver.js config language set es` in a temp project and verify `.quiver/config.json` stores `language: "es"` without deleting existing keys.
|
|
69
|
+
|
|
70
|
+
### Technical Verification
|
|
71
|
+
|
|
72
|
+
```bash
|
|
73
|
+
node --test tests/**/*.test.js
|
|
74
|
+
git diff --check
|
|
75
|
+
node bin/create-quiver.js spec validate specs/quiver-v37-cli-i18n-foundation --strict
|
|
76
|
+
npm run package:quiver
|
|
77
|
+
npm run smoke:create-quiver
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
## Evidence
|
|
81
|
+
|
|
82
|
+
- `node --test tests/**/*.test.js` passed with 549 tests.
|
|
83
|
+
- `git diff --check` passed.
|
|
84
|
+
- `node bin/create-quiver.js spec validate specs/quiver-v37-cli-i18n-foundation --strict` passed.
|
|
85
|
+
- `npm run package:quiver` passed.
|
|
86
|
+
- `npm run smoke:create-quiver` passed.
|
|
87
|
+
|
|
88
|
+
## Rollback
|
|
89
|
+
|
|
90
|
+
- Revert this PR.
|
|
91
|
+
- Remove `.quiver/config.json` language entries only if a local project used the new `config language set` command during manual testing.
|
|
92
|
+
|
|
93
|
+
## Risks / Notes
|
|
94
|
+
|
|
95
|
+
- Parser-level errors can bypass command-local i18n if the foundation is not wired before dispatch.
|
|
96
|
+
- JSON contracts must remain stable across languages.
|
|
97
|
+
- v38-v43 are specs only in this PR; command-specific migrations remain pending by design.
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
# CLOSURE_BRIEF - slice-00 Foundation and program roadmap
|
|
2
|
+
|
|
3
|
+
## Summary
|
|
4
|
+
|
|
5
|
+
Documentation package created. No runtime implementation was performed.
|
|
6
|
+
|
|
7
|
+
## Validation
|
|
8
|
+
|
|
9
|
+
- Pending `npx create-quiver spec validate specs/quiver-v37-cli-i18n-foundation --strict`.
|
|
10
|
+
- Pending `git diff --check`.
|