create-quiver 0.7.0 → 0.9.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.
Files changed (89) hide show
  1. package/.claude/settings.local.json +52 -0
  2. package/.github/workflows/ci.yml +2 -2
  3. package/BACKLOG.md +139 -0
  4. package/CHANGELOG.md +20 -1
  5. package/README.md +31 -1
  6. package/README_FOR_AI.md +25 -13
  7. package/ROADMAP.md +28 -6
  8. package/docs/AI_ONBOARDING_PROMPT.md.template +4 -0
  9. package/docs/COMMANDS.md.template +25 -0
  10. package/docs/INDEX.md.template +2 -0
  11. package/docs/SUPPORT_MATRIX.md.template +9 -0
  12. package/docs/WORKFLOW.md.template +4 -0
  13. package/docs/examples/graph.md.template +62 -0
  14. package/docs/examples/next.md.template +27 -0
  15. package/docs/examples/plan.md.template +28 -0
  16. package/package.json +5 -2
  17. package/package.template.json +8 -3
  18. package/scripts/check-slice-readiness.sh +6 -4
  19. package/scripts/init-docs.sh +57 -9
  20. package/specs/[project-name]/HANDOFF.md.template +37 -0
  21. package/specs/[project-name]/slices/slice-template/slice.json +5 -0
  22. package/specs/quiver-v08-agent-onboarding-analysis/slices/slice-01-project-scan-command/slice.json +1 -1
  23. package/specs/quiver-v08-agent-onboarding-analysis/slices/slice-02-ai-onboarding-prompt/slice.json +1 -1
  24. package/specs/quiver-v08-agent-onboarding-analysis/slices/slice-03-doctor-readme-adoption-flow/slice.json +1 -1
  25. package/specs/quiver-v12-cross-platform-native-runtime/slices/slice-01-cross-platform-support-contract/slice.json +1 -1
  26. package/specs/quiver-v12-cross-platform-native-runtime/slices/slice-02-node-init-docs-runtime/slice.json +1 -1
  27. package/specs/quiver-v12-cross-platform-native-runtime/slices/slice-03-node-migrate-analyze-doctor-flow/slice.json +1 -1
  28. package/specs/quiver-v12-cross-platform-native-runtime/slices/slice-04-node-slice-lifecycle-commands/slice.json +1 -1
  29. package/specs/quiver-v12-cross-platform-native-runtime/slices/slice-05-generated-project-scripts-and-migration/slice.json +1 -1
  30. package/specs/quiver-v13-token-efficient-ai-context/EVIDENCE_REPORT.md +1 -1
  31. package/specs/quiver-v13-token-efficient-ai-context/SPEC.md +1 -1
  32. package/specs/quiver-v15-init-required-before-migrate/EVIDENCE_REPORT.md +26 -0
  33. package/specs/quiver-v15-init-required-before-migrate/SPEC.md +66 -0
  34. package/specs/quiver-v15-init-required-before-migrate/STATUS.md +26 -0
  35. package/specs/quiver-v15-init-required-before-migrate/slices/slice-01-migrate-initialization-precondition/slice.json +65 -0
  36. package/specs/quiver-v15-init-required-before-migrate/slices/slice-02-doctor-not-initialized-guidance/slice.json +61 -0
  37. package/specs/quiver-v15-init-required-before-migrate/slices/slice-03-docs-smokes-init-before-migrate/slice.json +64 -0
  38. package/specs/quiver-v16-handoff-contract/EVIDENCE_REPORT.md +26 -0
  39. package/specs/quiver-v16-handoff-contract/SPEC.md +68 -0
  40. package/specs/quiver-v16-handoff-contract/STATUS.md +26 -0
  41. package/specs/quiver-v16-handoff-contract/slices/slice-01-handoff-template-and-contract/slice.json +66 -0
  42. package/specs/quiver-v16-handoff-contract/slices/slice-02-check-handoff-command/slice.json +70 -0
  43. package/specs/quiver-v16-handoff-contract/slices/slice-03-handoff-scaffold-optional/slice.json +67 -0
  44. package/specs/quiver-v17-orchestration-foundation/EVIDENCE_REPORT.md +32 -0
  45. package/specs/quiver-v17-orchestration-foundation/SPEC.md +79 -0
  46. package/specs/quiver-v17-orchestration-foundation/STATUS.md +31 -0
  47. package/specs/quiver-v17-orchestration-foundation/slices/slice-01-ci-matrix-verified/slice.json +68 -0
  48. package/specs/quiver-v17-orchestration-foundation/slices/slice-02-slice-graph-library/slice.json +65 -0
  49. package/specs/quiver-v17-orchestration-foundation/slices/slice-03-depends-on-validation/slice.json +72 -0
  50. package/specs/quiver-v18-slice-orchestration/EVIDENCE_REPORT.md +38 -0
  51. package/specs/quiver-v18-slice-orchestration/SPEC.md +91 -0
  52. package/specs/quiver-v18-slice-orchestration/STATUS.md +33 -0
  53. package/specs/quiver-v18-slice-orchestration/slices/slice-01-plan-command/slice.json +79 -0
  54. package/specs/quiver-v18-slice-orchestration/slices/slice-02-graph-mvp-tree/slice.json +75 -0
  55. package/specs/quiver-v18-slice-orchestration/slices/slice-03-graph-extended-formats/slice.json +70 -0
  56. package/specs/quiver-v18-slice-orchestration/slices/slice-04-next-command/slice.json +73 -0
  57. package/specs/quiver-v18-stabilization/EVIDENCE_REPORT.md +26 -0
  58. package/specs/quiver-v18-stabilization/SPEC.md +62 -0
  59. package/specs/quiver-v18-stabilization/STATUS.md +30 -0
  60. package/specs/quiver-v18-stabilization/slices/slice-01-fix-legacy-dependency-resolution/CLOSURE_BRIEF.md +29 -0
  61. package/specs/quiver-v18-stabilization/slices/slice-01-fix-legacy-dependency-resolution/EXECUTION_BRIEF.md +134 -0
  62. package/specs/quiver-v18-stabilization/slices/slice-01-fix-legacy-dependency-resolution/slice.json +56 -0
  63. package/specs/quiver-v18-stabilization/slices/slice-02-roadmap-and-branch-cleanup/CLOSURE_BRIEF.md +29 -0
  64. package/specs/quiver-v18-stabilization/slices/slice-02-roadmap-and-branch-cleanup/EXECUTION_BRIEF.md +118 -0
  65. package/specs/quiver-v18-stabilization/slices/slice-02-roadmap-and-branch-cleanup/slice.json +57 -0
  66. package/specs/quiver-v18-stabilization/slices/slice-03-publish-drafts-branch/CLOSURE_BRIEF.md +23 -0
  67. package/specs/quiver-v18-stabilization/slices/slice-03-publish-drafts-branch/EXECUTION_BRIEF.md +73 -0
  68. package/specs/quiver-v18-stabilization/slices/slice-03-publish-drafts-branch/slice.json +49 -0
  69. package/specs/quiver-v19-self-install-dev-dep/EVIDENCE_REPORT.md +19 -0
  70. package/specs/quiver-v19-self-install-dev-dep/SPEC.md +51 -0
  71. package/specs/quiver-v19-self-install-dev-dep/STATUS.md +20 -0
  72. package/specs/quiver-v19-self-install-dev-dep/slices/slice-01-auto-install-dev-dep/CLOSURE_BRIEF.md +29 -0
  73. package/specs/quiver-v19-self-install-dev-dep/slices/slice-01-auto-install-dev-dep/EXECUTION_BRIEF.md +287 -0
  74. package/specs/quiver-v19-self-install-dev-dep/slices/slice-01-auto-install-dev-dep/slice.json +56 -0
  75. package/src/create-quiver/commands/graph.js +97 -0
  76. package/src/create-quiver/commands/next.js +134 -0
  77. package/src/create-quiver/commands/plan.js +205 -0
  78. package/src/create-quiver/index.js +203 -3
  79. package/src/create-quiver/lib/handoff.js +104 -0
  80. package/src/create-quiver/lib/init-docs.js +108 -13
  81. package/src/create-quiver/lib/json.js +14 -0
  82. package/src/create-quiver/lib/lifecycle.js +3 -2
  83. package/src/create-quiver/lib/readiness.js +55 -1
  84. package/src/create-quiver/lib/renderers/dot.js +129 -0
  85. package/src/create-quiver/lib/renderers/mermaid.js +119 -0
  86. package/src/create-quiver/lib/renderers/tree.js +116 -0
  87. package/src/create-quiver/lib/slice-graph.js +453 -0
  88. package/src/create-quiver/lib/slice.js +2 -1
  89. package/src/create-quiver/lib/state.js +50 -0
