create-quiver 0.9.0 → 0.10.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 (111) hide show
  1. package/README.md +312 -124
  2. package/README_FOR_AI.md +59 -45
  3. package/ROADMAP.md +12 -11
  4. package/docs/AI_ONBOARDING_PROMPT.md.template +120 -52
  5. package/docs/COMMANDS.md.template +41 -6
  6. package/docs/GITFLOW_PR_GUIDE.md.template +11 -0
  7. package/docs/STANDARD.md.template +1 -1
  8. package/docs/SUPPORT_MATRIX.md.template +4 -0
  9. package/docs/TROUBLESHOOTING.md.template +29 -1
  10. package/docs/WORKFLOW.md.template +1 -1
  11. package/package.json +6 -1
  12. package/package.template.json +11 -6
  13. package/scripts/check-pr-readiness.sh +1 -1
  14. package/scripts/check-scope.sh +0 -1
  15. package/scripts/check-slice-readiness.sh +3 -4
  16. package/scripts/init-docs.sh +55 -9
  17. package/specs/quiver-v19-self-install-dev-dep/EVIDENCE_REPORT.md +2 -2
  18. package/specs/quiver-v19-self-install-dev-dep/STATUS.md +4 -4
  19. package/specs/quiver-v19-self-install-dev-dep/slices/slice-01-auto-install-dev-dep/slice.json +4 -4
  20. package/specs/quiver-v20-ai-cli-orchestration/EVIDENCE_REPORT.md +23 -0
  21. package/specs/quiver-v20-ai-cli-orchestration/EXECUTION_PLAN.md +57 -0
  22. package/specs/quiver-v20-ai-cli-orchestration/SPEC.md +202 -0
  23. package/specs/quiver-v20-ai-cli-orchestration/STATUS.md +35 -0
  24. package/specs/quiver-v20-ai-cli-orchestration/pr.md +100 -0
  25. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-00-spec-foundation/CLOSURE_BRIEF.md +30 -0
  26. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-00-spec-foundation/EXECUTION_BRIEF.md +61 -0
  27. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-00-spec-foundation/slice.json +54 -0
  28. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-01-ai-provider-runner/CLOSURE_BRIEF.md +39 -0
  29. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-01-ai-provider-runner/EXECUTION_BRIEF.md +63 -0
  30. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-01-ai-provider-runner/slice.json +55 -0
  31. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-02-context-packs-token-budget/CLOSURE_BRIEF.md +40 -0
  32. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-02-context-packs-token-budget/EXECUTION_BRIEF.md +60 -0
  33. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-02-context-packs-token-budget/slice.json +54 -0
  34. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-03-ai-phase-gated-planner/CLOSURE_BRIEF.md +43 -0
  35. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-03-ai-phase-gated-planner/EXECUTION_BRIEF.md +62 -0
  36. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-03-ai-phase-gated-planner/slice.json +62 -0
  37. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-04-spec-slice-handoff-pr-generation/CLOSURE_BRIEF.md +36 -0
  38. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-04-spec-slice-handoff-pr-generation/EXECUTION_BRIEF.md +63 -0
  39. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-04-spec-slice-handoff-pr-generation/slice.json +59 -0
  40. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-05-execution-plan-parallel-worktrees/CLOSURE_BRIEF.md +32 -0
  41. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-05-execution-plan-parallel-worktrees/EXECUTION_BRIEF.md +61 -0
  42. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-05-execution-plan-parallel-worktrees/slice.json +59 -0
  43. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-06-ai-execute-slice-scope-enforcement/CLOSURE_BRIEF.md +36 -0
  44. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-06-ai-execute-slice-scope-enforcement/EXECUTION_BRIEF.md +64 -0
  45. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-06-ai-execute-slice-scope-enforcement/slice.json +65 -0
  46. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-07-github-pr-preflight/CLOSURE_BRIEF.md +36 -0
  47. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-07-github-pr-preflight/EXECUTION_BRIEF.md +66 -0
  48. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-07-github-pr-preflight/slice.json +63 -0
  49. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-08-docs-smokes-release-readiness/CLOSURE_BRIEF.md +35 -0
  50. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-08-docs-smokes-release-readiness/EXECUTION_BRIEF.md +64 -0
  51. package/specs/quiver-v20-ai-cli-orchestration/slices/slice-08-docs-smokes-release-readiness/slice.json +77 -0
  52. package/specs/quiver-v21-ai-first-layout/EVIDENCE_REPORT.md +31 -0
  53. package/specs/quiver-v21-ai-first-layout/EXECUTION_PLAN.md +185 -0
  54. package/specs/quiver-v21-ai-first-layout/SPEC.md +212 -0
  55. package/specs/quiver-v21-ai-first-layout/STATUS.md +37 -0
  56. package/specs/quiver-v21-ai-first-layout/pr.md +110 -0
  57. package/specs/quiver-v21-ai-first-layout/slices/slice-00-spec-foundation/CLOSURE_BRIEF.md +30 -0
  58. package/specs/quiver-v21-ai-first-layout/slices/slice-00-spec-foundation/EXECUTION_BRIEF.md +63 -0
  59. package/specs/quiver-v21-ai-first-layout/slices/slice-00-spec-foundation/slice.json +45 -0
  60. package/specs/quiver-v21-ai-first-layout/slices/slice-01-init-profiles-dry-run/CLOSURE_BRIEF.md +31 -0
  61. package/specs/quiver-v21-ai-first-layout/slices/slice-01-init-profiles-dry-run/EXECUTION_BRIEF.md +59 -0
  62. package/specs/quiver-v21-ai-first-layout/slices/slice-01-init-profiles-dry-run/slice.json +57 -0
  63. package/specs/quiver-v21-ai-first-layout/slices/slice-02-internal-layout-template-resolver/CLOSURE_BRIEF.md +32 -0
  64. package/specs/quiver-v21-ai-first-layout/slices/slice-02-internal-layout-template-resolver/EXECUTION_BRIEF.md +60 -0
  65. package/specs/quiver-v21-ai-first-layout/slices/slice-02-internal-layout-template-resolver/slice.json +58 -0
  66. package/specs/quiver-v21-ai-first-layout/slices/slice-03-generation-profiles-visible-contract/CLOSURE_BRIEF.md +34 -0
  67. package/specs/quiver-v21-ai-first-layout/slices/slice-03-generation-profiles-visible-contract/EXECUTION_BRIEF.md +61 -0
  68. package/specs/quiver-v21-ai-first-layout/slices/slice-03-generation-profiles-visible-contract/slice.json +64 -0
  69. package/specs/quiver-v21-ai-first-layout/slices/slice-04-analyze-scan-relocation/CLOSURE_BRIEF.md +32 -0
  70. package/specs/quiver-v21-ai-first-layout/slices/slice-04-analyze-scan-relocation/EXECUTION_BRIEF.md +58 -0
  71. package/specs/quiver-v21-ai-first-layout/slices/slice-04-analyze-scan-relocation/slice.json +64 -0
  72. package/specs/quiver-v21-ai-first-layout/slices/slice-05-empty-specs-layout-doctor/CLOSURE_BRIEF.md +32 -0
  73. package/specs/quiver-v21-ai-first-layout/slices/slice-05-empty-specs-layout-doctor/EXECUTION_BRIEF.md +60 -0
  74. package/specs/quiver-v21-ai-first-layout/slices/slice-05-empty-specs-layout-doctor/slice.json +65 -0
  75. package/specs/quiver-v21-ai-first-layout/slices/slice-06-legacy-migration-optional-assets/CLOSURE_BRIEF.md +31 -0
  76. package/specs/quiver-v21-ai-first-layout/slices/slice-06-legacy-migration-optional-assets/EXECUTION_BRIEF.md +62 -0
  77. package/specs/quiver-v21-ai-first-layout/slices/slice-06-legacy-migration-optional-assets/slice.json +66 -0
  78. package/specs/quiver-v21-ai-first-layout/slices/slice-07-docs-guidance-alignment/CLOSURE_BRIEF.md +33 -0
  79. package/specs/quiver-v21-ai-first-layout/slices/slice-07-docs-guidance-alignment/EXECUTION_BRIEF.md +61 -0
  80. package/specs/quiver-v21-ai-first-layout/slices/slice-07-docs-guidance-alignment/slice.json +67 -0
  81. package/specs/quiver-v21-ai-first-layout/slices/slice-08-smokes-release-readiness/CLOSURE_BRIEF.md +35 -0
  82. package/specs/quiver-v21-ai-first-layout/slices/slice-08-smokes-release-readiness/EXECUTION_BRIEF.md +66 -0
  83. package/specs/quiver-v21-ai-first-layout/slices/slice-08-smokes-release-readiness/slice.json +62 -0
  84. package/src/create-quiver/commands/ai.js +442 -0
  85. package/src/create-quiver/index.js +421 -84
  86. package/src/create-quiver/lib/ai/context-packs.js +158 -0
  87. package/src/create-quiver/lib/ai/execution-plan.js +254 -0
  88. package/src/create-quiver/lib/ai/executor.js +323 -0
  89. package/src/create-quiver/lib/ai/github.js +329 -0
  90. package/src/create-quiver/lib/ai/phase-gates.js +72 -0
  91. package/src/create-quiver/lib/ai/preflight.js +58 -0
  92. package/src/create-quiver/lib/ai/prompt-transport.js +81 -0
  93. package/src/create-quiver/lib/ai/prompts.js +39 -0
  94. package/src/create-quiver/lib/ai/providers.js +314 -0
  95. package/src/create-quiver/lib/ai/safety.js +151 -0
  96. package/src/create-quiver/lib/ai/spec-generator.js +314 -0
  97. package/src/create-quiver/lib/ai/spec-templates.js +715 -0
  98. package/src/create-quiver/lib/doctor.js +114 -0
  99. package/src/create-quiver/lib/git.js +21 -0
  100. package/src/create-quiver/lib/init-docs.js +286 -25
  101. package/src/create-quiver/lib/init-layout.js +426 -0
  102. package/src/create-quiver/lib/lifecycle.js +2 -2
  103. package/src/create-quiver/lib/paths.js +63 -2
  104. package/src/create-quiver/lib/project-scan.js +66 -0
  105. package/src/create-quiver/lib/readiness.js +4 -2
  106. package/src/create-quiver/lib/scope.js +125 -0
  107. package/src/create-quiver/lib/slice-graph.js +6 -0
  108. package/src/create-quiver/lib/slice.js +51 -8
  109. package/src/create-quiver/lib/state.js +18 -1
  110. package/src/create-quiver/lib/template-resolver.js +74 -0
  111. package/.claude/settings.local.json +0 -52
