create-quiver 0.10.0 → 0.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/BACKLOG.md +16 -17
- package/CHANGELOG.md +34 -0
- package/README.md +174 -39
- package/README_FOR_AI.md +48 -24
- package/ROADMAP.md +22 -11
- package/docs/AI_CONTEXT.md.template +2 -0
- package/docs/AI_ONBOARDING_PROMPT.md.template +25 -18
- package/docs/COMMANDS.md.template +59 -11
- package/docs/CONTEXTO.md.template +2 -0
- package/docs/DECISIONS.md.template +1 -0
- package/docs/INDEX.md.template +20 -18
- package/docs/STATUS.md.template +1 -0
- package/docs/SUPPORT_MATRIX.md.template +2 -2
- package/docs/TROUBLESHOOTING.md.template +50 -0
- package/docs/WORKFLOW.md.template +25 -17
- package/package.json +19 -2
- package/package.template.json +13 -1
- package/scripts/init-docs.sh +11 -4
- package/scripts/package-quiver.sh +18 -2
- package/specs/quiver-v22-guided-ai-workflow/EVIDENCE_REPORT.md +58 -0
- package/specs/quiver-v22-guided-ai-workflow/EXECUTION_PLAN.md +88 -0
- package/specs/quiver-v22-guided-ai-workflow/SPEC.md +228 -0
- package/specs/quiver-v22-guided-ai-workflow/STATUS.md +42 -0
- package/specs/quiver-v22-guided-ai-workflow/pr.md +104 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-00-spec-foundation/CLOSURE_BRIEF.md +35 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-00-spec-foundation/EXECUTION_BRIEF.md +61 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-00-spec-foundation/slice.json +51 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-01-docs-source-of-truth-sync/CLOSURE_BRIEF.md +31 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-01-docs-source-of-truth-sync/EXECUTION_BRIEF.md +58 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-01-docs-source-of-truth-sync/slice.json +55 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-02-prepare-command-diagnostics/CLOSURE_BRIEF.md +30 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-02-prepare-command-diagnostics/EXECUTION_BRIEF.md +57 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-02-prepare-command-diagnostics/slice.json +57 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-03-context-doc-refresh/CLOSURE_BRIEF.md +32 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-03-context-doc-refresh/EXECUTION_BRIEF.md +56 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-03-context-doc-refresh/slice.json +56 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-04-planner-approval-state/CLOSURE_BRIEF.md +33 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-04-planner-approval-state/EXECUTION_BRIEF.md +56 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-04-planner-approval-state/slice.json +58 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-05-spec-worktree-lifecycle/CLOSURE_BRIEF.md +32 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-05-spec-worktree-lifecycle/EXECUTION_BRIEF.md +56 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-05-spec-worktree-lifecycle/slice.json +54 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-06-executor-commit-recovery/CLOSURE_BRIEF.md +32 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-06-executor-commit-recovery/EXECUTION_BRIEF.md +58 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-06-executor-commit-recovery/slice.json +57 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-07-execution-waves-delegation/CLOSURE_BRIEF.md +32 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-07-execution-waves-delegation/EXECUTION_BRIEF.md +58 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-07-execution-waves-delegation/slice.json +55 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-08-pr-create-gh-ssh/CLOSURE_BRIEF.md +32 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-08-pr-create-gh-ssh/EXECUTION_BRIEF.md +58 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-08-pr-create-gh-ssh/slice.json +53 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-09-post-merge-cleanup-release-safety/CLOSURE_BRIEF.md +33 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-09-post-merge-cleanup-release-safety/EXECUTION_BRIEF.md +59 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-09-post-merge-cleanup-release-safety/slice.json +59 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-10-docs-smokes-release-readiness/CLOSURE_BRIEF.md +34 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-10-docs-smokes-release-readiness/EXECUTION_BRIEF.md +58 -0
- package/specs/quiver-v22-guided-ai-workflow/slices/slice-10-docs-smokes-release-readiness/slice.json +60 -0
- package/specs/quiver-v23-guided-flow-productization/EVIDENCE_REPORT.md +80 -0
- package/specs/quiver-v23-guided-flow-productization/EXECUTION_PLAN.md +80 -0
- package/specs/quiver-v23-guided-flow-productization/SPEC.md +203 -0
- package/specs/quiver-v23-guided-flow-productization/STATUS.md +39 -0
- package/specs/quiver-v23-guided-flow-productization/pr.md +119 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-00-spec-foundation/CLOSURE_BRIEF.md +30 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-00-spec-foundation/EXECUTION_BRIEF.md +61 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-00-spec-foundation/slice.json +51 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-01-short-command-and-flow-entrypoint/CLOSURE_BRIEF.md +33 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-01-short-command-and-flow-entrypoint/EXECUTION_BRIEF.md +35 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-01-short-command-and-flow-entrypoint/slice.json +56 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-02-flow-status-wizard/CLOSURE_BRIEF.md +31 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-02-flow-status-wizard/EXECUTION_BRIEF.md +29 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-02-flow-status-wizard/slice.json +55 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-03-agent-profiles/CLOSURE_BRIEF.md +33 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-03-agent-profiles/EXECUTION_BRIEF.md +29 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-03-agent-profiles/slice.json +54 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-04-context-preparation-onboarding/CLOSURE_BRIEF.md +32 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-04-context-preparation-onboarding/EXECUTION_BRIEF.md +30 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-04-context-preparation-onboarding/slice.json +59 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-05-planner-iteration-history/CLOSURE_BRIEF.md +31 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-05-planner-iteration-history/EXECUTION_BRIEF.md +29 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-05-planner-iteration-history/slice.json +53 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-06-production-plan-review/CLOSURE_BRIEF.md +33 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-06-production-plan-review/EXECUTION_BRIEF.md +30 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-06-production-plan-review/slice.json +54 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-07-spec-create-experience/CLOSURE_BRIEF.md +33 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-07-spec-create-experience/EXECUTION_BRIEF.md +30 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-07-spec-create-experience/slice.json +55 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-08-executor-prompt-generation/CLOSURE_BRIEF.md +32 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-08-executor-prompt-generation/EXECUTION_BRIEF.md +30 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-08-executor-prompt-generation/slice.json +55 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-09-delegated-slice-execution/CLOSURE_BRIEF.md +33 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-09-delegated-slice-execution/EXECUTION_BRIEF.md +34 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-09-delegated-slice-execution/slice.json +57 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-10-docs-smokes-release-readiness/CLOSURE_BRIEF.md +33 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-10-docs-smokes-release-readiness/EXECUTION_BRIEF.md +32 -0
- package/specs/quiver-v23-guided-flow-productization/slices/slice-10-docs-smokes-release-readiness/slice.json +63 -0
- package/specs/quiver-v24-dx-onboarding-hardening/EVIDENCE_REPORT.md +55 -0
- package/specs/quiver-v24-dx-onboarding-hardening/EXECUTION_PLAN.md +43 -0
- package/specs/quiver-v24-dx-onboarding-hardening/SPEC.md +149 -0
- package/specs/quiver-v24-dx-onboarding-hardening/STATUS.md +31 -0
- package/specs/quiver-v24-dx-onboarding-hardening/pr.md +76 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-00-spec-foundation/CLOSURE_BRIEF.md +31 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-00-spec-foundation/EXECUTION_BRIEF.md +52 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-00-spec-foundation/slice.json +51 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-01-init-template-hygiene/CLOSURE_BRIEF.md +38 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-01-init-template-hygiene/EXECUTION_BRIEF.md +53 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-01-init-template-hygiene/slice.json +55 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-02-cli-command-routing-version-errors/CLOSURE_BRIEF.md +33 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-02-cli-command-routing-version-errors/EXECUTION_BRIEF.md +50 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-02-cli-command-routing-version-errors/slice.json +52 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-03-doctor-fix-doc-link-checks/CLOSURE_BRIEF.md +33 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-03-doctor-fix-doc-link-checks/EXECUTION_BRIEF.md +50 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-03-doctor-fix-doc-link-checks/slice.json +53 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-04-prepare-output-ai-context-drafts/CLOSURE_BRIEF.md +33 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-04-prepare-output-ai-context-drafts/EXECUTION_BRIEF.md +50 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-04-prepare-output-ai-context-drafts/slice.json +70 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-05-local-slice-validation-base-guidance/CLOSURE_BRIEF.md +36 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-05-local-slice-validation-base-guidance/EXECUTION_BRIEF.md +49 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-05-local-slice-validation-base-guidance/slice.json +52 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-06-plan-graph-next-history-views/CLOSURE_BRIEF.md +43 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-06-plan-graph-next-history-views/EXECUTION_BRIEF.md +53 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-06-plan-graph-next-history-views/slice.json +60 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-07-analyzer-command-map-hardening/CLOSURE_BRIEF.md +32 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-07-analyzer-command-map-hardening/EXECUTION_BRIEF.md +50 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-07-analyzer-command-map-hardening/slice.json +51 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-08-evidence-run-command/CLOSURE_BRIEF.md +34 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-08-evidence-run-command/EXECUTION_BRIEF.md +52 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-08-evidence-run-command/slice.json +54 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-09-spec-viewer-demo-scaffolding/CLOSURE_BRIEF.md +34 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-09-spec-viewer-demo-scaffolding/EXECUTION_BRIEF.md +51 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-09-spec-viewer-demo-scaffolding/slice.json +59 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-10-docs-smokes-release-readiness/CLOSURE_BRIEF.md +33 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-10-docs-smokes-release-readiness/EXECUTION_BRIEF.md +54 -0
- package/specs/quiver-v24-dx-onboarding-hardening/slices/slice-10-docs-smokes-release-readiness/slice.json +76 -0
- package/src/create-quiver/commands/ai.js +508 -35
- package/src/create-quiver/commands/demo.js +22 -0
- package/src/create-quiver/commands/evidence.js +37 -0
- package/src/create-quiver/commands/flow.js +561 -0
- package/src/create-quiver/commands/graph.js +14 -1
- package/src/create-quiver/commands/next.js +28 -0
- package/src/create-quiver/commands/plan.js +6 -3
- package/src/create-quiver/commands/prepare.js +236 -0
- package/src/create-quiver/commands/spec.js +133 -0
- package/src/create-quiver/index.js +688 -25
- package/src/create-quiver/lib/agent-profiles.js +148 -0
- package/src/create-quiver/lib/ai/context-packs.js +12 -0
- package/src/create-quiver/lib/ai/execution-plan.js +370 -10
- package/src/create-quiver/lib/ai/executor.js +376 -17
- package/src/create-quiver/lib/ai/github.js +196 -0
- package/src/create-quiver/lib/ai/onboarding-template.js +365 -0
- package/src/create-quiver/lib/ai/plan-review.js +283 -0
- package/src/create-quiver/lib/ai/providers.js +1 -0
- package/src/create-quiver/lib/ai/safety.js +5 -0
- package/src/create-quiver/lib/ai/spec-templates.js +2 -2
- package/src/create-quiver/lib/approvals.js +350 -0
- package/src/create-quiver/lib/demo.js +657 -0
- package/src/create-quiver/lib/doctor.js +234 -0
- package/src/create-quiver/lib/evidence.js +115 -0
- package/src/create-quiver/lib/init-docs.js +284 -17
- package/src/create-quiver/lib/init-layout.js +26 -1
- package/src/create-quiver/lib/lifecycle.js +6 -0
- package/src/create-quiver/lib/package-safety.js +117 -0
- package/src/create-quiver/lib/readiness.js +85 -18
- package/src/create-quiver/lib/slice-graph.js +1 -0
- package/src/create-quiver/lib/slice.js +8 -8
- package/src/create-quiver/lib/spec-worktrees.js +349 -0
package/README_FOR_AI.md
CHANGED
|
@@ -4,13 +4,22 @@ Use this guide when initializing a new project with Quiver or when explaining th
|
|
|
4
4
|
|
|
5
5
|
The first AI job in a generated project is context preparation, not product implementation.
|
|
6
6
|
|
|
7
|
-
Important: slice numbering resets inside each spec. `slice-
|
|
7
|
+
Important: slice numbering resets inside each spec. `slice-00` is the mandatory documentary foundation for a spec; `slice-01` is the first implementation slice, not a global repo counter.
|
|
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
|
-
The
|
|
10
|
+
The package also exposes `quiver` as a binary alias to the same CLI. Treat it as a local installed shortcut, not as a replacement for the bootstrap command `npx create-quiver`.
|
|
11
|
+
The post-init contract is validated with `npx create-quiver doctor` from the project root. Use `npx create-quiver doctor --fix --dry-run` to preview safe non-destructive repairs, then `npx create-quiver doctor --fix` only after reviewing the plan.
|
|
11
12
|
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
13
|
If the project was never initialized by Quiver, do not use `migrate` as bootstrap; run `npx create-quiver init --name "Project Name"` first.
|
|
13
|
-
|
|
14
|
+
Use `npx create-quiver evidence run -- <command>` to capture validation evidence with command, exit code, duration, truncated output, and best-effort redaction. The safe default output is `.quiver/evidence/`; use `--output <file>` when a slice needs a specific evidence artifact.
|
|
15
|
+
Use `npx create-quiver demo create spec-viewer --dry-run` to inspect the optional Quiver Spec Viewer demo scaffold, then add `--dir <target>` for a real run. The demo is not part of default init and must remain small, static, dependency-light, and non-destructive.
|
|
16
|
+
The v20, v21, v22, and v23 specs are completed. `specs/quiver-v23-guided-flow-productization/` productized the manual planner/executor prompt workflow into guided Quiver commands, profiles, compact prompts, safe approvals, executor prompts, delegated execution modes, and release readiness evidence.
|
|
17
|
+
The v24 spec is implemented under `specs/quiver-v24-dx-onboarding-hardening/`; it captures DX hardening found while dogfooding Quiver with Quiver Spec Viewer, including init hygiene, CLI ambiguity, local slice validation, analyzer quality, AI context preparation, evidence capture, and demo scaffolding. Do not claim a package release until npm publication actually happens.
|
|
18
|
+
Guided AI workflow behavior is available: prepare, approvals, production-readiness plan review, spec worktrees, executor commits, execution waves, PR creation, spec close, and package safety.
|
|
19
|
+
Generated projects also get `quiver:*` npm scripts that call the Node CLI directly; prefer those for repeatable project workflows, including `quiver:flow` for the read-only guided entrypoint, `quiver:plan` for sequential planning, `quiver:graph` for parallel-level inspection, `quiver:next` for the next ready slice, `quiver:evidence` for local command evidence, `quiver:spec:create` for real spec generation, and the AI family `quiver:ai:agent`, `quiver:ai:onboard`, `quiver:ai:prepare-context`, `quiver:ai:plan`, `quiver:ai:review-plan`, `quiver:ai:approve`, `quiver:ai:prompt-slice`, `quiver:ai:execute-slice`, `quiver:ai:execute-plan`, `quiver:ai:pr`, and `quiver:ai:doctor`. Use `quiver:graph --format mermaid` for PR-ready Markdown or `quiver:graph --format dot` for Graphviz source.
|
|
20
|
+
`quiver:ai:execute-plan` supports `--mode manual` for paste-ready executor prompts and `--mode delegated` for temporary worktrees on parallel-ready waves; unsafe waves fall back to sequential execution.
|
|
21
|
+
Agent profiles live in `.quiver/agents/profiles.json`; they store role, provider, model label, context label, and display label only. Do not store API keys, tokens, or credentials there.
|
|
22
|
+
Planner drafts are versioned under `.quiver/approvals/<phase>/drafts/`; review the technical-plan draft with `npx create-quiver ai review-plan --dry-run` before approving it, then approve a concrete version with `npx create-quiver ai approve --phase <phase> --version <n>` when reviewing iterations.
|
|
14
23
|
Maintain release notes and package publishing with `scripts/release-quiver.sh`.
|
|
15
24
|
The primary generated project context for agents is `docs/AI_CONTEXT.md`.
|
|
16
25
|
The project map is the single source of truth for stack, package manager, commands, and file hints: `docs/PROJECT_MAP.md`.
|
|
@@ -21,6 +30,7 @@ If a generated project has been analyzed, the exact agent handoff prompt is `doc
|
|
|
21
30
|
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`.
|
|
22
31
|
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`.
|
|
23
32
|
Use `npx create-quiver check-handoff specs/<project-slug>/HANDOFF.md` to validate a transferred handoff before execution.
|
|
33
|
+
Use `npx create-quiver check-slice --local <slice.json>` for structural validation in a new repo without remote/base branches; run normal `check-slice` before PR readiness so base/remote checks still happen.
|
|
24
34
|
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
35
|
|
|
26
36
|
## Token-Efficient Reading Rules
|
|
@@ -48,12 +58,14 @@ Prefer maps, metadata, diffs, and summaries over full file reads when they are e
|
|
|
48
58
|
- `specs/<project-slug>/HANDOFF.md` is reserved for exceptional context transfers between agents or phases.
|
|
49
59
|
- Initial onboarding should complete context docs and report assumptions before any feature work starts.
|
|
50
60
|
- The normal workflow runs from the project root without `--dir`; use `--dir` only when targeting another directory explicitly.
|
|
51
|
-
- The cross-platform
|
|
61
|
+
- The cross-platform contract targets native macOS, Linux, and Windows users through the Node CLI (`npx create-quiver ...`) and generated `quiver:*` npm scripts. Bash wrappers are legacy or optional compatibility, not the primary path. Keep root README examples clear about adapting SSH identity paths on Windows PowerShell, Git Bash, WSL, macOS, and Linux.
|
|
52
62
|
- The support contract lives in `docs/SUPPORT_MATRIX.md` and `docs/TROUBLESHOOTING.md`.
|
|
53
|
-
- 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`.
|
|
63
|
+
- Generated project npm scripts should prefer `quiver:*` names such as `quiver:analyze`, `quiver:flow`, `quiver:plan`, `quiver:graph`, `quiver:next`, `quiver:doctor`, `quiver:evidence`, `quiver:ai:agent`, `quiver:ai:prepare-context`, `quiver:ai:plan`, `quiver:ai:review-plan`, `quiver:ai:approve`, `quiver:ai:prompt-slice`, `quiver:ai:execute-slice`, `quiver:ai:execute-plan`, `quiver:spec:create`, `quiver:spec:start`, `quiver:spec:status`, `quiver:spec:close`, `quiver:start-slice`, `quiver:check-slice`, and `quiver:check-pr`.
|
|
64
|
+
- Optional demos are created with `npx create-quiver demo create spec-viewer`; do not add demo output to the package or default init flow.
|
|
54
65
|
- `quiver:graph` defaults to the tree view; choose `--format mermaid` or `--format dot` when you need exportable graph artifacts.
|
|
55
66
|
- `quiver:next` prints the next ready slice and can auto-start it behind a confirmation prompt.
|
|
56
67
|
- `quiver:next --all-ready` prints the whole ready level when you want to inspect every actionable slice at once.
|
|
68
|
+
- Use `--include-completed` with `plan`, `graph`, or `next` only for audit/demo history; default output remains pending/actionable work.
|
|
57
69
|
|
|
58
70
|
## Initialization Flow
|
|
59
71
|
|
|
@@ -61,6 +73,7 @@ Prefer maps, metadata, diffs, and summaries over full file reads when they are e
|
|
|
61
73
|
|
|
62
74
|
```bash
|
|
63
75
|
npx create-quiver init --name "Project Name"
|
|
76
|
+
npx create-quiver flow
|
|
64
77
|
```
|
|
65
78
|
|
|
66
79
|
The compatibility alias is still valid:
|
|
@@ -94,6 +107,7 @@ Default init creates the visible AI-first contract and Quiver internal state:
|
|
|
94
107
|
- `docs/AI_ONBOARDING_PROMPT.md`
|
|
95
108
|
- `docs/SUPPORT_MATRIX.md`
|
|
96
109
|
- `docs/TROUBLESHOOTING.md`
|
|
110
|
+
- `.gitignore`
|
|
97
111
|
- `.quiver/config.json`
|
|
98
112
|
- `.quiver/state.json`
|
|
99
113
|
- `.quiver/.gitignore`
|
|
@@ -114,27 +128,37 @@ Init preserves existing target files and reports skipped copies instead of overw
|
|
|
114
128
|
|
|
115
129
|
After initialization, the user should:
|
|
116
130
|
|
|
117
|
-
1.
|
|
118
|
-
2. Fill in `docs/
|
|
119
|
-
3. Fill in `docs/
|
|
120
|
-
4. Fill in `docs/
|
|
121
|
-
5.
|
|
122
|
-
6.
|
|
123
|
-
7. If the project was
|
|
124
|
-
8.
|
|
125
|
-
9.
|
|
126
|
-
10.
|
|
127
|
-
11.
|
|
128
|
-
12.
|
|
129
|
-
13.
|
|
130
|
-
14.
|
|
131
|
-
15.
|
|
132
|
-
16.
|
|
133
|
-
17.
|
|
134
|
-
18.
|
|
135
|
-
19.
|
|
131
|
+
1. Run `npx create-quiver flow` when unsure about the next safe command
|
|
132
|
+
2. Fill in `docs/AI_CONTEXT.md`
|
|
133
|
+
3. Fill in `docs/AI_ONBOARDING_PROMPT.md`
|
|
134
|
+
4. Fill in `docs/CONTEXTO.md`
|
|
135
|
+
5. Fill in `docs/STATUS.md`
|
|
136
|
+
6. Run `npx create-quiver analyze` if `docs/PROJECT_MAP.md` or `.quiver/scans/PROJECT_SCAN.json` is missing
|
|
137
|
+
7. If the project already exists from an older Quiver version and was previously initialized by Quiver, run `npx create-quiver migrate`
|
|
138
|
+
8. If the project was never initialized by Quiver, run `npx create-quiver init --name "Project Name"` instead of `migrate`
|
|
139
|
+
9. Ask the AI agent to execute `docs/AI_ONBOARDING_PROMPT.md`
|
|
140
|
+
10. Review context docs before creating the first implementation slice
|
|
141
|
+
11. Open and merge the documentation PR that establishes the workflow files
|
|
142
|
+
12. Save reusable provider choices with `npx create-quiver ai agent set planner --provider <provider> --model "<label>"` and `npx create-quiver ai agent set executor --provider <provider> --model "<label>"`
|
|
143
|
+
13. Use `npx create-quiver ai plan --phase acceptance --input requirements.md --dry-run`
|
|
144
|
+
14. After human approval, save approved criteria with `npx create-quiver ai approve --phase acceptance --input acceptance-approved.md`
|
|
145
|
+
15. Use `npx create-quiver ai plan --phase technical-plan --dry-run`
|
|
146
|
+
16. Review the technical plan with `npx create-quiver ai review-plan --dry-run`, then run it without `--dry-run` when ready
|
|
147
|
+
17. After human approval, save the reviewed plan version with `npx create-quiver ai approve --phase technical-plan --version <n>`
|
|
148
|
+
18. Use `npx create-quiver spec create --dry-run` to preview the real spec, slices, handoffs, execution plan, and PR body, then run it without `--dry-run` when ready
|
|
149
|
+
19. Run `npx create-quiver spec start specs/<spec-slug>` to create or reuse the spec worktree
|
|
150
|
+
20. Run `npx create-quiver plan` or `npm run quiver:plan`
|
|
151
|
+
21. Run `npx create-quiver next` or `npm run quiver:next`
|
|
152
|
+
22. Run `npx create-quiver ai execute-plan --dry-run --commit --mode manual` to inspect prompts, or `npx create-quiver ai execute-plan --dry-run --commit --mode delegated` to inspect delegated execution waves
|
|
153
|
+
23. For manual assignment, print a minimal executor prompt with `npx create-quiver ai prompt-slice --slice <slice.json> --dry-run`
|
|
154
|
+
24. Execute one slice with `npx create-quiver ai execute-slice --slice <slice.json> --commit` or execute delegated waves with `npx create-quiver ai execute-plan --execute --commit --mode delegated`
|
|
155
|
+
25. Keep one commit per slice
|
|
156
|
+
26. Open one PR per spec with `npx create-quiver ai pr --dry-run --input specs/<spec-slug>/pr.md ...`, then `--create` only after review
|
|
157
|
+
27. After merge, close the worktree with `npx create-quiver spec close specs/<spec-slug>`
|
|
158
|
+
28. Validate the slice and the final PR with the workflow gates
|
|
136
159
|
|
|
137
160
|
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.
|
|
161
|
+
Release note: `scripts/package-quiver.sh` runs package safety against the npm tarball and must fail if local AI state, env files, npm credentials, or worktree state would be published.
|
|
138
162
|
|
|
139
163
|
## Optional Files
|
|
140
164
|
|
package/ROADMAP.md
CHANGED
|
@@ -47,22 +47,33 @@
|
|
|
47
47
|
- v13 slice-04 reconciled into v14 slice-05 (2026-04-23); v13 slice-02 narrowed to `DECISIONS.md` only
|
|
48
48
|
- Validation checkpoint passed after real-world use and spec completion
|
|
49
49
|
|
|
50
|
-
##
|
|
50
|
+
## v0.10 (shipped 2026-05-21)
|
|
51
|
+
|
|
52
|
+
- Published package `0.10.0`.
|
|
53
|
+
- Shipped v20 AI CLI orchestration: provider runner, planner/executor roles, context packs, phase-gated planning, spec/slice/handoff generation, execution planning, executor scope checks, and GitHub PR preflight.
|
|
54
|
+
- Shipped v21 AI-first layout: smaller default init, `.quiver/` internal machinery, analyze scan relocation, optional legacy/full assets, and no placeholder specs by default.
|
|
55
|
+
- Shipped v22 Guided AI Workflow after `0.10.0`: preparation diagnostics, approval state, spec worktrees, executor commits, execution waves, PR creation, post-merge cleanup, and release/package safety are implemented on the release branch.
|
|
56
|
+
- Shipped v23 Guided Flow Productization after `0.10.0`: short `quiver` entrypoint, flow status, agent profiles, token-efficient onboarding, versioned planner drafts, production plan review, spec create, executor prompts, delegated worktrees, and final smoke/readiness coverage are implemented on the release branch and ready for the next package release.
|
|
57
|
+
|
|
58
|
+
## v0.11 — DX Onboarding Hardening (implemented, pending package release)
|
|
51
59
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
60
|
+
- **v24** — DX and onboarding hardening from real Quiver Spec Viewer dogfooding: init hygiene, CLI ambiguity, version mismatch checks, local slice validation, analyzer quality, AI context preparation, evidence capture, optional demo scaffolding, documentation, and smoke coverage are implemented on the release branch. No npm release is implied until publication happens.
|
|
61
|
+
|
|
62
|
+
## Post-Checkpoint Plan (do not execute before validating v14)
|
|
55
63
|
|
|
56
|
-
|
|
64
|
+
> This section now records the follow-up line from the v14-era plan.
|
|
65
|
+
> Earlier speculative v20/v21 names were superseded by the actual shipped
|
|
66
|
+
> specs listed below. v22 and v23 are now complete and await the next package release.
|
|
57
67
|
|
|
58
|
-
|
|
68
|
+
### Orchestration and Tooling
|
|
59
69
|
|
|
60
|
-
- **
|
|
61
|
-
- **
|
|
62
|
-
- **
|
|
63
|
-
- **
|
|
70
|
+
- **v20 — AI CLI Orchestration** (completed): `quiver ai ...`, planner/executor roles, phase gates, context packs, executor scope checks, execution plans, and PR preflight.
|
|
71
|
+
- **v21 — AI-First Layout** (completed): clean default init, `.quiver/` internals, analyze scan relocation, optional legacy assets, and no-spec-safe commands.
|
|
72
|
+
- **v22 — Guided AI Workflow** (completed): guided preparation, approvals, spec worktrees, executor commits, execution waves, PR creation, cleanup, and release/package safety live in `specs/quiver-v22-guided-ai-workflow/`.
|
|
73
|
+
- **v23 — Guided Flow Productization** (completed): AI-first flow command, agent profiles, compact onboarding/planning prompts, production plan review, explicit `spec create`, manual executor prompts, delegated worktree execution, and release readiness live in `specs/quiver-v23-guided-flow-productization/`.
|
|
74
|
+
- **v24 — DX Onboarding Hardening** (implemented, pending package release): real-world dogfooding fixes for init/templates, CLI routing, doctor/prepare, local validation, analyzer, AI context preparation, evidence, and demos live in `specs/quiver-v24-dx-onboarding-hardening/`.
|
|
64
75
|
|
|
65
|
-
|
|
76
|
+
The shipped v20/v21/v22/v23 work is no longer pending. The older context-diagnostics and slice-archaeology ideas remain deferred until real demand justifies them.
|
|
66
77
|
|
|
67
78
|
### v0.8 — Slice Orchestration Commands (shipped 2026-05-13)
|
|
68
79
|
|
|
@@ -25,6 +25,7 @@ This file is the main context pack after `AGENTS.md` and `docs/PROJECT_MAP.md`.
|
|
|
25
25
|
- `docs/AI_ONBOARDING_PROMPT.md` is the handoff after analysis.
|
|
26
26
|
- `docs/DECISIONS.md` tracks durable choices so agents do not re-litigate them.
|
|
27
27
|
- `docs/STATUS.md` tracks progress, blockers, and the current slice.
|
|
28
|
+
- `npx create-quiver ai prepare-context --dry-run` previews docs-only context drafts before writing.
|
|
28
29
|
|
|
29
30
|
## Critical Rules
|
|
30
31
|
|
|
@@ -35,6 +36,7 @@ This file is the main context pack after `AGENTS.md` and `docs/PROJECT_MAP.md`.
|
|
|
35
36
|
- Use canonical paths when a path matters.
|
|
36
37
|
- Never overwrite user-authored content without checking whether the file is meant to be preserved.
|
|
37
38
|
- If a command or path is ambiguous, prefer the local project root and the generated docs.
|
|
39
|
+
- Context preparation must stay in docs/context files and should use TODO, Assumption, or Pending confirmation markers for uncertain statements.
|
|
38
40
|
|
|
39
41
|
## What To Update After A Slice
|
|
40
42
|
|
|
@@ -9,23 +9,16 @@ Actúa como asistente de onboarding de IA para este proyecto. Tu objetivo es com
|
|
|
9
9
|
|
|
10
10
|
## Reglas de ejecución
|
|
11
11
|
|
|
12
|
-
1. Comienza
|
|
13
|
-
- `README.md
|
|
14
|
-
- `AGENTS.md`, si existe
|
|
15
|
-
- `docs/
|
|
16
|
-
- `docs/PROJECT_MAP.md`
|
|
17
|
-
-
|
|
18
|
-
- `docs/
|
|
19
|
-
-
|
|
20
|
-
- `docs
|
|
21
|
-
-
|
|
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
|
|
12
|
+
1. Comienza con navegación index-first y lectura selectiva:
|
|
13
|
+
- Lee `README.md`.
|
|
14
|
+
- Lee `AGENTS.md`, si existe.
|
|
15
|
+
- Lee `docs/INDEX.md`, si existe, y úsalo como mapa para decidir qué abrir después.
|
|
16
|
+
- Lee `docs/PROJECT_MAP.md` para stack, comandos y estructura. Usa `.quiver/scans/PROJECT_SCAN.json` solo si el mapa visible no alcanza.
|
|
17
|
+
- Lee `docs/AI_CONTEXT.md`, `docs/AI_ONBOARDING_PROMPT.md`, `docs/WORKFLOW.md`, `docs/STATUS.md` y `docs/DECISIONS.md` solo cuando existan y sean relevantes para la tarea.
|
|
18
|
+
- Si usás `npx create-quiver ai prepare-context`, revisá los borradores propuestos antes de escribir y mantené las escrituras limitadas a docs/context.
|
|
19
|
+
- Lee specs, slices o handoffs solo si la tarea actual lo requiere.
|
|
20
|
+
- No leas todo `docs/` por defecto.
|
|
21
|
+
- Si un documento referenciado no existe, repórtalo como deuda documental.
|
|
29
22
|
|
|
30
23
|
2. Sigue las instrucciones definidas en `docs/AI_ONBOARDING_PROMPT.md`, salvo que entren en conflicto con las restricciones de este prompt.
|
|
31
24
|
|
|
@@ -78,9 +71,22 @@ Prefiere resúmenes, deltas y metadatos antes que lecturas completas cuando sean
|
|
|
78
71
|
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
72
|
|
|
80
73
|
```bash
|
|
74
|
+
npm run quiver:prepare -- --dry-run
|
|
75
|
+
npm run quiver:ai:prepare-context -- --dry-run
|
|
81
76
|
npm run quiver:ai:onboard -- --dry-run
|
|
82
77
|
npm run quiver:ai:plan -- --phase acceptance --input requirements.md --dry-run
|
|
83
|
-
npm run quiver:ai:
|
|
78
|
+
npm run quiver:ai:approve -- --phase acceptance --input acceptance-approved.md
|
|
79
|
+
npm run quiver:ai:plan -- --phase technical-plan --dry-run
|
|
80
|
+
npm run quiver:ai:review-plan -- --dry-run
|
|
81
|
+
npm run quiver:ai:approve -- --phase technical-plan --version <n>
|
|
82
|
+
npm run quiver:spec:create -- --dry-run
|
|
83
|
+
npm run quiver:spec:start -- specs/{{PROJECT_SLUG}}
|
|
84
|
+
npm run quiver:ai:prompt-slice -- --slice specs/{{PROJECT_SLUG}}/slices/<slice-id>/slice.json --dry-run
|
|
85
|
+
npm run quiver:ai:execute-slice -- --slice specs/{{PROJECT_SLUG}}/slices/<slice-id>/slice.json --dry-run --commit
|
|
86
|
+
npm run quiver:ai:execute-plan -- --dry-run --commit --mode manual
|
|
87
|
+
npm run quiver:ai:execute-plan -- --dry-run --commit --mode delegated
|
|
88
|
+
npm run quiver:ai:pr -- --dry-run --input specs/{{PROJECT_SLUG}}/pr.md --ssh-host-alias github-work --identity-file ~/.ssh/github-work
|
|
89
|
+
npm run quiver:spec:close -- specs/{{PROJECT_SLUG}} --dry-run
|
|
84
90
|
```
|
|
85
91
|
|
|
86
92
|
## Tareas
|
|
@@ -93,6 +99,7 @@ npm run quiver:ai:execute-slice -- --slice specs/{{PROJECT_SLUG}}/slices/<slice-
|
|
|
93
99
|
6. Si existe un handoff, trátalo como brief de transferencia y valida que aplique al trabajo solicitado.
|
|
94
100
|
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
101
|
8. Registra los archivos inspeccionados, los archivos modificados y las suposiciones realizadas.
|
|
102
|
+
9. Cuando prepares contexto, marca las incertidumbres como `TODO`, `Assumption` o `Pending confirmation` y evita tocar código de producto.
|
|
96
103
|
|
|
97
104
|
## Validación
|
|
98
105
|
|
|
@@ -11,16 +11,38 @@ This document is the canonical command reference for the orchestration roadmap.
|
|
|
11
11
|
|---------|---------|----|-------|---------|
|
|
12
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
13
|
| `npx create-quiver --name "<project>"` | Compatibility alias for the recommended init flow | macOS, Linux, Windows | current | `npx create-quiver --name "{{PROJECT_NAME}}"` |
|
|
14
|
+
| `npx create-quiver flow` | Shows the read-only guided flow entrypoint and next safe command | macOS, Linux, Windows | v0.11 | `npx create-quiver flow` |
|
|
14
15
|
| `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` |
|
|
16
|
+
| `quiver:flow` | Runs the guided flow entrypoint through the generated npm script | macOS, Linux, Windows | v0.11 | `npm run quiver:flow` |
|
|
17
|
+
| `quiver:prepare` | Runs guided setup diagnostics and context preparation | macOS, Linux, Windows | v0.10 | `npm run quiver:prepare -- --dry-run --provider codex` |
|
|
15
18
|
| `quiver:doctor` | Validates the Quiver contract and reports layout or migration guidance | macOS, Linux, Windows | v0.8 | `npm run quiver:doctor` |
|
|
19
|
+
| `quiver:doctor -- --fix --dry-run` | Previews safe non-destructive repairs without writing files | macOS, Linux, Windows | v0.11 | `npm run quiver:doctor -- --fix --dry-run` |
|
|
20
|
+
| `quiver:doctor -- --fix` | Applies safe idempotent repairs after review | macOS, Linux, Windows | v0.11 | `npm run quiver:doctor -- --fix` |
|
|
21
|
+
| `quiver:evidence -- run -- <command>` | Captures command validation evidence with exit code, duration, redacted/truncated output, and a local Markdown record | macOS, Linux, Windows | v0.11 | `npm run quiver:evidence -- run -- npm test` |
|
|
22
|
+
| `npx create-quiver demo create spec-viewer --dry-run` | Previews the optional Quiver Spec Viewer demo scaffold without writing files | macOS, Linux, Windows | v0.11 | `npx create-quiver demo create spec-viewer --dry-run` |
|
|
23
|
+
| `npx create-quiver demo create spec-viewer --dir <target>` | Creates a small static demo app with example specs, slices, and validation scripts | macOS, Linux, Windows | v0.11 | `npx create-quiver demo create spec-viewer --dir ./quiver-spec-viewer` |
|
|
16
24
|
| `quiver:plan` | Sequential orchestration planning command | macOS, Linux, Windows | v0.8 | [docs/examples/plan.md](./examples/plan.md) |
|
|
17
25
|
| `quiver:graph` | Parallel-level orchestration tree command | macOS, Linux, Windows | v0.8 | [docs/examples/graph.md](./examples/graph.md) |
|
|
18
26
|
| `quiver:next` | Ready-slice suggestion command | macOS, Linux, Windows | v0.8 | [docs/examples/next.md](./examples/next.md) |
|
|
27
|
+
| `quiver:plan -- --include-completed` | Shows completed slices for audit/demo history | macOS, Linux, Windows | v0.11 | `npm run quiver:plan -- --include-completed --spec <spec>` |
|
|
28
|
+
| `quiver:graph -- --include-completed` | Includes completed slices in the dependency graph history view | macOS, Linux, Windows | v0.11 | `npm run quiver:graph -- --include-completed --spec <spec>` |
|
|
29
|
+
| `quiver:next -- --include-completed` | Keeps actionable next-slice output and appends completed history | macOS, Linux, Windows | v0.11 | `npm run quiver:next -- --include-completed --spec <spec>` |
|
|
30
|
+
| `quiver:ai:agent` | Stores reusable planner/executor/reviewer/researcher provider profiles without secrets | macOS, Linux, Windows | v0.11 | `npm run quiver:ai:agent -- set planner --provider codex --model "planner-model"` |
|
|
19
31
|
| `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` |
|
|
32
|
+
| `quiver:ai:prepare-context` | Prepares docs-only AI context drafts and reports assumptions, risks, files considered, and omitted paths | macOS, Linux, Windows | v0.11 | `npm run quiver:ai:prepare-context -- --dry-run` |
|
|
20
33
|
| `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:
|
|
34
|
+
| `quiver:ai:review-plan` | Reviews the technical-plan draft for production readiness before approval and spec generation | macOS, Linux, Windows | v0.11 | `npm run quiver:ai:review-plan -- --dry-run` |
|
|
35
|
+
| `quiver:ai:approve` | Persists approved acceptance criteria or technical plans for the next planner phase | macOS, Linux, Windows | v0.10 | `npm run quiver:ai:approve -- --phase acceptance --input acceptance-approved.md` |
|
|
36
|
+
| `quiver:ai:prompt-slice` | Prints a minimal executor prompt for manual slice assignment without calling a provider | macOS, Linux, Windows | v0.11 | `npm run quiver:ai:prompt-slice -- --slice specs/<spec>/slices/<slice>/slice.json --dry-run` |
|
|
37
|
+
| `quiver:ai:execute-slice` | Runs an executor agent against one slice handoff with scope checks and optional commit | macOS, Linux, Windows | v0.10 | `npm run quiver:ai:execute-slice -- --slice specs/<spec>/slices/<slice>/slice.json --dry-run --commit` |
|
|
38
|
+
| `quiver:ai:execute-plan` | Prints or executes dependency-safe waves of slices, with manual prompts or delegated worktrees | macOS, Linux, Windows | v0.10 | `npm run quiver:ai:execute-plan -- --dry-run --commit --mode delegated` |
|
|
22
39
|
| `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`,
|
|
40
|
+
| `quiver:ai:pr` | Validates `gh`, reads `pr.md`, prints a PR plan, and creates a PR only with `--create` | macOS, Linux, Windows | v0.10 | `npm run quiver:ai:pr -- --dry-run --input specs/<spec>/pr.md --ssh-host-alias github-work --identity-file ~/.ssh/github-work` |
|
|
41
|
+
| `quiver:spec:create` | Creates the real spec tree from the reviewed approved technical plan | macOS, Linux, Windows | v0.11 | `npm run quiver:spec:create -- --dry-run` |
|
|
42
|
+
| `quiver:spec:start` | Creates or reuses the dedicated worktree for one spec | macOS, Linux, Windows | v0.10 | `npm run quiver:spec:start -- specs/<spec>` |
|
|
43
|
+
| `quiver:spec:status` | Shows spec worktree, branch, `slice-00`, and pending slices | macOS, Linux, Windows | v0.10 | `npm run quiver:spec:status -- specs/<spec>` |
|
|
44
|
+
| `quiver:spec:close` | Closes a merged clean spec worktree and pulls the main checkout | macOS, Linux, Windows | v0.10 | `npm run quiver:spec:close -- specs/<spec> --dry-run` |
|
|
45
|
+
| `quiver:check-slice -- --local <slice.json>` | Runs local structural slice validation without remote/base checks | macOS, Linux, Windows | v0.11 | `npm run quiver:check-slice -- --local specs/<spec>/slices/<slice>/slice.json` |
|
|
24
46
|
|
|
25
47
|
## CLI Flags
|
|
26
48
|
|
|
@@ -31,30 +53,56 @@ This document is the canonical command reference for the orchestration roadmap.
|
|
|
31
53
|
| `--legacy-scripts` | `init` | Add legacy Bash wrappers under `tools/scripts/` |
|
|
32
54
|
| `--include-templates` | `init` | Export packaged templates under `.quiver/templates/` |
|
|
33
55
|
| `--skip-install` | `init`, `migrate` | Skip auto-install of `create-quiver` as dev dependency (useful for CI) |
|
|
56
|
+
| `--fix` | `doctor` | Apply only safe non-destructive repairs; combine with `--dry-run` first |
|
|
57
|
+
| `--output <file>` | `evidence run` | Write the evidence Markdown file to an explicit path instead of `.quiver/evidence/` |
|
|
58
|
+
| `--max-output <n>` | `evidence run` | Limit captured stdout and stderr characters per section |
|
|
59
|
+
| `--dir <target>` | `demo create spec-viewer` | Select the demo target directory; default is `./quiver-spec-viewer` |
|
|
34
60
|
| `--json` | `plan`, `graph`, `next` | Emit machine-readable JSON |
|
|
35
61
|
| `--format <tree\|mermaid\|dot>` | `graph` | Output format |
|
|
36
62
|
| `--all-ready` | `next` | List all ready slices instead of just the next one |
|
|
37
63
|
| `--only-ready` | `plan` | Show only slices with no pending dependencies |
|
|
38
|
-
| `--
|
|
39
|
-
| `--
|
|
40
|
-
| `--
|
|
41
|
-
| `--
|
|
64
|
+
| `--include-completed` | `plan`, `graph`, `next` | Include completed slices for audit/demo history without changing default pending-only behavior |
|
|
65
|
+
| `--local` | `check-slice` | Run structural validation without remote/base checks; use normal mode before PR readiness |
|
|
66
|
+
| `--spec <slug>` | `plan`, `graph`, `spec create` | Restrict output to one spec or override the generated spec slug |
|
|
67
|
+
| `--provider <codex\|claude\|gemini>` | `ai onboard`, `ai plan`, `ai review-plan`, `ai execute-slice`, `ai execute-plan` | Select the local AI CLI adapter |
|
|
68
|
+
| `--model <label>` | `ai agent set` | Store a free-form model label in an agent profile; Quiver does not verify model availability |
|
|
69
|
+
| `--label <label>` | `ai agent set` | Store a display label for the profile |
|
|
70
|
+
| `--role <planner\|executor>` | `ai onboard`, `ai plan`, `ai execute-slice`, `ai execute-plan` | Select planner or executor role; execution requires executor |
|
|
71
|
+
| `--context <full\|planning\|slice\|minimal>` | `ai onboard`, `ai plan`, `ai review-plan`, `ai execute-slice`, `ai execute-plan` | Select a token-budgeted context pack |
|
|
42
72
|
| `--phase <acceptance\|technical-plan\|spec>` | `ai plan` | Select the gated planner phase |
|
|
43
|
-
| `--input <file>` | `ai plan` | Read approved requirements
|
|
44
|
-
| `--
|
|
73
|
+
| `--input <file>` | `ai plan`, `ai review-plan`, `ai approve`, `ai pr`, `spec create` | Read approved requirements/plans or select the generated PR body |
|
|
74
|
+
| `--version <n>` | `ai approve` | Approve a specific saved draft version |
|
|
75
|
+
| `--slice <slice.json>` | `ai prompt-slice`, `ai execute-slice` | Select the slice handoff to print or execute |
|
|
76
|
+
| `--commit` | `ai execute-slice`, `ai execute-plan` | Commit validated slice changes after provider, scope, and tests pass |
|
|
77
|
+
| `--execute` | `ai execute-plan` | Execute the planned waves instead of printing commands |
|
|
78
|
+
| `--mode <auto\|manual\|delegated>` | `ai execute-plan` | Choose compatible sequential execution, manual prompt output, or delegated worktree execution |
|
|
79
|
+
| `--create` | `ai pr` | Create the GitHub PR after preflight and plan review |
|
|
80
|
+
| `--base <branch>` | `ai pr`, `spec close` | Select PR base or cleanup base branch |
|
|
81
|
+
| `--allow-dirty` | `ai execute-slice`, `ai execute-plan` | Allow pre-existing dirty files and ignore them for scope diff |
|
|
45
82
|
| `--ssh-host-alias <alias>` | `ai doctor`, `ai pr` | SSH host alias from the user's Git config, for example `github-work` |
|
|
46
83
|
| `--identity-file <path>` | `ai doctor`, `ai pr` | SSH key path to validate separately from the host alias |
|
|
47
84
|
|
|
48
85
|
## Notes
|
|
49
86
|
|
|
50
87
|
- Add new rows here only when a command is officially shipped.
|
|
88
|
+
- The `quiver` binary is an alias to the same package CLI after local installation. Keep `npx create-quiver` as the bootstrap command.
|
|
51
89
|
- Keep the table concise and cross-platform.
|
|
52
90
|
- Shared graph library: `src/create-quiver/lib/slice-graph.js`.
|
|
53
91
|
- `quiver:graph --format mermaid` is the PR-friendly Mermaid export; `--format dot` is for Graphviz/DOT consumers.
|
|
54
92
|
- `quiver:next` prints the next ready slice and can auto-start it behind a confirmation prompt.
|
|
55
93
|
- `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:
|
|
58
|
-
- `quiver:ai:
|
|
94
|
+
- `quiver:ai:onboard`, `quiver:ai:plan`, `quiver:ai:review-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.
|
|
95
|
+
- `quiver:ai:prepare-context -- --dry-run` previews docs-only context drafts. Run it before write mode and review assumptions, risks, and omitted paths.
|
|
96
|
+
- `quiver:ai:agent` stores provider/model labels under `.quiver/agents/profiles.json`; credentials stay in the provider CLI or OS credential store.
|
|
97
|
+
- Planner drafts are versioned under `.quiver/approvals/<phase>/drafts/`; use `quiver:ai:review-plan -- --dry-run` before approving a technical-plan draft, then `quiver:ai:approve -- --phase technical-plan --version 1` to approve the reviewed version.
|
|
98
|
+
- `quiver:ai:prompt-slice -- --dry-run` prints a paste-ready manual executor prompt and does not call a provider.
|
|
99
|
+
- `quiver:evidence -- run -- <command>` preserves the wrapped command exit code. Redaction is best effort; avoid commands that intentionally print secrets.
|
|
100
|
+
- `demo create spec-viewer` is optional and static; it must stay outside default `init`.
|
|
101
|
+
- `quiver:ai:execute-slice -- --commit` creates exactly one commit only after provider, scope, and validation commands pass.
|
|
102
|
+
- `quiver:ai:execute-plan -- --dry-run --commit --mode manual` prints paste-ready executor prompt commands without provider execution.
|
|
103
|
+
- `quiver:ai:execute-plan -- --dry-run --commit --mode delegated` prints safe delegated waves and falls back to sequential mode when file scope is missing or overlapping.
|
|
104
|
+
- `quiver:ai:execute-plan -- --execute --commit --mode delegated` uses temporary worktrees for parallel-ready waves and integrates one validated commit per slice.
|
|
105
|
+
- `quiver:ai:pr -- --dry-run` validates GitHub CLI, auth, Git remote, current branch/worktree, `docs/GITFLOW_PR_GUIDE.md`, SSH host alias, identity file, and `pr.md` without creating a PR. Add `--create` only after reviewing the plan.
|
|
106
|
+
- `quiver:spec:close` refuses dirty or unmerged spec worktrees unless discard behavior is explicitly requested.
|
|
59
107
|
- After `init` or `migrate`, Quiver auto-installs itself as a dev dependency. Use `--skip-install` to suppress.
|
|
60
108
|
- Cross-platform authoring rules live in `docs/SUPPORT_MATRIX.md`.
|
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
|
|
17
17
|
- [Current goal 1]
|
|
18
18
|
- [Current goal 2]
|
|
19
|
+
- [TODO: confirm current onboarding context before broadening scope]
|
|
19
20
|
|
|
20
21
|
## Where The Stack Lives
|
|
21
22
|
|
|
@@ -30,3 +31,4 @@ The stack, package manager, and command surface are generated in `docs/PROJECT_M
|
|
|
30
31
|
## Next Step
|
|
31
32
|
|
|
32
33
|
Read `AI_CONTEXT.md` first if you are an AI agent. Otherwise read `INDEX.md` to navigate the rest of the documentation.
|
|
34
|
+
Use `npx create-quiver ai prepare-context --dry-run` to preview context drafts before writing docs.
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
**Status:** {{ESTADO}}
|
|
5
5
|
|
|
6
6
|
This file records durable project decisions so AI agents do not re-litigate choices that were already made.
|
|
7
|
+
Use it for durable context-preparation choices too, especially when a missing generated doc is guidance-only rather than debt.
|
|
7
8
|
|
|
8
9
|
## Log
|
|
9
10
|
|
package/docs/INDEX.md.template
CHANGED
|
@@ -4,7 +4,6 @@
|
|
|
4
4
|
|
|
5
5
|
## Start Here
|
|
6
6
|
|
|
7
|
-
- **Project Map** - `./PROJECT_MAP.md`
|
|
8
7
|
- **Context** - `./CONTEXTO.md`
|
|
9
8
|
- **AI Context** - `./AI_CONTEXT.md`
|
|
10
9
|
- **Decision Log** - `./DECISIONS.md`
|
|
@@ -13,23 +12,28 @@
|
|
|
13
12
|
- **Commands** - `./COMMANDS.md`
|
|
14
13
|
- **Support Matrix** - `./SUPPORT_MATRIX.md`
|
|
15
14
|
- **Troubleshooting** - `./TROUBLESHOOTING.md`
|
|
16
|
-
- **Multi-agent workflow** - `./MULTI_AGENT_WORKFLOW.md`
|
|
17
15
|
|
|
18
16
|
## AI Configuration
|
|
19
17
|
|
|
20
|
-
- **QUICK** - `./ai/QUICK.md`
|
|
21
|
-
- **STANDARD** - `./ai/STANDARD.md`
|
|
22
|
-
- **DEEP** - `./ai/DEEP.md`
|
|
23
18
|
- **Principles** - `./ai/PRINCIPLES.md`
|
|
24
19
|
- **Rules** - `./ai/RULES.yaml`
|
|
25
20
|
- **Lessons** - `./ai/LESSONS.md`
|
|
26
21
|
|
|
27
|
-
##
|
|
22
|
+
## Project Map Generated After Analyze
|
|
28
23
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
24
|
+
`docs/PROJECT_MAP.md` is created by:
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
npx create-quiver analyze
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
Use it after analysis for detected stack, package manager, commands, and file hints.
|
|
31
|
+
|
|
32
|
+
## Optional Docs and Profiles
|
|
33
|
+
|
|
34
|
+
- `npx create-quiver init --full` can add optional multi-agent notes, examples, and starter spec assets.
|
|
35
|
+
- Real specs and slices should be created later from approved requirements and plans with `npx create-quiver spec create`.
|
|
36
|
+
- Legacy Bash wrappers are only added with `--full` or `--legacy-scripts`.
|
|
33
37
|
|
|
34
38
|
## Directory Layout
|
|
35
39
|
|
|
@@ -38,9 +42,6 @@ docs/
|
|
|
38
42
|
├── INDEX.md
|
|
39
43
|
├── AI_CONTEXT.md
|
|
40
44
|
├── DECISIONS.md
|
|
41
|
-
├── ai/QUICK.md
|
|
42
|
-
├── ai/STANDARD.md
|
|
43
|
-
├── ai/DEEP.md
|
|
44
45
|
├── AI_ONBOARDING_PROMPT.md
|
|
45
46
|
├── CONTEXTO.md
|
|
46
47
|
├── STATUS.md
|
|
@@ -48,9 +49,10 @@ docs/
|
|
|
48
49
|
├── COMMANDS.md
|
|
49
50
|
├── SUPPORT_MATRIX.md
|
|
50
51
|
├── TROUBLESHOOTING.md
|
|
51
|
-
├──
|
|
52
|
-
├──
|
|
53
|
-
|
|
54
|
-
├──
|
|
55
|
-
|
|
52
|
+
├── TESTING_GUIDE_FOR_AI.md
|
|
53
|
+
├── GITFLOW_PR_GUIDE.md
|
|
54
|
+
└── ai/
|
|
55
|
+
├── PRINCIPLES.md
|
|
56
|
+
├── RULES.yaml
|
|
57
|
+
└── LESSONS.md
|
|
56
58
|
```
|
package/docs/STATUS.md.template
CHANGED
|
@@ -24,3 +24,4 @@ This page tracks progress, blockers, and the current slice. Stack and command de
|
|
|
24
24
|
|
|
25
25
|
- Update this file after each completed slice.
|
|
26
26
|
- Keep stack and command changes in `docs/PROJECT_MAP.md`, not here.
|
|
27
|
+
- Record uncertainty with `TODO`, `Assumption`, or `Pending confirmation` instead of treating it as product debt.
|
|
@@ -9,7 +9,7 @@ Quiver is intentionally opinionated about the first-run environment. If your set
|
|
|
9
9
|
|
|
10
10
|
| Area | Supported | Notes |
|
|
11
11
|
|------|-----------|-------|
|
|
12
|
-
| Operating systems | macOS, Linux, and Windows |
|
|
12
|
+
| Operating systems | macOS, Linux, and Windows | Primary runtime is the Node CLI and generated `quiver:*` npm scripts. |
|
|
13
13
|
| Shells | Terminal, bash-compatible shells, PowerShell, and CMD | Bash is a legacy compatibility path, not a required runtime dependency. |
|
|
14
14
|
| Git | Git 2.40+ | Must support worktrees and standard branch refs on every supported OS. |
|
|
15
15
|
| Node.js | Node 22.x LTS | Required on every supported OS. |
|
|
@@ -40,7 +40,7 @@ Quiver is intentionally opinionated about the first-run environment. If your set
|
|
|
40
40
|
|
|
41
41
|
## What This Means
|
|
42
42
|
|
|
43
|
-
- You can bootstrap and run Quiver on macOS, Linux, and Windows native shells
|
|
43
|
+
- You can bootstrap and run Quiver on macOS, Linux, and Windows native shells with the Node CLI.
|
|
44
44
|
- Windows native usage should target PowerShell or CMD instead of Bash.
|
|
45
45
|
- Quiver should not auto-install Bash, Git Bash, MSYS2, or WSL.
|
|
46
46
|
- You do not need a remote to begin work if a local base branch already exists.
|
|
@@ -44,6 +44,56 @@ Use this guide when a first-run bootstrap or gate check fails. The recovery path
|
|
|
44
44
|
2. Re-add the remote only if the workflow genuinely needs it.
|
|
45
45
|
3. Prefer the local base branch path when validating first-run behavior.
|
|
46
46
|
|
|
47
|
+
## Local Slice Validation In A New Repo
|
|
48
|
+
|
|
49
|
+
### Symptom
|
|
50
|
+
|
|
51
|
+
- `check-slice` asks for a remote/base branch while the repo is still local-only
|
|
52
|
+
|
|
53
|
+
### Recovery
|
|
54
|
+
|
|
55
|
+
1. Run `npx create-quiver check-slice --local <slice.json>` for structural validation.
|
|
56
|
+
2. Before PR readiness, run normal `check-slice <slice.json>` with a local base branch, `--base <branch>`, or a configured remote.
|
|
57
|
+
3. Treat `--local` as a first-use validation mode, not as a replacement for PR checks.
|
|
58
|
+
|
|
59
|
+
## Context Preparation Overwrites Docs
|
|
60
|
+
|
|
61
|
+
### Symptom
|
|
62
|
+
|
|
63
|
+
- `ai prepare-context` wrote generated context docs and you expected only a preview
|
|
64
|
+
|
|
65
|
+
### Recovery
|
|
66
|
+
|
|
67
|
+
1. Use `npx create-quiver ai prepare-context --dry-run` first.
|
|
68
|
+
2. Review assumptions, risks, files considered, and omitted paths.
|
|
69
|
+
3. Commit or preserve any manual edits before running write mode.
|
|
70
|
+
4. Write mode is intentionally limited to approved docs/context files and does not touch product code.
|
|
71
|
+
|
|
72
|
+
## Evidence Contains Sensitive Output
|
|
73
|
+
|
|
74
|
+
### Symptom
|
|
75
|
+
|
|
76
|
+
- `evidence run` captured output that may include secrets
|
|
77
|
+
|
|
78
|
+
### Recovery
|
|
79
|
+
|
|
80
|
+
1. Treat redaction as best effort, not a secret scanner.
|
|
81
|
+
2. Avoid running commands that intentionally print credentials.
|
|
82
|
+
3. Delete or rewrite the local evidence file before sharing it if sensitive output remains.
|
|
83
|
+
4. Prefer `--max-output <n>` for noisy commands.
|
|
84
|
+
|
|
85
|
+
## Demo Scaffold Conflict
|
|
86
|
+
|
|
87
|
+
### Symptom
|
|
88
|
+
|
|
89
|
+
- `demo create spec-viewer` reports preserved files in the target directory
|
|
90
|
+
|
|
91
|
+
### Recovery
|
|
92
|
+
|
|
93
|
+
1. Re-run with `--dry-run` and inspect the planned preserve/create list.
|
|
94
|
+
2. Use `--dir <empty-target>` when you want a clean demo.
|
|
95
|
+
3. Existing files are preserved; Quiver does not overwrite them for the demo.
|
|
96
|
+
|
|
47
97
|
## Generated File Conflicts
|
|
48
98
|
|
|
49
99
|
### Symptom
|