create-quiver 0.6.0 → 0.7.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/workflows/ci.yml +7 -30
- package/AGENTS.md.template +41 -0
- package/CHANGELOG.md +5 -0
- package/README.md +37 -13
- package/README_FOR_AI.md +27 -7
- package/ROADMAP.md +78 -0
- package/docs/AI_CONTEXT.md.template +19 -26
- package/docs/AI_ONBOARDING_PROMPT.md.template +12 -0
- package/docs/CONTEXTO.md.template +4 -17
- package/docs/DECISIONS.md.template +18 -0
- package/docs/DEEP.md.template +34 -0
- package/docs/DOCUMENTATION_GUIDE.md.template +9 -7
- package/docs/GITFLOW_PR_GUIDE.md.template +7 -0
- package/docs/INDEX.md.template +9 -0
- package/docs/QUICK.md.template +27 -0
- package/docs/STANDARD.md.template +49 -0
- package/docs/STATUS.md.template +2 -2
- package/docs/SUPPORT_MATRIX.md.template +7 -4
- package/docs/TESTING_GUIDE_FOR_AI.md.template +4 -3
- package/docs/TROUBLESHOOTING.md.template +14 -0
- package/docs/WORKFLOW.md.template +17 -4
- package/package.json +2 -1
- package/package.template.json +11 -0
- package/scripts/cleanup-slice.sh +2 -172
- package/scripts/init-docs.sh +97 -24
- package/scripts/package-quiver.sh +5 -0
- package/scripts/start-slice.sh +3 -425
- package/specs/[project-name]/EVIDENCE_REPORT.md.template +3 -1
- package/specs/[project-name]/slices/slice-template/slice.json +2 -2
- package/specs/quiver-v12-cross-platform-native-runtime/EVIDENCE_REPORT.md +30 -0
- package/specs/quiver-v12-cross-platform-native-runtime/SPEC.md +86 -0
- package/specs/quiver-v12-cross-platform-native-runtime/STATUS.md +29 -0
- package/specs/quiver-v12-cross-platform-native-runtime/slices/slice-01-cross-platform-support-contract/slice.json +69 -0
- package/specs/quiver-v12-cross-platform-native-runtime/slices/slice-02-node-init-docs-runtime/slice.json +76 -0
- package/specs/quiver-v12-cross-platform-native-runtime/slices/slice-03-node-migrate-analyze-doctor-flow/slice.json +74 -0
- package/specs/quiver-v12-cross-platform-native-runtime/slices/slice-04-node-slice-lifecycle-commands/slice.json +81 -0
- package/specs/quiver-v12-cross-platform-native-runtime/slices/slice-05-generated-project-scripts-and-migration/slice.json +78 -0
- package/specs/quiver-v12-cross-platform-native-runtime/slices/slice-06-cross-platform-ci-release-readiness/slice.json +74 -0
- package/specs/quiver-v13-token-efficient-ai-context/EVIDENCE_REPORT.md +28 -0
- package/specs/quiver-v13-token-efficient-ai-context/SPEC.md +68 -0
- package/specs/quiver-v13-token-efficient-ai-context/STATUS.md +26 -0
- package/specs/quiver-v13-token-efficient-ai-context/slices/slice-01-token-efficient-ai-modes-guidance/slice.json +65 -0
- package/specs/quiver-v13-token-efficient-ai-context/slices/slice-02-decision-log-context-checkpoint/slice.json +64 -0
- package/specs/quiver-v13-token-efficient-ai-context/slices/slice-03-project-map-reading-order/slice.json +66 -0
- package/specs/quiver-v14-tiered-context-pack/EVIDENCE_REPORT.md +42 -0
- package/specs/quiver-v14-tiered-context-pack/SPEC.md +116 -0
- package/specs/quiver-v14-tiered-context-pack/STATUS.md +35 -0
- package/specs/quiver-v14-tiered-context-pack/slices/slice-01-tiered-context-pack/slice.json +77 -0
- package/specs/quiver-v14-tiered-context-pack/slices/slice-02-agents-md-router/slice.json +74 -0
- package/specs/quiver-v14-tiered-context-pack/slices/slice-03-active-slice-lifecycle/slice.json +74 -0
- package/specs/quiver-v14-tiered-context-pack/slices/slice-04-dedup-frontmatter/slice.json +83 -0
- package/specs/quiver-v14-tiered-context-pack/slices/slice-05-doctor-smokes-tiered-pack/slice.json +84 -0
- package/src/create-quiver/index.js +299 -123
- package/src/create-quiver/lib/analyze.js +9 -0
- package/src/create-quiver/lib/doctor.js +212 -0
- package/src/create-quiver/lib/git.js +154 -0
- package/src/create-quiver/lib/init-docs.js +616 -0
- package/src/create-quiver/lib/lifecycle.js +478 -0
- package/src/create-quiver/lib/paths.js +19 -0
- package/src/create-quiver/lib/readiness.js +300 -0
- package/src/create-quiver/lib/scope.js +5 -0
- package/src/create-quiver/lib/slice.js +194 -0
- package/src/create-quiver/lib/state.js +89 -0
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
{
|
|
2
|
+
"slice_id": "slice-02-node-init-docs-runtime",
|
|
3
|
+
"ticket": "QUIVER-02",
|
|
4
|
+
"type": "feature",
|
|
5
|
+
"title": "Node Init Docs Runtime",
|
|
6
|
+
"objective": "Replace the Bash dependency in project initialization with a Node.js implementation.",
|
|
7
|
+
"description": "The current installer invokes `bash docs-template/scripts/init-docs.sh`, which blocks native Windows usage at the first command. This slice ports initialization behavior to Node while preserving generated file content, migration-safe copy behavior, package.json sync, and Quiver state metadata.",
|
|
8
|
+
"git": {
|
|
9
|
+
"branch_type": "feature",
|
|
10
|
+
"base_branch": "main",
|
|
11
|
+
"branch_slug": "node-init-docs-runtime",
|
|
12
|
+
"branch_name": "feature/QUIVER-02-node-init-docs-runtime"
|
|
13
|
+
},
|
|
14
|
+
"must": [
|
|
15
|
+
"Add a Node-native initialization module used by `create-quiver --name`",
|
|
16
|
+
"Copy templates and replace placeholders without invoking Bash, sed, cp, or chmod as required steps",
|
|
17
|
+
"Preserve existing files according to current init and migration behavior",
|
|
18
|
+
"Generate docs, specs, tools, package.json scripts, README, and `.quiver/state.json` with equivalent content",
|
|
19
|
+
"Keep `scripts/init-docs.sh` as a compatibility wrapper or legacy path where useful",
|
|
20
|
+
"Update package smoke so packaged installs initialize without Bash"
|
|
21
|
+
],
|
|
22
|
+
"not_included": [
|
|
23
|
+
"Porting slice lifecycle scripts",
|
|
24
|
+
"Changing the spec/slice workflow semantics",
|
|
25
|
+
"Adding Windows CI matrix",
|
|
26
|
+
"Removing legacy shell scripts"
|
|
27
|
+
],
|
|
28
|
+
"acceptance": [
|
|
29
|
+
"`node bin/create-quiver.js --name \"Smoke Project\" --dir <target>` initializes without spawning Bash",
|
|
30
|
+
"Generated project files match the current contract",
|
|
31
|
+
"Existing file preservation still works",
|
|
32
|
+
"Package smoke proves initialization from the tarball works through Node runtime",
|
|
33
|
+
"Unix `scripts/init-docs.sh` compatibility path still passes or clearly delegates to Node"
|
|
34
|
+
],
|
|
35
|
+
"files": [
|
|
36
|
+
"src/create-quiver/index.js",
|
|
37
|
+
"src/create-quiver/lib/init-docs.js",
|
|
38
|
+
"src/create-quiver/lib/templates.js",
|
|
39
|
+
"src/create-quiver/lib/package-json.js",
|
|
40
|
+
"scripts/init-docs.sh",
|
|
41
|
+
"scripts/ci/smoke-init-docs.sh",
|
|
42
|
+
"scripts/ci/smoke-create-quiver.sh",
|
|
43
|
+
"scripts/package-quiver.sh",
|
|
44
|
+
"specs/quiver-v12-cross-platform-native-runtime/SPEC.md",
|
|
45
|
+
"specs/quiver-v12-cross-platform-native-runtime/STATUS.md",
|
|
46
|
+
"specs/quiver-v12-cross-platform-native-runtime/EVIDENCE_REPORT.md",
|
|
47
|
+
"specs/quiver-v12-cross-platform-native-runtime/slices/slice-02-node-init-docs-runtime/slice.json"
|
|
48
|
+
],
|
|
49
|
+
"tests": [
|
|
50
|
+
"node -c src/create-quiver/index.js",
|
|
51
|
+
"node -c src/create-quiver/lib/init-docs.js",
|
|
52
|
+
"bash scripts/ci/smoke-init-docs.sh",
|
|
53
|
+
"bash scripts/ci/smoke-create-quiver.sh",
|
|
54
|
+
"bash scripts/package-quiver.sh",
|
|
55
|
+
"git diff --check"
|
|
56
|
+
],
|
|
57
|
+
"documentation": [
|
|
58
|
+
"specs/quiver-v12-cross-platform-native-runtime/SPEC.md",
|
|
59
|
+
"specs/quiver-v12-cross-platform-native-runtime/STATUS.md",
|
|
60
|
+
"specs/quiver-v12-cross-platform-native-runtime/EVIDENCE_REPORT.md"
|
|
61
|
+
],
|
|
62
|
+
"dependencies": [
|
|
63
|
+
"slice-01-cross-platform-support-contract"
|
|
64
|
+
],
|
|
65
|
+
"assumptions": [
|
|
66
|
+
"Node.js is the shared runtime across all supported systems",
|
|
67
|
+
"Current generated content should remain stable unless cross-platform support requires a wording change"
|
|
68
|
+
],
|
|
69
|
+
"estimated_hours": 8,
|
|
70
|
+
"actual_hours": null,
|
|
71
|
+
"status": "draft",
|
|
72
|
+
"blocked_reason": null,
|
|
73
|
+
"ready_at": null,
|
|
74
|
+
"started_at": null,
|
|
75
|
+
"completed_at": null
|
|
76
|
+
}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
{
|
|
2
|
+
"slice_id": "slice-03-node-migrate-analyze-doctor-flow",
|
|
3
|
+
"ticket": "QUIVER-03",
|
|
4
|
+
"type": "feature",
|
|
5
|
+
"title": "Node Migrate, Analyze, and Doctor Flow",
|
|
6
|
+
"objective": "Make `migrate`, `analyze`, and `doctor` fully Node-native and Windows-safe.",
|
|
7
|
+
"description": "After initialization no longer requires Bash, the core maintenance loop must also avoid shell assumptions. This slice hardens path handling, metadata updates, and diagnostics for macOS, Linux, PowerShell, and CMD.",
|
|
8
|
+
"git": {
|
|
9
|
+
"branch_type": "feature",
|
|
10
|
+
"base_branch": "main",
|
|
11
|
+
"branch_slug": "node-core-flow",
|
|
12
|
+
"branch_name": "feature/QUIVER-03-node-core-flow"
|
|
13
|
+
},
|
|
14
|
+
"must": [
|
|
15
|
+
"Ensure `create-quiver migrate` uses the Node initialization runtime instead of Bash",
|
|
16
|
+
"Normalize paths with Node APIs and avoid POSIX-only separators in logic",
|
|
17
|
+
"Keep `analyze` and `doctor` usable from the project root without Bash",
|
|
18
|
+
"Update doctor diagnostics so Windows users see PowerShell/CMD-safe commands",
|
|
19
|
+
"Add focused tests or smoke fixtures for Windows-style paths and paths with spaces",
|
|
20
|
+
"Preserve existing metadata fields in `.quiver/state.json`"
|
|
21
|
+
],
|
|
22
|
+
"not_included": [
|
|
23
|
+
"Porting `start-slice` or readiness gates",
|
|
24
|
+
"Adding GitHub Actions Windows matrix",
|
|
25
|
+
"Removing shell wrappers",
|
|
26
|
+
"Publishing a release"
|
|
27
|
+
],
|
|
28
|
+
"acceptance": [
|
|
29
|
+
"`create-quiver migrate`, `analyze`, and `doctor` do not invoke Bash",
|
|
30
|
+
"Commands work when the project path contains spaces",
|
|
31
|
+
"Doctor output uses commands valid in PowerShell, CMD, macOS, and Linux",
|
|
32
|
+
"State metadata remains valid after migration and analysis",
|
|
33
|
+
"Existing smoke coverage still passes"
|
|
34
|
+
],
|
|
35
|
+
"files": [
|
|
36
|
+
"src/create-quiver/index.js",
|
|
37
|
+
"src/create-quiver/lib/paths.js",
|
|
38
|
+
"src/create-quiver/lib/state.js",
|
|
39
|
+
"src/create-quiver/lib/analyze.js",
|
|
40
|
+
"src/create-quiver/lib/doctor.js",
|
|
41
|
+
"scripts/ci/smoke-create-quiver.sh",
|
|
42
|
+
"specs/quiver-v12-cross-platform-native-runtime/SPEC.md",
|
|
43
|
+
"specs/quiver-v12-cross-platform-native-runtime/STATUS.md",
|
|
44
|
+
"specs/quiver-v12-cross-platform-native-runtime/EVIDENCE_REPORT.md",
|
|
45
|
+
"specs/quiver-v12-cross-platform-native-runtime/slices/slice-03-node-migrate-analyze-doctor-flow/slice.json"
|
|
46
|
+
],
|
|
47
|
+
"tests": [
|
|
48
|
+
"node -c src/create-quiver/index.js",
|
|
49
|
+
"node bin/create-quiver.js migrate",
|
|
50
|
+
"node bin/create-quiver.js analyze",
|
|
51
|
+
"node bin/create-quiver.js doctor",
|
|
52
|
+
"bash scripts/ci/smoke-create-quiver.sh",
|
|
53
|
+
"git diff --check"
|
|
54
|
+
],
|
|
55
|
+
"documentation": [
|
|
56
|
+
"specs/quiver-v12-cross-platform-native-runtime/SPEC.md",
|
|
57
|
+
"specs/quiver-v12-cross-platform-native-runtime/STATUS.md",
|
|
58
|
+
"specs/quiver-v12-cross-platform-native-runtime/EVIDENCE_REPORT.md"
|
|
59
|
+
],
|
|
60
|
+
"dependencies": [
|
|
61
|
+
"slice-02-node-init-docs-runtime"
|
|
62
|
+
],
|
|
63
|
+
"assumptions": [
|
|
64
|
+
"Analyze and doctor should remain read-mostly except for analysis metadata updates",
|
|
65
|
+
"`--dir` remains supported for explicit out-of-project targeting"
|
|
66
|
+
],
|
|
67
|
+
"estimated_hours": 5,
|
|
68
|
+
"actual_hours": null,
|
|
69
|
+
"status": "draft",
|
|
70
|
+
"blocked_reason": null,
|
|
71
|
+
"ready_at": null,
|
|
72
|
+
"started_at": null,
|
|
73
|
+
"completed_at": null
|
|
74
|
+
}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
{
|
|
2
|
+
"slice_id": "slice-04-node-slice-lifecycle-commands",
|
|
3
|
+
"ticket": "QUIVER-04",
|
|
4
|
+
"type": "feature",
|
|
5
|
+
"title": "Node Slice Lifecycle Commands",
|
|
6
|
+
"objective": "Port slice lifecycle and readiness gates from Bash scripts to Node CLI commands.",
|
|
7
|
+
"description": "The primary developer workflow still depends on Bash for `start-slice`, readiness checks, PR checks, cleanup, and scope checks. This slice introduces Node-native commands that preserve current behavior while working from PowerShell and CMD.",
|
|
8
|
+
"git": {
|
|
9
|
+
"branch_type": "feature",
|
|
10
|
+
"base_branch": "main",
|
|
11
|
+
"branch_slug": "node-slice-lifecycle",
|
|
12
|
+
"branch_name": "feature/QUIVER-04-node-slice-lifecycle"
|
|
13
|
+
},
|
|
14
|
+
"must": [
|
|
15
|
+
"Add CLI commands for `start-slice`, `check-slice`, `check-pr`, `cleanup-slice`, `check-scope`, and `refresh-active-slices`",
|
|
16
|
+
"Port slice JSON parsing and validation to Node",
|
|
17
|
+
"Port Git worktree creation, lookup, cleanup, and status checks to Node",
|
|
18
|
+
"Handle paths with spaces and Windows drive letters safely",
|
|
19
|
+
"Handle Windows executable-bit differences without false failures",
|
|
20
|
+
"Keep legacy `.sh` wrappers usable on Unix by delegating to the new CLI commands where practical"
|
|
21
|
+
],
|
|
22
|
+
"not_included": [
|
|
23
|
+
"Changing the slice JSON schema unless required for compatibility",
|
|
24
|
+
"Changing branch naming rules",
|
|
25
|
+
"Changing one slice = one commit validation",
|
|
26
|
+
"Adding release publishing"
|
|
27
|
+
],
|
|
28
|
+
"acceptance": [
|
|
29
|
+
"`npx create-quiver start-slice <slice.json>` creates or reuses the expected worktree",
|
|
30
|
+
"`npx create-quiver check-slice <slice.json>` validates the same contract as the current shell gate",
|
|
31
|
+
"`npx create-quiver check-pr <slice.json>` validates PR readiness without Bash",
|
|
32
|
+
"`npx create-quiver cleanup-slice <slice.json>` removes worktree and branch according to existing flags",
|
|
33
|
+
"Unix shell wrappers still pass existing smokes",
|
|
34
|
+
"Cross-platform path tests cover spaces and Windows-style path strings"
|
|
35
|
+
],
|
|
36
|
+
"files": [
|
|
37
|
+
"src/create-quiver/index.js",
|
|
38
|
+
"src/create-quiver/lib/git.js",
|
|
39
|
+
"src/create-quiver/lib/slice.js",
|
|
40
|
+
"src/create-quiver/lib/lifecycle.js",
|
|
41
|
+
"src/create-quiver/lib/readiness.js",
|
|
42
|
+
"src/create-quiver/lib/scope.js",
|
|
43
|
+
"scripts/start-slice.sh",
|
|
44
|
+
"scripts/check-slice-readiness.sh",
|
|
45
|
+
"scripts/check-pr-readiness.sh",
|
|
46
|
+
"scripts/cleanup-slice.sh",
|
|
47
|
+
"scripts/check-scope.sh",
|
|
48
|
+
"scripts/refresh-active-slices.sh",
|
|
49
|
+
"scripts/ci/smoke-workflow-gates.sh",
|
|
50
|
+
"scripts/ci/smoke-create-quiver.sh",
|
|
51
|
+
"specs/quiver-v12-cross-platform-native-runtime/SPEC.md",
|
|
52
|
+
"specs/quiver-v12-cross-platform-native-runtime/STATUS.md",
|
|
53
|
+
"specs/quiver-v12-cross-platform-native-runtime/EVIDENCE_REPORT.md",
|
|
54
|
+
"specs/quiver-v12-cross-platform-native-runtime/slices/slice-04-node-slice-lifecycle-commands/slice.json"
|
|
55
|
+
],
|
|
56
|
+
"tests": [
|
|
57
|
+
"node -c src/create-quiver/index.js",
|
|
58
|
+
"bash scripts/ci/smoke-workflow-gates.sh",
|
|
59
|
+
"bash scripts/ci/smoke-create-quiver.sh",
|
|
60
|
+
"git diff --check"
|
|
61
|
+
],
|
|
62
|
+
"documentation": [
|
|
63
|
+
"specs/quiver-v12-cross-platform-native-runtime/SPEC.md",
|
|
64
|
+
"specs/quiver-v12-cross-platform-native-runtime/STATUS.md",
|
|
65
|
+
"specs/quiver-v12-cross-platform-native-runtime/EVIDENCE_REPORT.md"
|
|
66
|
+
],
|
|
67
|
+
"dependencies": [
|
|
68
|
+
"slice-03-node-migrate-analyze-doctor-flow"
|
|
69
|
+
],
|
|
70
|
+
"assumptions": [
|
|
71
|
+
"Git remains an external dependency and is not bundled",
|
|
72
|
+
"The Node implementation should preserve current shell behavior before improving ergonomics"
|
|
73
|
+
],
|
|
74
|
+
"estimated_hours": 10,
|
|
75
|
+
"actual_hours": null,
|
|
76
|
+
"status": "draft",
|
|
77
|
+
"blocked_reason": null,
|
|
78
|
+
"ready_at": null,
|
|
79
|
+
"started_at": null,
|
|
80
|
+
"completed_at": null
|
|
81
|
+
}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
{
|
|
2
|
+
"slice_id": "slice-05-generated-project-scripts-and-migration",
|
|
3
|
+
"ticket": "QUIVER-05",
|
|
4
|
+
"type": "feature",
|
|
5
|
+
"title": "Generated Project Scripts and Migration",
|
|
6
|
+
"objective": "Update generated and migrated projects to use Node-native Quiver commands as the primary npm scripts.",
|
|
7
|
+
"description": "After Node-native lifecycle commands exist, generated projects should stop advertising Bash scripts as the primary workflow. This slice updates package templates, generated README content, migration behavior, and docs while preserving legacy script compatibility where useful.",
|
|
8
|
+
"git": {
|
|
9
|
+
"branch_type": "feature",
|
|
10
|
+
"base_branch": "main",
|
|
11
|
+
"branch_slug": "generated-scripts-migration",
|
|
12
|
+
"branch_name": "feature/QUIVER-05-generated-scripts-migration"
|
|
13
|
+
},
|
|
14
|
+
"must": [
|
|
15
|
+
"Update `package.template.json` scripts to call `create-quiver` commands",
|
|
16
|
+
"Update generated README and AI context commands to use Node-native commands",
|
|
17
|
+
"Teach `migrate` to add new npm scripts without deleting user scripts",
|
|
18
|
+
"Preserve legacy Bash script entries where needed with clear naming or documentation",
|
|
19
|
+
"Update doctor to recommend migration when generated scripts still only point to Bash",
|
|
20
|
+
"Add smokes for old projects migrated to Node-native npm scripts"
|
|
21
|
+
],
|
|
22
|
+
"not_included": [
|
|
23
|
+
"Deleting legacy Bash scripts",
|
|
24
|
+
"Adding Windows CI matrix",
|
|
25
|
+
"Changing slice JSON schema",
|
|
26
|
+
"Publishing a release"
|
|
27
|
+
],
|
|
28
|
+
"acceptance": [
|
|
29
|
+
"New projects include npm scripts that work without Bash",
|
|
30
|
+
"Existing projects gain Node-native scripts after `create-quiver migrate`",
|
|
31
|
+
"User-defined package scripts are preserved",
|
|
32
|
+
"Generated docs show `npx create-quiver start-slice`, `check-slice`, and `check-pr`",
|
|
33
|
+
"Doctor identifies projects that need script migration"
|
|
34
|
+
],
|
|
35
|
+
"files": [
|
|
36
|
+
"package.template.json",
|
|
37
|
+
"package.json",
|
|
38
|
+
"README.md",
|
|
39
|
+
"README_FOR_AI.md",
|
|
40
|
+
"docs/AI_CONTEXT.md.template",
|
|
41
|
+
"docs/WORKFLOW.md.template",
|
|
42
|
+
"scripts/init-docs.sh",
|
|
43
|
+
"src/create-quiver/index.js",
|
|
44
|
+
"scripts/ci/smoke-init-docs.sh",
|
|
45
|
+
"scripts/ci/smoke-create-quiver.sh",
|
|
46
|
+
"scripts/package-quiver.sh",
|
|
47
|
+
"specs/quiver-v12-cross-platform-native-runtime/SPEC.md",
|
|
48
|
+
"specs/quiver-v12-cross-platform-native-runtime/STATUS.md",
|
|
49
|
+
"specs/quiver-v12-cross-platform-native-runtime/EVIDENCE_REPORT.md",
|
|
50
|
+
"specs/quiver-v12-cross-platform-native-runtime/slices/slice-05-generated-project-scripts-and-migration/slice.json"
|
|
51
|
+
],
|
|
52
|
+
"tests": [
|
|
53
|
+
"node -c src/create-quiver/index.js",
|
|
54
|
+
"bash scripts/ci/smoke-init-docs.sh",
|
|
55
|
+
"bash scripts/ci/smoke-create-quiver.sh",
|
|
56
|
+
"bash scripts/package-quiver.sh",
|
|
57
|
+
"git diff --check"
|
|
58
|
+
],
|
|
59
|
+
"documentation": [
|
|
60
|
+
"specs/quiver-v12-cross-platform-native-runtime/SPEC.md",
|
|
61
|
+
"specs/quiver-v12-cross-platform-native-runtime/STATUS.md",
|
|
62
|
+
"specs/quiver-v12-cross-platform-native-runtime/EVIDENCE_REPORT.md"
|
|
63
|
+
],
|
|
64
|
+
"dependencies": [
|
|
65
|
+
"slice-04-node-slice-lifecycle-commands"
|
|
66
|
+
],
|
|
67
|
+
"assumptions": [
|
|
68
|
+
"Project-local devDependency usage should remain supported",
|
|
69
|
+
"npx usage should remain the recommended first path"
|
|
70
|
+
],
|
|
71
|
+
"estimated_hours": 5,
|
|
72
|
+
"actual_hours": null,
|
|
73
|
+
"status": "draft",
|
|
74
|
+
"blocked_reason": null,
|
|
75
|
+
"ready_at": null,
|
|
76
|
+
"started_at": null,
|
|
77
|
+
"completed_at": null
|
|
78
|
+
}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
{
|
|
2
|
+
"slice_id": "slice-06-cross-platform-ci-release-readiness",
|
|
3
|
+
"ticket": "QUIVER-06",
|
|
4
|
+
"type": "ci",
|
|
5
|
+
"title": "Cross-Platform CI and Release Readiness",
|
|
6
|
+
"objective": "Prove native behavior on Linux, macOS, and Windows before declaring Windows support complete.",
|
|
7
|
+
"description": "The runtime port should only be considered complete when CI exercises the generated project lifecycle on all supported operating systems. This slice adds cross-platform GitHub Actions coverage, final documentation updates, and release readiness evidence.",
|
|
8
|
+
"git": {
|
|
9
|
+
"branch_type": "ci",
|
|
10
|
+
"base_branch": "main",
|
|
11
|
+
"branch_slug": "cross-platform-ci-release-readiness",
|
|
12
|
+
"branch_name": "ci/QUIVER-06-cross-platform-ci-release-readiness"
|
|
13
|
+
},
|
|
14
|
+
"must": [
|
|
15
|
+
"Add or update GitHub Actions matrix for `ubuntu-latest`, `macos-latest`, and `windows-latest`",
|
|
16
|
+
"Run core Quiver smokes on each OS without Bash as the required path",
|
|
17
|
+
"Package and install the tarball in CI on each OS",
|
|
18
|
+
"Validate initialization, migration, analysis, doctor, and slice lifecycle commands",
|
|
19
|
+
"Update support matrix from target support to verified support when CI passes",
|
|
20
|
+
"Prepare release notes and evidence for the next package release"
|
|
21
|
+
],
|
|
22
|
+
"not_included": [
|
|
23
|
+
"Publishing the npm package",
|
|
24
|
+
"Removing legacy Bash wrappers",
|
|
25
|
+
"Adding non-Git version control support"
|
|
26
|
+
],
|
|
27
|
+
"acceptance": [
|
|
28
|
+
"CI passes on Linux, macOS, and Windows",
|
|
29
|
+
"Windows CI runs PowerShell or CMD commands without Bash",
|
|
30
|
+
"Packaged CLI works on all matrix OSes",
|
|
31
|
+
"Docs state Windows native support only after the matrix is green",
|
|
32
|
+
"Evidence report links or records all relevant CI validations"
|
|
33
|
+
],
|
|
34
|
+
"files": [
|
|
35
|
+
".github/workflows/ci.yml",
|
|
36
|
+
"README.md",
|
|
37
|
+
"README_FOR_AI.md",
|
|
38
|
+
"docs/SUPPORT_MATRIX.md.template",
|
|
39
|
+
"docs/TROUBLESHOOTING.md.template",
|
|
40
|
+
"CHANGELOG.md",
|
|
41
|
+
"scripts/ci/smoke-cross-platform.js",
|
|
42
|
+
"scripts/ci/smoke-create-quiver.sh",
|
|
43
|
+
"scripts/ci/smoke-workflow-gates.sh",
|
|
44
|
+
"specs/quiver-v12-cross-platform-native-runtime/SPEC.md",
|
|
45
|
+
"specs/quiver-v12-cross-platform-native-runtime/STATUS.md",
|
|
46
|
+
"specs/quiver-v12-cross-platform-native-runtime/EVIDENCE_REPORT.md",
|
|
47
|
+
"specs/quiver-v12-cross-platform-native-runtime/slices/slice-06-cross-platform-ci-release-readiness/slice.json"
|
|
48
|
+
],
|
|
49
|
+
"tests": [
|
|
50
|
+
"GitHub Actions matrix on ubuntu-latest, macos-latest, and windows-latest",
|
|
51
|
+
"Node portable cross-platform smoke",
|
|
52
|
+
"bash scripts/package-quiver.sh",
|
|
53
|
+
"git diff --check"
|
|
54
|
+
],
|
|
55
|
+
"documentation": [
|
|
56
|
+
"specs/quiver-v12-cross-platform-native-runtime/SPEC.md",
|
|
57
|
+
"specs/quiver-v12-cross-platform-native-runtime/STATUS.md",
|
|
58
|
+
"specs/quiver-v12-cross-platform-native-runtime/EVIDENCE_REPORT.md"
|
|
59
|
+
],
|
|
60
|
+
"dependencies": [
|
|
61
|
+
"slice-05-generated-project-scripts-and-migration"
|
|
62
|
+
],
|
|
63
|
+
"assumptions": [
|
|
64
|
+
"Windows support should not be declared final until CI proves the package path",
|
|
65
|
+
"Release publishing happens after this spec completes"
|
|
66
|
+
],
|
|
67
|
+
"estimated_hours": 5,
|
|
68
|
+
"actual_hours": 5,
|
|
69
|
+
"status": "completed",
|
|
70
|
+
"blocked_reason": null,
|
|
71
|
+
"ready_at": "2026-04-22T00:00:00Z",
|
|
72
|
+
"started_at": "2026-04-22T00:00:00Z",
|
|
73
|
+
"completed_at": "2026-04-22T00:00:00Z"
|
|
74
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# Quiver v0.13 Evidence Report
|
|
2
|
+
|
|
3
|
+
**Spec:** quiver-v13-token-efficient-ai-context
|
|
4
|
+
**Date:** 2026-04-23
|
|
5
|
+
**Status:** Draft
|
|
6
|
+
|
|
7
|
+
## Summary
|
|
8
|
+
|
|
9
|
+
This spec will reduce AI token usage by improving Quiver's context contracts, generated prompts, analyzer map, and minimal doctor guidance without adding heavy retrieval infrastructure.
|
|
10
|
+
|
|
11
|
+
## Slice Evidence
|
|
12
|
+
|
|
13
|
+
| Slice | Status | Evidence |
|
|
14
|
+
|-------|--------|----------|
|
|
15
|
+
| slice-01 | Completed | README_FOR_AI.md, AI_ONBOARDING_PROMPT.md.template, WORKFLOW.md.template, and GITFLOW_PR_GUIDE.md.template now name onboarding, implementation, review, and debugging modes explicitly |
|
|
16
|
+
| slice-02 | Completed | docs/DECISIONS.md.template added; docs/INDEX.md.template, README guidance, AI context, workflow, and PR guide now link or route to the decision log |
|
|
17
|
+
| slice-03 | Completed | create-quiver analyze now writes Suggested Reading Order, Entry Points, Primary Config Files, Likely Test Commands, High-Signal Files, and Do Not Read First sections into PROJECT_MAP.md |
|
|
18
|
+
|
|
19
|
+
## Required Final Evidence
|
|
20
|
+
|
|
21
|
+
- Generated docs include the four token-efficient modes
|
|
22
|
+
- Generated `docs/DECISIONS.md` exists and is linked from the docs index
|
|
23
|
+
- Generated `docs/PROJECT_MAP.md` includes suggested reading order and high-signal files
|
|
24
|
+
- Review guidance instructs agents to inspect `git diff` before opening full files
|
|
25
|
+
- Implementation guidance instructs agents to start from `slice.json` and declared files
|
|
26
|
+
- Debug guidance preserves command, exit code, first relevant error, stacktrace, and log path when available
|
|
27
|
+
- `doctor` prints a concise token-efficient next step after analysis succeeds
|
|
28
|
+
- Smokes validate the new generated artifacts and key sections
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
# Quiver v0.13 - Token-Efficient AI Context
|
|
2
|
+
|
|
3
|
+
**Date:** 2026-04-23
|
|
4
|
+
**Status:** Draft
|
|
5
|
+
|
|
6
|
+
Slice numbering resets here: this spec starts at `slice-01` and does not continue any previous spec's numbering.
|
|
7
|
+
|
|
8
|
+
## Objective
|
|
9
|
+
|
|
10
|
+
Reduce AI token usage in Quiver workflows by making the generated context, prompts, analyzer output, and doctor guidance more selective, structured, and mode-aware without adding heavyweight retrieval infrastructure.
|
|
11
|
+
|
|
12
|
+
## Scope
|
|
13
|
+
|
|
14
|
+
### Included
|
|
15
|
+
|
|
16
|
+
- Define token-efficient AI work modes for onboarding, implementation, review, and debugging
|
|
17
|
+
- Teach generated prompts to prefer maps, metadata, diffs, and scoped files before full source reads
|
|
18
|
+
- Add a lightweight decision log contract
|
|
19
|
+
- Improve `PROJECT_MAP.md` so it becomes the first useful reading index for AI agents
|
|
20
|
+
- Preserve the existing spec/slice workflow and one commit per slice discipline
|
|
21
|
+
- Add smoke coverage for the generated token-efficiency artifacts and guidance
|
|
22
|
+
|
|
23
|
+
### Excluded
|
|
24
|
+
|
|
25
|
+
- Embeddings, vector databases, or mandatory semantic indexes
|
|
26
|
+
- Automatic multi-language call graph generation
|
|
27
|
+
- Automatic memory pruning without human review
|
|
28
|
+
- Exact token counting or provider-specific billing integrations
|
|
29
|
+
- A new orchestration command such as `create-quiver context`
|
|
30
|
+
|
|
31
|
+
## Token-Efficient Modes
|
|
32
|
+
|
|
33
|
+
Quiver should guide AI agents differently depending on the task:
|
|
34
|
+
|
|
35
|
+
- **Onboarding:** read `docs/PROJECT_MAP.md`, `docs/AI_CONTEXT.md`, and `docs/AI_ONBOARDING_PROMPT.md` before source files
|
|
36
|
+
- **Implementation:** read `slice.json`, declared files, nearby tests, and only then adjacent source
|
|
37
|
+
- **Review:** inspect `git diff` and declared slice scope before full files
|
|
38
|
+
- **Debug:** inspect the command, exit code, first relevant error, stacktrace, and nearest changed code before long logs
|
|
39
|
+
|
|
40
|
+
## Principles
|
|
41
|
+
|
|
42
|
+
- Prefer durable project context over repeated chat history
|
|
43
|
+
- Prefer deltas over full files when reviewing or iterating
|
|
44
|
+
- Prefer summaries with evidence over pasted logs
|
|
45
|
+
- Keep new artifacts few, useful, and easy to maintain
|
|
46
|
+
- Make analyzer output more valuable before adding infrastructure
|
|
47
|
+
|
|
48
|
+
## Slices
|
|
49
|
+
|
|
50
|
+
| Slice | Title | Status | Spec |
|
|
51
|
+
|-------|-------|--------|------|
|
|
52
|
+
| 01 | Token-Efficient AI Modes Guidance | Completed | [slice-01](./slices/slice-01-token-efficient-ai-modes-guidance/slice.json) |
|
|
53
|
+
| 02 | Decision Log | Completed | [slice-02](./slices/slice-02-decision-log-context-checkpoint/slice.json) |
|
|
54
|
+
| 03 | Project Map Reading Order | Completed | [slice-03](./slices/slice-03-project-map-reading-order/slice.json) |
|
|
55
|
+
|
|
56
|
+
## Definition of Done
|
|
57
|
+
|
|
58
|
+
- Generated projects document mode-aware AI reading rules
|
|
59
|
+
- Generated projects include `docs/DECISIONS.md`
|
|
60
|
+
- `create-quiver analyze` writes a `PROJECT_MAP.md` with suggested reading order and high-signal files
|
|
61
|
+
- `doctor` gives a minimal token-efficient next step without becoming noisy
|
|
62
|
+
- Smokes verify the generated artifacts and key sections
|
|
63
|
+
|
|
64
|
+
## Relationship to v14
|
|
65
|
+
|
|
66
|
+
- v13 slice-02 is narrowed to `DECISIONS.md` only; assumptions and context-efficiency content are produced by v14 slice-01 in `docs/ai/DEEP.md`
|
|
67
|
+
- v13 slice-04 was absorbed into v14 slice-05; doctor warnings and smoke assertions for token-efficiency artifacts live there now
|
|
68
|
+
- Recommended execution order: v13 slice-01 -> v13 slice-02 (narrowed) -> v13 slice-03 -> v14 slice-01 -> v14 slice-02 -> v14 slice-03 -> v14 slice-04 -> v14 slice-05
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Quiver v0.13 Spec Status
|
|
2
|
+
|
|
3
|
+
**Spec:** quiver-v13-token-efficient-ai-context
|
|
4
|
+
**Last updated:** 2026-04-23
|
|
5
|
+
|
|
6
|
+
Slice numbering is local to this spec. The first slice is `slice-01`.
|
|
7
|
+
|
|
8
|
+
## Status
|
|
9
|
+
|
|
10
|
+
| Slice | Title | Status | PR | Estimated hours | Actual hours |
|
|
11
|
+
|-------|-------|--------|----|-----------------|--------------|
|
|
12
|
+
| slice-01 | Token-Efficient AI Modes Guidance | Completed | - | 3 | 3 |
|
|
13
|
+
| slice-02 | Decision Log | Completed | - | 2 | 2 |
|
|
14
|
+
| slice-03 | Project Map Reading Order | Completed | - | 5 | 5 |
|
|
15
|
+
|
|
16
|
+
## Progress
|
|
17
|
+
|
|
18
|
+
- Completed slices: 3 / 3
|
|
19
|
+
- Estimated hours: 10
|
|
20
|
+
- Actual hours: 10
|
|
21
|
+
|
|
22
|
+
## Blockers
|
|
23
|
+
|
|
24
|
+
| Slice | Blocker | Since | Action needed |
|
|
25
|
+
|-------|---------|-------|---------------|
|
|
26
|
+
| - | - | - | - |
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
{
|
|
2
|
+
"slice_id": "slice-01-token-efficient-ai-modes-guidance",
|
|
3
|
+
"ticket": "QUIVER-01",
|
|
4
|
+
"type": "docs",
|
|
5
|
+
"title": "Token-Efficient AI Modes Guidance",
|
|
6
|
+
"objective": "Define mode-aware AI reading rules so agents spend tokens on the right artifacts for onboarding, implementation, review, and debugging.",
|
|
7
|
+
"description": "The current AI guidance encourages structured onboarding, but it does not clearly separate when to use map-first, slice-scope-first, diff-first, or error-first workflows. This slice makes those modes explicit in the generated guidance without introducing new runtime behavior.",
|
|
8
|
+
"git": {
|
|
9
|
+
"branch_type": "docs",
|
|
10
|
+
"base_branch": "main",
|
|
11
|
+
"branch_slug": "token-efficient-ai-modes-guidance",
|
|
12
|
+
"branch_name": "docs/QUIVER-01-token-efficient-ai-modes-guidance"
|
|
13
|
+
},
|
|
14
|
+
"must": [
|
|
15
|
+
"Document the four AI work modes: onboarding, implementation, review, and debugging",
|
|
16
|
+
"Update `README_FOR_AI.md` with token-efficient reading rules",
|
|
17
|
+
"Update `docs/AI_ONBOARDING_PROMPT.md.template` to start from maps and metadata before source files",
|
|
18
|
+
"Update `docs/WORKFLOW.md.template` with mode-aware context selection",
|
|
19
|
+
"Update `docs/GITFLOW_PR_GUIDE.md.template` with diff-first review guidance"
|
|
20
|
+
],
|
|
21
|
+
"not_included": [
|
|
22
|
+
"Adding new generated files",
|
|
23
|
+
"Changing analyzer output",
|
|
24
|
+
"Changing doctor output",
|
|
25
|
+
"Adding semantic search or embeddings"
|
|
26
|
+
],
|
|
27
|
+
"acceptance": [
|
|
28
|
+
"AI guidance names all four modes explicitly",
|
|
29
|
+
"Review guidance instructs agents to inspect `git diff` before opening full files",
|
|
30
|
+
"Implementation guidance instructs agents to start from `slice.json` and declared files",
|
|
31
|
+
"Debug guidance preserves command, exit code, first relevant error, stacktrace, and log path when available"
|
|
32
|
+
],
|
|
33
|
+
"files": [
|
|
34
|
+
"README_FOR_AI.md",
|
|
35
|
+
"docs/AI_ONBOARDING_PROMPT.md.template",
|
|
36
|
+
"docs/WORKFLOW.md.template",
|
|
37
|
+
"docs/GITFLOW_PR_GUIDE.md.template",
|
|
38
|
+
"specs/quiver-v13-token-efficient-ai-context/SPEC.md",
|
|
39
|
+
"specs/quiver-v13-token-efficient-ai-context/STATUS.md",
|
|
40
|
+
"specs/quiver-v13-token-efficient-ai-context/EVIDENCE_REPORT.md",
|
|
41
|
+
"specs/quiver-v13-token-efficient-ai-context/slices/slice-01-token-efficient-ai-modes-guidance/slice.json"
|
|
42
|
+
],
|
|
43
|
+
"tests": [
|
|
44
|
+
"rg check for onboarding, implementation, review, and debugging modes",
|
|
45
|
+
"git diff --check"
|
|
46
|
+
],
|
|
47
|
+
"documentation": [
|
|
48
|
+
"README_FOR_AI.md",
|
|
49
|
+
"docs/AI_ONBOARDING_PROMPT.md.template",
|
|
50
|
+
"docs/WORKFLOW.md.template",
|
|
51
|
+
"docs/GITFLOW_PR_GUIDE.md.template"
|
|
52
|
+
],
|
|
53
|
+
"dependencies": [],
|
|
54
|
+
"assumptions": [
|
|
55
|
+
"Mode-aware guidance is more useful than one generic token-efficiency checklist",
|
|
56
|
+
"Detailed enforcement can wait until the generated artifacts exist"
|
|
57
|
+
],
|
|
58
|
+
"estimated_hours": 3,
|
|
59
|
+
"actual_hours": 3,
|
|
60
|
+
"status": "completed",
|
|
61
|
+
"blocked_reason": null,
|
|
62
|
+
"ready_at": null,
|
|
63
|
+
"started_at": null,
|
|
64
|
+
"completed_at": "2026-04-23"
|
|
65
|
+
}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
{
|
|
2
|
+
"slice_id": "slice-02-decision-log-context-checkpoint",
|
|
3
|
+
"ticket": "QUIVER-02",
|
|
4
|
+
"type": "docs",
|
|
5
|
+
"title": "Decision Log",
|
|
6
|
+
"objective": "Add a durable decision log so AI agents do not re-litigate past decisions.",
|
|
7
|
+
"description": "Quiver already externalizes project context, but it lacks a dedicated decision log. This slice adds that one durable artifact; assumptions and context-efficiency notes are handled by the tiered context pack in v14 instead.",
|
|
8
|
+
"git": {
|
|
9
|
+
"branch_type": "docs",
|
|
10
|
+
"base_branch": "main",
|
|
11
|
+
"branch_slug": "decision-log-context-checkpoint",
|
|
12
|
+
"branch_name": "docs/QUIVER-02-decision-log-context-checkpoint"
|
|
13
|
+
},
|
|
14
|
+
"must": [
|
|
15
|
+
"Add `docs/DECISIONS.md.template` with a compact decision log table",
|
|
16
|
+
"Generate `docs/DECISIONS.md` during init and migration",
|
|
17
|
+
"Link `docs/DECISIONS.md` from `docs/INDEX.md.template` and generated README guidance where appropriate"
|
|
18
|
+
],
|
|
19
|
+
"not_included": [
|
|
20
|
+
"Creating a separate assumptions file",
|
|
21
|
+
"Automatic decision extraction",
|
|
22
|
+
"Token counting",
|
|
23
|
+
"Deleting existing context sections"
|
|
24
|
+
],
|
|
25
|
+
"acceptance": [
|
|
26
|
+
"New projects contain `docs/DECISIONS.md`",
|
|
27
|
+
"Migration adds `docs/DECISIONS.md` without overwriting existing docs",
|
|
28
|
+
"Existing user package scripts and docs are preserved during migration"
|
|
29
|
+
],
|
|
30
|
+
"files": [
|
|
31
|
+
"docs/DECISIONS.md.template",
|
|
32
|
+
"docs/INDEX.md.template",
|
|
33
|
+
"scripts/init-docs.sh",
|
|
34
|
+
"src/create-quiver/lib/init-docs.js",
|
|
35
|
+
"scripts/ci/smoke-init-docs.sh",
|
|
36
|
+
"scripts/ci/smoke-create-quiver.sh",
|
|
37
|
+
"scripts/package-quiver.sh",
|
|
38
|
+
"specs/quiver-v13-token-efficient-ai-context/SPEC.md",
|
|
39
|
+
"specs/quiver-v13-token-efficient-ai-context/EVIDENCE_REPORT.md",
|
|
40
|
+
"specs/quiver-v13-token-efficient-ai-context/slices/slice-02-decision-log-context-checkpoint/slice.json"
|
|
41
|
+
],
|
|
42
|
+
"tests": [
|
|
43
|
+
"bash scripts/ci/smoke-init-docs.sh",
|
|
44
|
+
"bash scripts/ci/smoke-create-quiver.sh",
|
|
45
|
+
"bash scripts/package-quiver.sh",
|
|
46
|
+
"git diff --check"
|
|
47
|
+
],
|
|
48
|
+
"documentation": [
|
|
49
|
+
"docs/DECISIONS.md.template"
|
|
50
|
+
],
|
|
51
|
+
"dependencies": [
|
|
52
|
+
"slice-01-token-efficient-ai-modes-guidance"
|
|
53
|
+
],
|
|
54
|
+
"assumptions": [
|
|
55
|
+
"A single decision log is enough for now"
|
|
56
|
+
],
|
|
57
|
+
"estimated_hours": 2,
|
|
58
|
+
"actual_hours": 2,
|
|
59
|
+
"status": "completed",
|
|
60
|
+
"blocked_reason": null,
|
|
61
|
+
"ready_at": null,
|
|
62
|
+
"started_at": null,
|
|
63
|
+
"completed_at": "2026-04-23"
|
|
64
|
+
}
|