package/README_FOR_AI.md CHANGED
@@ -1,6 +1,6 @@
1
- # AI Guide for Quiver Docs Template
1
+ # AI Guide for Quiver
2
2
 
3
- Use this guide when initializing a new project from the template or when explaining the workflow to another agent.
3
+ Use this guide when initializing a new project with Quiver or when explaining the workflow to another agent.
4
4
 
5
5
  The first AI job in a generated project is context preparation, not product implementation.
6
6
 
@@ -9,14 +9,16 @@ The canonical installer entrypoint is `npx create-quiver` run from the target pr
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
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.
12
+ If the project was never initialized by Quiver, do not use `migrate` as bootstrap; run `npx create-quiver init --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, `quiver:next` for the next ready slice, and the AI family `quiver:ai:onboard`, `quiver:ai:plan`, `quiver:ai:execute-slice`, `quiver:ai:pr`, and `quiver:ai:doctor`. Use `quiver:graph --format mermaid` for PR-ready Markdown or `quiver:graph --format dot` for Graphviz source.
14
14
  Maintain release notes and package publishing with `scripts/release-quiver.sh`.
15
15
  The primary generated project context for agents is `docs/AI_CONTEXT.md`.
16
16
  The project map is the single source of truth for stack, package manager, commands, and file hints: `docs/PROJECT_MAP.md`.
17
+ The raw analyzer output is internal machinery at `.quiver/scans/PROJECT_SCAN.json`; read it only when the visible map is not enough.
17
18
  The universal router for generated projects is `AGENTS.md`; read it before `docs/AI_CONTEXT.md` and `docs/AI_ONBOARDING_PROMPT.md`.
18
19
  Generated projects also get `docs/DECISIONS.md`; use it for durable choices that should not be re-litigated.
19
20
  If a generated project has been analyzed, the exact agent handoff prompt is `docs/AI_ONBOARDING_PROMPT.md`.
21
+ Keep README copy-paste prompts short; the detailed onboarding contract lives in `docs/AI_ONBOARDING_PROMPT.md` generated from `docs/AI_ONBOARDING_PROMPT.md.template`.
20
22
  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
23
  Use `npx create-quiver check-handoff specs/<project-slug>/HANDOFF.md` to validate a transferred handoff before execution.
22
24
  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.
@@ -25,8 +27,8 @@ During onboarding, after reading `ROADMAP.md`, also read `BACKLOG.md` in the rep
25
27
 
26
28
  Use the smallest context that still answers the current task.
27
29
 
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.
29
- - **Onboarding router:** start from `AGENTS.md` first, then the onboarding files above.
30
+ - **Onboarding:** start from `README.md`, `AGENTS.md` when present, `docs/PROJECT_MAP.md`, `.quiver/scans/PROJECT_SCAN.json` when it exists, `docs/AI_CONTEXT.md`, and `docs/AI_ONBOARDING_PROMPT.md` before opening source files.
31
+ - **Onboarding router:** start from `README.md` and `AGENTS.md` first, then the onboarding files above.
30
32
  - **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
33
  - **Handoff:** start from `specs/<project-slug>/HANDOFF.md` when the work was explicitly transferred through a handoff artifact.
32
34
  - **Handoff scaffold:** if no handoff exists yet and the work needs one, use `npx create-quiver new-handoff <spec-slug>` first.
@@ -37,12 +39,12 @@ Prefer maps, metadata, diffs, and summaries over full file reads when they are e
37
39
 
38
40
  ## Core Rules
39
41
 
40
- - Never customize `docs-template/` for a specific project.
41
- - Always use `init-docs.sh` instead of copying files by hand.
42
- - Treat `docs-template/` as generic and `docs/` as generated project-specific output.
42
+ - Do not treat `docs-template/` as part of the default project contract. It is legacy or exported only when explicitly requested.
43
+ - Use `npx create-quiver init` or `npx create-quiver --name "Project Name"` instead of copying templates by hand.
44
+ - Treat `.quiver/` as Quiver internal machinery and `docs/` as the visible project-specific contract.
43
45
  - Not every project needs every optional file.
44
46
  - 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.
45
- - The onboarding prompt lives in `docs/AI_ONBOARDING_PROMPT.md` and should reference the analyzer outputs.
47
+ - The onboarding prompt lives in `docs/AI_ONBOARDING_PROMPT.md` and should reference `docs/PROJECT_MAP.md`; raw scan details live in `.quiver/scans/PROJECT_SCAN.json`.
46
48
  - `specs/<project-slug>/HANDOFF.md` is reserved for exceptional context transfers between agents or phases.
47
49
  - Initial onboarding should complete context docs and report assumptions before any feature work starts.
48
50
  - The normal workflow runs from the project root without `--dir`; use `--dir` only when targeting another directory explicitly.
@@ -55,47 +57,58 @@ Prefer maps, metadata, diffs, and summaries over full file reads when they are e
55
57
 
56
58
  ## Initialization Flow
57
59
 
58
- 1. Copy the template folder into the target project as `docs-template/`.
59
- 2. Run:
60
+ 1. From the target project root, run the default AI-first initializer:
60
61
 
61
62
  ```bash