@@ -0,0 +1,52 @@
1
+ {
2
+ "permissions": {
3
+ "allow": [
4
+ "Bash(git fetch *)",
5
+ "Bash(git checkout *)",
6
+ "Bash(git add *)",
7
+ "Bash(git commit -m ' *)",
8
+ "Bash(git cherry-pick *)",
9
+ "Bash(git reset *)",
10
+ "Bash(gh pr create --title 'docs: register v17-v22 orchestration plan and park web console idea' --base main --head docs/register-orchestration-plan-park-web-console --body ' *)",
11
+ "Bash(gh auth *)",
12
+ "Bash(gh pr *)",
13
+ "Bash(node -e \"const g=require\\('./src/create-quiver/lib/slice-graph'\\); const slices=g.readAllSlices\\('.'\\); console.log\\('Total slices:', slices.length\\); const graph=g.buildGraph\\(slices\\); const levels=g.computeLevels\\(graph\\); console.log\\('Levels:', levels.length\\);\")",
14
+ "Bash(npx . plan)",
15
+ "Bash(git pull *)",
16
+ "Read(//Users/fabrijk/Documents/Work/Proyectos Personales/nika/frameworks/.worktrees/quiver/bugfix-QUIVER-01-fix-legacy-dependency-resolution/**)",
17
+ "Bash(node --test tests/)",
18
+ "Bash(node --test tests/**/*.test.js)",
19
+ "Bash(node bin/create-quiver.js plan)",
20
+ "Bash(echo \"EXIT_$?\")",
21
+ "Bash(node bin/create-quiver.js plan --json)",
22
+ "Bash(node -e \"const d=JSON.parse\\(require\\('fs'\\).readFileSync\\('/dev/stdin','utf8'\\)\\); console.log\\('plan items:', Array.isArray\\(d.plan\\) ? d.plan.length : 'NOT ARRAY'\\); console.log\\('critical_path:', Array.isArray\\(d.critical_path\\)\\); console.log\\('total_hours:', typeof d.total_hours\\); process.exit\\(Array.isArray\\(d.plan\\) && Array.isArray\\(d.critical_path\\) && typeof d.total_hours === 'number' ? 0 : 1\\)\")",
23
+ "Bash(grep -v \"^\\\\-\\\\-$\")",
24
+ "Bash(echo \"EXIT:$?\")",
25
+ "Bash(node -e \"const d=JSON.parse\\(require\\('fs'\\).readFileSync\\('/tmp/plan_json.txt','utf8'\\)\\); console.log\\('plan:', Array.isArray\\(d.plan\\) ? d.plan.length + ' items' : 'INVALID'\\); console.log\\('critical_path:', Array.isArray\\(d.critical_path\\)\\); console.log\\('total_hours:', typeof d.total_hours\\)\")",
26
+ "Bash(xargs git branch -d)",
27
+ "Bash(git branch *)",
28
+ "Read(//private/tmp/**)",
29
+ "Read(//Users/fabrijk/Documents/Work/Proyectos Personales/nika/frameworks/quiver-v18-slice02/**)",
30
+ "Bash(git worktree *)",
31
+ "Bash(git ls-remote *)",
32
+ "Bash(node *)",
33
+ "Bash(npm view *)",
34
+ "Bash(bash scripts/release-quiver.sh)",
35
+ "Bash(git stash *)",
36
+ "Bash(npm whoami *)",
37
+ "Bash(bash scripts/release-quiver.sh --publish-current)",
38
+ "Bash(npm pkg *)",
39
+ "Bash(NPM_TOKEN=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 npm publish --access public)",
40
+ "Bash(NPM_TOKEN=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 npm publish --access public)",
41
+ "Bash(npm info *)",
42
+ "Bash(npm publish *)",
43
+ "Bash(rm -rf /tmp/quiver-skip-test)",
44
+ "Bash(mkdir -p /tmp/quiver-skip-test)",
45
+ "Bash(echo '{\"name\":\"test\",\"scripts\":{}}')",
46
+ "Bash(ls /tmp/quiver-skip-test/node_modules/create-quiver)",
47
+ "Bash(rm -rf /tmp/quiver-install-test)",
48
+ "Bash(mkdir -p /tmp/quiver-install-test)",
49
+ "Bash(npm config *)"
50
+ ]
51
+ }
52
+ }
@@ -22,8 +22,8 @@ jobs:
22
22
 
23
23
  - name: Validate slice templates
24
24
  run: |
25
- node -e "JSON.parse(require('fs').readFileSync('specs/[project-name]/slices/slice-template/slice.json', 'utf8'))"
26
- node -e "JSON.parse(require('fs').readFileSync('specs/quiver-v01/slices/slice-01-legal-integrity/slice.json', 'utf8'))"
25
+ 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'))"
26
+ 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'))"
27
27
 
