create-quiver 0.15.3 → 0.15.4
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/workflows/ci.yml +3 -0
- package/AGENTS.md.es.template +37 -0
- package/docs/AI_CONTEXT.md.es.template +35 -0
- package/docs/AI_ONBOARDING_PROMPT.md.es.template +22 -0
- package/docs/CLI_UX_GUIDE.md +46 -0
- package/docs/COMMANDS.md.es.template +28 -0
- package/docs/CONTEXTO.md.es.template +33 -0
- package/docs/DECISIONS.md.es.template +17 -0
- package/docs/GITFLOW_PR_GUIDE.md.es.template +25 -0
- package/docs/INDEX.md +10 -1
- package/docs/INDEX.md.es.template +36 -0
- 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 +29 -0
- package/docs/ai/LESSONS.md.es.template +24 -0
- package/docs/getting-started/installation.md +19 -0
- package/docs/reference/commands.md +55 -1
- package/package.json +1 -1
- 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 +545 -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/src/create-quiver/commands/ai.js +485 -307
- package/src/create-quiver/commands/config.js +124 -0
- package/src/create-quiver/commands/demo.js +2 -2
- package/src/create-quiver/commands/evidence.js +6 -4
- package/src/create-quiver/commands/flow.js +108 -16
- package/src/create-quiver/commands/graph.js +1 -0
- package/src/create-quiver/commands/next.js +21 -18
- package/src/create-quiver/commands/plan.js +23 -6
- package/src/create-quiver/commands/spec.js +66 -57
- package/src/create-quiver/index.js +514 -139
- 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 +24 -21
- package/src/create-quiver/lib/ai/run-state.js +28 -25
- package/src/create-quiver/lib/dashboard.js +154 -111
- package/src/create-quiver/lib/demo.js +14 -12
- 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 +853 -0
- package/src/create-quiver/lib/i18n/messages/es.js +968 -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 +18 -4
- package/src/create-quiver/lib/init-layout.js +6 -0
- package/src/create-quiver/lib/lifecycle.js +53 -46
- package/src/create-quiver/lib/readiness.js +77 -67
- package/src/create-quiver/lib/renderers/tree.js +9 -6
- package/src/create-quiver/lib/spec-worktrees.js +34 -30
- package/src/create-quiver/lib/version.js +11 -9
|
@@ -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`.
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# EXECUTION_BRIEF - slice-00 Foundation and program roadmap
|
|
2
|
+
|
|
3
|
+
## Context
|
|
4
|
+
|
|
5
|
+
The user approved a multi-spec roadmap for full Spanish and English CLI support. This slice creates only the documentation package and handoffs.
|
|
6
|
+
|
|
7
|
+
## Objective
|
|
8
|
+
|
|
9
|
+
Create the v37 foundation spec, roadmap, and implementation slices without modifying runtime code.
|
|
10
|
+
|
|
11
|
+
## Acceptance Criteria
|
|
12
|
+
|
|
13
|
+
- The spec package exists under `specs/quiver-v37-cli-i18n-foundation`.
|
|
14
|
+
- Each slice has `slice.json`, `EXECUTION_BRIEF.md`, and `CLOSURE_BRIEF.md`.
|
|
15
|
+
- The next executable slice is clearly marked as ready.
|
|
16
|
+
- No runtime code is modified by this slice.
|
|
17
|
+
|
|
18
|
+
## Completion Checklist
|
|
19
|
+
|
|
20
|
+
- [x] Spec root documents created.
|
|
21
|
+
- [x] Slice handoffs created.
|
|
22
|
+
- [x] Runtime implementation deferred.
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
{
|
|
2
|
+
"slice_id": "slice-00-foundation-and-program-roadmap",
|
|
3
|
+
"ticket": "QUIVER-37-00",
|
|
4
|
+
"type": "documentation",
|
|
5
|
+
"title": "Foundation and program roadmap",
|
|
6
|
+
"objective": "Create the approved v37 i18n foundation spec package and handoffs without runtime implementation.",
|
|
7
|
+
"description": "Documents the shared foundation required before migrating commands to Spanish and English output.",
|
|
8
|
+
"git": {
|
|
9
|
+
"branch_type": "docs",
|
|
10
|
+
"base_branch": "main",
|
|
11
|
+
"branch_slug": "v37-i18n-foundation-roadmap",
|
|
12
|
+
"branch_name": "docs/QUIVER-37-00-v37-i18n-foundation-roadmap"
|
|
13
|
+
},
|
|
14
|
+
"files": [
|
|
15
|
+
"specs/quiver-v37-cli-i18n-foundation/**"
|
|
16
|
+
],
|
|
17
|
+
"expected_read_paths": [
|
|
18
|
+
"docs/INDEX.md",
|
|
19
|
+
"docs/CLI_UX_GUIDE.md",
|
|
20
|
+
"docs/reference/commands.md"
|
|
21
|
+
],
|
|
22
|
+
"allowed_write_paths": [
|
|
23
|
+
"specs/quiver-v37-cli-i18n-foundation/**"
|
|
24
|
+
],
|
|
25
|
+
"depends_on": [],
|
|
26
|
+
"parallel_safe": "no",
|
|
27
|
+
"parallel_safe_reason": "This creates the contract for all later v37 slices.",
|
|
28
|
+
"must": [
|
|
29
|
+
"Create the spec package and slice handoffs.",
|
|
30
|
+
"Document the language precedence and JSON stability guardrails.",
|
|
31
|
+
"Mark slice-01 as ready."
|
|
32
|
+
],
|
|
33
|
+
"not_included": [
|
|
34
|
+
"Runtime implementation.",
|
|
35
|
+
"Catalog migration for existing commands."
|
|
36
|
+
],
|
|
37
|
+
"acceptance": [
|
|
38
|
+
"Spec root documents exist.",
|
|
39
|
+
"Each slice has execution and closure briefs.",
|
|
40
|
+
"slice.json files are valid JSON.",
|
|
41
|
+
"Runtime code is untouched."
|
|
42
|
+
],
|
|
43
|
+
"tests": [
|
|
44
|
+
"npx create-quiver spec validate specs/quiver-v37-cli-i18n-foundation --strict",
|
|
45
|
+
"git diff --check"
|
|
46
|
+
],
|
|
47
|
+
"validation_hints": [
|
|
48
|
+
"Strict validation requires completed slices to be referenced in EVIDENCE_REPORT.md."
|
|
49
|
+
],
|
|
50
|
+
"estimated_hours": 1,
|
|
51
|
+
"status": "completed",
|
|
52
|
+
"completed_at": "2026-05-28T00:00:00.000Z",
|
|
53
|
+
"blocked_reason": null
|
|
54
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# CLOSURE_BRIEF - slice-01 Language resolution contract
|
|
2
|
+
|
|
3
|
+
## Summary
|
|
4
|
+
|
|
5
|
+
Implemented the language resolution foundation for `en` and `es`.
|
|
6
|
+
|
|
7
|
+
Added:
|
|
8
|
+
|
|
9
|
+
- `src/create-quiver/lib/i18n/language.js`
|
|
10
|
+
- global `--lang` extraction before command dispatch
|
|
11
|
+
- project/global config helpers for `.quiver/config.json` and `~/.quiver/config.json`
|
|
12
|
+
- locale normalization for supported `en` and `es` variants
|
|
13
|
+
- warnings for unsupported explicit language sources
|
|
14
|
+
- focused unit and CLI contract tests
|
|
15
|
+
|
|
16
|
+
## Validation
|
|
17
|
+
|
|
18
|
+
- [x] `node --test tests/lib/i18n-language.test.js`
|
|
19
|
+
- [x] `node --test tests/commands/cli-contract.test.js`
|
|
20
|
+
- [x] `node --test tests/**/*.test.js`
|
|
21
|
+
- [x] `node bin/create-quiver.js spec validate specs/quiver-v37-cli-i18n-foundation --strict`
|
|
22
|
+
- [x] `git diff --check`
|
|
23
|
+
|
|
24
|
+
## Pending
|
|
25
|
+
|
|
26
|
+
- Package and smoke validation are deferred to `slice-05-foundation-docs-tests-package-readiness`.
|
|
27
|
+
|
|
28
|
+
## Remaining Risks
|
|
29
|
+
|
|
30
|
+
- Command output is not translated yet; slice-02 through slice-05 own catalog, command wiring, and docs/package readiness.
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# EXECUTION_BRIEF - slice-01 Language resolution contract
|
|
2
|
+
|
|
3
|
+
## Context
|
|
4
|
+
|
|
5
|
+
Users should configure language once and then receive CLI responses in that language without repeating flags.
|
|
6
|
+
|
|
7
|
+
## Objective
|
|
8
|
+
|
|
9
|
+
Implement the language resolution contract and config read/write primitives for `en` and `es`.
|
|
10
|
+
|
|
11
|
+
## Acceptance Criteria
|
|
12
|
+
|
|
13
|
+
- Resolution order is `--lang`, `QUIVER_LANG`, project config, global config, locale, `en`.
|
|
14
|
+
- `--lang` works before and after the command name.
|
|
15
|
+
- Project config is `.quiver/config.json`.
|
|
16
|
+
- Global config is `~/.quiver/config.json` resolved with `os.homedir()`.
|
|
17
|
+
- Locale detection reads `LC_ALL`, `LC_MESSAGES`, `LANG`, `LANGUAGE`, and `Intl.DateTimeFormat().resolvedOptions().locale`.
|
|
18
|
+
- `es_AR`, `es-AR`, `en_US`, and `en-US` normalize correctly.
|
|
19
|
+
- Unsupported values fall back to `en` with human-mode guidance.
|
|
20
|
+
- `--json` remains stable and does not include localized prose unless an existing schema explicitly allows it.
|
|
21
|
+
|
|
22
|
+
## Completion Checklist
|
|
23
|
+
|
|
24
|
+
- [x] Resolver helper implemented.
|
|
25
|
+
- [x] Config read/write helper implemented.
|
|
26
|
+
- [x] Global flag parser supports before/after command.
|
|
27
|
+
- [x] Unit tests cover precedence and locale normalization.
|
package/specs/quiver-v37-cli-i18n-foundation/slices/slice-01-language-resolution-contract/slice.json
ADDED
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
{
|
|
2
|
+
"slice_id": "slice-01-language-resolution-contract",
|
|
3
|
+
"ticket": "QUIVER-37-01",
|
|
4
|
+
"type": "feature",
|
|
5
|
+
"title": "Language resolution contract",
|
|
6
|
+
"objective": "Implement the ordered language resolution and config persistence foundation for Spanish and English CLI output.",
|
|
7
|
+
"description": "Adds the reusable resolver that all localized command output will consume.",
|
|
8
|
+
"git": {
|
|
9
|
+
"branch_type": "feature",
|
|
10
|
+
"base_branch": "main",
|
|
11
|
+
"branch_slug": "v37-language-resolution-contract",
|
|
12
|
+
"branch_name": "feature/QUIVER-37-01-v37-language-resolution-contract"
|
|
13
|
+
},
|
|
14
|
+
"files": [
|
|
15
|
+
"src/create-quiver/lib/i18n/language.js",
|
|
16
|
+
"tests/lib/i18n-language.test.js"
|
|
17
|
+
],
|
|
18
|
+
"expected_read_paths": [
|
|
19
|
+
"src/create-quiver/index.js",
|
|
20
|
+
"src/create-quiver/lib/paths.js",
|
|
21
|
+
"docs/CLI_UX_GUIDE.md",
|
|
22
|
+
"specs/quiver-v37-cli-i18n-foundation/SPEC.md"
|
|
23
|
+
],
|
|
24
|
+
"allowed_write_paths": [
|
|
25
|
+
"src/create-quiver/lib/i18n/language.js",
|
|
26
|
+
"src/create-quiver/index.js",
|
|
27
|
+
"tests/lib/i18n-language.test.js",
|
|
28
|
+
"tests/commands/cli-contract.test.js",
|
|
29
|
+
"specs/quiver-v37-cli-i18n-foundation/**"
|
|
30
|
+
],
|
|
31
|
+
"depends_on": [
|
|
32
|
+
"slice-00-foundation-and-program-roadmap"
|
|
33
|
+
],
|
|
34
|
+
"parallel_safe": "no",
|
|
35
|
+
"parallel_safe_reason": "All later i18n work depends on the exact precedence and parser contract.",
|
|
36
|
+
"must": [
|
|
37
|
+
"Support only en and es.",
|
|
38
|
+
"Apply the approved precedence order.",
|
|
39
|
+
"Resolve global config through os.homedir().",
|
|
40
|
+
"Normalize common locale variants.",
|
|
41
|
+
"Keep JSON output stable."
|
|
42
|
+
],
|
|
43
|
+
"not_included": [
|
|
44
|
+
"Message catalog implementation.",
|
|
45
|
+
"Command-by-command migration."
|
|
46
|
+
],
|
|
47
|
+
"acceptance": [
|
|
48
|
+
"Tests prove each language source wins in the approved order.",
|
|
49
|
+
"Tests prove --lang works before and after commands.",
|
|
50
|
+
"Unsupported language values fall back to en with human guidance.",
|
|
51
|
+
"No JSON schema keys are localized."
|
|
52
|
+
],
|
|
53
|
+
"tests": [
|
|
54
|
+
"node --test tests/lib/i18n-language.test.js",
|
|
55
|
+
"node --test tests/commands/cli-contract.test.js",
|
|
56
|
+
"git diff --check"
|
|
57
|
+
],
|
|
58
|
+
"validation_hints": [
|
|
59
|
+
"Use environment isolation in tests.",
|
|
60
|
+
"Include Windows-style home path coverage where practical."
|
|
61
|
+
],
|
|
62
|
+
"estimated_hours": 5,
|
|
63
|
+
"status": "completed",
|
|
64
|
+
"completed_at": "2026-05-29T00:00:00.000Z",
|
|
65
|
+
"blocked_reason": null
|
|
66
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# CLOSURE_BRIEF - slice-02 Message catalog and interpolation
|
|
2
|
+
|
|
3
|
+
## Summary
|
|
4
|
+
|
|
5
|
+
Implemented the shared message catalog foundation.
|
|
6
|
+
|
|
7
|
+
Added:
|
|
8
|
+
|
|
9
|
+
- versioned `en` and `es` catalogs
|
|
10
|
+
- translation helper
|
|
11
|
+
- safe interpolation with predictable missing params
|
|
12
|
+
- one/other plural support
|
|
13
|
+
- explicit fallback to English
|
|
14
|
+
- catalog completeness validation
|
|
15
|
+
|
|
16
|
+
## Validation
|
|
17
|
+
|
|
18
|
+
- [x] `node --test tests/lib/i18n-catalog.test.js`
|
|
19
|
+
- [ ] `git diff --check`
|
|
20
|
+
|
|
21
|
+
## Pending
|
|
22
|
+
|
|
23
|
+
- Run `git diff --check` after final docs updates.
|
|
24
|
+
|
|
25
|
+
## Remaining Risks
|
|
26
|
+
|
|
27
|
+
- Commands do not consume catalog keys yet; slice-03 through slice-05 own command wiring, parser/help migration, and docs/package readiness.
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# EXECUTION_BRIEF - slice-02 Message catalog and interpolation
|
|
2
|
+
|
|
3
|
+
## Context
|
|
4
|
+
|
|
5
|
+
Localized output must be maintainable and testable. Hardcoded Spanish or English strings in command bodies would make coverage incomplete.
|
|
6
|
+
|
|
7
|
+
## Objective
|
|
8
|
+
|
|
9
|
+
Add the catalog and translation helper used by the CLI for human output.
|
|
10
|
+
|
|
11
|
+
## Acceptance Criteria
|
|
12
|
+
|
|
13
|
+
- Catalogs exist for `en` and `es`.
|
|
14
|
+
- Catalog metadata includes a version.
|
|
15
|
+
- Interpolation escapes missing or unsafe values predictably.
|
|
16
|
+
- Plural forms support at least `one` and `other`.
|
|
17
|
+
- Missing keys fail tests.
|
|
18
|
+
- Fallback to `en` is explicit and tested.
|
|
19
|
+
- Suggested commands and flags remain exact literals.
|
|
20
|
+
|
|
21
|
+
## Completion Checklist
|
|
22
|
+
|
|
23
|
+
- [x] Catalog files added.
|
|
24
|
+
- [x] Translation helper added.
|
|
25
|
+
- [x] Missing-key and fallback tests added.
|
|
26
|
+
- [x] Pluralization tests added.
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
{
|
|
2
|
+
"slice_id": "slice-02-message-catalog-interpolation",
|
|
3
|
+
"ticket": "QUIVER-37-02",
|
|
4
|
+
"type": "feature",
|
|
5
|
+
"title": "Message catalog and interpolation",
|
|
6
|
+
"objective": "Create versioned English and Spanish catalogs with safe interpolation, pluralization, fallback, and missing-key coverage.",
|
|
7
|
+
"description": "Provides the string infrastructure needed before migrating command output.",
|
|
8
|
+
"git": {
|
|
9
|
+
"branch_type": "feature",
|
|
10
|
+
"base_branch": "main",
|
|
11
|
+
"branch_slug": "v37-message-catalog-interpolation",
|
|
12
|
+
"branch_name": "feature/QUIVER-37-02-v37-message-catalog-interpolation"
|
|
13
|
+
},
|
|
14
|
+
"files": [
|
|
15
|
+
"src/create-quiver/lib/i18n/catalog.js",
|
|
16
|
+
"src/create-quiver/lib/i18n/messages/en.js",
|
|
17
|
+
"src/create-quiver/lib/i18n/messages/es.js",
|
|
18
|
+
"tests/lib/i18n-catalog.test.js"
|
|
19
|
+
],
|
|
20
|
+
"expected_read_paths": [
|
|
21
|
+
"src/create-quiver/lib/i18n/language.js",
|
|
22
|
+
"specs/quiver-v37-cli-i18n-foundation/SPEC.md"
|
|
23
|
+
],
|
|
24
|
+
"allowed_write_paths": [
|
|
25
|
+
"src/create-quiver/lib/i18n/**",
|
|
26
|
+
"tests/lib/i18n-catalog.test.js",
|
|
27
|
+
"specs/quiver-v37-cli-i18n-foundation/**"
|
|
28
|
+
],
|
|
29
|
+
"depends_on": [
|
|
30
|
+
"slice-01-language-resolution-contract"
|
|
31
|
+
],
|
|
32
|
+
"parallel_safe": "no",
|
|
33
|
+
"parallel_safe_reason": "Later command migrations must share the same catalog API.",
|
|
34
|
+
"must": [
|
|
35
|
+
"Implement en and es catalogs.",
|
|
36
|
+
"Support interpolation and one/other plural forms.",
|
|
37
|
+
"Fail tests on missing keys.",
|
|
38
|
+
"Keep command snippets untranslated."
|
|
39
|
+
],
|
|
40
|
+
"not_included": [
|
|
41
|
+
"Migrating all command output.",
|
|
42
|
+
"Generated docs localization."
|
|
43
|
+
],
|
|
44
|
+
"acceptance": [
|
|
45
|
+
"All keys present in en exist in es and vice versa.",
|
|
46
|
+
"Missing key behavior is deterministic.",
|
|
47
|
+
"Fallback behavior is tested.",
|
|
48
|
+
"Pluralization covers one and other."
|
|
49
|
+
],
|
|
50
|
+
"tests": [
|
|
51
|
+
"node --test tests/lib/i18n-catalog.test.js",
|
|
52
|
+
"git diff --check"
|
|
53
|
+
],
|
|
54
|
+
"validation_hints": [
|
|
55
|
+
"Use stable key names grouped by command or domain.",
|
|
56
|
+
"Avoid embedding ANSI codes in catalog strings."
|
|
57
|
+
],
|
|
58
|
+
"estimated_hours": 5,
|
|
59
|
+
"status": "completed",
|
|
60
|
+
"completed_at": "2026-05-29T00:00:00.000Z",
|
|
61
|
+
"blocked_reason": null
|
|
62
|
+
}
|