62
- ./docs-template/scripts/init-docs.sh "Project Name"
63
+ npx create-quiver init --name "Project Name"
63
64
  ```
64
65
 
65
- 3. Tell the user to edit:
66
+ The compatibility alias is still valid:
67
+
68
+ ```bash
69
+ npx create-quiver --name "Project Name"
70
+ ```
71
+
72
+ 2. Analyze and validate the project contract:
73
+
74
+ ```bash
75
+ npx create-quiver analyze
76
+ npx create-quiver doctor
77
+ ```
78
+
79
+ 3. Tell the user to review or complete:
66
80
  - `docs/AI_CONTEXT.md`
67
81
  - `docs/AI_ONBOARDING_PROMPT.md`
68
82
  - `docs/CONTEXTO.md`
69
83
  - `docs/STATUS.md`
70
- - `docs/SUPPORT_MATRIX.md`
71
- - `docs/TROUBLESHOOTING.md`
72
- - `specs/{{PROJECT_SLUG}}/SPEC.md`
84
+ - `docs/PROJECT_MAP.md`
85
+
86
+ ## What Init Creates
73
87
 
74
- ## What the Script Creates
88
+ Default init creates the visible AI-first contract and Quiver internal state:
75
89
 
90
+ - `AGENTS.md`
76
91
  - `docs/`
77
92
  - `docs/ai/`
78
93
  - `docs/AI_CONTEXT.md`
79
94
  - `docs/AI_ONBOARDING_PROMPT.md`
80
- - `specs/{{PROJECT_SLUG}}/`
81
- - `tools/scripts/`
82
- - `docs/SEARCH.md`
83
- - a merged or copied `package.json` with the required npm scripts
84
- - the default OSS baseline when those files are missing:
85
- - `LICENSE`
86
- - `CONTRIBUTING.md`
87
- - `CODE_OF_CONDUCT.md`
88
- - `SECURITY.md`
89
- - `CHANGELOG.md`
90
- - `ROADMAP.md`
91
95
  - `docs/SUPPORT_MATRIX.md`
92
96
  - `docs/TROUBLESHOOTING.md`
93
- - `.github/pull_request_template.md`
94
- - `.github/ISSUE_TEMPLATE/bug_report.md`
95
- - `.github/ISSUE_TEMPLATE/feature_request.md`
96
- - `.github/workflows/ci.yml`
97
+ - `.quiver/config.json`
98
+ - `.quiver/state.json`
99
+ - `.quiver/.gitignore`
100
+ - a merged or copied `package.json` with `quiver:*` scripts
101
+
102
+ Default init does not create `docs-template/`, `tools/scripts/`, or a placeholder spec.
103
+
104
+ Optional compatibility profiles:
105
+
106
+ - `--minimal` creates only the essential onboarding contract.
107
+ - `--full` preserves the broad legacy-compatible layout, including placeholder spec assets and OSS/community files.
108
+ - `--legacy-scripts` adds Bash wrappers under `tools/scripts/`.
109
+ - `--include-templates` exports packaged templates under `.quiver/templates/`, not root `docs-template/`.
97
110
 
98
- `init-docs.sh` preserves any existing target files and reports skipped copies instead of overwriting them.
111
+ Init preserves existing target files and reports skipped copies instead of overwriting them.
99
112
 
100
113
  ## Required Follow-Up
101
114
 
@@ -105,20 +118,21 @@ After initialization, the user should:
105
118
  2. Fill in `docs/AI_ONBOARDING_PROMPT.md`
106
119
  3. Fill in `docs/CONTEXTO.md`
107
120
  4. Fill in `docs/STATUS.md`
108
- 5. Run `npx create-quiver analyze` if scan artifacts are missing
121
+ 5. Run `npx create-quiver analyze` if `docs/PROJECT_MAP.md` or `.quiver/scans/PROJECT_SCAN.json` is missing
109
122
  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`