28
28
  cross-platform-smoke:
29
29
  strategy:
package/BACKLOG.md ADDED
@@ -0,0 +1,139 @@
1
+ # Quiver Backlog
2
+
3
+ > **Purpose:** Emerging patterns and ideas that are not yet scoped as specs.
4
+ > Reviewed periodically to decide which ones graduate into a spec.
5
+ >
6
+ > **Audience:** The Quiver maintainer and any AI agent doing project onboarding.
7
+ > **Not to be confused with:** `ROADMAP.md` (committed work with versions) or
8
+ > active specs in `specs/quiver-vNN-*/` (in-progress or completed work).
9
+
10
+ ## How this file works
11
+
12
+ - Each entry is an **idea, pattern, or methodology** observed in real use.
13
+ - Entries stay here until one of three things happens:
14
+ 1. Enough evidence accumulates to promote it to a spec (move to `ROADMAP.md`).
15
+ 2. Evidence shows it is not worth formalizing (mark `parked` with reasoning).
16
+ 3. It turns out to already exist elsewhere (mark `resolved` with the link).
17
+ - **Do not delete parked entries.** The reasoning is valuable when the idea comes back.
18
+ - **Do not auto-promote.** A pattern graduates to a spec only when the maintainer confirms it is time.
19
+
20
+ ## Entry template
21
+
22
+ ```
23
+ ### [Short name]
24
+
25
+ - **Observed:** YYYY-MM-DD
26
+ - **Status:** emerging | evaluating | promoted | parked | resolved
27
+ - **Evidence so far:** <how often has this pattern appeared in real work>
28
+ - **Problem it solves:** <one or two sentences>
29
+ - **Proposed shape:** <what a formalization would look like>
30
+ - **Cost to formalize:** <rough estimate in slices/hours>
31
+ - **Reasons to wait:** <what would count as insufficient evidence>
32
+ - **Trigger to promote:** <concrete threshold to move into ROADMAP.md>
33
+ - **Related:** <links to specs, conversations, or handoffs>
34
+ ```
35
+
36
+ ---
37
+
38
+ ## Active Entries
39
+
40
+ ### Slice Orchestration and Tooling Commands
41
+
42
+ - **Observed:** 2026-04-23
43
+ - **Status:** planned
44
+ - **Evidence so far:** 0 real cases. Drafted by the maintainer anticipating multi-model coordination (Opus/GPT-5.4 planning, Sonnet/GPT-5.4 Mini/Qwen Code execution) and visibility pain once specs accumulate.
45
+ - **Problem it solves:** Today coordinating multiple agents across pending slices requires ad-hoc grep, ls, and git commands. There is no canonical way to ask "what runs next", "what can run in parallel", "what is this repo's state", or "how expensive is this slice to load".
46
+ - **Proposed shape:**
47
+ - v17 Orchestration Foundation (CI matrix, `lib/slice-graph.js`, `depends_on` validation)
48
+ - v18 Slice Orchestration (`plan`, `graph`, `next`)
49
+ - v19 Project Visibility (`status`, `estimate`, `lint-spec`)
50
+ - v20 Context Diagnostics (`cost`, `diff-pack`, `replay`)
51
+ - v21 Slice Archaeology (`archive`, `blame-slice`)
52
+ - v22 Deferred Tooling (`fork-slice`, `squash-spec`, `share`, evidence-gated per slice)
53
+ - **Cost to formalize:** ~55h across 15 slices in 4 specs (v19–v22). Spec/slice files drafted under `drafts/v19-v22-orchestration-followups`.
54
+ - **Reasons to wait:** v17 and v18 shipped. v18 must pass its validation checkpoint (≥1 week real use) before v19 starts. Building orchestration before validating the existing commands risks reinforcing a design that does not earn its place.
55
+ - **Trigger to promote (per spec):**
56
+ - v19: immediately after v18 checkpoint passes (≥1 week real use of `plan`, `graph`, `next`)
57
+ - v20–v21: previous spec validation checkpoint passed (≥1 week real use)
58
+ - v22 per slice: explicit occurrence recorded in this file for each of `fork-slice`, `squash-spec`, `share`
59
+ - **Related:**
60
+ - `drafts/v19-v22-orchestration-followups` (parked spec drafts)
61
+ - `ROADMAP.md` Orchestration and Tooling section
62
+
63
+ ### Handoff Contract
64
+
65
+ - **Observed:** 2026-04-23
66
+ - **Status:** emerging
67
+ - **Evidence so far:** 1 real case. `specs/quiver-v14-tiered-context-pack/HANDOFF.md`, written to reconcile v13 and v14 before either could execute. Used to delegate meta-work to a separate agent with self-contained context, explicit validation, and negative constraints.
68
+ - **Problem it solves:** Today Quiver has no first-class vehicle for work that is neither a slice (product code) nor a spec (planning document). Examples: reconciling two in-flight specs, delegating a cleanup task to a different agent, transferring planning context from a planning-tier model (Opus, GPT-5.4) to an execution-tier model (Sonnet, GPT-5.4 Mini, Qwen Code). Without a vehicle, these tasks happen in ad-hoc chats or untracked commits and lose reproducibility.
69
+ - **Proposed shape:**
70
+ - `HANDOFF.md.template` with canonical sections (Background, What you will change, Validation checklist, Out of scope, Expected deliverable, Constraints)
71
+ - Convention for location (for example `specs/<spec>/HANDOFF-<slug>.md` or `specs/handoffs/<date>-<slug>.md`)
72
+ - Convention for lifecycle (created when needed, deleted after validation passes)
73
+ - Optional `create-quiver new-handoff <slug>` command
74
+ - Optional `create-quiver check-handoff <path>` that validates canonical sections
75
+ - Optional smoke that confirms merged handoffs followed the contract
76
+ - **Explicitly not** a new `type` in `slice.json` — handoffs are orthogonal to slices, not a variant of them
77
+ - **Cost to formalize:** ~2-3 slices, ~8-10 hours
78
+ - **Reasons to wait:** A single occurrence is not enough evidence that this needs tooling. The ad-hoc `HANDOFF.md` already works. Formalizing now risks building infrastructure for a case that may not repeat often enough to justify the surface area.
79
+ - **Trigger to promote:** 3 or more organic handoffs appear in real work over 2-3 months without this backlog entry being revisited. Or: one external user reports they wrote a handoff-like artifact for their own spec.
80
+ - **Related:**
81
+ - `specs/quiver-v14-tiered-context-pack/HANDOFF.md` (the first real handoff)
82
+ - `specs/quiver-v16-handoff-contract/SPEC.md` (draft spec created, pending evidence and execution)
83
+ - `ROADMAP.md` "Post-Checkpoint Plan" section
84
+ - Multi-model setup context: planning models (Opus, GPT-5.4) to execution models (Sonnet, GPT-5.4 Mini, Qwen Code)
85
+
86
+ ---
87
+
88
+ ## Parked Entries
89
+
90
+ ### Local Web Console for Slice Visualization
91
+
92
+ - **Observed:** 2026-05-12
93
+ - **Status:** parked
94
+ - **Evidence so far:** 0 real cases. Standalone prototype explored (`devflow-console`, Express + WebSocket + React, ~350 LoC, lives outside this repo at `/Users/fabrijk/Downloads/devflow-console`).
95
+ - **Problem it would solve:** Visual graph of slices (parallel vs sequential, file-level conflicts), button-driven workflow, in-browser terminal, reusable prompts panel.
96
+ - **Why parked:**
97
+ - Breaks Quiver's CLI-first identity; turns a scaffolder into a mini-IDE.
98
+ - ~80% of visible value duplicates planned CLI work in v19–v22 (`quiver:status`, `quiver:estimate`, etc.) and already-shipped v18 (`quiver:plan`, `quiver:graph`, `quiver:next`).
99
+ - Real security surface: arbitrary command execution via HTTP, DNS rebinding against localhost, open CORS, no auth, race conditions on shared filesystem state.
100
+ - Adds heavy maintenance cost (React + Vite + Express + ws) to a package distributed as a lightweight `npx create-quiver`.
101
+ - Multi-model agents (the actual audience for Quiver workflows) do not use UI.
102
+ - **Cheaper alternatives identified first:**
103
+ - `quiver:graph --html` static export (no server, single self-contained file). Explore as subflag of v18 if Mermaid proves insufficient.
104
+ - Mermaid output shipped in v18 slice-03, renders natively in VSCode/IntelliJ.
105
+ - Optional VSCode extension as companion if UI is ever justified.
106
+ - **Trigger to promote:**
107
+ 1. v18 (`plan`, `graph`, `next`) is used in real work for ≥3 weeks after its checkpoint passes.
108
+ 2. Mermaid/ASCII output of `quiver:graph` is documented as insufficient with concrete friction examples.
109
+ 3. `quiver:graph --html` static export is built and also proves insufficient.
110
+ 4. If ever implemented: must be a separate companion package (e.g. `@quiver/console`) or VSCode extension — never integrated into `create-quiver` core.
111
+ - **Related:**
112
+ - Reference prototype: outside repo (not tracked)
113
+ - `specs/quiver-v18-slice-orchestration/` — CLI alternative already shipped
114
+
115
+ ## Resolved Entries
116
+
117
+ _None yet._
118
+
119
+ ---
120
+
121
+ ## Review cadence
122
+
123
+ Revisit this file:
124
+
125
+ - After each spec reaches its validation checkpoint
126
+ - Before writing a new spec (to confirm the work is not already an emerging backlog pattern)
127
+ - When adding a new entry (check if it overlaps with an existing one)
128
+
129
+ ## Discovery hooks
130
+
131
+ This file is referenced from:
132
+
133
+ - `README.md` References section
134
+ - `README_FOR_AI.md` onboarding guidance
135
+ - `ROADMAP.md` Post-Checkpoint Plan
136
+
137
+ If you are an AI agent doing onboarding, read this file after `ROADMAP.md` and
138
+ before proposing any new spec. Ideas that look novel may already be tracked
139
+ here with documented reasons not to formalize them yet.
package/CHANGELOG.md CHANGED
@@ -4,11 +4,30 @@ All notable changes to this project will be documented in this file.
4
4
 
