create-quiver 0.15.4 → 0.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/pull_request_template.md +17 -0
- package/.github/workflows/ci.yml +76 -0
- package/.markdown-link-check.json +15 -0
- package/.markdownlint.json +11 -0
- package/.quiver/runs/run-2026-06-09t19-14-39z/approvals.json +5 -0
- package/.quiver/runs/run-2026-06-09t19-14-39z/decisions.md +2 -0
- package/.quiver/runs/run-2026-06-09t19-14-39z/requirement.md +0 -0
- package/.quiver/runs/run-2026-06-09t19-14-39z/snapshots/20260609T191439Z/docs/INDEX.md +97 -0
- package/.quiver/runs/run-2026-06-09t19-14-39z/snapshots/20260609T191439Z/manifest.json +61 -0
- package/.quiver/runs/run-2026-06-09t19-14-39z/state.json +28 -0
- package/ACTIVE_SLICES.md +43 -0
- package/ARCHITECTURE.md +133 -0
- package/CHANGELOG.md +12 -0
- package/CONTRIBUTING.md +174 -9
- package/README.md +10 -1
- package/ROADMAP.md +4 -0
- package/SECURITY.md +9 -2
- package/auditoria-ux-ui-performance-documentacion.md +705 -0
- package/copys-landing-page.md +244 -0
- package/docs/AI_CONTEXT.md.es.template +3 -1
- package/docs/AI_CONTEXT.md.template +3 -1
- package/docs/CLI_UX_GUIDE.md +9 -1
- package/docs/COMMANDS.md.template +20 -6
- package/docs/GITFLOW_PR_GUIDE.md +73 -11
- package/docs/GITFLOW_PR_GUIDE.md.es.template +61 -2
- package/docs/GITFLOW_PR_GUIDE.md.template +72 -10
- package/docs/INDEX.md +1 -0
- package/docs/QUICK.md.template +2 -1
- package/docs/STANDARD.md.template +2 -1
- package/docs/WORKFLOW.md.es.template +3 -1
- package/docs/WORKFLOW.md.template +6 -4
- package/docs/ai/ACTIVE_SLICE.md +61 -0
- package/docs/getting-started/installation.md +7 -0
- package/docs/reference/commands.md +104 -6
- package/docs/reference/slice-schema.md +37 -0
- package/docs/schema/slice.schema.json +221 -0
- package/docs/specs/01-spec/01-slice/01-slice.json +36 -0
- package/docs/specs/01-spec/01-slice/01-slice.md +106 -0
- package/docs/specs/01-spec/01-slice/CLOSURE_BRIEF.md +80 -0
- package/docs/specs/01-spec/01-slice/EXECUTION_BRIEF.md +39 -0
- package/docs/specs/01-spec/02-slice/02-slice.json +36 -0
- package/docs/specs/01-spec/02-slice/02-slice.md +108 -0
- package/docs/specs/01-spec/02-slice/CLOSURE_BRIEF.md +88 -0
- package/docs/specs/01-spec/02-slice/EXECUTION_BRIEF.md +40 -0
- package/docs/specs/01-spec/03-slice/03-slice.json +36 -0
- package/docs/specs/01-spec/03-slice/03-slice.md +103 -0
- package/docs/specs/01-spec/03-slice/CLOSURE_BRIEF.md +54 -0
- package/docs/specs/01-spec/03-slice/EXECUTION_BRIEF.md +39 -0
- package/docs/specs/01-spec/04-slice/04-slice.json +36 -0
- package/docs/specs/01-spec/04-slice/04-slice.md +107 -0
- package/docs/specs/01-spec/04-slice/CLOSURE_BRIEF.md +46 -0
- package/docs/specs/01-spec/04-slice/EXECUTION_BRIEF.md +39 -0
- package/docs/specs/01-spec/05-slice/05-slice.json +36 -0
- package/docs/specs/01-spec/05-slice/05-slice.md +106 -0
- package/docs/specs/01-spec/05-slice/CLOSURE_BRIEF.md +84 -0
- package/docs/specs/01-spec/05-slice/EXECUTION_BRIEF.md +109 -0
- package/docs/specs/01-spec/06-slice/06-slice.json +36 -0
- package/docs/specs/01-spec/06-slice/06-slice.md +107 -0
- package/docs/specs/01-spec/06-slice/CLOSURE_BRIEF.md +67 -0
- package/docs/specs/01-spec/06-slice/EXECUTION_BRIEF.md +39 -0
- package/docs/specs/01-spec/07-slice/07-slice.json +36 -0
- package/docs/specs/01-spec/07-slice/07-slice.md +105 -0
- package/docs/specs/01-spec/07-slice/CLOSURE_BRIEF.md +71 -0
- package/docs/specs/01-spec/07-slice/EXECUTION_BRIEF.md +39 -0
- package/docs/specs/01-spec/08-slice/08-slice.json +36 -0
- package/docs/specs/01-spec/08-slice/08-slice.md +105 -0
- package/docs/specs/01-spec/08-slice/CLOSURE_BRIEF.md +114 -0
- package/docs/specs/01-spec/08-slice/EXECUTION_BRIEF.md +39 -0
- package/docs/specs/01-spec/CLOSURE_BRIEF.md +87 -0
- package/docs/specs/01-spec/spec.md +197 -0
- package/docs/workflows/full-ai-spec-to-pr.md +46 -3
- package/i18n/es/docs/GITFLOW_PR_GUIDE.md.template +38 -1
- package/package.json +27 -1
- package/pr.md +154 -0
- package/scripts/package-quiver.sh +82 -2
- package/scripts/release-quiver.sh +14 -3
- package/specs/[project-name]/slices/pr.md.template +19 -0
- package/specs/quiver-v43-cli-i18n-audit-release-readiness/command-language-mode-matrix.json +91 -0
- package/specs/quiver-v50-audit-trust-foundation/EVIDENCE_REPORT.md +151 -0
- package/specs/quiver-v50-audit-trust-foundation/EXECUTION_PLAN.md +34 -0
- package/specs/quiver-v50-audit-trust-foundation/SPEC.md +113 -0
- package/specs/quiver-v50-audit-trust-foundation/STATUS.md +26 -0
- package/specs/quiver-v50-audit-trust-foundation/pr.md +120 -0
- package/specs/quiver-v50-audit-trust-foundation/slices/slice-00-audit-baseline-and-resolved-findings/CLOSURE_BRIEF.md +20 -0
- package/specs/quiver-v50-audit-trust-foundation/slices/slice-00-audit-baseline-and-resolved-findings/EXECUTION_BRIEF.md +58 -0
- package/specs/quiver-v50-audit-trust-foundation/slices/slice-00-audit-baseline-and-resolved-findings/slice.json +57 -0
- package/specs/quiver-v50-audit-trust-foundation/slices/slice-01-runtime-minimum-and-package-metadata/CLOSURE_BRIEF.md +24 -0
- package/specs/quiver-v50-audit-trust-foundation/slices/slice-01-runtime-minimum-and-package-metadata/EXECUTION_BRIEF.md +67 -0
- package/specs/quiver-v50-audit-trust-foundation/slices/slice-01-runtime-minimum-and-package-metadata/slice.json +71 -0
- package/specs/quiver-v50-audit-trust-foundation/slices/slice-02-migrate-write-safety-contract/CLOSURE_BRIEF.md +24 -0
- package/specs/quiver-v50-audit-trust-foundation/slices/slice-02-migrate-write-safety-contract/EXECUTION_BRIEF.md +71 -0
- package/specs/quiver-v50-audit-trust-foundation/slices/slice-02-migrate-write-safety-contract/slice.json +81 -0
- package/specs/quiver-v50-audit-trust-foundation/slices/slice-03-security-reporting-channel/CLOSURE_BRIEF.md +22 -0
- package/specs/quiver-v50-audit-trust-foundation/slices/slice-03-security-reporting-channel/EXECUTION_BRIEF.md +57 -0
- package/specs/quiver-v50-audit-trust-foundation/slices/slice-03-security-reporting-channel/slice.json +56 -0
- package/specs/quiver-v50-audit-trust-foundation/slices/slice-04-user-facing-i18n-error-coverage/CLOSURE_BRIEF.md +23 -0
- package/specs/quiver-v50-audit-trust-foundation/slices/slice-04-user-facing-i18n-error-coverage/EXECUTION_BRIEF.md +68 -0
- package/specs/quiver-v50-audit-trust-foundation/slices/slice-04-user-facing-i18n-error-coverage/slice.json +84 -0
- package/specs/quiver-v50-audit-trust-foundation/slices/slice-05-init-analyze-progress-and-summaries/CLOSURE_BRIEF.md +25 -0
- package/specs/quiver-v50-audit-trust-foundation/slices/slice-05-init-analyze-progress-and-summaries/EXECUTION_BRIEF.md +73 -0
- package/specs/quiver-v50-audit-trust-foundation/slices/slice-05-init-analyze-progress-and-summaries/slice.json +72 -0
- package/specs/quiver-v50-audit-trust-foundation/slices/slice-06-contributor-and-architecture-docs/CLOSURE_BRIEF.md +22 -0
- package/specs/quiver-v50-audit-trust-foundation/slices/slice-06-contributor-and-architecture-docs/EXECUTION_BRIEF.md +66 -0
- package/specs/quiver-v50-audit-trust-foundation/slices/slice-06-contributor-and-architecture-docs/slice.json +74 -0
- package/specs/quiver-v50-audit-trust-foundation/slices/slice-07-ci-and-documentation-lint-baseline/CLOSURE_BRIEF.md +29 -0
- package/specs/quiver-v50-audit-trust-foundation/slices/slice-07-ci-and-documentation-lint-baseline/EXECUTION_BRIEF.md +74 -0
- package/specs/quiver-v50-audit-trust-foundation/slices/slice-07-ci-and-documentation-lint-baseline/slice.json +81 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/EVIDENCE_REPORT.md +145 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/EXECUTION_PLAN.md +32 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/SPEC.md +109 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/STATUS.md +25 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/pr.md +69 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-00-cli-contract-baseline/CLOSURE_BRIEF.md +20 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-00-cli-contract-baseline/EXECUTION_BRIEF.md +58 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-00-cli-contract-baseline/slice.json +56 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-01-flow-json-compatibility/CLOSURE_BRIEF.md +21 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-01-flow-json-compatibility/EXECUTION_BRIEF.md +61 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-01-flow-json-compatibility/slice.json +68 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-02-dashboard-section-validation-i18n/CLOSURE_BRIEF.md +25 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-02-dashboard-section-validation-i18n/EXECUTION_BRIEF.md +65 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-02-dashboard-section-validation-i18n/pr.md +134 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-02-dashboard-section-validation-i18n/slice.json +80 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-03-base-branch-resolution-policy/CLOSURE_BRIEF.md +31 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-03-base-branch-resolution-policy/EXECUTION_BRIEF.md +80 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-03-base-branch-resolution-policy/pr.md +159 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-03-base-branch-resolution-policy/slice.json +102 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-04-next-plan-graph-ux-edge-cases/CLOSURE_BRIEF.md +25 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-04-next-plan-graph-ux-edge-cases/EXECUTION_BRIEF.md +74 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-04-next-plan-graph-ux-edge-cases/pr.md +147 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-04-next-plan-graph-ux-edge-cases/slice.json +91 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-05-evidence-robustness-path-safety/CLOSURE_BRIEF.md +28 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-05-evidence-robustness-path-safety/EXECUTION_BRIEF.md +73 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-05-evidence-robustness-path-safety/pr.md +146 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-05-evidence-robustness-path-safety/slice.json +100 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-06-namespace-compatibility-windows-scripts/CLOSURE_BRIEF.md +36 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-06-namespace-compatibility-windows-scripts/EXECUTION_BRIEF.md +76 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-06-namespace-compatibility-windows-scripts/pr.md +155 -0
- package/specs/quiver-v51-cli-ergonomics-automation-contracts/slices/slice-06-namespace-compatibility-windows-scripts/slice.json +111 -0
- package/specs/quiver-v52-schema-docs-release-hygiene/EVIDENCE_REPORT.md +95 -0
- package/specs/quiver-v52-schema-docs-release-hygiene/EXECUTION_PLAN.md +31 -0
- package/specs/quiver-v52-schema-docs-release-hygiene/SPEC.md +107 -0
- package/specs/quiver-v52-schema-docs-release-hygiene/STATUS.md +22 -0
- package/specs/quiver-v52-schema-docs-release-hygiene/pr.md +69 -0
- package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-00-schema-docs-release-baseline/CLOSURE_BRIEF.md +21 -0
- package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-00-schema-docs-release-baseline/EXECUTION_BRIEF.md +60 -0
- package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-00-schema-docs-release-baseline/slice.json +62 -0
- package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-01-json-schema-for-slice-json/CLOSURE_BRIEF.md +34 -0
- package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-01-json-schema-for-slice-json/EXECUTION_BRIEF.md +71 -0
- package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-01-json-schema-for-slice-json/pr.md +146 -0
- package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-01-json-schema-for-slice-json/slice.json +106 -0
- package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-02-generated-cli-reference/CLOSURE_BRIEF.md +33 -0
- package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-02-generated-cli-reference/EXECUTION_BRIEF.md +67 -0
- package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-02-generated-cli-reference/pr.md +144 -0
- package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-02-generated-cli-reference/slice.json +86 -0
- package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-03-changelog-package-release-smoke-hygiene/CLOSURE_BRIEF.md +38 -0
- package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-03-changelog-package-release-smoke-hygiene/EXECUTION_BRIEF.md +75 -0
- package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-03-changelog-package-release-smoke-hygiene/pr.md +159 -0
- package/specs/quiver-v52-schema-docs-release-hygiene/slices/slice-03-changelog-package-release-smoke-hygiene/slice.json +105 -0
- package/src/create-quiver/commands/changelog.js +93 -0
- package/src/create-quiver/commands/config.js +16 -5
- package/src/create-quiver/commands/evidence.js +33 -2
- package/src/create-quiver/commands/flow.js +1 -0
- package/src/create-quiver/commands/graph.js +8 -2
- package/src/create-quiver/commands/plan.js +6 -0
- package/src/create-quiver/commands/spec.js +28 -13
- package/src/create-quiver/index.js +294 -94
- package/src/create-quiver/lib/ai/github.js +5 -2
- package/src/create-quiver/lib/ai/spec-templates.js +19 -0
- package/src/create-quiver/lib/cli/command-registry.js +71 -0
- package/src/create-quiver/lib/cli/parser.js +14 -0
- package/src/create-quiver/lib/evidence.js +161 -6
- package/src/create-quiver/lib/git.js +99 -0
- package/src/create-quiver/lib/i18n/messages/en.js +52 -7
- package/src/create-quiver/lib/i18n/messages/es.js +54 -9
- package/src/create-quiver/lib/init-docs.js +1 -1
- package/src/create-quiver/lib/init-layout.js +9 -8
- package/src/create-quiver/lib/lifecycle.js +24 -26
- package/src/create-quiver/lib/readiness.js +67 -56
- package/src/create-quiver/lib/spec-worktrees.js +16 -34
|
@@ -2,3 +2,20 @@
|
|
|
2
2
|
|
|
3
3
|
Please fill in the slice `pr.md` and keep this PR aligned with it.
|
|
4
4
|
|
|
5
|
+
## PR Policy
|
|
6
|
+
|
|
7
|
+
- [ ] This PR contains one slice only.
|
|
8
|
+
- [ ] Grouped PR exception: this PR contains at most 2-3 slices, all docs-only, research-only, or low-risk mechanical cleanup.
|
|
9
|
+
- [ ] This PR does not mix docs with UI, backend, refactor, or performance work.
|
|
10
|
+
- [ ] Each included slice has separate evidence.
|
|
11
|
+
- [ ] The whole PR can be reverted without leaving partial state.
|
|
12
|
+
|
|
13
|
+
Individual PRs are mandatory for functional code, UI/UX, Supabase, Edge Functions, auth, storage, preview, performance/code-splitting, refactors, and tests or CI changes that affect gates.
|
|
14
|
+
|
|
15
|
+
## Merge Policy
|
|
16
|
+
|
|
17
|
+
- [ ] Human merge is expected.
|
|
18
|
+
- [ ] Assisted auto-merge is explicitly authorized for this PR or for this documented category.
|
|
19
|
+
- [ ] Assisted auto-merge conditions are met: docs-only or chore-only, low risk, no runtime changes, no production configuration changes, green checks, and no pending comments.
|
|
20
|
+
|
|
21
|
+
Assisted auto-merge is prohibited for UI, Supabase, Edge Functions, auth, storage, preview, performance, refactors, and changes with doubtful rollback.
|
package/.github/workflows/ci.yml
CHANGED
|
@@ -17,6 +17,14 @@ jobs:
|
|
|
17
17
|
- name: Checkout
|
|
18
18
|
uses: actions/checkout@v4
|
|
19
19
|
|
|
20
|
+
- name: Setup Node
|
|
21
|
+
uses: actions/setup-node@v4
|
|
22
|
+
with:
|
|
23
|
+
node-version: 22
|
|
24
|
+
|
|
25
|
+
- name: Install dependencies
|
|
26
|
+
run: npm ci
|
|
27
|
+
|
|
20
28
|
- name: Install shellcheck
|
|
21
29
|
run: sudo apt-get update && sudo apt-get install -y shellcheck
|
|
22
30
|
|
|
@@ -28,6 +36,43 @@ jobs:
|
|
|
28
36
|
node -e "const fs=require('fs'); const {parseJsonWithComments}=require('./src/create-quiver/lib/json'); parseJsonWithComments(fs.readFileSync('specs/[project-name]/slices/slice-template/slice.json', 'utf8'))"
|
|
29
37
|
node -e "const fs=require('fs'); const {parseJsonWithComments}=require('./src/create-quiver/lib/json'); parseJsonWithComments(fs.readFileSync('specs/quiver-v01/slices/slice-01-legal-integrity/slice.json', 'utf8'))"
|
|
30
38
|
|
|
39
|
+
tests:
|
|
40
|
+
runs-on: ubuntu-latest
|
|
41
|
+
steps:
|
|
42
|
+
- name: Checkout
|
|
43
|
+
uses: actions/checkout@v4
|
|
44
|
+
|
|
45
|
+
- name: Setup Node
|
|
46
|
+
uses: actions/setup-node@v4
|
|
47
|
+
with:
|
|
48
|
+
node-version: 22
|
|
49
|
+
|
|
50
|
+
- name: Install dependencies
|
|
51
|
+
run: npm ci
|
|
52
|
+
|
|
53
|
+
- name: Run portable test suite
|
|
54
|
+
run: npm run test:ci
|
|
55
|
+
|
|
56
|
+
- name: Run package smoke
|
|
57
|
+
run: npm run package:quiver
|
|
58
|
+
|
|
59
|
+
docs:
|
|
60
|
+
runs-on: ubuntu-latest
|
|
61
|
+
steps:
|
|
62
|
+
- name: Checkout
|
|
63
|
+
uses: actions/checkout@v4
|
|
64
|
+
|
|
65
|
+
- name: Setup Node
|
|
66
|
+
uses: actions/setup-node@v4
|
|
67
|
+
with:
|
|
68
|
+
node-version: 22
|
|
69
|
+
|
|
70
|
+
- name: Install dependencies
|
|
71
|
+
run: npm ci
|
|
72
|
+
|
|
73
|
+
- name: Run docs checks
|
|
74
|
+
run: npm run docs:check
|
|
75
|
+
|
|
31
76
|
cross-platform-smoke:
|
|
32
77
|
strategy:
|
|
33
78
|
fail-fast: false
|
|
@@ -52,6 +97,37 @@ jobs:
|
|
|
52
97
|
- name: Run cross-platform smoke
|
|
53
98
|
run: node scripts/ci/smoke-cross-platform.js
|
|
54
99
|
|
|
100
|
+
- name: Run Windows PowerShell portable path smoke
|
|
101
|
+
if: runner.os == 'Windows'
|
|
102
|
+
shell: pwsh
|
|
103
|
+
run: |
|
|
104
|
+
$versionJson = node .\bin\create-quiver.js version --json
|
|
105
|
+
$version = $versionJson | ConvertFrom-Json
|
|
106
|
+
if (-not $version.version_schema_version -or -not $version.cli.version) {
|
|
107
|
+
throw "create-quiver version JSON did not include version schema metadata"
|
|
108
|
+
}
|
|
109
|
+
node .\bin\create-quiver.js slice check --local specs\quiver-v51-cli-ergonomics-automation-contracts\slices\slice-00-cli-contract-baseline\slice.json
|
|
110
|
+
node .\bin\create-quiver.js handoff check specs\quiver-v51-cli-ergonomics-automation-contracts\slices\slice-06-namespace-compatibility-windows-scripts\EXECUTION_BRIEF.md
|
|
111
|
+
npm run quiver:check-handoff -- specs\quiver-v51-cli-ergonomics-automation-contracts\slices\slice-06-namespace-compatibility-windows-scripts\EXECUTION_BRIEF.md
|
|
112
|
+
npm run test:ci -- tests\lib\paths.test.js
|
|
113
|
+
|
|
55
114
|
- name: Run tiered pack smoke
|
|
56
115
|
shell: bash
|
|
57
116
|
run: bash scripts/ci/smoke-tiered-pack.sh
|
|
117
|
+
|
|
118
|
+
minimum-node:
|
|
119
|
+
runs-on: ubuntu-latest
|
|
120
|
+
steps:
|
|
121
|
+
- name: Checkout
|
|
122
|
+
uses: actions/checkout@v4
|
|
123
|
+
|
|
124
|
+
- name: Setup minimum supported Node
|
|
125
|
+
uses: actions/setup-node@v4
|
|
126
|
+
with:
|
|
127
|
+
node-version: 20.12.0
|
|
128
|
+
|
|
129
|
+
- name: Install dependencies
|
|
130
|
+
run: npm ci
|
|
131
|
+
|
|
132
|
+
- name: Run full test suite on minimum Node
|
|
133
|
+
run: npm run test:ci
|
|
File without changes
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
# Quiver Documentation Index
|
|
2
|
+
|
|
3
|
+
**Last updated:** 2026-05-29
|
|
4
|
+
|
|
5
|
+
Use this file as the first documentation map before planning, implementing, reviewing, or opening PRs in this repository. Prefer the smallest set of linked documents that fits the task.
|
|
6
|
+
|
|
7
|
+
## Start Here
|
|
8
|
+
|
|
9
|
+
- **Public overview:** [`../README.md`](../README.md)
|
|
10
|
+
- **AI guide:** [`../README_FOR_AI.md`](../README_FOR_AI.md)
|
|
11
|
+
- **CLI UX standards:** [`./CLI_UX_GUIDE.md`](./CLI_UX_GUIDE.md)
|
|
12
|
+
- **Command reference:** [`./reference/commands.md`](./reference/commands.md)
|
|
13
|
+
- **Slice JSON schema:** [`./reference/slice-schema.md`](./reference/slice-schema.md)
|
|
14
|
+
- **Troubleshooting:** [`./TROUBLESHOOTING.md`](./TROUBLESHOOTING.md)
|
|
15
|
+
- **Git and PR workflow:** [`./GITFLOW_PR_GUIDE.md`](./GITFLOW_PR_GUIDE.md)
|
|
16
|
+
|
|
17
|
+
## Getting Started
|
|
18
|
+
|
|
19
|
+
- **Install and npx behavior:** [`./getting-started/installation.md`](./getting-started/installation.md)
|
|
20
|
+
- **macOS setup:** [`./getting-started/macos.md`](./getting-started/macos.md)
|
|
21
|
+
- **Linux setup:** [`./getting-started/linux.md`](./getting-started/linux.md)
|
|
22
|
+
- **Windows PowerShell setup:** [`./getting-started/windows-powershell.md`](./getting-started/windows-powershell.md)
|
|
23
|
+
- **Windows Git Bash / WSL setup:** [`./getting-started/windows-git-bash-wsl.md`](./getting-started/windows-git-bash-wsl.md)
|
|
24
|
+
|
|
25
|
+
## Workflows
|
|
26
|
+
|
|
27
|
+
- **New project:** [`./workflows/new-project.md`](./workflows/new-project.md)
|
|
28
|
+
- **Existing project:** [`./workflows/existing-project.md`](./workflows/existing-project.md)
|
|
29
|
+
- **Legacy Quiver project:** [`./workflows/legacy-quiver-project.md`](./workflows/legacy-quiver-project.md)
|
|
30
|
+
- **Full AI spec-to-PR flow:** [`./workflows/full-ai-spec-to-pr.md`](./workflows/full-ai-spec-to-pr.md)
|
|
31
|
+
|
|
32
|
+
## AI Configuration
|
|
33
|
+
|
|
34
|
+
- **AI principles:** [`./ai/PRINCIPLES.md`](./ai/PRINCIPLES.md)
|
|
35
|
+
- **AI rules:** [`./ai/RULES.yaml`](./ai/RULES.yaml)
|
|
36
|
+
|
|
37
|
+
## Specs
|
|
38
|
+
|
|
39
|
+
Canonical specs live outside `docs/` in [`../specs/`](../specs/).
|
|
40
|
+
|
|
41
|
+
Recent specs:
|
|
42
|
+
|
|
43
|
+
- [`../specs/quiver-v45-ci-actions-node24-readiness/SPEC.md`](../specs/quiver-v45-ci-actions-node24-readiness/SPEC.md)
|
|
44
|
+
- [`../specs/quiver-v44-provider-live-output-tui-lite/SPEC.md`](../specs/quiver-v44-provider-live-output-tui-lite/SPEC.md)
|
|
45
|
+
- [`../specs/quiver-v43-cli-i18n-audit-release-readiness/SPEC.md`](../specs/quiver-v43-cli-i18n-audit-release-readiness/SPEC.md)
|
|
46
|
+
- [`../specs/quiver-v42-cli-i18n-generated-docs/SPEC.md`](../specs/quiver-v42-cli-i18n-generated-docs/SPEC.md)
|
|
47
|
+
- [`../specs/quiver-v41-cli-i18n-ai-lifecycle/SPEC.md`](../specs/quiver-v41-cli-i18n-ai-lifecycle/SPEC.md)
|
|
48
|
+
- [`../specs/quiver-v40-cli-i18n-spec-slice-workflows/SPEC.md`](../specs/quiver-v40-cli-i18n-spec-slice-workflows/SPEC.md)
|
|
49
|
+
- [`../specs/quiver-v39-cli-i18n-setup-onboarding/SPEC.md`](../specs/quiver-v39-cli-i18n-setup-onboarding/SPEC.md)
|
|
50
|
+
- [`../specs/quiver-v38-cli-i18n-read-only-commands/SPEC.md`](../specs/quiver-v38-cli-i18n-read-only-commands/SPEC.md)
|
|
51
|
+
- [`../specs/quiver-v37-cli-i18n-foundation/SPEC.md`](../specs/quiver-v37-cli-i18n-foundation/SPEC.md)
|
|
52
|
+
- [`../specs/quiver-v36-ai-run-watch-portable/SPEC.md`](../specs/quiver-v36-ai-run-watch-portable/SPEC.md)
|
|
53
|
+
- [`../specs/quiver-v35-compact-dashboard-version-ux/SPEC.md`](../specs/quiver-v35-compact-dashboard-version-ux/SPEC.md)
|
|
54
|
+
- [`../specs/quiver-v34-cli-dashboard-status/SPEC.md`](../specs/quiver-v34-cli-dashboard-status/SPEC.md)
|
|
55
|
+
|
|
56
|
+
For implementation work, read the target spec and the target slice's `slice.json`, `EXECUTION_BRIEF.md`, and `CLOSURE_BRIEF.md` only.
|
|
57
|
+
|
|
58
|
+
## Templates
|
|
59
|
+
|
|
60
|
+
These files are templates for generated projects or optional profiles. Do not treat them as concrete project state unless the task is about templates or init output:
|
|
61
|
+
|
|
62
|
+
- [`./AI_CONTEXT.md.template`](./AI_CONTEXT.md.template)
|
|
63
|
+
- [`./AI_ONBOARDING_PROMPT.md.template`](./AI_ONBOARDING_PROMPT.md.template)
|
|
64
|
+
- [`./COMMANDS.md.template`](./COMMANDS.md.template)
|
|
65
|
+
- [`./CONTEXTO.md.template`](./CONTEXTO.md.template)
|
|
66
|
+
- [`./DECISIONS.md.template`](./DECISIONS.md.template)
|
|
67
|
+
- [`./DOCUMENTATION_GUIDE.md.template`](./DOCUMENTATION_GUIDE.md.template)
|
|
68
|
+
- [`./STATUS.md.template`](./STATUS.md.template)
|
|
69
|
+
- [`./SUPPORT_MATRIX.md.template`](./SUPPORT_MATRIX.md.template)
|
|
70
|
+
- [`./TESTING_GUIDE_FOR_AI.md.template`](./TESTING_GUIDE_FOR_AI.md.template)
|
|
71
|
+
- [`./WORKFLOW.md.template`](./WORKFLOW.md.template)
|
|
72
|
+
- [`./ai/LESSONS.md.template`](./ai/LESSONS.md.template)
|
|
73
|
+
|
|
74
|
+
## Task Routing
|
|
75
|
+
|
|
76
|
+
- **Documentation/index work:** read this index, then the affected docs only.
|
|
77
|
+
- **CLI UX, output, dashboard, or version work:** read [`./CLI_UX_GUIDE.md`](./CLI_UX_GUIDE.md), [`./reference/commands.md`](./reference/commands.md), and the relevant spec.
|
|
78
|
+
- **Spec or slice execution:** read the relevant [`../specs/`](../specs/) package, especially the target slice files.
|
|
79
|
+
- **PR creation:** read [`./GITFLOW_PR_GUIDE.md`](./GITFLOW_PR_GUIDE.md) and the relevant `pr.md`.
|
|
80
|
+
- **Troubleshooting or install issues:** read [`./TROUBLESHOOTING.md`](./TROUBLESHOOTING.md) and the matching getting-started guide.
|
|
81
|
+
- **AI agent behavior:** read [`../README_FOR_AI.md`](../README_FOR_AI.md), [`./ai/PRINCIPLES.md`](./ai/PRINCIPLES.md), and [`./ai/RULES.yaml`](./ai/RULES.yaml).
|
|
82
|
+
|
|
83
|
+
## Known Documentation Debt
|
|
84
|
+
|
|
85
|
+
The following concrete docs are referenced by templates or generated-project guidance but do not currently exist as repository docs:
|
|
86
|
+
|
|
87
|
+
- `docs/CONTEXTO.md`
|
|
88
|
+
- `docs/WORKFLOW.md`
|
|
89
|
+
- `docs/STATUS.md`
|
|
90
|
+
- `docs/SUPPORT_MATRIX.md`
|
|
91
|
+
- `docs/TESTING_GUIDE_FOR_AI.md`
|
|
92
|
+
- `docs/AI_CONTEXT.md`
|
|
93
|
+
- `docs/AI_ONBOARDING_PROMPT.md`
|
|
94
|
+
- `docs/DECISIONS.md`
|
|
95
|
+
- `docs/ai/LESSONS.md`
|
|
96
|
+
|
|
97
|
+
Use the `.template` files only when the task is about generated project output or template maintenance.
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schema_version": 1,
|
|
3
|
+
"run_id": "run-2026-06-09t19-14-39z",
|
|
4
|
+
"created_at": "2026-06-09T19:14:39.889Z",
|
|
5
|
+
"entries": [
|
|
6
|
+
{
|
|
7
|
+
"path": "docs/INDEX.md",
|
|
8
|
+
"action": "update",
|
|
9
|
+
"existed": true,
|
|
10
|
+
"snapshot_path": ".quiver/runs/run-2026-06-09t19-14-39z/snapshots/20260609T191439Z/docs/INDEX.md"
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
"path": "docs/PROJECT_MAP.md",
|
|
14
|
+
"action": "create",
|
|
15
|
+
"existed": false,
|
|
16
|
+
"snapshot_path": null
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"path": "docs/AI_CONTEXT.md",
|
|
20
|
+
"action": "create",
|
|
21
|
+
"existed": false,
|
|
22
|
+
"snapshot_path": null
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"path": "docs/AI_ONBOARDING_PROMPT.md",
|
|
26
|
+
"action": "create",
|
|
27
|
+
"existed": false,
|
|
28
|
+
"snapshot_path": null
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"path": "docs/CONTEXTO.md",
|
|
32
|
+
"action": "create",
|
|
33
|
+
"existed": false,
|
|
34
|
+
"snapshot_path": null
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"path": "docs/WORKFLOW.md",
|
|
38
|
+
"action": "create",
|
|
39
|
+
"existed": false,
|
|
40
|
+
"snapshot_path": null
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"path": "docs/ARCHITECTURE.md",
|
|
44
|
+
"action": "create",
|
|
45
|
+
"existed": false,
|
|
46
|
+
"snapshot_path": null
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"path": "docs/STATUS.md",
|
|
50
|
+
"action": "create",
|
|
51
|
+
"existed": false,
|
|
52
|
+
"snapshot_path": null
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
"path": "docs/DECISIONS.md",
|
|
56
|
+
"action": "create",
|
|
57
|
+
"existed": false,
|
|
58
|
+
"snapshot_path": null
|
|
59
|
+
}
|
|
60
|
+
]
|
|
61
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schema_version": 1,
|
|
3
|
+
"run_id": "run-2026-06-09t19-14-39z",
|
|
4
|
+
"status": "active",
|
|
5
|
+
"phase": "onboarding-ready",
|
|
6
|
+
"spec_slug": null,
|
|
7
|
+
"created_at": "2026-06-09T19:14:39.888Z",
|
|
8
|
+
"updated_at": "2026-06-09T19:14:39.894Z",
|
|
9
|
+
"requirement": {
|
|
10
|
+
"source_file": null,
|
|
11
|
+
"path": ".quiver/runs/run-2026-06-09t19-14-39z/requirement.md"
|
|
12
|
+
},
|
|
13
|
+
"approvals_path": ".quiver/runs/run-2026-06-09t19-14-39z/approvals.json",
|
|
14
|
+
"decisions_path": ".quiver/runs/run-2026-06-09t19-14-39z/decisions.md",
|
|
15
|
+
"history": [
|
|
16
|
+
{
|
|
17
|
+
"phase": "created",
|
|
18
|
+
"command": "ai prepare-context",
|
|
19
|
+
"at": "2026-06-09T19:14:39.888Z"
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"phase": "onboarding-ready",
|
|
23
|
+
"command": "ai prepare-context",
|
|
24
|
+
"artifact": ".quiver/runs/run-2026-06-09t19-14-39z/snapshots/20260609T191439Z/manifest.json",
|
|
25
|
+
"at": "2026-06-09T19:14:39.894Z"
|
|
26
|
+
}
|
|
27
|
+
]
|
|
28
|
+
}
|
package/ACTIVE_SLICES.md
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# Active Slices
|
|
2
|
+
|
|
3
|
+
> Archivo local generado por `tools/scripts/refresh-active-slices.sh`.
|
|
4
|
+
> No se trackea en git.
|
|
5
|
+
|
|
6
|
+
**Actualizado:** 2026-06-09T19:15:40.959Z
|
|
7
|
+
|
|
8
|
+
## Convencion
|
|
9
|
+
|
|
10
|
+
- `Alias`: identificador corto para hablar del slice sin ambiguedad
|
|
11
|
+
- `Spec`: directorio del spec
|
|
12
|
+
- `slice-00`: baseline congelado, solo referencia
|
|
13
|
+
- `slice-01+`: implementacion o revalidacion
|
|
14
|
+
|
|
15
|
+
## Checkout Principal
|
|
16
|
+
|
|
17
|
+
| Branch | Path |
|
|
18
|
+
|--------|------|
|
|
19
|
+
| release/create-quiver-0.16.0 | /Users/fabrijk/Documents/Work/Proyectos Personales/nika/frameworks/quiver |
|
|
20
|
+
|
|
21
|
+
## Implementacion Activa
|
|
22
|
+
|
|
23
|
+
| Alias | Spec | Slice | Branch | Estado | Path |
|
|
24
|
+
|-------|------|-------|--------|--------|------|
|
|
25
|
+
| QUI-01 | quiver-v52-schema-docs-release-hygiene | slice-01-json-schema-for-slice-json | feature/QUIVER-52-01-v52-slice-json-schema | completed | /Users/fabrijk/Documents/Work/Proyectos Personales/nika/frameworks/.worktrees/quiver/feature-QUIVER-52-01-v52-slice-json-schema |
|
|
26
|
+
|
|
27
|
+
## Baselines Congelados
|
|
28
|
+
|
|
29
|
+
| Alias | Spec | Slice | Branch | Estado | Path |
|
|
30
|
+
|-------|------|-------|--------|--------|------|
|
|
31
|
+
| - | - | - | - | - | - |
|
|
32
|
+
|
|
33
|
+
## Worktrees Auxiliares
|
|
34
|
+
|
|
35
|
+
| Branch | Path |
|
|
36
|
+
|--------|------|
|
|
37
|
+
| - | - |
|
|
38
|
+
|
|
39
|
+
## Recomendacion Operativa
|
|
40
|
+
|
|
41
|
+
- En VS Code, dejar visibles solo `develop` y la tabla de `Implementacion Activa`.
|
|
42
|
+
- Tratar la tabla de `Baselines Congelados` como solo lectura.
|
|
43
|
+
- Cerrar visualmente los `Worktrees Auxiliares` salvo cuando estes trabajando ese PR o esa tarea de proceso.
|
package/ARCHITECTURE.md
ADDED
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
# Quiver Architecture
|
|
2
|
+
|
|
3
|
+
Quiver is a Node.js CLI package published as `create-quiver`. It bootstraps and
|
|
4
|
+
operates a WDD + SDD workflow around specs, slices, handoffs, validation
|
|
5
|
+
evidence, and PR readiness.
|
|
6
|
+
|
|
7
|
+
## Runtime Entrypoints
|
|
8
|
+
|
|
9
|
+
| Surface | Path | Purpose |
|
|
10
|
+
|---|---|---|
|
|
11
|
+
| CLI binary | `bin/create-quiver.js` | Package binary for `create-quiver` and `quiver`. |
|
|
12
|
+
| Main dispatcher | `src/create-quiver/index.js` | Parses top-level args, routes commands, renders help, and wires command modules. |
|
|
13
|
+
| Package scripts | `package.json` | Contributor and generated workflow shortcuts such as `quiver:plan`, `quiver:graph`, and `package:quiver`. |
|
|
14
|
+
|
|
15
|
+
The public bootstrap command is `npx create-quiver ...`. The `quiver` binary is
|
|
16
|
+
a local installed alias to the same entrypoint.
|
|
17
|
+
|
|
18
|
+
## Command Layer
|
|
19
|
+
|
|
20
|
+
Command modules live under `src/create-quiver/commands/`.
|
|
21
|
+
|
|
22
|
+
| Area | Representative files | Responsibility |
|
|
23
|
+
|---|---|---|
|
|
24
|
+
| Project setup | `analyze.js`, `prepare.js`, `config.js` | Project scans, diagnostics, language config, and preparation checks. |
|
|
25
|
+
| Read-only status | `dashboard.js`, `flow.js`, `next.js`, `plan.js`, `graph.js` | Guided status, dependency graphs, and next-slice discovery. |
|
|
26
|
+
| AI workflow | `ai.js`, `src/create-quiver/lib/ai/**` | Planner drafts, approvals, profiles, execution plans, provider execution, PR preflight, and export. |
|
|
27
|
+
| Specs and lifecycle | `spec.js`, `src/create-quiver/lib/lifecycle.js`, `src/create-quiver/lib/spec-worktrees.js` | Spec creation/validation, slice readiness, worktrees, and closure. |
|
|
28
|
+
| Evidence and demos | `evidence.js`, `demo.js` | Validation evidence capture and optional static Spec Viewer demo generation. |
|
|
29
|
+
|
|
30
|
+
The current `origin/main` help surface uses legacy slice/handoff commands such
|
|
31
|
+
as `start-slice`, `check-slice`, `check-pr`, `check-handoff`, `new-handoff`,
|
|
32
|
+
`cleanup-slice`, `check-scope`, and `refresh-active-slices`.
|
|
33
|
+
|
|
34
|
+
## Library Layer
|
|
35
|
+
|
|
36
|
+
Shared logic lives under `src/create-quiver/lib/`.
|
|
37
|
+
|
|
38
|
+
| Area | Representative files |
|
|
39
|
+
|---|---|
|
|
40
|
+
| Project analysis and generated docs | `analyze.js`, `project-scan.js`, `init-docs.js`, `init-layout.js`, `template-resolver.js` |
|
|
41
|
+
| State and safety | `state.js`, `project-state-resolver.js`, `statuses.js`, `locks.js`, `paths.js`, `scope.js` |
|
|
42
|
+
| UX and i18n | `cli/ux.js`, `cli/theme.js`, `cli/selectors.js`, `cli/ux-flags.js`, `i18n/**` |
|
|
43
|
+
| AI orchestration | `ai/artifacts.js`, `ai/context-packs.js`, `ai/executor.js`, `ai/providers.js`, `ai/spec-generator.js`, `ai/phase-gates.js` |
|
|
44
|
+
| Spec graphing | `slice.js`, `slice-graph.js`, `renderers/tree.js`, `renderers/mermaid.js`, `renderers/dot.js` |
|
|
45
|
+
| Packaging | `package-safety.js`, `version.js` |
|
|
46
|
+
|
|
47
|
+
Keep command modules thin where possible. Put reusable behavior in `lib/` so it
|
|
48
|
+
can be tested without spawning the full CLI.
|
|
49
|
+
|
|
50
|
+
## Specs and Slices
|
|
51
|
+
|
|
52
|
+
Quiver dogfoods its own workflow in `specs/quiver-vNN-*`.
|
|
53
|
+
|
|
54
|
+
Each spec contains:
|
|
55
|
+
|
|
56
|
+
- `SPEC.md`: problem, objective, scope, acceptance criteria, guardrails.
|
|
57
|
+
- `STATUS.md`: current status and per-slice state.
|
|
58
|
+
- `EVIDENCE_REPORT.md`: validation evidence and decisions.
|
|
59
|
+
- `EXECUTION_PLAN.md`: dependency-aware execution order.
|
|
60
|
+
- `pr.md`: PR body source.
|
|
61
|
+
- `slices/<slice-id>/slice.json`: machine-readable scope, dependencies, and validation.
|
|
62
|
+
- `slices/<slice-id>/EXECUTION_BRIEF.md`: executor instructions.
|
|
63
|
+
- `slices/<slice-id>/CLOSURE_BRIEF.md`: completion conditions and validation record.
|
|
64
|
+
|
|
65
|
+
Slice numbering resets inside each spec. `slice-00` is the documentary
|
|
66
|
+
foundation for that spec; `slice-01` is the first implementation slice in that
|
|
67
|
+
same spec.
|
|
68
|
+
|
|
69
|
+
## Generated Project Contract
|
|
70
|
+
|
|
71
|
+
When Quiver initializes another project, it writes visible workflow docs and
|
|
72
|
+
internal state:
|
|
73
|
+
|
|
74
|
+
- Visible docs: `AGENTS.md`, `docs/**`, `specs/<project-slug>/**` when specs are created.
|
|
75
|
+
- Internal state: `.quiver/config.json`, `.quiver/state.json`,
|
|
76
|
+
`.quiver/scans/PROJECT_SCAN.json`, `.quiver/runs/**`, `.quiver/agents/**`.
|
|
77
|
+
|
|
78
|
+
Do not treat `.quiver/` as product code. It is local workflow state and must not
|
|
79
|
+
be published to npm.
|
|
80
|
+
|
|
81
|
+
## Templates and Localization
|
|
82
|
+
|
|
83
|
+
Human Markdown templates live under `docs/*.template`; Spanish variants use
|
|
84
|
+
`.es.template`. Machine-readable artifacts, command names, flags, ids,
|
|
85
|
+
providers, and JSON keys are not localized.
|
|
86
|
+
|
|
87
|
+
Spec templates live under `specs/[project-name]/`. Optional docs examples live
|
|
88
|
+
under `docs/examples/`.
|
|
89
|
+
|
|
90
|
+
## Package Boundary
|
|
91
|
+
|
|
92
|
+
`scripts/package-quiver.sh` builds and validates the npm tarball. The package
|
|
93
|
+
must include the CLI entrypoint, runtime source, README, public docs/templates,
|
|
94
|
+
community files, package scripts, and the minimal spec template.
|
|
95
|
+
|
|
96
|
+
The package must exclude tests, local examples, historical dogfooding specs that
|
|
97
|
+
are explicitly ignored, CI-only scripts, local PDFs, worktrees, provider state,
|
|
98
|
+
secrets, `.DS_Store`, and npm credentials. `src/create-quiver/lib/package-safety.js`
|
|
99
|
+
enforces additional unsafe-path checks against tarball contents.
|
|
100
|
+
|
|
101
|
+
## Tests and Smokes
|
|
102
|
+
|
|
103
|
+
| Command | Purpose |
|
|
104
|
+
|---|---|
|
|
105
|
+
| `node --test` | Full Node test suite. |
|
|
106
|
+
| `node --test tests/<file>.js` | Targeted test file. |
|
|
107
|
+
| `npm run package:quiver` | Build tarball and validate package contents. |
|
|
108
|
+
| `bash scripts/ci/smoke-create-quiver.sh` | Package-installed CLI smoke. |
|
|
109
|
+
| `npm run smoke:doctor-fixtures` | Doctor/preflight fixture smoke. |
|
|
110
|
+
| `npm run smoke:tiered-pack` | Tiered packaging smoke. |
|
|
111
|
+
| `npm run smoke:guided-workflow` | Guided workflow smoke. |
|
|
112
|
+
|
|
113
|
+
Run `node bin/create-quiver.js --help` after changing command surfaces or docs
|
|
114
|
+
that mention command names.
|
|
115
|
+
|
|
116
|
+
## CI
|
|
117
|
+
|
|
118
|
+
`.github/workflows/ci.yml` currently validates shell scripts, selected slice
|
|
119
|
+
templates, cross-platform smoke behavior on Ubuntu/macOS/Windows, and package
|
|
120
|
+
smoke coverage.
|
|
121
|
+
|
|
122
|
+
CI should stay deterministic and local-first. Avoid adding blocking network link
|
|
123
|
+
checks or publish steps unless a slice explicitly provides the safety contract.
|
|
124
|
+
|
|
125
|
+
## Design Constraints
|
|
126
|
+
|
|
127
|
+
- Keep JSON stdout clean and machine-readable.
|
|
128
|
+
- Keep prompts and spinners out of CI, no-TTY, `--json`, and `--no-color` flows.
|
|
129
|
+
- Preserve existing command compatibility unless a slice explicitly scopes a
|
|
130
|
+
breaking change.
|
|
131
|
+
- Prefer additive fields and aliases over removing established contracts.
|
|
132
|
+
- Do not publish local audit files, generated PDFs, worktrees, secrets, or AI
|
|
133
|
+
raw provider state.
|
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,12 @@ All notable changes to this project will be documented in this file.
|
|
|
6
6
|
|
|
7
7
|
### Added
|
|
8
8
|
|
|
9
|
+
- Top-level read-only `changelog` command with human and JSON output for inspecting packaged release notes.
|
|
10
|
+
- Spec 01 branch-recovery closure package under `docs/specs/01-spec/`, including controlled branch-cleanup guidance and release-readiness evidence.
|
|
11
|
+
- v52 schema/docs/release hygiene under `specs/quiver-v52-schema-docs-release-hygiene/`.
|
|
12
|
+
- Public `slice.json` JSON Schema docs and schema validation with `npm run schema:slice:check`.
|
|
13
|
+
- Generated CLI command reference drift checks with `npm run docs:commands:write` and `npm run docs:commands:check`.
|
|
14
|
+
- Changelog validation with `npm run changelog:check`.
|
|
9
15
|
- Implemented v31 AI model catalog and guided agent setup under `specs/quiver-v31-ai-model-catalog-agent-selection/`.
|
|
10
16
|
- Local known-model catalog for Codex, Claude, and Gemini, with role metadata, alias normalization, and `ai models list`.
|
|
11
17
|
- Guided provider/model selection for `ai agent set <role>`, plus `ai agent doctor` and `ai agent repair --dry-run` for legacy or invalid profiles.
|
|
@@ -17,6 +23,12 @@ All notable changes to this project will be documented in this file.
|
|
|
17
23
|
|
|
18
24
|
### Changed
|
|
19
25
|
|
|
26
|
+
- CLI parser and command registry are now split into explicit modules while preserving existing command behavior and legacy aliases.
|
|
27
|
+
- Release-readiness evidence now includes a command-role audit that explains what each public command is for and how it was safely validated.
|
|
28
|
+
- `npm run docs:check` now includes generated CLI command reference drift detection.
|
|
29
|
+
- Package smoke now installs the generated tarball and verifies the installed CLI with `--version`, `--help`, and `init --dry-run`.
|
|
30
|
+
- Release dry-runs now require changelog, docs, schema, installer, package, and installed CLI smoke gates before publishing guidance.
|
|
31
|
+
- Release publishing remains explicitly guarded and requires `QUIVER_ALLOW_NPM_PUBLISH=1` when using publish flags.
|
|
20
32
|
- Agent profiles now distinguish the technical `model` id passed to provider CLIs from the human `displayName` shown in Quiver output.
|
|
21
33
|
- Live AI commands now normalize safe CLI model aliases, block persisted display aliases before provider execution, and surface invalid-model provider failures more clearly.
|
|
22
34
|
- Public docs, generated templates, CLI help, and smoke checks now describe model catalog entries as known by Quiver, not guaranteed account availability.
|