create-quiver 0.15.2 → 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/README.md +1 -0
- package/README_FOR_AI.md +6 -4
- 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 +47 -1
- package/docs/COMMANDS.md.es.template +28 -0
- package/docs/COMMANDS.md.template +14 -3
- 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 +96 -0
- 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/WORKFLOW.md.template +2 -2
- package/docs/ai/LESSONS.md.es.template +24 -0
- package/docs/getting-started/installation.md +19 -0
- package/docs/reference/commands.md +68 -2
- package/package.json +3 -1
- package/specs/quiver-v34-cli-dashboard-status/EVIDENCE_REPORT.md +119 -0
- package/specs/quiver-v34-cli-dashboard-status/EXECUTION_PLAN.md +77 -0
- package/specs/quiver-v34-cli-dashboard-status/SPEC.md +152 -0
- package/specs/quiver-v34-cli-dashboard-status/STATUS.md +29 -0
- package/specs/quiver-v34-cli-dashboard-status/pr.md +99 -0
- package/specs/quiver-v34-cli-dashboard-status/slices/slice-00-dashboard-foundation/CLOSURE_BRIEF.md +19 -0
- package/specs/quiver-v34-cli-dashboard-status/slices/slice-00-dashboard-foundation/EXECUTION_BRIEF.md +49 -0
- package/specs/quiver-v34-cli-dashboard-status/slices/slice-00-dashboard-foundation/slice.json +68 -0
- package/specs/quiver-v34-cli-dashboard-status/slices/slice-01-dashboard-report-contract/CLOSURE_BRIEF.md +19 -0
- package/specs/quiver-v34-cli-dashboard-status/slices/slice-01-dashboard-report-contract/EXECUTION_BRIEF.md +53 -0
- package/specs/quiver-v34-cli-dashboard-status/slices/slice-01-dashboard-report-contract/slice.json +78 -0
- package/specs/quiver-v34-cli-dashboard-status/slices/slice-02-dashboard-command-rendering/CLOSURE_BRIEF.md +19 -0
- package/specs/quiver-v34-cli-dashboard-status/slices/slice-02-dashboard-command-rendering/EXECUTION_BRIEF.md +53 -0
- package/specs/quiver-v34-cli-dashboard-status/slices/slice-02-dashboard-command-rendering/slice.json +82 -0
- package/specs/quiver-v34-cli-dashboard-status/slices/slice-03-dashboard-edge-cases-and-guardrails/CLOSURE_BRIEF.md +19 -0
- package/specs/quiver-v34-cli-dashboard-status/slices/slice-03-dashboard-edge-cases-and-guardrails/EXECUTION_BRIEF.md +54 -0
- package/specs/quiver-v34-cli-dashboard-status/slices/slice-03-dashboard-edge-cases-and-guardrails/slice.json +77 -0
- package/specs/quiver-v34-cli-dashboard-status/slices/slice-04-docs-templates-and-scripts/CLOSURE_BRIEF.md +19 -0
- package/specs/quiver-v34-cli-dashboard-status/slices/slice-04-docs-templates-and-scripts/EXECUTION_BRIEF.md +54 -0
- package/specs/quiver-v34-cli-dashboard-status/slices/slice-04-docs-templates-and-scripts/slice.json +88 -0
- package/specs/quiver-v34-cli-dashboard-status/slices/slice-05-tests-smokes-release-readiness/CLOSURE_BRIEF.md +26 -0
- package/specs/quiver-v34-cli-dashboard-status/slices/slice-05-tests-smokes-release-readiness/EXECUTION_BRIEF.md +57 -0
- package/specs/quiver-v34-cli-dashboard-status/slices/slice-05-tests-smokes-release-readiness/slice.json +85 -0
- package/specs/quiver-v35-compact-dashboard-version-ux/EVIDENCE_REPORT.md +43 -0
- package/specs/quiver-v35-compact-dashboard-version-ux/EXECUTION_PLAN.md +85 -0
- package/specs/quiver-v35-compact-dashboard-version-ux/SPEC.md +147 -0
- package/specs/quiver-v35-compact-dashboard-version-ux/STATUS.md +33 -0
- package/specs/quiver-v35-compact-dashboard-version-ux/pr.md +106 -0
- package/specs/quiver-v35-compact-dashboard-version-ux/slices/slice-00-foundation-and-doc-router/CLOSURE_BRIEF.md +19 -0
- package/specs/quiver-v35-compact-dashboard-version-ux/slices/slice-00-foundation-and-doc-router/EXECUTION_BRIEF.md +38 -0
- package/specs/quiver-v35-compact-dashboard-version-ux/slices/slice-00-foundation-and-doc-router/slice.json +64 -0
- package/specs/quiver-v35-compact-dashboard-version-ux/slices/slice-01-dashboard-cli-contract/CLOSURE_BRIEF.md +19 -0
- package/specs/quiver-v35-compact-dashboard-version-ux/slices/slice-01-dashboard-cli-contract/EXECUTION_BRIEF.md +49 -0
- package/specs/quiver-v35-compact-dashboard-version-ux/slices/slice-01-dashboard-cli-contract/slice.json +80 -0
- package/specs/quiver-v35-compact-dashboard-version-ux/slices/slice-02-dashboard-compact-renderer/CLOSURE_BRIEF.md +19 -0
- package/specs/quiver-v35-compact-dashboard-version-ux/slices/slice-02-dashboard-compact-renderer/EXECUTION_BRIEF.md +48 -0
- package/specs/quiver-v35-compact-dashboard-version-ux/slices/slice-02-dashboard-compact-renderer/slice.json +73 -0
- package/specs/quiver-v35-compact-dashboard-version-ux/slices/slice-03-dashboard-details-sections/CLOSURE_BRIEF.md +19 -0
- package/specs/quiver-v35-compact-dashboard-version-ux/slices/slice-03-dashboard-details-sections/EXECUTION_BRIEF.md +48 -0
- package/specs/quiver-v35-compact-dashboard-version-ux/slices/slice-03-dashboard-details-sections/slice.json +72 -0
- package/specs/quiver-v35-compact-dashboard-version-ux/slices/slice-04-version-command/CLOSURE_BRIEF.md +19 -0
- package/specs/quiver-v35-compact-dashboard-version-ux/slices/slice-04-version-command/EXECUTION_BRIEF.md +49 -0
- package/specs/quiver-v35-compact-dashboard-version-ux/slices/slice-04-version-command/slice.json +82 -0
- package/specs/quiver-v35-compact-dashboard-version-ux/slices/slice-05-docs-help-generated-guidance/CLOSURE_BRIEF.md +19 -0
- package/specs/quiver-v35-compact-dashboard-version-ux/slices/slice-05-docs-help-generated-guidance/EXECUTION_BRIEF.md +50 -0
- package/specs/quiver-v35-compact-dashboard-version-ux/slices/slice-05-docs-help-generated-guidance/slice.json +90 -0
- package/specs/quiver-v35-compact-dashboard-version-ux/slices/slice-06-tests-smokes-release-readiness/CLOSURE_BRIEF.md +21 -0
- package/specs/quiver-v35-compact-dashboard-version-ux/slices/slice-06-tests-smokes-release-readiness/EXECUTION_BRIEF.md +51 -0
- package/specs/quiver-v35-compact-dashboard-version-ux/slices/slice-06-tests-smokes-release-readiness/slice.json +85 -0
- package/specs/quiver-v35-compact-dashboard-version-ux/slices/slice-07-package-and-cross-platform-smoke/CLOSURE_BRIEF.md +20 -0
- package/specs/quiver-v35-compact-dashboard-version-ux/slices/slice-07-package-and-cross-platform-smoke/EXECUTION_BRIEF.md +49 -0
- package/specs/quiver-v35-compact-dashboard-version-ux/slices/slice-07-package-and-cross-platform-smoke/slice.json +79 -0
- package/specs/quiver-v36-ai-run-watch-portable/EVIDENCE_REPORT.md +33 -0
- package/specs/quiver-v36-ai-run-watch-portable/EXECUTION_PLAN.md +39 -0
- package/specs/quiver-v36-ai-run-watch-portable/SPEC.md +166 -0
- package/specs/quiver-v36-ai-run-watch-portable/STATUS.md +31 -0
- package/specs/quiver-v36-ai-run-watch-portable/pr.md +78 -0
- package/specs/quiver-v36-ai-run-watch-portable/slices/slice-00-foundation-and-handoffs/CLOSURE_BRIEF.md +19 -0
- package/specs/quiver-v36-ai-run-watch-portable/slices/slice-00-foundation-and-handoffs/EXECUTION_BRIEF.md +43 -0
- package/specs/quiver-v36-ai-run-watch-portable/slices/slice-00-foundation-and-handoffs/slice.json +61 -0
- package/specs/quiver-v36-ai-run-watch-portable/slices/slice-01-run-schema-path-safety/CLOSURE_BRIEF.md +18 -0
- package/specs/quiver-v36-ai-run-watch-portable/slices/slice-01-run-schema-path-safety/EXECUTION_BRIEF.md +43 -0
- package/specs/quiver-v36-ai-run-watch-portable/slices/slice-01-run-schema-path-safety/slice.json +65 -0
- package/specs/quiver-v36-ai-run-watch-portable/slices/slice-02-event-writer-redacted-logs/CLOSURE_BRIEF.md +18 -0
- package/specs/quiver-v36-ai-run-watch-portable/slices/slice-02-event-writer-redacted-logs/EXECUTION_BRIEF.md +43 -0
- package/specs/quiver-v36-ai-run-watch-portable/slices/slice-02-event-writer-redacted-logs/slice.json +66 -0
- package/specs/quiver-v36-ai-run-watch-portable/slices/slice-03-provider-streaming-integration/CLOSURE_BRIEF.md +18 -0
- package/specs/quiver-v36-ai-run-watch-portable/slices/slice-03-provider-streaming-integration/EXECUTION_BRIEF.md +41 -0
- package/specs/quiver-v36-ai-run-watch-portable/slices/slice-03-provider-streaming-integration/slice.json +71 -0
- package/specs/quiver-v36-ai-run-watch-portable/slices/slice-04-ai-run-watch-command/CLOSURE_BRIEF.md +18 -0
- package/specs/quiver-v36-ai-run-watch-portable/slices/slice-04-ai-run-watch-command/EXECUTION_BRIEF.md +44 -0
- package/specs/quiver-v36-ai-run-watch-portable/slices/slice-04-ai-run-watch-command/slice.json +73 -0
- package/specs/quiver-v36-ai-run-watch-portable/slices/slice-05-main-progress-user-guidance/CLOSURE_BRIEF.md +18 -0
- package/specs/quiver-v36-ai-run-watch-portable/slices/slice-05-main-progress-user-guidance/EXECUTION_BRIEF.md +44 -0
- package/specs/quiver-v36-ai-run-watch-portable/slices/slice-05-main-progress-user-guidance/slice.json +71 -0
- package/specs/quiver-v36-ai-run-watch-portable/slices/slice-06-docs-generated-guidance/CLOSURE_BRIEF.md +19 -0
- package/specs/quiver-v36-ai-run-watch-portable/slices/slice-06-docs-generated-guidance/EXECUTION_BRIEF.md +45 -0
- package/specs/quiver-v36-ai-run-watch-portable/slices/slice-06-docs-generated-guidance/slice.json +77 -0
- package/specs/quiver-v36-ai-run-watch-portable/slices/slice-07-tests-cross-platform-readiness/CLOSURE_BRIEF.md +22 -0
- package/specs/quiver-v36-ai-run-watch-portable/slices/slice-07-tests-cross-platform-readiness/EXECUTION_BRIEF.md +46 -0
- package/specs/quiver-v36-ai-run-watch-portable/slices/slice-07-tests-cross-platform-readiness/slice.json +87 -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 +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/dashboard.js +31 -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 +606 -136
- 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/cli/ux-flags.js +6 -0
- package/src/create-quiver/lib/dashboard.js +939 -0
- 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 +24 -4
- package/src/create-quiver/lib/init-layout.js +8 -0
- package/src/create-quiver/lib/lifecycle.js +53 -46
- package/src/create-quiver/lib/project-state-resolver.js +22 -2
- 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 +159 -0
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
# Quiver v35 - Compact Dashboard and Version UX
|
|
2
|
+
|
|
3
|
+
**Date:** 2026-05-28
|
|
4
|
+
**Status:** Planned
|
|
5
|
+
**Source:** User-approved requirement, acceptance criteria, technical plan, and three production-readiness reviews for improving Quiver CLI UX without adding Ink/fullscreen TUI.
|
|
6
|
+
|
|
7
|
+
Slice numbering resets here. This spec intentionally starts at `slice-00`.
|
|
8
|
+
|
|
9
|
+
## Problem
|
|
10
|
+
|
|
11
|
+
`npx create-quiver dashboard` currently renders a long vertical report. When projects have many specs, slices, warnings, agents, runs, or approvals, the user must scroll and section headings disappear, making it hard to understand project state at a glance.
|
|
12
|
+
|
|
13
|
+
Quiver also has a plain semver `--version` contract, but no human-friendly version surface with Quiver identity comparable to the Angular CLI style shown by the user.
|
|
14
|
+
|
|
15
|
+
## Objective
|
|
16
|
+
|
|
17
|
+
Improve Quiver CLI human UX with:
|
|
18
|
+
|
|
19
|
+
- a compact, summary-first `dashboard` default that answers "what is happening and what should I do next?";
|
|
20
|
+
- explicit detail and section views for deeper inspection;
|
|
21
|
+
- a Quiver-branded human `version` command with a color-aware ASCII banner;
|
|
22
|
+
- stable machine-readable output for automation;
|
|
23
|
+
- no Ink, fullscreen TUI, providers, prompts, spinners, writes, or workflow side effects.
|
|
24
|
+
|
|
25
|
+
## Scope
|
|
26
|
+
|
|
27
|
+
### Included
|
|
28
|
+
|
|
29
|
+
- Improve `npx create-quiver dashboard` human default output.
|
|
30
|
+
- Add dashboard human-only flags:
|
|
31
|
+
- `--details`
|
|
32
|
+
- `--section <name>`
|
|
33
|
+
- `--limit <n>`
|
|
34
|
+
- Preserve existing `dashboard --json` contract by default.
|
|
35
|
+
- Add JSON-safe errors for rejected `dashboard --json` combinations.
|
|
36
|
+
- Add `npx create-quiver version`.
|
|
37
|
+
- Add `npx create-quiver version --json`.
|
|
38
|
+
- Preserve `npx create-quiver --version` and `-V` as semver-only output.
|
|
39
|
+
- Support the `quiver` binary alias for the new command.
|
|
40
|
+
- Update help, references, CLI UX docs, generated guidance, tests, smokes, and package validation.
|
|
41
|
+
- Record the `docs/INDEX.md` documentation debt and package-publication decision.
|
|
42
|
+
|
|
43
|
+
### Excluded
|
|
44
|
+
|
|
45
|
+
- Ink/fullscreen TUI.
|
|
46
|
+
- Browser UI or local server.
|
|
47
|
+
- Interactive navigation.
|
|
48
|
+
- Prompt-driven dashboard flows.
|
|
49
|
+
- Writing project state from `dashboard` or `version`.
|
|
50
|
+
- Running npm, git, provider CLIs, or shell probes from `version`.
|
|
51
|
+
- Publishing to npm.
|
|
52
|
+
|
|
53
|
+
## Approved Acceptance Criteria
|
|
54
|
+
|
|
55
|
+
### Dashboard compact default
|
|
56
|
+
|
|
57
|
+
1. `npx create-quiver dashboard` prints a compact summary-first human report.
|
|
58
|
+
2. The default report prioritizes state, blockers, warnings, next safe command, progress, and summary counts.
|
|
59
|
+
3. The default report does not print complete repeated lists in projects with many specs, slices, warnings, agents, approvals, or runs.
|
|
60
|
+
4. In a large fixture, the default report is `<= 28` non-empty lines after ANSI is stripped.
|
|
61
|
+
5. The next safe command must remain in the compact view and must not be pushed below long lists.
|
|
62
|
+
6. Empty/no-spec projects still show useful state, warnings, and the next planning command without repeated empty sections.
|
|
63
|
+
|
|
64
|
+
### Dashboard detail and section views
|
|
65
|
+
|
|
66
|
+
7. `dashboard --details` renders the full report for human inspection.
|
|
67
|
+
8. `dashboard --section <name>` renders only the requested supported section.
|
|
68
|
+
9. Supported sections are `overview`, `specs`, `slices`, `blockers`, `warnings`, `agents`, `approvals`, `runs`, `active-slice`, and `next-steps`.
|
|
69
|
+
10. Unsupported sections fail with an actionable error that lists valid values.
|
|
70
|
+
11. `dashboard --limit <n>` accepts integers from `1` to `100`.
|
|
71
|
+
12. `dashboard --limit <n>` without `--section` applies to all compact repeated lists.
|
|
72
|
+
13. `dashboard --limit 0`, negative values, decimals, text, or missing values fail with actionable guidance.
|
|
73
|
+
14. Truncated lists show how many entries are hidden and the exact command to inspect them, for example `+ 12 more. Run: npx create-quiver dashboard --section slices`.
|
|
74
|
+
15. Long descriptive text is truncated with `...` to protect horizontal readability.
|
|
75
|
+
16. Critical next-step commands should not be truncated; if too long, show a shorter inspection command in compact output and leave exact detail in `--details`.
|
|
76
|
+
|
|
77
|
+
### Dashboard JSON and flag safety
|
|
78
|
+
|
|
79
|
+
17. `dashboard --json` remains parseable JSON with no colors, prompts, spinners, or human prose.
|
|
80
|
+
18. `dashboard --json` keeps the existing schema shape by default.
|
|
81
|
+
19. `dashboard --json --section specs`, `dashboard --json --details`, and equivalent human-only combinations are rejected with JSON in stdout, empty stderr, and non-zero exit code.
|
|
82
|
+
20. `dashboard --details --section specs` is rejected rather than relying on implicit precedence.
|
|
83
|
+
21. New dashboard flags are command-scoped: using them outside `dashboard` fails with clear guidance.
|
|
84
|
+
22. `dashboard` remains read-only and does not write files, start slices, open worktrees, run providers, or prompt.
|
|
85
|
+
23. `dashboard` collects state once and renders from the in-memory report; section rendering must not introduce a second state collection path.
|
|
86
|
+
|
|
87
|
+
### Version command
|
|
88
|
+
|
|
89
|
+
24. `npx create-quiver version` prints a human-readable Quiver version report.
|
|
90
|
+
25. The human report includes an ASCII `Quiver` banner that uses the approved Quiver palette when color is available: `#86C8F2`, `#6BADEB`, `#7F9EE8`, `#9B82E6`, `#D56AB0`.
|
|
91
|
+
26. The banner and human report remain readable without color and fit within `<= 80` columns.
|
|
92
|
+
27. Color is disabled for `--no-color`, `NO_COLOR`, `FORCE_COLOR=0`, CI, no-TTY, and dumb terminals.
|
|
93
|
+
28. `version` works outside initialized Quiver projects; project metadata is best-effort and uses `Project: none` when unavailable.
|
|
94
|
+
29. `version` does not execute external processes such as `npm --version`, `git`, or provider CLIs.
|
|
95
|
+
30. `version --json` emits parseable JSON with `version_schema_version: 1`, `cli.version`, `runtime.node`, `runtime.platform`, `runtime.arch`, `package_manager`, and `project`.
|
|
96
|
+
31. `version --json` emits no banner, ANSI, or human prose.
|
|
97
|
+
32. `npx create-quiver --version`, `npx create-quiver -V`, `quiver --version`, and `quiver -V` continue to print only the package semver.
|
|
98
|
+
33. `quiver version` behaves like `create-quiver version`.
|
|
99
|
+
|
|
100
|
+
### Documentation, packaging, and validation
|
|
101
|
+
|
|
102
|
+
34. Help output documents the new command and dashboard flags.
|
|
103
|
+
35. `docs/reference/commands.md`, `docs/CLI_UX_GUIDE.md`, and `README_FOR_AI.md` are updated if their public contracts change.
|
|
104
|
+
36. If a real root `docs/INDEX.md` is added to this repository, package contents and `.npmignore` are reviewed so npm output is intentional.
|
|
105
|
+
37. Tests cover compact dashboard, details, section rendering, limit validation, rejected flag combinations, JSON cleanliness, no-color/CI/no-TTY, version human output, version JSON, semver-only `--version`, and alias behavior.
|
|
106
|
+
38. Smokes validate the package tarball installed into a temporary project and execute both `create-quiver` and `quiver` binaries.
|
|
107
|
+
39. Final validation includes `node --test`, `git diff --check`, `npx create-quiver spec validate specs/quiver-v35-compact-dashboard-version-ux`, `npm run package:quiver`, and relevant smoke suites.
|
|
108
|
+
|
|
109
|
+
## Approved Technical Plan
|
|
110
|
+
|
|
111
|
+
1. Create the spec package and document the `docs/INDEX.md` debt without implementing product code.
|
|
112
|
+
2. Add dashboard parsing and contract validation for `--details`, `--section`, and `--limit`.
|
|
113
|
+
3. Keep human-only dashboard validations JSON-safe when `--json` is present.
|
|
114
|
+
4. Build compact dashboard formatting on top of the existing report, not by creating a second state source.
|
|
115
|
+
5. Add detail and section renderers after the flag contract is stable.
|
|
116
|
+
6. Add a new `version` command that reuses Quiver theme helpers and best-effort local metadata only.
|
|
117
|
+
7. Preserve semver-only top-level `--version` and `-V`.
|
|
118
|
+
8. Update docs, generated guidance, and CLI help after command behavior stabilizes.
|
|
119
|
+
9. Add focused tests first, then full tests and package-installed smokes.
|
|
120
|
+
|
|
121
|
+
## Slice Roadmap
|
|
122
|
+
|
|
123
|
+
| Slice | Title | Status | Dependencies |
|
|
124
|
+
|---|---|---|---|
|
|
125
|
+
| slice-00 | Foundation and doc router decision | completed | none |
|
|
126
|
+
| slice-01 | Dashboard CLI contract | ready | slice-00 |
|
|
127
|
+
| slice-02 | Dashboard compact renderer | planned | slice-01 |
|
|
128
|
+
| slice-03 | Dashboard details and sections | planned | slice-01, slice-02 |
|
|
129
|
+
| slice-04 | Version command and banner | planned | slice-01 |
|
|
130
|
+
| slice-05 | Docs, help, and generated guidance | planned | slice-02, slice-03, slice-04 |
|
|
131
|
+
| slice-06 | Tests, smokes, and release readiness | planned | slice-02, slice-03, slice-04, slice-05 |
|
|
132
|
+
| slice-07 | Package and cross-platform smoke | planned | slice-05, slice-06 |
|
|
133
|
+
|
|
134
|
+
## Risks and Guardrails
|
|
135
|
+
|
|
136
|
+
- `--version` is automation-sensitive and must stay semver-only.
|
|
137
|
+
- `--version` is also used as an AI approval flag; the new rich output must use `version`, not overload `--version`.
|
|
138
|
+
- Parser-level errors currently produce human stderr, so JSON-safe dashboard combination errors need deliberate routing.
|
|
139
|
+
- Terminal width, CI, no-TTY, and Windows behavior must be tested rather than assumed.
|
|
140
|
+
- Adding a real `docs/INDEX.md` to this repo could change npm package contents.
|
|
141
|
+
- The implementation must not introduce Ink or fullscreen TUI before there is evidence the compact renderer is insufficient.
|
|
142
|
+
|
|
143
|
+
## Assumptions
|
|
144
|
+
|
|
145
|
+
- This repository's canonical spec location is `specs/quiver-vNN-*`, not the generic `docs/specs` path from reusable skills.
|
|
146
|
+
- The current dashboard report contract from v34 remains the source of truth for dashboard data.
|
|
147
|
+
- `docs/INDEX.md` is missing in this checkout while `docs/INDEX.md.template` exists; this is documented debt, not a blocker for this spec package.
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# Status - Quiver v35 Compact Dashboard and Version UX
|
|
2
|
+
|
|
3
|
+
**Overall status:** Completed
|
|
4
|
+
**Created:** 2026-05-28
|
|
5
|
+
**Completed:** 2026-05-28
|
|
6
|
+
**Current slice:** none
|
|
7
|
+
|
|
8
|
+
## Summary
|
|
9
|
+
|
|
10
|
+
This spec improves Quiver's human CLI UX by making `dashboard` compact and actionable by default, adding explicit detail/section inspection modes, and adding a Quiver-branded `version` command while preserving automation-safe JSON and semver-only version contracts.
|
|
11
|
+
|
|
12
|
+
Implementation, docs, tests, package smoke, and cross-platform smoke are complete. No npm publication is included in this spec.
|
|
13
|
+
|
|
14
|
+
## Slice Status
|
|
15
|
+
|
|
16
|
+
| Slice | Status | Notes |
|
|
17
|
+
|---|---|---|
|
|
18
|
+
| slice-00-foundation-and-doc-router | Completed | Spec package, execution plan, PR body, evidence skeleton, and slice briefs created. |
|
|
19
|
+
| slice-01-dashboard-cli-contract | Completed | Dashboard flags, validations, and JSON-safe error behavior implemented. |
|
|
20
|
+
| slice-02-dashboard-compact-renderer | Completed | Default dashboard is compact, summary-first, and line-budgeted. |
|
|
21
|
+
| slice-03-dashboard-details-sections | Completed | `--details` and section-specific human renderers implemented. |
|
|
22
|
+
| slice-04-version-command | Completed | Branded human `version` and parseable `version --json` implemented. |
|
|
23
|
+
| slice-05-docs-help-generated-guidance | Completed | Help, docs, generated guidance, and package-content decision updated. |
|
|
24
|
+
| slice-06-tests-smokes-release-readiness | Completed | Focused tests, full validation, package smoke, and evidence completed. |
|
|
25
|
+
| slice-07-package-and-cross-platform-smoke | Completed | Installed tarball, binary alias, package contents, and cross-platform behavior validated. |
|
|
26
|
+
|
|
27
|
+
## Current Blockers
|
|
28
|
+
|
|
29
|
+
- None.
|
|
30
|
+
|
|
31
|
+
## Next Step
|
|
32
|
+
|
|
33
|
+
Ready for human review and PR/package publication decision. No critical blockers remain.
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
# PR: Quiver v35 Compact Dashboard and Version UX
|
|
2
|
+
|
|
3
|
+
## Title
|
|
4
|
+
|
|
5
|
+
Quiver v35 Compact Dashboard and Version UX
|
|
6
|
+
|
|
7
|
+
## Summary
|
|
8
|
+
|
|
9
|
+
- Makes `dashboard` compact, summary-first, and actionable by default.
|
|
10
|
+
- Adds `dashboard --details`, `dashboard --section <name>`, and `dashboard --limit <n>` for focused inspection.
|
|
11
|
+
- Adds branded `version` and parseable `version --json`.
|
|
12
|
+
- Preserves semver-only top-level `--version` / `-V` and stable `dashboard --json` automation behavior.
|
|
13
|
+
- Extends docs, generated guidance, tests, package smoke, installed tarball smoke, and spec evidence.
|
|
14
|
+
|
|
15
|
+
## Scope
|
|
16
|
+
|
|
17
|
+
- CLI parser/routing for dashboard human-only flags.
|
|
18
|
+
- Dashboard human renderers and JSON-safe option validation.
|
|
19
|
+
- Version report collection and Quiver ASCII banner rendering.
|
|
20
|
+
- Generated `quiver:version` script and command documentation.
|
|
21
|
+
- Release-readiness evidence for local tests, package build, smoke scripts, and cross-platform smoke.
|
|
22
|
+
|
|
23
|
+
## Files
|
|
24
|
+
|
|
25
|
+
- `src/create-quiver/index.js`
|
|
26
|
+
- `src/create-quiver/commands/dashboard.js`
|
|
27
|
+
- `src/create-quiver/lib/dashboard.js`
|
|
28
|
+
- `src/create-quiver/lib/version.js`
|
|
29
|
+
- `src/create-quiver/lib/init-docs.js`
|
|
30
|
+
- `src/create-quiver/lib/init-layout.js`
|
|
31
|
+
- `docs/reference/commands.md`
|
|
32
|
+
- `docs/CLI_UX_GUIDE.md`
|
|
33
|
+
- `README_FOR_AI.md`
|
|
34
|
+
- `scripts/ci/smoke-create-quiver.sh`
|
|
35
|
+
- `scripts/ci/smoke-cross-platform.js`
|
|
36
|
+
- `tests/commands/dashboard.test.js`
|
|
37
|
+
- `tests/commands/cli-contract.test.js`
|
|
38
|
+
- `tests/lib/dashboard.test.js`
|
|
39
|
+
- `tests/lib/version.test.js`
|
|
40
|
+
- `specs/quiver-v35-compact-dashboard-version-ux/**`
|
|
41
|
+
|
|
42
|
+
## How to Test (DETAILED - REQUIRED)
|
|
43
|
+
|
|
44
|
+
### Required Environment
|
|
45
|
+
|
|
46
|
+
- Node.js and npm available.
|
|
47
|
+
- `gh` installed for PR preflight/creation.
|
|
48
|
+
- SSH access configured for `github-personal` with identity file `~/ssh/github-personal`.
|
|
49
|
+
|
|
50
|
+
### Worktree Access
|
|
51
|
+
|
|
52
|
+
- Branch: `feature/QUIVER-35-compact-dashboard-version-ux`
|
|
53
|
+
- Base used for this PR: `main`, because the remote currently exposes `main` as default and does not expose `origin/develop`.
|
|
54
|
+
- Spec package: `specs/quiver-v35-compact-dashboard-version-ux/`
|
|
55
|
+
|
|
56
|
+
### Run the Project
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
node bin/create-quiver.js dashboard
|
|
60
|
+
node bin/create-quiver.js dashboard --section slices --limit 10
|
|
61
|
+
node bin/create-quiver.js dashboard --json
|
|
62
|
+
node bin/create-quiver.js version --no-color
|
|
63
|
+
node bin/create-quiver.js version --json
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
### Use Cases
|
|
67
|
+
|
|
68
|
+
- Human user can inspect project/spec/slice state without scrolling through every section by default.
|
|
69
|
+
- Human user can opt into full dashboard detail with `--details`.
|
|
70
|
+
- Human user can inspect one dashboard area with `--section <name>`.
|
|
71
|
+
- Automation can keep using `dashboard --json` without ANSI/prose contamination.
|
|
72
|
+
- Automation can keep using top-level `--version` / `-V` as semver-only output.
|
|
73
|
+
- Humans and automation can use `version` / `version --json` for richer metadata.
|
|
74
|
+
|
|
75
|
+
### Technical Verification
|
|
76
|
+
|
|
77
|
+
```bash
|
|
78
|
+
node --test tests/**/*.test.js
|
|
79
|
+
git diff --check
|
|
80
|
+
npx create-quiver spec validate specs/quiver-v35-compact-dashboard-version-ux --strict
|
|
81
|
+
npm run package:quiver
|
|
82
|
+
npm run smoke:create-quiver
|
|
83
|
+
node scripts/ci/smoke-cross-platform.js
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
## Evidence
|
|
87
|
+
|
|
88
|
+
- `node --test tests/**/*.test.js` passed: 523 tests.
|
|
89
|
+
- `git diff --check` passed.
|
|
90
|
+
- `npx create-quiver spec validate specs/quiver-v35-compact-dashboard-version-ux --strict` passed.
|
|
91
|
+
- `npm run package:quiver` passed and produced `create-quiver-0.15.2.tgz`.
|
|
92
|
+
- `npm run smoke:create-quiver` passed.
|
|
93
|
+
- `node scripts/ci/smoke-cross-platform.js` passed.
|
|
94
|
+
- Detailed evidence is recorded in `specs/quiver-v35-compact-dashboard-version-ux/EVIDENCE_REPORT.md`.
|
|
95
|
+
|
|
96
|
+
## Rollback
|
|
97
|
+
|
|
98
|
+
- Revert this PR.
|
|
99
|
+
- If already packaged locally, remove the generated tarball `create-quiver-0.15.2.tgz`.
|
|
100
|
+
- Existing `--version` consumers remain protected because top-level semver behavior is covered by tests and smoke.
|
|
101
|
+
|
|
102
|
+
## Risks / Notes
|
|
103
|
+
|
|
104
|
+
- No npm publication is included.
|
|
105
|
+
- Root `docs/INDEX.md` was not added; this repo currently has `docs/INDEX.md.template`, while generated projects still receive `docs/INDEX.md`.
|
|
106
|
+
- Native Windows was not run in this turn; cross-platform smoke includes Windows path/npm guards and passed locally on macOS.
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# CLOSURE_BRIEF - slice-00 Foundation and doc router decision
|
|
2
|
+
|
|
3
|
+
## Summary
|
|
4
|
+
|
|
5
|
+
Created the v35 spec package for compact dashboard and version UX, including the top-level spec, status, execution plan, evidence skeleton, PR body, and all per-slice handoffs.
|
|
6
|
+
|
|
7
|
+
## Validation
|
|
8
|
+
|
|
9
|
+
- [x] JSON parse validation for slice files.
|
|
10
|
+
- [x] `node bin/create-quiver.js spec validate specs/quiver-v35-compact-dashboard-version-ux`
|
|
11
|
+
- [x] `git diff --check`
|
|
12
|
+
|
|
13
|
+
## Pending
|
|
14
|
+
|
|
15
|
+
- None for this slice.
|
|
16
|
+
|
|
17
|
+
## Remaining Risks
|
|
18
|
+
|
|
19
|
+
- `docs/INDEX.md` is still missing in the repository root and remains documented debt for a future implementation slice.
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# EXECUTION_BRIEF - slice-00 Foundation and doc router decision
|
|
2
|
+
|
|
3
|
+
## Objective
|
|
4
|
+
|
|
5
|
+
Create the v35 spec package for compact dashboard and version UX without product-code implementation.
|
|
6
|
+
|
|
7
|
+
## Context
|
|
8
|
+
|
|
9
|
+
The user approved acceptance criteria and a hardened technical plan. The repository's expected `docs/INDEX.md` is missing in this checkout, but `docs/INDEX.md.template` exists. The repo's real spec convention is `specs/quiver-vNN-*`.
|
|
10
|
+
|
|
11
|
+
## Scope
|
|
12
|
+
|
|
13
|
+
- `specs/quiver-v35-compact-dashboard-version-ux/SPEC.md`
|
|
14
|
+
- `STATUS.md`
|
|
15
|
+
- `EXECUTION_PLAN.md`
|
|
16
|
+
- `EVIDENCE_REPORT.md`
|
|
17
|
+
- `pr.md`
|
|
18
|
+
- all slice directories and handoff files
|
|
19
|
+
|
|
20
|
+
## Acceptance Criteria
|
|
21
|
+
|
|
22
|
+
- Spec package exists under `specs/quiver-v35-compact-dashboard-version-ux`.
|
|
23
|
+
- Each slice has `slice.json`, `EXECUTION_BRIEF.md`, and `CLOSURE_BRIEF.md`.
|
|
24
|
+
- `STATUS.md` marks this slice completed and the next implementation slice ready.
|
|
25
|
+
- No product code is modified.
|
|
26
|
+
- Validation is attempted and any blocker is documented.
|
|
27
|
+
|
|
28
|
+
## Restrictions
|
|
29
|
+
|
|
30
|
+
- Do not create dashboard or version implementation.
|
|
31
|
+
- Do not create or modify root `docs/INDEX.md` in this slice.
|
|
32
|
+
- Do not publish npm.
|
|
33
|
+
|
|
34
|
+
## Completion Checklist
|
|
35
|
+
|
|
36
|
+
- [x] Spec package created.
|
|
37
|
+
- [x] Slice handoffs created.
|
|
38
|
+
- [x] JSON and spec validation run.
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
{
|
|
2
|
+
"slice_id": "slice-00-foundation-and-doc-router",
|
|
3
|
+
"ticket": "QUIVER-35-00",
|
|
4
|
+
"type": "documentation",
|
|
5
|
+
"title": "Foundation and doc router decision",
|
|
6
|
+
"objective": "Create the approved v35 spec package and record the docs/INDEX.md router decision without changing product code.",
|
|
7
|
+
"description": "Publishes the spec, execution plan, status, PR body, evidence skeleton, and per-slice handoffs for compact dashboard and version UX work.",
|
|
8
|
+
"git": {
|
|
9
|
+
"branch_type": "feature",
|
|
10
|
+
"base_branch": "main",
|
|
11
|
+
"branch_slug": "v35-foundation-doc-router",
|
|
12
|
+
"branch_name": "feature/QUIVER-35-00-v35-foundation-doc-router"
|
|
13
|
+
},
|
|
14
|
+
"files": [
|
|
15
|
+
"specs/quiver-v35-compact-dashboard-version-ux/**"
|
|
16
|
+
],
|
|
17
|
+
"expected_read_paths": [
|
|
18
|
+
"README_FOR_AI.md",
|
|
19
|
+
"docs/CLI_UX_GUIDE.md",
|
|
20
|
+
"docs/reference/commands.md",
|
|
21
|
+
"docs/INDEX.md.template",
|
|
22
|
+
"specs/quiver-v34-cli-dashboard-status/SPEC.md",
|
|
23
|
+
"specs/quiver-v34-cli-dashboard-status/EXECUTION_PLAN.md"
|
|
24
|
+
],
|
|
25
|
+
"allowed_write_paths": [
|
|
26
|
+
"specs/quiver-v35-compact-dashboard-version-ux/**"
|
|
27
|
+
],
|
|
28
|
+
"depends_on": [],
|
|
29
|
+
"parallel_safe": "never",
|
|
30
|
+
"parallel_safe_reason": "This slice establishes the spec package and execution order for all later slices.",
|
|
31
|
+
"must": [
|
|
32
|
+
"Create SPEC.md, STATUS.md, EXECUTION_PLAN.md, EVIDENCE_REPORT.md, and pr.md.",
|
|
33
|
+
"Create every slice directory with slice.json, EXECUTION_BRIEF.md, and CLOSURE_BRIEF.md.",
|
|
34
|
+
"Record that docs/INDEX.md is missing in this checkout while docs/INDEX.md.template exists.",
|
|
35
|
+
"Do not implement product code."
|
|
36
|
+
],
|
|
37
|
+
"not_included": [
|
|
38
|
+
"Dashboard parser changes.",
|
|
39
|
+
"Version command implementation.",
|
|
40
|
+
"Docs/INDEX.md creation outside the spec package.",
|
|
41
|
+
"Tests or smokes."
|
|
42
|
+
],
|
|
43
|
+
"acceptance": [
|
|
44
|
+
"Spec package exists under specs/quiver-v35-compact-dashboard-version-ux.",
|
|
45
|
+
"Each slice has slice.json, EXECUTION_BRIEF.md, and CLOSURE_BRIEF.md.",
|
|
46
|
+
"STATUS.md marks slice-00 completed and slice-01 ready.",
|
|
47
|
+
"No product code is modified by this slice.",
|
|
48
|
+
"Spec validation is attempted and any blocker is documented."
|
|
49
|
+
],
|
|
50
|
+
"tests": [
|
|
51
|
+
"node -e \"const fs=require('fs'); for (const f of process.argv.slice(1)) JSON.parse(fs.readFileSync(f,'utf8'))\" specs/quiver-v35-compact-dashboard-version-ux/slices/*/slice.json",
|
|
52
|
+
"npx create-quiver spec validate specs/quiver-v35-compact-dashboard-version-ux",
|
|
53
|
+
"git diff --check"
|
|
54
|
+
],
|
|
55
|
+
"validation_hints": [
|
|
56
|
+
"Use the repo's existing specs/quiver-vNN-* format rather than the generic docs/specs skill format.",
|
|
57
|
+
"Keep handoff content concise enough for executor agents."
|
|
58
|
+
],
|
|
59
|
+
"estimated_hours": 2,
|
|
60
|
+
"status": "completed",
|
|
61
|
+
"blocked_reason": null,
|
|
62
|
+
"actual_hours": 2,
|
|
63
|
+
"completed_at": "2026-05-28"
|
|
64
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# CLOSURE_BRIEF - slice-01 Dashboard CLI contract
|
|
2
|
+
|
|
3
|
+
## Summary
|
|
4
|
+
|
|
5
|
+
Implemented dashboard-scoped parsing and validation for `--details`, `--section <name>`, and `--limit <n>`. JSON mode now rejects human-only dashboard flags with parseable JSON stdout and no human stderr, and non-dashboard commands fail clearly for dashboard-only flags.
|
|
6
|
+
|
|
7
|
+
## Validation
|
|
8
|
+
|
|
9
|
+
- [x] `node --test tests/commands/dashboard.test.js`
|
|
10
|
+
- [x] `node --test tests/commands/cli-contract.test.js`
|
|
11
|
+
- [x] `git diff --check`
|
|
12
|
+
|
|
13
|
+
## Pending
|
|
14
|
+
|
|
15
|
+
- None.
|
|
16
|
+
|
|
17
|
+
## Remaining Risks
|
|
18
|
+
|
|
19
|
+
- Low. JSON-safe error behavior is covered by command tests and installed-package smoke.
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# EXECUTION_BRIEF - slice-01 Dashboard CLI contract
|
|
2
|
+
|
|
3
|
+
## Context
|
|
4
|
+
|
|
5
|
+
`dashboard --json` already has tests asserting parseable stdout and empty stderr on dashboard errors. New human-only dashboard flags must not break that automation contract.
|
|
6
|
+
|
|
7
|
+
## Objective
|
|
8
|
+
|
|
9
|
+
Add the dashboard flag contract for `--details`, `--section <name>`, and `--limit <n>`.
|
|
10
|
+
|
|
11
|
+
## Scope
|
|
12
|
+
|
|
13
|
+
- CLI parsing/routing for dashboard flags
|
|
14
|
+
- dashboard option validation
|
|
15
|
+
- focused CLI tests
|
|
16
|
+
|
|
17
|
+
## Acceptance Criteria
|
|
18
|
+
|
|
19
|
+
- `dashboard --details` is accepted for human output.
|
|
20
|
+
- `dashboard --section specs` is accepted for human output.
|
|
21
|
+
- `dashboard --limit 5` is accepted.
|
|
22
|
+
- `dashboard --details --section specs` fails actionably.
|
|
23
|
+
- `dashboard --json --section specs` fails with JSON stdout, empty stderr, and non-zero exit.
|
|
24
|
+
- `dashboard --json` remains compatible when no human-only flags are passed.
|
|
25
|
+
- New flags fail clearly outside `dashboard`.
|
|
26
|
+
|
|
27
|
+
## Technical Plan Summary
|
|
28
|
+
|
|
29
|
+
Add parser support for the flags, then validate dashboard-specific combinations in a location that can still return JSON errors when `--json` is present.
|
|
30
|
+
|
|
31
|
+
## Suggested Steps
|
|
32
|
+
|
|
33
|
+
1. Add parse support for `--details`, `--section`, and `--limit`.
|
|
34
|
+
2. Scope the flags to dashboard.
|
|
35
|
+
3. Validate `--limit` as integer `1..100`.
|
|
36
|
+
4. Add JSON-safe dashboard combination errors.
|
|
37
|
+
5. Add CLI tests for valid and invalid combinations.
|
|
38
|
+
|
|
39
|
+
## Restrictions
|
|
40
|
+
|
|
41
|
+
- Do not change dashboard default rendering yet.
|
|
42
|
+
- Do not add the version command.
|
|
43
|
+
- Do not alter `dashboard --json` schema by default.
|
|
44
|
+
|
|
45
|
+
## Completion Checklist
|
|
46
|
+
|
|
47
|
+
- [ ] Parser updated.
|
|
48
|
+
- [ ] Dashboard option validation added.
|
|
49
|
+
- [ ] Focused CLI tests pass.
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
{
|
|
2
|
+
"slice_id": "slice-01-dashboard-cli-contract",
|
|
3
|
+
"ticket": "QUIVER-35-01",
|
|
4
|
+
"type": "feature",
|
|
5
|
+
"title": "Dashboard CLI contract",
|
|
6
|
+
"objective": "Add the public CLI contract for dashboard details, section, and limit flags while preserving automation-safe JSON behavior.",
|
|
7
|
+
"description": "Defines parser, validation, and routing behavior for dashboard human-only flags before changing human rendering.",
|
|
8
|
+
"git": {
|
|
9
|
+
"branch_type": "feature",
|
|
10
|
+
"base_branch": "main",
|
|
11
|
+
"branch_slug": "v35-dashboard-cli-contract",
|
|
12
|
+
"branch_name": "feature/QUIVER-35-01-v35-dashboard-cli-contract"
|
|
13
|
+
},
|
|
14
|
+
"files": [
|
|
15
|
+
"src/create-quiver/index.js",
|
|
16
|
+
"src/create-quiver/commands/dashboard.js",
|
|
17
|
+
"src/create-quiver/lib/dashboard.js",
|
|
18
|
+
"tests/commands/dashboard.test.js",
|
|
19
|
+
"tests/commands/cli-contract.test.js"
|
|
20
|
+
],
|
|
21
|
+
"expected_read_paths": [
|
|
22
|
+
"src/create-quiver/index.js",
|
|
23
|
+
"src/create-quiver/commands/dashboard.js",
|
|
24
|
+
"src/create-quiver/lib/dashboard.js",
|
|
25
|
+
"src/create-quiver/lib/cli/ux-flags.js",
|
|
26
|
+
"tests/commands/dashboard.test.js",
|
|
27
|
+
"tests/commands/cli-contract.test.js",
|
|
28
|
+
"specs/quiver-v35-compact-dashboard-version-ux/SPEC.md"
|
|
29
|
+
],
|
|
30
|
+
"allowed_write_paths": [
|
|
31
|
+
"src/create-quiver/index.js",
|
|
32
|
+
"src/create-quiver/commands/dashboard.js",
|
|
33
|
+
"src/create-quiver/lib/dashboard.js",
|
|
34
|
+
"tests/commands/dashboard.test.js",
|
|
35
|
+
"tests/commands/cli-contract.test.js",
|
|
36
|
+
"specs/quiver-v35-compact-dashboard-version-ux/**"
|
|
37
|
+
],
|
|
38
|
+
"depends_on": [
|
|
39
|
+
"slice-00-foundation-and-doc-router"
|
|
40
|
+
],
|
|
41
|
+
"parallel_safe": "no",
|
|
42
|
+
"parallel_safe_reason": "The dashboard parser and validation contract controls all later dashboard rendering slices.",
|
|
43
|
+
"must": [
|
|
44
|
+
"Add dashboard-scoped parsing for --details, --section <name>, and --limit <n>.",
|
|
45
|
+
"Reject dashboard human-only flags with --json using JSON stdout, empty stderr, and non-zero exit code.",
|
|
46
|
+
"Reject --details combined with --section instead of using implicit precedence.",
|
|
47
|
+
"Validate --limit as an integer from 1 to 100.",
|
|
48
|
+
"Ensure new dashboard flags fail clearly outside the dashboard command.",
|
|
49
|
+
"Preserve existing dashboard --json schema by default."
|
|
50
|
+
],
|
|
51
|
+
"not_included": [
|
|
52
|
+
"Compact dashboard rendering.",
|
|
53
|
+
"Version command.",
|
|
54
|
+
"Docs updates beyond test-facing help text required for the parser."
|
|
55
|
+
],
|
|
56
|
+
"acceptance": [
|
|
57
|
+
"dashboard --details is accepted for human output.",
|
|
58
|
+
"dashboard --section specs is accepted for human output.",
|
|
59
|
+
"dashboard --limit 5 is accepted and passed to rendering options.",
|
|
60
|
+
"dashboard --details --section specs fails actionably.",
|
|
61
|
+
"dashboard --json --section specs fails with parseable JSON stdout and empty stderr.",
|
|
62
|
+
"dashboard --json without human-only flags remains compatible.",
|
|
63
|
+
"Non-dashboard use of --section, --details, or --limit fails clearly."
|
|
64
|
+
],
|
|
65
|
+
"tests": [
|
|
66
|
+
"node --test tests/commands/dashboard.test.js",
|
|
67
|
+
"node --test tests/commands/cli-contract.test.js",
|
|
68
|
+
"git diff --check"
|
|
69
|
+
],
|
|
70
|
+
"validation_hints": [
|
|
71
|
+
"Do not put JSON-sensitive combination validation only in the global parser if that would force human stderr.",
|
|
72
|
+
"Prefer a small dashboard option validator close to runDashboard."
|
|
73
|
+
],
|
|
74
|
+
"estimated_hours": 4,
|
|
75
|
+
"status": "completed",
|
|
76
|
+
"started_at": "2026-05-28T17:00:00Z",
|
|
77
|
+
"completed_at": "2026-05-28T17:36:57Z",
|
|
78
|
+
"actual_hours": 2,
|
|
79
|
+
"blocked_reason": null
|
|
80
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# CLOSURE_BRIEF - slice-02 Dashboard compact renderer
|
|
2
|
+
|
|
3
|
+
## Summary
|
|
4
|
+
|
|
5
|
+
Implemented the compact default dashboard renderer. The default view is summary-first, keeps the next safe command visible, caps repeated lists, includes truncation hints, and preserves the JSON report contract.
|
|
6
|
+
|
|
7
|
+
## Validation
|
|
8
|
+
|
|
9
|
+
- [x] `node --test tests/lib/dashboard.test.js`
|
|
10
|
+
- [x] `node --test tests/commands/dashboard.test.js`
|
|
11
|
+
- [x] `git diff --check`
|
|
12
|
+
|
|
13
|
+
## Pending
|
|
14
|
+
|
|
15
|
+
- None.
|
|
16
|
+
|
|
17
|
+
## Remaining Risks
|
|
18
|
+
|
|
19
|
+
- Low. Large fixture tests strip ANSI and enforce compact line budget plus truncation behavior.
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# EXECUTION_BRIEF - slice-02 Dashboard compact renderer
|
|
2
|
+
|
|
3
|
+
## Context
|
|
4
|
+
|
|
5
|
+
The current dashboard human output prints every section vertically. The user explicitly reported that this makes headings disappear when there is a lot of information.
|
|
6
|
+
|
|
7
|
+
## Objective
|
|
8
|
+
|
|
9
|
+
Make `npx create-quiver dashboard` compact and actionable by default.
|
|
10
|
+
|
|
11
|
+
## Scope
|
|
12
|
+
|
|
13
|
+
- Default human renderer only
|
|
14
|
+
- List truncation helpers
|
|
15
|
+
- Line-budget and no-spec tests
|
|
16
|
+
|
|
17
|
+
## Acceptance Criteria
|
|
18
|
+
|
|
19
|
+
- Default output is summary-first.
|
|
20
|
+
- Large fixture output is `<= 28` non-empty lines after ANSI stripping.
|
|
21
|
+
- Next safe command is visible in compact output.
|
|
22
|
+
- No-spec output avoids repeated empty sections.
|
|
23
|
+
- Truncated lists show `+ N more` and an inspection command.
|
|
24
|
+
- `dashboard --json` remains unchanged.
|
|
25
|
+
|
|
26
|
+
## Technical Plan Summary
|
|
27
|
+
|
|
28
|
+
Build the compact view from the existing dashboard report. Keep details and section rendering for the next slice.
|
|
29
|
+
|
|
30
|
+
## Suggested Steps
|
|
31
|
+
|
|
32
|
+
1. Add compact formatting helper.
|
|
33
|
+
2. Add ANSI-stripped line-count test helper.
|
|
34
|
+
3. Create a large dashboard fixture.
|
|
35
|
+
4. Add truncation and horizontal shortening.
|
|
36
|
+
5. Preserve JSON tests.
|
|
37
|
+
|
|
38
|
+
## Restrictions
|
|
39
|
+
|
|
40
|
+
- Do not introduce Ink or fullscreen TUI.
|
|
41
|
+
- Do not change report collection semantics.
|
|
42
|
+
- Do not implement `--details` or `--section` rendering here.
|
|
43
|
+
|
|
44
|
+
## Completion Checklist
|
|
45
|
+
|
|
46
|
+
- [ ] Compact renderer implemented.
|
|
47
|
+
- [ ] Large fixture line budget tested.
|
|
48
|
+
- [ ] JSON compatibility tested.
|