5
5
  ## [Unreleased]
6
6
 
7
+ ## [0.9.0] - 2026-05-14
8
+
7
9
  ### Added
8
10
 
9
- - Cross-platform CI matrix covering macOS, Linux, and Windows for the Node-native Quiver runtime
11
+ - Auto-install `create-quiver` as a dev dependency after `init` and `migrate` detects yarn/pnpm/bun/npm via lockfiles and runs the appropriate install command
12
+ - `--skip-install` flag to suppress the dev dependency install step (useful for CI environments)
13
+
14
+ ## [0.8.0] - 2026-05-13
15
+
16
+ ### Added
17
+
18
+ - `quiver:plan` — lists all pending slices in dependency order with estimated hours, status, and critical path
19
+ - `quiver:graph` — visualizes the slice dependency graph in ASCII tree, Mermaid, and DOT formats
20
+ - `quiver:next` — suggests the next ready slice; supports `--all-ready`, `--json`, and `--auto-start`
21
+ - Slice graph library — `readAllSlices`, `buildGraph`, `topoSort`, `computeLevels`, `detectFileConflicts` for programmatic graph access
22
+ - `depends_on` and `parallel_safe` fields with validation in `check-slice`
23
+ - JSON-with-comments support for slice templates
24
+ - Cross-platform CI matrix covering macOS, Linux, and Windows for the Node-native runtime
10
25
  - Node-native generated project npm scripts and additive migration support for existing projects
11
26
 
27
+ ### Fixed
28
+
29
+ - `quiver:plan` no longer crashes on repos with legacy bare spec names in the `dependencies` field (e.g. `"quiver-v01"`) — these are silently dropped instead of throwing `MISSING_DEPENDENCY`
30
+
12
31
  ## [0.4.0] - 2026-04-21
13
32
 
14
33
  ### Added
package/README.md CHANGED
@@ -38,14 +38,19 @@ Run the local analyzer and then validate the generated contract from the project
38
38
 
39
39
  ```bash
40
40
  npx create-quiver analyze
41
+ npx create-quiver graph
41
42
  npx create-quiver doctor
43
+ npx create-quiver next
42
44
  ```
43
45
 
46
+ Use `npx create-quiver graph --format mermaid` for PR-ready Markdown or `npx create-quiver graph --format dot` for Graphviz source.
47
+
44
48
  If you need to target another directory from outside the project, pass `--dir` explicitly. For the current project root, omit it.
45
49
 
46
50
  The analyzer creates `docs/PROJECT_SCAN.json` and `docs/PROJECT_MAP.md`. These files give the AI agent a deterministic project map before it edits context docs.
47
51
 
48
52
  The doctor checks the generated project contract and prints the next workflow steps. If the scan artifacts are missing, it recommends `npx create-quiver analyze` first.
53
+ `npx create-quiver next` prints the next ready slice and can auto-start it behind a confirmation prompt.
49
54
 
50
55
  ### Project NPM Scripts
51
56
 
@@ -53,6 +58,9 @@ Generated projects include `quiver:*` npm scripts that call the Node CLI and are
53
58
 