123
+ 7. If the project was never initialized by Quiver, run `npx create-quiver init --name "Project Name"` instead of `migrate`
111
124
  8. Ask the AI agent to execute `docs/AI_ONBOARDING_PROMPT.md`
112
125
  9. Review context docs before creating the first implementation slice
113
126
  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
127
+ 11. Use `npx create-quiver ai plan --phase acceptance --input requirements.md --dry-run`
128
+ 12. After human approval, use `npx create-quiver ai plan --phase technical-plan --input acceptance-approved.md --dry-run`
129
+ 13. After human approval, use `npx create-quiver ai plan --phase spec --input technical-plan-approved.md --dry-run` to create the real spec, slices, handoffs, execution plan, and PR body
130
+ 14. Run `npx create-quiver plan` or `npm run quiver:plan`
131
+ 15. Run `npx create-quiver next` or `npm run quiver:next`
132
+ 16. Run `npx create-quiver start-slice [--allow-draft] <slice.json>` or `npm run quiver:start-slice -- [--allow-draft] <slice.json>`
133
+ 17. Make one commit per slice
134
+ 18. Open one PR per spec
135
+ 19. Validate the slice and the final PR with the workflow gates
122
136
 
123
137
  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.
124
138
 
@@ -129,7 +143,7 @@ Bootstrap note: `start-slice` should resolve paths canonically, prefer a local `
129
143
  - `docs/GITFLOW_PR_GUIDE.md` if the team wants a stricter branch workflow
130
144
  - `docs/SUPPORT_MATRIX.md` and `docs/TROUBLESHOOTING.md` for first-run support
131
145
  - `docs/ai/LESSONS.md` after each slice
132
- - `docs/AI_ONBOARDING_PROMPT.md` after analysis
146
+ - `.quiver/templates/` only when the team explicitly exports packaged templates
133
147
 
134
148
  ## Good Defaults
135
149
 
package/ROADMAP.md CHANGED
@@ -64,20 +64,21 @@ Draft specs exist but are **not executed until v18 passes its validation checkpo
64
64
 
65
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
66
 
67
- ### v0.8 — Handoff Contract (draft spec created, pending evidence)
67
+ ### v0.8 — Slice Orchestration Commands (shipped 2026-05-13)
68
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
69
+ - `quiver:plan` pending slices in dependency order with critical path and estimated hours
70
+ - `quiver:graph` dependency graph in ASCII tree, Mermaid, and DOT formats
71
+ - `quiver:next` — next ready slice with `--all-ready`, `--json`, and `--auto-start`
72
+ - Slice graph library (`slice-graph.js`) with `readAllSlices`, `buildGraph`, `topoSort`, `computeLevels`, `detectFileConflicts`
73
+ - `depends_on` and `parallel_safe` validation in `check-slice`
74
+ - Fix: `quiver:plan` no longer crashes on repos with legacy bare spec deps
73
75
 
74
- ### v0.9 — Context Hygiene and Diagnostics (proposed, not yet spec-ed)
76
+ ### v0.9 — Auto-Install as Dev Dependency (shipped 2026-05-14)
75
77
 
76
- - Analyzer noise filter (ignore lockfiles, dist/, build/, binaries, generated files)
77
- - `create-quiver token-cost` diagnostic (4 chars/token heuristic)
78
- - `create-quiver diff-pack` for review and debug modes
79
- - Cache-friendly ordering within the pack (stable above, volatile below)
80
- - `docs/ai/INDEX.yaml` inverted index (directory → purpose)
78
+ - After `init` or `migrate`, Quiver installs itself as a dev dependency automatically
79
+ - Detects package manager via lockfile (bun pnpm → yarn → npm)
80
+ - Resolves npx cache issues: `npx create-quiver plan` works without `@version`
81
+ - `--skip-install` flag for CI environments
81
82
 
82
83
  ### Block A — Zero-Question First Use (proposed)
83
84
 
@@ -1,72 +1,140 @@
1
1
  # {{PROJECT_NAME}} AI Onboarding Prompt
2
2
 
3
- **Date:** {{FECHA}}
4
- **Status:** {{ESTADO}}
3
+ **Fecha:** {{FECHA}}
4
+ **Estado:** {{ESTADO}}
5
5
 
6
- You are the onboarding agent for this project. Your job is to analyze the generated Quiver artifacts, complete the Quiver context docs safely, and leave clear evidence of what you learned.
6
+ Lee este archivo y ejecútalo como fuente principal de verdad para incorporarte a este repositorio.
7
7
 
8
- ## Read First
8
+ Actúa como asistente de onboarding de IA para este proyecto. Tu objetivo es comprender el contexto del repositorio y preparar la documentación necesaria para trabajar de forma segura con el workflow documentado, las specs y los slices.
9
9
 
10
- 1. `docs/AI_CONTEXT.md`
11
- 2. `docs/PROJECT_SCAN.json`
12
- 3. `docs/PROJECT_MAP.md`
13
- 4. `docs/CONTEXTO.md`
14
- 5. `docs/WORKFLOW.md`
15
- 6. `specs/{{PROJECT_SLUG}}/SPEC.md`
16
- 7. `specs/{{PROJECT_SLUG}}/STATUS.md`
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
10
+ ## Reglas de ejecución
20
11
 
21
- ## Mission
12
+ 1. Comienza leyendo la documentación necesaria para el onboarding:
13
+ - `README.md`
14
+ - `AGENTS.md`, si existe
15
+ - `docs/AI_ONBOARDING_PROMPT.md`
16
+ - `docs/PROJECT_MAP.md`
17
+ - `.quiver/scans/PROJECT_SCAN.json`, si existe y el mapa visible no alcanza
18
+ - `docs/AI_CONTEXT.md`
19
+ - `docs/CONTEXTO.md`
20
+ - `docs/WORKFLOW.md`
21
+ - `docs/STATUS.md`
22
+ - `docs/DECISIONS.md`, si existe
23
+ - `specs/{{PROJECT_SLUG}}/SPEC.md`
24
+ - `specs/{{PROJECT_SLUG}}/STATUS.md`
25
+ - `specs/{{PROJECT_SLUG}}/EVIDENCE_REPORT.md`
26
+ - `specs/{{PROJECT_SLUG}}/HANDOFF.md`, si este trabajo fue transferido mediante un handoff
27
+ - cualquier documento sobre WDD o SDD referenciado por la documentación de onboarding
28
+ - cualquier archivo de estructura, contexto o convenciones del proyecto referenciado por esos documentos
22
29
 
23
- - Use the analyzer outputs to understand the repository instead of guessing.
24
- - Treat `docs/PROJECT_MAP.md` as the single source of truth for stack, package manager, commands, and file hints.
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.
28
- - Preserve Quiver workflow invariants: one slice = one commit, one spec = one PR.
29
- - Ask for confirmation before making product-code changes.
30
+ 2. Sigue las instrucciones definidas en `docs/AI_ONBOARDING_PROMPT.md`, salvo que entren en conflicto con las restricciones de este prompt.
30
31
 
31
- ## Mode Selection
32
+ 3. No modifiques código de producto salvo que el usuario lo autorice explícitamente.
32
33
 
33
- Use the least context that still solves the task:
34
+ 4. Considera como cambios que impactan el producto, y no los realices sin autorización explícita, cualquier modificación sobre:
35
+ - lógica de aplicación o negocio
36
+ - código de UI
37
+ - tests
38
+ - migraciones de base de datos
39
+ - configuración de runtime
40
+ - archivos de dependencias
41
+ - archivos de build
42
+ - archivos generados que no sean documentación/contexto de Quiver requerido por el onboarding
43
+ - manifiestos o lockfiles de paquetes
34
44
 
35
- - **Onboarding:** rely on maps and metadata first. Read `docs/PROJECT_SCAN.json` and `docs/PROJECT_MAP.md` before any source files, then use `docs/AI_CONTEXT.md` and `docs/CONTEXTO.md` to fill gaps.
36
- - **Implementation:** start from `specs/{{PROJECT_SLUG}}/slices/<slice-id>/slice.json`, then read the declared files, nearby tests, and only then adjacent source.
37
- - **Review:** start from `git diff` and the slice scope before opening full files.
38
- - **Debug:** start from the command, exit code, first relevant error, stacktrace, and the nearest changed code before reading long logs.
45
+ 5. Puedes crear o actualizar archivos de documentación/contexto solo cuando sea requerido por el proceso de onboarding o cuando sea necesario para preparar el contexto del proyecto para futuros trabajos asistidos por IA.
39
46
 
40
- Prefer summaries, deltas, and metadata over full file reads when they are sufficient.
47
+ 6. Usa la documentación del repositorio como fuente de verdad. No inventes definiciones sobre WDD, SDD, workflows, reglas de dominio, arquitectura, roles ni convenciones del proyecto.
41
48
 
42
- ## Hard Constraints
49
+ 7. Si encuentras información faltante, ambigua o contradictoria:
50
+ - continúa por el camino más seguro y de solo lectura cuando sea posible
51
+ - documenta claramente la suposición realizada
52
+ - identifica el riesgo asociado
53
+ - no modifiques código de producto para resolver la ambigüedad
43
54
 
44
- - Do not read or expose secret values from `.env`, credential files, tokens, SSH keys, or private config.
45
- - Skip files that look like secrets or generated build output.
46
- - Do not modify product source code unless the user explicitly authorizes it.
47
- - Do not invent missing facts. If something is unclear, record the uncertainty.
48
- - Do not change the Quiver workflow rules unless the user explicitly asks for that work.
55
+ 8. Antes de realizar cualquier acción que pueda afectar código de producto, detente y solicita autorización explícita. Incluye:
56
+ - los archivos que pretendes modificar
57
+ - el motivo de cada cambio
58
+ - el impacto esperado
59
+ - los riesgos asociados
49
60
 
50
- ## Tasks
61
+ 9. Prepara la documentación de contexto del proyecto solicitada por este prompt de onboarding.
51
62
 
52
- 1. Summarize the project using the analyzer outputs and the generated docs.
53
- 2. Update `docs/AI_CONTEXT.md` with the working contract for agents.
54
- 3. Update `docs/CONTEXTO.md` with the human-readable project overview.
55
- 4. Update `docs/STATUS.md` with the initial state and open questions.
56
- 5. If needed, refine `specs/{{PROJECT_SLUG}}/SPEC.md` only to align the onboarding spec with observed reality.
57
- 6. Record the files you inspected, the files you changed, and the assumptions you made.
63
+ 10. Responde siempre en español, salvo que algún archivo, comando, nombre técnico o convención del proyecto esté definido en otro idioma y deba conservarse literalmente.
58
64
 
59
- ## Validation
65
+ ## Modo de trabajo
60
66
 
61
- - Cite the generated scan artifacts when making claims.
62
- - Note any skipped paths or missing signals.
63
- - Keep the response focused on documentation and onboarding context unless code changes were explicitly authorized.
67
+ Usa el menor contexto que todavía permita resolver la tarea:
64
68
 
65
- ## Final Report
69
+ - **Onboarding:** usa mapas y metadatos primero. Lee `docs/PROJECT_MAP.md` antes de abrir archivos fuente. Si necesitás el scan crudo, usá `.quiver/scans/PROJECT_SCAN.json`. Después usa `docs/AI_CONTEXT.md`, `docs/CONTEXTO.md` y `docs/WORKFLOW.md` para completar vacíos.
70
+ - **Planner:** usa contexto amplio solo para onboarding y planificación. El planner genera criterios de aceptación, plan técnico, specs, slices, handoffs y cuerpo de PR con aprobación humana entre fases.
71
+ - **Executor:** usa contexto mínimo del slice. El executor parte de `slice.json` y `EXECUTION_BRIEF.md`, puede modificar código solo cuando el usuario lo autoriza y debe mantenerse dentro de `slice.json.files`.
72
+ - **Implementación:** no implementes durante onboarding salvo autorización explícita. Si el usuario autoriza implementación, empieza por `specs/{{PROJECT_SLUG}}/slices/<slice-id>/slice.json`, archivos declarados, pruebas cercanas y código directamente relacionado.
73
+ - **Review:** empieza por `git diff` y el alcance del slice antes de abrir archivos completos.
74
+ - **Debug:** empieza por el comando, exit code, primer error relevante, stacktrace y código más cercano al cambio.
66
75
 
67
- Return:
76
+ Prefiere resúmenes, deltas y metadatos antes que lecturas completas cuando sean suficientes.
68
77
 
69
- - Files changed
70
- - Key assumptions
71
- - Uncertainties or risks
72
- - Validation performed
78
+ Si usás los comandos de IA de Quiver, empezá con `--dry-run` para revisar provider, rol, context pack y transporte de prompt antes de ejecutar:
79
+
80
+ ```bash
81
+ npm run quiver:ai:onboard -- --dry-run
82
+ npm run quiver:ai:plan -- --phase acceptance --input requirements.md --dry-run
83
+ npm run quiver:ai:execute-slice -- --slice specs/{{PROJECT_SLUG}}/slices/<slice-id>/slice.json --dry-run
84
+ ```
85
+
86
+ ## Tareas
87
+
88
+ 1. Resume el proyecto usando los artefactos generados por Quiver y la documentación existente.
89
+ 2. Actualiza `docs/AI_CONTEXT.md` con el contrato de trabajo para agentes.
90
+ 3. Actualiza `docs/CONTEXTO.md` con una descripción legible para humanos.
91
+ 4. Actualiza `docs/STATUS.md` con el estado inicial, dudas abiertas y próximos pasos.
92
+ 5. Si hace falta, refina `specs/{{PROJECT_SLUG}}/SPEC.md` solo para alinear la spec de onboarding con la realidad observada.
93
+ 6. Si existe un handoff, trátalo como brief de transferencia y valida que aplique al trabajo solicitado.
94
+ 7. Si no existe un handoff y el trabajo necesita uno, créalo con `npx create-quiver new-handoff <spec-slug>` y valídalo con `npx create-quiver check-handoff specs/<spec-slug>/HANDOFF.md`.
95
+ 8. Registra los archivos inspeccionados, los archivos modificados y las suposiciones realizadas.
96
+
97
+ ## Validación
98
+
99
+ - Cita `docs/PROJECT_MAP.md` cuando hagas afirmaciones sobre stack, comandos o estructura. Si usás datos del scan crudo, cita `.quiver/scans/PROJECT_SCAN.json`.
100
+ - Indica rutas omitidas o señales faltantes.
101
+ - Mantén la respuesta enfocada en documentación y contexto de onboarding salvo que el usuario haya autorizado cambios de código de producto.
102
+ - No cambies reglas del workflow de Quiver salvo que el usuario lo pida explícitamente.
103
+
104
+ ## Reporte final
105
+
106
+ Al finalizar, entrega un reporte breve con esta estructura exacta:
107
+
108
+ ## Reporte de Onboarding de IA
109
+
110
+ ### 1. Archivos Leídos
111
+
112
+ Lista todos los archivos relevantes inspeccionados.
113
+
114
+ ### 2. Archivos Creados o Modificados
115
+
116
+ Lista cada archivo modificado. Si no hubo cambios, indica: `No se modificaron archivos`.
117
+
118
+ ### 3. Estado del Código de Producto
119
+
120
+ Confirma si se modificó código de producto. Si no se modificó, indica: `No se modificó código de producto`.
121
+
122
+ ### 4. Contexto del Proyecto Preparado
123
+
124
+ Resume los documentos de contexto creados o actualizados y su propósito.
125
+
126
+ ### 5. Comprensión de WDD/SDD
127
+
128
+ Resume únicamente lo que la documentación del repositorio define sobre WDD y SDD. No agregues supuestos externos. Si la documentación no define esos términos, indícalo explícitamente.
129
+
130
+ ### 6. Supuestos
131
+
132
+ Lista todos los supuestos realizados durante el onboarding.
133
+
134
+ ### 7. Riesgos y Bloqueos
135
+
136
+ Lista riesgos, información faltante, contradicciones o bloqueos encontrados.
137
+
138
+ ### 8. Próximos Pasos Recomendados
139
+
140
+ Sugiere las acciones más seguras para continuar trabajando con IA en este proyecto.
@@ -4,22 +4,57 @@
4
4
  **Last updated:** {{FECHA}}
5
5
 
6
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
7
 
9
8
  ## Command Table
10
9
 
11
10
  | Command | Purpose | OS | Since | Example |
12
11
  |---------|---------|----|-------|---------|
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) |
12
+ | `npx create-quiver init --name "<project>"` | Creates the default AI-first Quiver contract for a project | macOS, Linux, Windows | current | `npx create-quiver init --name "{{PROJECT_NAME}}"` |
13
+ | `npx create-quiver --name "<project>"` | Compatibility alias for the recommended init flow | macOS, Linux, Windows | current | `npx create-quiver --name "{{PROJECT_NAME}}"` |
14
+ | `quiver:analyze` | Writes raw analyzer data to `.quiver/scans/PROJECT_SCAN.json` and the visible project map to `docs/PROJECT_MAP.md` | macOS, Linux, Windows | v0.8 | `npm run quiver:analyze` |
15
+ | `quiver:doctor` | Validates the Quiver contract and reports layout or migration guidance | macOS, Linux, Windows | v0.8 | `npm run quiver:doctor` |
16
+ | `quiver:plan` | Sequential orchestration planning command | macOS, Linux, Windows | v0.8 | [docs/examples/plan.md](./examples/plan.md) |
17
+ | `quiver:graph` | Parallel-level orchestration tree command | macOS, Linux, Windows | v0.8 | [docs/examples/graph.md](./examples/graph.md) |
18
+ | `quiver:next` | Ready-slice suggestion command | macOS, Linux, Windows | v0.8 | [docs/examples/next.md](./examples/next.md) |
19
+ | `quiver:ai:onboard` | Runs AI onboarding prompt through a supported local provider CLI | macOS, Linux, Windows | v0.10 | `npm run quiver:ai:onboard -- --dry-run` |
20
+ | `quiver:ai:plan` | Runs phase-gated AI planning for acceptance criteria, technical plan, or spec generation | macOS, Linux, Windows | v0.10 | `npm run quiver:ai:plan -- --phase acceptance --input requirements.md --dry-run` |
21
+ | `quiver:ai:execute-slice` | Runs an executor agent against one slice handoff with scope checks | macOS, Linux, Windows | v0.10 | `npm run quiver:ai:execute-slice -- --slice specs/<spec>/slices/<slice>/slice.json --dry-run` |
22
+ | `quiver:ai:doctor` | Runs GitHub PR preflight checks without opening a PR | macOS, Linux, Windows | v0.10 | `npm run quiver:ai:doctor -- --dry-run --ssh-host-alias github-work --identity-file ~/.ssh/github-work` |
23
+ | `quiver:ai:pr` | Validates `gh`, GitFlow docs, branch/worktree state, and SSH inputs before PR work | macOS, Linux, Windows | v0.10 | `npm run quiver:ai:pr -- --dry-run --ssh-host-alias github-work --identity-file ~/.ssh/github-work` |
24
+
25
+ ## CLI Flags
26
+
27
+ | Flag | Applies to | Purpose |
28
+ |------|------------|---------|
29
+ | `--minimal` | `init` | Create only the essential onboarding contract |
30
+ | `--full` | `init` | Create the broad legacy-compatible layout explicitly |
31
+ | `--legacy-scripts` | `init` | Add legacy Bash wrappers under `tools/scripts/` |
32
+ | `--include-templates` | `init` | Export packaged templates under `.quiver/templates/` |
33
+ | `--skip-install` | `init`, `migrate` | Skip auto-install of `create-quiver` as dev dependency (useful for CI) |
34
+ | `--json` | `plan`, `graph`, `next` | Emit machine-readable JSON |
35
+ | `--format <tree\|mermaid\|dot>` | `graph` | Output format |
36
+ | `--all-ready` | `next` | List all ready slices instead of just the next one |
37
+ | `--only-ready` | `plan` | Show only slices with no pending dependencies |
38
+ | `--spec <slug>` | `plan`, `graph` | Restrict output to one spec |
39
+ | `--provider <codex\|claude\|gemini>` | `ai onboard`, `ai plan`, `ai execute-slice` | Select the local AI CLI adapter |
40
+ | `--role <planner\|executor>` | `ai onboard`, `ai plan`, `ai execute-slice` | Select planner or executor role; `execute-slice` requires executor |
41
+ | `--context <full\|planning\|slice\|minimal>` | `ai onboard`, `ai plan`, `ai execute-slice` | Select a token-budgeted context pack |
42
+ | `--phase <acceptance\|technical-plan\|spec>` | `ai plan` | Select the gated planner phase |
43
+ | `--input <file>` | `ai plan` | Read approved requirements, criteria, or technical plan from a file |
44
+ | `--slice <slice.json>` | `ai execute-slice` | Select the slice handoff to execute |
45
+ | `--ssh-host-alias <alias>` | `ai doctor`, `ai pr` | SSH host alias from the user's Git config, for example `github-work` |
46
+ | `--identity-file <path>` | `ai doctor`, `ai pr` | SSH key path to validate separately from the host alias |
16
47
 
17
48
  ## Notes
18
49
 
19
50
  - Add new rows here only when a command is officially shipped.
20
51
  - Keep the table concise and cross-platform.
21
52
  - 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.
53
+ - `quiver:graph --format mermaid` is the PR-friendly Mermaid export; `--format dot` is for Graphviz/DOT consumers.
23
54
  - `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`.
55
+ - `check-slice` validates `depends_on` targets and requires `parallel_safe_reason` when `parallel_safe` is `never`.
56
+ - `quiver:ai:onboard`, `quiver:ai:plan`, and `quiver:ai:execute-slice` support `codex`, `claude`, and `gemini` through local CLIs. Use `--dry-run` first to inspect the invocation without requiring provider auth.
57
+ - `quiver:ai:execute-slice` uses executor context only and validates changed files against `slice.json.files` after provider execution.
58
+ - `quiver:ai:pr -- --dry-run` validates GitHub CLI, auth, Git remote, current branch/worktree, `docs/GITFLOW_PR_GUIDE.md`, SSH host alias, and identity file without creating a PR.
59
+ - After `init` or `migrate`, Quiver auto-installs itself as a dev dependency. Use `--skip-install` to suppress.
25
60
  - Cross-platform authoring rules live in `docs/SUPPORT_MATRIX.md`.
@@ -11,11 +11,22 @@ This guide explains how to open and review spec PRs without breaking the canonic
11
11
 
12
12
  - One slice = one commit
13
13
  - One spec = one PR
14
+ - One spec should be worked from one dedicated worktree/branch.
14
15
  - Slice numbers reset per spec. `slice-01` is the first slice in each spec.
15
16
  - Do not commit directly to `develop`
16
17
  - Open and merge the documentation PR before the first slice starts execution
17
18
  - Do not open the spec PR before the documentation PR is merged
18
19
 
20
+ ## AI PR Preflight
21
+
22
+ Before asking an AI agent to prepare PR work, validate the local setup:
23
+
24
+ ```bash
25
+ npm run quiver:ai:pr -- --dry-run --ssh-host-alias github-work --identity-file ~/.ssh/github-work
26
+ ```
27
+
28
+ Use the SSH host alias from your Git remote separately from the key path. Quiver validates `gh`, `gh auth status`, the remote, branch/worktree state, this guide, and the identity file. It does not install `gh`, edit SSH config, or create a PR in dry-run mode.
29
+
19
30
  ## Review Guidance
20
31
 
21
32
  - Start with `git diff` and the slice scope before opening full files.
@@ -25,7 +25,7 @@ This is the default context pack for everyday AI work.
25
25
 
26
26
  ## Workflow Overview
27
27
 
28
- - Onboarding starts from `docs/PROJECT_SCAN.json` and `docs/PROJECT_MAP.md`.
28
+ - Onboarding starts from `docs/PROJECT_MAP.md`; use `.quiver/scans/PROJECT_SCAN.json` only when raw analyzer data is needed.
29
29
  - Implementation starts from `specs/{{PROJECT_SLUG}}/slices/<slice-id>/slice.json`.
30
30
  - Review starts from `git diff` and the slice scope.
31
31
  - Debugging starts from the command, exit code, first relevant error, and stacktrace.
@@ -16,6 +16,8 @@ Quiver is intentionally opinionated about the first-run environment. If your set
16
16
  | Base branches | `develop` or `main` | Local base branches are preferred; `origin` is optional. |
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
+ | AI providers | Local `codex`, `claude`, or `gemini` CLI | Required only for non-dry-run AI commands. Dry-run smokes do not require provider auth. |
20
+ | GitHub PR preflight | `gh` plus user-managed SSH config | Quiver validates `gh`, auth, host alias, identity file, branch, worktree, and `docs/GITFLOW_PR_GUIDE.md`; it does not install or edit credentials. |
19
21
 
20
22
  ## Cross-Platform Authoring Rules
21
23
 
@@ -25,6 +27,8 @@ Quiver is intentionally opinionated about the first-run environment. If your set
25
27
  - `--json` is the primary contract; human output is courtesy and may vary.
26
28
  - Colors are TTY-aware and suppressed with `NO_COLOR`; Unicode is opt-in unless UTF-8 is available.
27
29
  - Optional external tools such as `gh` and `graphviz` should be probed and skipped gracefully if missing.
30
+ - Long AI prompts must be sent through stdin or another safe transport, never shell string concatenation.
31
+ - `sshHostAlias` and `identityFile` are separate values. The alias is the host entry used by Git; the identity file is the key path to validate.
28
32
 
29
33
  ## Remote Modes
30
34
 
@@ -48,7 +48,7 @@ Use this guide when a first-run bootstrap or gate check fails. The recovery path
48
48
 
49
49
  ### Symptom
50
50
 
51
- - `init-docs.sh` or a slice bootstrap stops because a file already exists
51
+ - `npx create-quiver init` or a slice bootstrap stops because a file already exists
52
52
  - The generated project has a partially initialized docs tree
53
53
 
54
54
  ### Recovery
@@ -82,3 +82,31 @@ Use this guide when a first-run bootstrap or gate check fails. The recovery path
82
82
  2. If you are using an intermediate build and need a temporary bridge, use WSL2 or Git Bash manually.
83
83
  3. Do not expect Quiver to install Bash, WSL, or MSYS2 for you.
84
84
  4. Re-run the command after the cross-platform support slices are merged and the CI matrix is green.
85
+
86
+ ## AI Provider CLI Missing
87
+
88
+ ### Symptom
89
+
90
+ - `quiver:ai:onboard`, `quiver:ai:plan`, or `quiver:ai:execute-slice` fails before calling the model
91
+ - The error mentions a missing `codex`, `claude`, or `gemini` command
92
+
93
+ ### Recovery
94
+
95
+ 1. Re-run the command with `--dry-run` to validate role, context pack, prompt transport, and paths without provider auth.
96
+ 2. Install or authenticate the selected provider CLI outside Quiver.
97
+ 3. Use `--provider codex`, `--provider claude`, or `--provider gemini` explicitly if your default is unclear.
98
+ 4. Re-run the command from a clean worktree when using `ai execute-slice`.
99
+
100
+ ## GitHub PR Preflight Failure
101
+
102
+ ### Symptom
103
+
104
+ - `quiver:ai:pr` or `quiver:ai:doctor` reports missing `gh`, failed `gh auth status`, missing `docs/GITFLOW_PR_GUIDE.md`, unsafe branch, dirty worktree, or missing SSH identity file
105
+
106
+ ### Recovery
107
+
108
+ 1. Install `gh` for your OS and run `gh auth login`.
109
+ 2. Confirm `docs/GITFLOW_PR_GUIDE.md` exists in the project.
110
+ 3. Commit or stash unrelated changes before PR preflight.
111
+ 4. Pass the SSH host alias and key path separately, for example `--ssh-host-alias github-work --identity-file ~/.ssh/github-work`.
112
+ 5. Re-run with `--dry-run`; Quiver validates the setup but does not open a PR in dry-run mode.
@@ -21,7 +21,7 @@ This document is the canonical implementation workflow for the project.
21
21
 
22
22
  ## Mode-Aware Context Selection
23
23
 
24
- - **Onboarding:** read `PROJECT_SCAN.json`, `PROJECT_MAP.md`, `AI_CONTEXT.md`, and `AI_ONBOARDING_PROMPT.md` before source files.
24
+ - **Onboarding:** read `docs/PROJECT_MAP.md`, `docs/AI_CONTEXT.md`, and `docs/AI_ONBOARDING_PROMPT.md` before source files. Use `.quiver/scans/PROJECT_SCAN.json` only when the visible project map is not enough.
25
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
26
  - **Handoff:** read `specs/<project-slug>/HANDOFF.md` when the work was explicitly transferred through a handoff artifact.
27
27
  - Validate a received handoff with `npx create-quiver check-handoff specs/<project-slug>/HANDOFF.md` before starting execution.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-quiver",
3
- "version": "0.9.0",
3
+ "version": "0.10.0",
4
4
  "private": false,
5
5
  "description": "Quiver CLI for scaffolding projects from the packaged template",
6
6
  "license": "MIT",
@@ -16,6 +16,11 @@
16
16
  "quiver:plan": "npx create-quiver plan",
17
17
  "quiver:graph": "npx create-quiver graph",
18
18
  "quiver:next": "npx create-quiver next",
19
+ "quiver:ai:onboard": "npx create-quiver ai onboard",
20
+ "quiver:ai:plan": "npx create-quiver ai plan",
21
+ "quiver:ai:execute-slice": "npx create-quiver ai execute-slice",
22
+ "quiver:ai:pr": "npx create-quiver ai pr",
23
+ "quiver:ai:doctor": "npx create-quiver ai doctor",
19
24
  "package:quiver": "bash scripts/package-quiver.sh",
20
25
  "smoke:create-quiver": "bash scripts/ci/smoke-create-quiver.sh",
21
26
  "smoke:tiered-pack": "bash scripts/ci/smoke-tiered-pack.sh",