54
59
  ```bash
55
60
  npm run quiver:analyze
61
+ npm run quiver:plan
62
+ npm run quiver:graph
63
+ npm run quiver:next
56
64
  npm run quiver:doctor
57
65
  npm run quiver:migrate
58
66
  npm run quiver:start-slice -- specs/<project-slug>/slices/slice-01/slice.json
@@ -63,7 +71,12 @@ npm run quiver:check-scope -- specs/<project-slug>/slices/slice-01/slice.json
63
71
  npm run quiver:refresh-active-slices
64
72
  ```
65
73
 
74
+ `npm run quiver:graph` prints the tree view by default. Pass `--format mermaid` or `--format dot` when you need an exportable graph artifact.
75
+ `npm run quiver:next` points to the next ready slice and can auto-start it behind a confirmation prompt.
76
+ `npx create-quiver next --all-ready` shows the full ready level when you want the whole queue instead of one slice.
77
+
66
78
  The legacy Bash wrappers remain in `tools/scripts/` for compatibility, but new project-level automation should prefer the `quiver:*` scripts and the direct `npx create-quiver ...` commands.
79
+ `npm run quiver:migrate` is only for projects that were already initialized by Quiver.
67
80
 
68
81
  ### 3. Upgrade Existing Projects
69
82
 
@@ -73,7 +86,17 @@ If the project already had Quiver from an older version, upgrade it from the pro
73
86
  cd /path/to/your-project
74
87
  npx create-quiver migrate
75
88
  npx create-quiver analyze
89
+ npx create-quiver graph
76
90
  npx create-quiver doctor
91
+ npx create-quiver next
92
+ ```
93
+
94
+ Use `npx create-quiver graph --format mermaid` for GitHub-friendly graph embeds or `npx create-quiver graph --format dot` for Graphviz pipelines.
95
+
96
+ If the project never ran Quiver initialization before, do not use `migrate` as bootstrap. Run:
97
+
98
+ ```bash
99
+ npx create-quiver --name "Project Name"
77
100
  ```
78
101
 
79
102
  If your team prefers a pinned local dependency, update the package first and then run the same flow:
@@ -82,9 +105,12 @@ If your team prefers a pinned local dependency, update the package first and the
82
105
  npm install --save-dev create-quiver@latest
83
106
  npx create-quiver migrate
84
107
  npx create-quiver analyze
108
+ npx create-quiver graph
85
109
  npx create-quiver doctor
86
110
  ```
87
111
 
112
+ The tree output remains the default, but Mermaid and DOT are available on demand for exported docs and slide decks.
113
+
88
114
  ### 4. Ask The AI To Prepare Context
89
115
 
90
116
  Open your AI agent in the target project and run this short handoff:
@@ -130,6 +156,10 @@ Quiver generates a project-local workflow under:
130
156
  - `docs/` for project context, workflow, support, troubleshooting, and AI guidance
131
157
  - `docs/PROJECT_SCAN.json` and `docs/PROJECT_MAP.md` after `create-quiver analyze`
132
158
  - `docs/AI_ONBOARDING_PROMPT.md` as the generated handoff prompt for the AI agent
159
+ - `specs/<project-slug>/HANDOFF.md` as the exceptional transfer artifact between agents or phases
160
+ - `npx create-quiver new-handoff <spec-slug>` to scaffold an optional handoff artifact when work needs to move between agents or phases
161
+ - `npx create-quiver check-handoff specs/<project-slug>/HANDOFF.md` to validate a transferred handoff before execution
162
+ - `docs/COMMANDS.md` as the canonical command reference table for orchestration
133
163
  - `specs/<project-slug>/` for the project spec, status, evidence, and slice contracts
134
164
  - `tools/scripts/` for slice lifecycle and readiness gates
135
165
  - `.github/` for default PR, issue, and CI templates
@@ -146,7 +176,7 @@ Use the manual flow only when developing Quiver locally or testing a template ch
146
176
  ```
147
177
 
148
178
  The CLI path is the supported adoption path for users.
149
- For analyzed projects, the agent handoff prompt lives at `docs/AI_ONBOARDING_PROMPT.md` in the generated project.
179
+ For analyzed projects, the agent handoff prompt lives at `docs/AI_ONBOARDING_PROMPT.md` in the generated project. If a bounded transfer between agents or phases is needed, scaffold `specs/<project-slug>/HANDOFF.md` with `npx create-quiver new-handoff <spec-slug>` and validate it with `npx create-quiver check-handoff specs/<project-slug>/HANDOFF.md`.
150
180
 
151
181
  ## For AI Agents
152
182
 
package/README_FOR_AI.md CHANGED
@@ -8,14 +8,17 @@ Important: slice numbering resets inside each spec. `slice-01` is the first slic
8
8
  The canonical installer entrypoint is `npx create-quiver` run from the target project root.
9
9
  Do not recommend global installation; use `npx` or a project-local devDependency when the team needs a pinned version.
10
10
  The post-init contract is validated with `npx create-quiver doctor` from the project root.
11
- If the project already exists from an older Quiver version, run `npx create-quiver migrate` before `analyze` from the project root.
12
- Generated projects also get `quiver:*` npm scripts that call the Node CLI directly; prefer those for repeatable project workflows.
11
+ If the project already exists from an older Quiver version and was previously initialized by Quiver, run `npx create-quiver migrate` before `analyze` from the project root.
12
+ If the project was never initialized by Quiver, do not use `migrate` as bootstrap; run `npx create-quiver --name "Project Name"` first.
13
+ Generated projects also get `quiver:*` npm scripts that call the Node CLI directly; prefer those for repeatable project workflows, including `quiver:plan` for sequential planning, `quiver:graph` for parallel-level inspection, and `quiver:next` for the next ready slice. Use `quiver:graph --format mermaid` for PR-ready Markdown or `quiver:graph --format dot` for Graphviz source.
13
14
  Maintain release notes and package publishing with `scripts/release-quiver.sh`.
14
15
  The primary generated project context for agents is `docs/AI_CONTEXT.md`.
15
16
  The project map is the single source of truth for stack, package manager, commands, and file hints: `docs/PROJECT_MAP.md`.
16
17
  The universal router for generated projects is `AGENTS.md`; read it before `docs/AI_CONTEXT.md` and `docs/AI_ONBOARDING_PROMPT.md`.
17
18
  Generated projects also get `docs/DECISIONS.md`; use it for durable choices that should not be re-litigated.
18
19
  If a generated project has been analyzed, the exact agent handoff prompt is `docs/AI_ONBOARDING_PROMPT.md`.
20
+ If a new bounded transfer is needed, scaffold `specs/<project-slug>/HANDOFF.md` with `npx create-quiver new-handoff <spec-slug>` and validate it with `npx create-quiver check-handoff specs/<project-slug>/HANDOFF.md`.
21
+ Use `npx create-quiver check-handoff specs/<project-slug>/HANDOFF.md` to validate a transferred handoff before execution.
19
22
  During onboarding, after reading `ROADMAP.md`, also read `BACKLOG.md` in the repository root: it tracks emerging patterns that are not yet scoped as specs. Before proposing a new spec, confirm the idea is not already parked or emerging there.
20
23
 
21
24
  ## Token-Efficient Reading Rules
@@ -25,6 +28,8 @@ Use the smallest context that still answers the current task.
25
28
  - **Onboarding:** start from `docs/PROJECT_MAP.md`, `docs/PROJECT_SCAN.json`, `docs/AI_CONTEXT.md`, and `docs/AI_ONBOARDING_PROMPT.md` before opening source files.
26
29
  - **Onboarding router:** start from `AGENTS.md` first, then the onboarding files above.
27
30
  - **Implementation:** start from `docs/ai/ACTIVE_SLICE.md` when it exists; otherwise start from `specs/<project-slug>/slices/<slice-id>/slice.json`, then read only the declared files, nearby tests, and directly related source.
31
+ - **Handoff:** start from `specs/<project-slug>/HANDOFF.md` when the work was explicitly transferred through a handoff artifact.
32
+ - **Handoff scaffold:** if no handoff exists yet and the work needs one, use `npx create-quiver new-handoff <spec-slug>` first.
28
33
  - **Review:** start from `git diff` and the slice scope before opening full files.
29
34
  - **Debug:** start from the command, exit code, first relevant error, stacktrace, and the nearest changed code before reading long logs.
30
35
 
@@ -38,11 +43,15 @@ Prefer maps, metadata, diffs, and summaries over full file reads when they are e
38
43
  - Not every project needs every optional file.
39
44
  - The AI context pack lives in `docs/AI_CONTEXT.md`; `docs/CONTEXTO.md` is the broader project overview; `docs/PROJECT_MAP.md` owns stack and command facts.
40
45
  - The onboarding prompt lives in `docs/AI_ONBOARDING_PROMPT.md` and should reference the analyzer outputs.
46
+ - `specs/<project-slug>/HANDOFF.md` is reserved for exceptional context transfers between agents or phases.
41
47
  - Initial onboarding should complete context docs and report assumptions before any feature work starts.
42
48
  - The normal workflow runs from the project root without `--dir`; use `--dir` only when targeting another directory explicitly.
43
49
  - The cross-platform work targets native macOS, Linux, and Windows shells; Bash is a legacy compatibility path until the runtime slices land, and Windows support is only considered verified once the CI matrix is green.
44
50
  - The support contract lives in `docs/SUPPORT_MATRIX.md` and `docs/TROUBLESHOOTING.md`.
45
- - Generated project npm scripts should prefer `quiver:*` names such as `quiver:analyze`, `quiver:doctor`, `quiver:start-slice`, `quiver:check-slice`, and `quiver:check-pr`.
51
+ - Generated project npm scripts should prefer `quiver:*` names such as `quiver:analyze`, `quiver:plan`, `quiver:graph`, `quiver:next`, `quiver:doctor`, `quiver:start-slice`, `quiver:check-slice`, and `quiver:check-pr`.
52
+ - `quiver:graph` defaults to the tree view; choose `--format mermaid` or `--format dot` when you need exportable graph artifacts.
53
+ - `quiver:next` prints the next ready slice and can auto-start it behind a confirmation prompt.
54
+ - `quiver:next --all-ready` prints the whole ready level when you want to inspect every actionable slice at once.
46
55
 
47
56
  ## Initialization Flow
48
57
 
@@ -97,16 +106,19 @@ After initialization, the user should:
97
106
  3. Fill in `docs/CONTEXTO.md`
98
107
  4. Fill in `docs/STATUS.md`
99
108
  5. Run `npx create-quiver analyze` if scan artifacts are missing
100
- 6. If the project already exists from an older Quiver version, run `npx create-quiver migrate`
101
- 7. Ask the AI agent to execute `docs/AI_ONBOARDING_PROMPT.md`
102
- 8. Review context docs before creating the first implementation slice
103
- 9. Open and merge the documentation PR that establishes the workflow files
104
- 10. Create the first slice in `specs/{{PROJECT_SLUG}}/slices/[slice-id]/`
105
- 11. Add `ticket` and `git.*`
106
- 12. Run `npx create-quiver start-slice [--allow-draft] <slice.json>` or `npm run quiver:start-slice -- [--allow-draft] <slice.json>`
107
- 13. Make one commit per slice
108
- 14. Open one PR per spec
109
- 15. Validate the slice and the final PR with the workflow gates
109
+ 6. If the project already exists from an older Quiver version and was previously initialized by Quiver, run `npx create-quiver migrate`
110
+ 7. If the project was never initialized by Quiver, run `npx create-quiver --name "Project Name"` instead of `migrate`
111
+ 8. Ask the AI agent to execute `docs/AI_ONBOARDING_PROMPT.md`
112
+ 9. Review context docs before creating the first implementation slice
113
+ 10. Open and merge the documentation PR that establishes the workflow files
114
+ 11. Create the first slice in `specs/{{PROJECT_SLUG}}/slices/[slice-id]/`
115
+ 12. Add `ticket` and `git.*`
116
+ 13. Run `npx create-quiver plan` or `npm run quiver:plan`
117
+ 14. Run `npx create-quiver next` or `npm run quiver:next`
118
+ 14. Run `npx create-quiver start-slice [--allow-draft] <slice.json>` or `npm run quiver:start-slice -- [--allow-draft] <slice.json>`
119
+ 15. Make one commit per slice
120
+ 16. Open one PR per spec
121
+ 17. Validate the slice and the final PR with the workflow gates
110
122
 
111
123
  Bootstrap note: `start-slice` should resolve paths canonically, prefer a local `develop` or `main` base branch before reaching for `origin`, and reject `draft` slices unless `--allow-draft` is passed intentionally.
112
124
 
package/ROADMAP.md CHANGED
@@ -30,18 +30,22 @@
30
30
  - Onboarding README flow polish
31
31
  - Local project installation guidance
32
32
 
33
- ## v0.6 (unreleased)
33
+ ## v0.6 (shipped)
34
+
35
+ > Scope absorbed into v0.7. Node-native runtime and `quiver:*` npm scripts
36
+ > landed together with the token-efficient context pack work.
34
37
 
35
38
  - Cross-platform CI matrix (macOS, Linux, Windows) for Node-native runtime
36
39
  - Node-native generated project npm scripts (`quiver:*`)
37
40
  - Additive migration support for existing projects
38
41
 
39
- ## v0.7 — Token-Efficient AI Context Packs (in progress)
42
+ ## v0.7 — Token-Efficient AI Context Packs (shipped 2026-04-23)
40
43
 
41
- - **v13** — Token-efficient AI modes guidance (Draft)
42
- - **v14** — Tiered context pack: QUICK/STANDARD/DEEP tiers, AGENTS.md router, ACTIVE_SLICE lifecycle, YAML front-matter, dedup (Draft, 5 slices)
44
+ - **v13** — Token-efficient AI modes guidance (Completed)
45
+ - **v14** — Tiered context pack: QUICK/STANDARD/DEEP tiers, AGENTS.md router, ACTIVE_SLICE lifecycle, YAML front-matter, dedup (Completed)
46
+ - **v15** — Init required before migrate (Completed)
43
47
  - v13 slice-04 reconciled into v14 slice-05 (2026-04-23); v13 slice-02 narrowed to `DECISIONS.md` only
44
- - **Validation checkpoint** 1 week real-world use + ≥1 external user before v15 is scoped
48
+ - Validation checkpoint passed after real-world use and spec completion
45
49
 
46
50
  ## Post-Checkpoint Plan (do not execute before validating v14)
47
51
 
@@ -49,7 +53,25 @@
49
53
  > evidence from v14 in real use. Rescope or drop anything that does not
50
54
  > respond to observed friction.
51
55
 
52
- ### v15 — Context Hygiene and Diagnostics (proposed, not yet spec-ed)
56
+ ### Orchestration and Tooling (v19–v22, spec drafts created 2026-04-23)
57
+
58
+ Draft specs exist but are **not executed until v18 passes its validation checkpoint**. Each subsequent spec requires the previous one to pass its own checkpoint before it starts.
59
+
60
+ - **v19 — Project Visibility** (3 slices, ~11h): `quiver:status`, `quiver:estimate`, `quiver:lint-spec`
61
+ - **v20 — Context Diagnostics** (3 slices, ~13h): `quiver:cost`, `quiver:diff-pack`, `quiver:replay`
62
+ - **v21 — Slice Archaeology** (2 slices, ~7h): `quiver:archive`, `quiver:blame-slice`; `bisect-slice` documented via `git bisect run` in TROUBLESHOOTING
63
+ - **v22 — Deferred Tooling** (3 slices, ~10h, evidence-gated): `quiver:fork-slice`, `quiver:squash-spec`, `quiver:share`
64
+
65
+ Plan total: ~41h across 11 slices. Drafts parked on `drafts/v19-v22-orchestration-followups`. v22 stays deferred until BACKLOG.md records ≥1 occurrence per slice.
66
+
67
+ ### v0.8 — Handoff Contract (draft spec created, pending evidence)
68
+
69
+ - Canonical `HANDOFF.md.template` for exceptional context transfers
70
+ - `create-quiver check-handoff <path>` validation for structure and placement
71
+ - Optional `create-quiver new-handoff <slug>` scaffold
72
+ - Keep handoffs orthogonal to `slice.json`, not a new slice type
73
+
74
+ ### v0.9 — Context Hygiene and Diagnostics (proposed, not yet spec-ed)
53
75
 
54
76
  - Analyzer noise filter (ignore lockfiles, dist/, build/, binaries, generated files)
55
77
  - `create-quiver token-cost` diagnostic (4 chars/token heuristic)
@@ -15,12 +15,16 @@ You are the onboarding agent for this project. Your job is to analyze the genera
15
15
  6. `specs/{{PROJECT_SLUG}}/SPEC.md`
16
16
  7. `specs/{{PROJECT_SLUG}}/STATUS.md`
17
17
  8. `specs/{{PROJECT_SLUG}}/EVIDENCE_REPORT.md`
18
+ 9. `specs/{{PROJECT_SLUG}}/HANDOFF.md` if this work was explicitly transferred through a handoff artifact
19
+ 10. `npx create-quiver new-handoff <spec-slug>` if a new handoff artifact needs to be scaffolded before validation
18
20
 
19
21
  ## Mission
20
22
 
21
23
  - Use the analyzer outputs to understand the repository instead of guessing.
22
24
  - Treat `docs/PROJECT_MAP.md` as the single source of truth for stack, package manager, commands, and file hints.
23
25
  - Complete or refine Quiver context docs so future agents can work safely.
26
+ - If a handoff artifact exists, treat it as the transfer brief for the current work and validate it against the requested change.
27
+ - If a handoff artifact does not exist yet but the work needs one, scaffold it with `npx create-quiver new-handoff <spec-slug>` and then validate it.
24
28
  - Preserve Quiver workflow invariants: one slice = one commit, one spec = one PR.
25
29
  - Ask for confirmation before making product-code changes.
26
30
 
@@ -0,0 +1,25 @@
1
+ # Commands
2
+
3
+ **Project:** {{PROJECT_NAME}}
4
+ **Last updated:** {{FECHA}}
5
+
6
+ This document is the canonical command reference for the orchestration roadmap.
7
+ It is intentionally small at v0.18: only the plan and graph rows are reserved for now, but `quiver:graph` already supports tree, Mermaid, and DOT output modes.
8
+
9
+ ## Command Table
10
+
11
+ | Command | Purpose | OS | Since | Example |
12
+ |---------|---------|----|-------|---------|
13
+ | `quiver:plan` | Sequential orchestration planning command | macOS, Linux, Windows | v0.18 | [docs/examples/plan.md](./examples/plan.md) |
14
+ | `quiver:graph` | Parallel-level orchestration tree command | macOS, Linux, Windows | v0.18 | [docs/examples/graph.md](./examples/graph.md) |
15
+ | `quiver:next` | Ready-slice suggestion command | macOS, Linux, Windows | v0.18 | [docs/examples/next.md](./examples/next.md) |
16
+
17
+ ## Notes
18
+
19
+ - Add new rows here only when a command is officially shipped.
20
+ - Keep the table concise and cross-platform.
21
+ - Shared graph library: `src/create-quiver/lib/slice-graph.js`.
22
+ - `quiver:graph --format mermaid` is the PR-friendly export; `--format dot` is for Graphviz consumers.
23
+ - `quiver:next` prints the next ready slice and can auto-start it behind a confirmation prompt.
24
+ - `check-slice` now validates optional `depends_on` targets and requires `parallel_safe_reason` when `parallel_safe` is set to `never`.
25
+ - Cross-platform authoring rules live in `docs/SUPPORT_MATRIX.md`.
@@ -10,6 +10,7 @@
10
10
  - **Decision Log** - `./DECISIONS.md`
11
11
  - **AI Onboarding Prompt** - `./AI_ONBOARDING_PROMPT.md`
12
12
  - **Workflow** - `./WORKFLOW.md`
13
+ - **Commands** - `./COMMANDS.md`
13
14
  - **Support Matrix** - `./SUPPORT_MATRIX.md`
14
15
  - **Troubleshooting** - `./TROUBLESHOOTING.md`
15
16
  - **Multi-agent workflow** - `./MULTI_AGENT_WORKFLOW.md`
@@ -44,6 +45,7 @@ docs/
44
45
  ├── CONTEXTO.md
45
46
  ├── STATUS.md
46
47
  ├── WORKFLOW.md
48
+ ├── COMMANDS.md
47
49
  ├── SUPPORT_MATRIX.md
48
50
  ├── TROUBLESHOOTING.md
49
51
  ├── MULTI_AGENT_WORKFLOW.md
@@ -17,6 +17,15 @@ Quiver is intentionally opinionated about the first-run environment. If your set
17
17
  | Worktree state | Clean worktree | Slice execution and PR checks expect no unrelated local changes. |
18
18
  | Path handling | Canonical filesystem paths | Use the physical path to the repo and slice files, not a symlinked alias. |
19
19
 
20
+ ## Cross-Platform Authoring Rules
21
+
22
+ - No shell invocations for logic: use Node.js `fs`, `path`, and `child_process` with `shell: false`.
23
+ - Build paths with `path.join` and `path.sep`; normalize to `/` only for human-readable output.
24
+ - Write files with `\n`; read files tolerating `\r\n`.
25
+ - `--json` is the primary contract; human output is courtesy and may vary.
26
+ - Colors are TTY-aware and suppressed with `NO_COLOR`; Unicode is opt-in unless UTF-8 is available.
27
+ - Optional external tools such as `gh` and `graphviz` should be probed and skipped gracefully if missing.
28
+
20
29
  ## Remote Modes
21
30
 
22
31
  | Mode | Supported | Notes |
@@ -16,11 +16,15 @@ This document is the canonical implementation workflow for the project.
16
16
  - The support matrix defines the supported OS, git, node, and remote modes.
17
17
  - The troubleshooting guide explains the first-run recovery paths for common bootstrap failures.
18
18
  - The AI onboarding prompt generated after analysis is the handoff for agents that need project context before editing.
19
+ - `specs/<project-slug>/HANDOFF.md` is the exceptional transfer artifact for agents or phases that need bounded context handoff.
20
+ - Scaffold a new handoff only when needed with `npx create-quiver new-handoff <spec-slug>`, then validate it with `npx create-quiver check-handoff specs/<project-slug>/HANDOFF.md`.
19
21
 
20
22
  ## Mode-Aware Context Selection
21
23
 
22
24
  - **Onboarding:** read `PROJECT_SCAN.json`, `PROJECT_MAP.md`, `AI_CONTEXT.md`, and `AI_ONBOARDING_PROMPT.md` before source files.
23
25
  - **Implementation:** read `docs/ai/ACTIVE_SLICE.md` first when it exists; otherwise read `slice.json`, declared files, nearby tests, and only then adjacent source.
26
+ - **Handoff:** read `specs/<project-slug>/HANDOFF.md` when the work was explicitly transferred through a handoff artifact.
27
+ - Validate a received handoff with `npx create-quiver check-handoff specs/<project-slug>/HANDOFF.md` before starting execution.
24
28
  - **Review:** read `git diff` and the slice scope before opening full files.
25
29
  - **Debug:** read the command, exit code, first relevant error, stacktrace, and nearest changed code before long logs.
26
30
 
@@ -0,0 +1,62 @@
1
+ # Graph Example
2
+
3
+ Use `graph` to inspect the parallel levels and conflict groups before starting implementation work. The default tree view is best for humans, Mermaid is best for PR descriptions, and DOT is best for Graphviz pipelines.
4
+
5
+ ## Input
6
+
7
+ ```bash
8
+ npx create-quiver graph --show-conflicts
9
+ npx create-quiver graph --format mermaid --show-conflicts
10
+ npx create-quiver graph --format dot --show-conflicts
11
+ ```
12
+
13
+ ## Representative Output
14
+
15
+ ### Tree
16
+
17
+ ```text
18
+ Quiver graph
19
+ Level 0 (2 slices, 2 lots)
20
+ +-- spec-a/slice-01-alpha Alpha [draft]
21
+ \-- spec-b/slice-01-beta Beta [draft]
22
+ |
23
+ Level 1 (2 slices, 1 lots)
24
+ +-- ! spec-c/slice-02-gamma Gamma [draft] [docs/shared.md]
25
+ \-- ! spec-d/slice-02-delta Delta [draft] [docs/shared.md]
26
+ ```
27
+
28
+ ### Mermaid
29
+
30
+ ```mermaid
31
+ flowchart TD
32
+ n_spec_a_slice_01_alpha["spec-a/slice-01-alpha<br/>Alpha<br/>2h<br/>[draft]"]
33
+ n_spec_b_slice_01_beta["spec-b/slice-01-beta<br/>Beta<br/>3h<br/>[draft]"]
34
+ n_spec_c_slice_02_gamma["! spec-c/slice-02-gamma<br/>Gamma<br/>4h<br/>[draft]<br/>Files: docs/shared.md"]
35
+ n_spec_d_slice_02_delta["! spec-d/slice-02-delta<br/>Delta<br/>1h<br/>[draft]<br/>Files: docs/shared.md"]
36
+ n_spec_a_slice_01_alpha --> n_spec_c_slice_02_gamma
37
+ n_spec_b_slice_01_beta --> n_spec_d_slice_02_delta
38
+ ```
39
+
40
+ ### DOT
41
+
42
+ ```dot
43
+ digraph QuiverGraph {
44
+ rankdir=TB;
45
+ node [shape=box, style="rounded,filled", fillcolor="#f8f9fa", color="#495057", fontname="Helvetica"];
46
+ edge [color="#6c757d"];
47
+ n_spec_a_slice_01_alpha [label="spec-a/slice-01-alpha\nAlpha\n2h\n[draft]"];
48
+ n_spec_b_slice_01_beta [label="spec-b/slice-01-beta\nBeta\n3h\n[draft]"];
49
+ n_spec_c_slice_02_gamma [label="! spec-c/slice-02-gamma\nGamma\n4h\n[draft]\nFiles: docs/shared.md", fillcolor="#fff3cd", color="#d39e00"];
50
+ n_spec_d_slice_02_delta [label="! spec-d/slice-02-delta\nDelta\n1h\n[draft]\nFiles: docs/shared.md", fillcolor="#fff3cd", color="#d39e00"];
51
+ n_spec_a_slice_01_alpha -> n_spec_c_slice_02_gamma;
52
+ n_spec_b_slice_01_beta -> n_spec_d_slice_02_delta;
53
+ }
54
+ ```
55
+
56
+ ## Notes
57
+
58
+ - GitHub renders Mermaid fenced blocks directly in markdown.
59
+ - DOT output is plain source; render it with Graphviz if you want an image.
60
+ - The exact level grouping depends on the repo's pending dependency graph.
61
+ - Use `--level <n>` to focus on a single level.
62
+ - Use `--json` when another tool needs structured levels and conflict groups.