create-quiver 0.14.0 → 0.15.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/CHANGELOG.md +27 -0
- package/README.md +187 -518
- package/README_FOR_AI.md +39 -27
- package/ROADMAP.md +11 -0
- package/assets/quiver-wordmark.svg +22 -0
- package/docs/AI_CONTEXT.md.template +2 -0
- package/docs/AI_ONBOARDING_PROMPT.md.template +9 -1
- package/docs/CLI_UX_GUIDE.md +185 -0
- package/docs/COMMANDS.md.template +22 -3
- package/docs/GITFLOW_PR_GUIDE.md +70 -0
- package/docs/getting-started/linux.md +84 -0
- package/docs/getting-started/macos.md +85 -0
- package/docs/getting-started/windows-git-bash-wsl.md +78 -0
- package/docs/getting-started/windows-powershell.md +96 -0
- package/docs/reference/commands.md +98 -0
- package/docs/workflows/existing-project.md +131 -0
- package/docs/workflows/full-ai-spec-to-pr.md +311 -0
- package/docs/workflows/legacy-quiver-project.md +102 -0
- package/docs/workflows/new-project.md +76 -0
- package/package.json +5 -1
- package/specs/quiver-v29-planner-prepare-context-cli-ux/EVIDENCE_REPORT.md +163 -0
- package/specs/quiver-v29-planner-prepare-context-cli-ux/EXECUTION_PLAN.md +72 -0
- package/specs/quiver-v29-planner-prepare-context-cli-ux/SPEC.md +173 -0
- package/specs/quiver-v29-planner-prepare-context-cli-ux/STATUS.md +34 -0
- package/specs/quiver-v29-planner-prepare-context-cli-ux/pr.md +95 -0
- package/specs/quiver-v29-planner-prepare-context-cli-ux/slices/slice-00-cli-ux-spec-foundation/CLOSURE_BRIEF.md +32 -0
- package/specs/quiver-v29-planner-prepare-context-cli-ux/slices/slice-00-cli-ux-spec-foundation/EXECUTION_BRIEF.md +45 -0
- package/specs/quiver-v29-planner-prepare-context-cli-ux/slices/slice-00-cli-ux-spec-foundation/slice.json +58 -0
- package/specs/quiver-v29-planner-prepare-context-cli-ux/slices/slice-01-cli-ux-primitives-theme/CLOSURE_BRIEF.md +33 -0
- package/specs/quiver-v29-planner-prepare-context-cli-ux/slices/slice-01-cli-ux-primitives-theme/EXECUTION_BRIEF.md +49 -0
- package/specs/quiver-v29-planner-prepare-context-cli-ux/slices/slice-01-cli-ux-primitives-theme/slice.json +75 -0
- package/specs/quiver-v29-planner-prepare-context-cli-ux/slices/slice-02-planner-context-proposal-contract/CLOSURE_BRIEF.md +32 -0
- package/specs/quiver-v29-planner-prepare-context-cli-ux/slices/slice-02-planner-context-proposal-contract/EXECUTION_BRIEF.md +47 -0
- package/specs/quiver-v29-planner-prepare-context-cli-ux/slices/slice-02-planner-context-proposal-contract/slice.json +71 -0
- package/specs/quiver-v29-planner-prepare-context-cli-ux/slices/slice-03-prepare-context-planner-review-flow/CLOSURE_BRIEF.md +33 -0
- package/specs/quiver-v29-planner-prepare-context-cli-ux/slices/slice-03-prepare-context-planner-review-flow/EXECUTION_BRIEF.md +52 -0
- package/specs/quiver-v29-planner-prepare-context-cli-ux/slices/slice-03-prepare-context-planner-review-flow/slice.json +82 -0
- package/specs/quiver-v29-planner-prepare-context-cli-ux/slices/slice-04-ux-flag-matrix-compatibility/CLOSURE_BRIEF.md +34 -0
- package/specs/quiver-v29-planner-prepare-context-cli-ux/slices/slice-04-ux-flag-matrix-compatibility/EXECUTION_BRIEF.md +46 -0
- package/specs/quiver-v29-planner-prepare-context-cli-ux/slices/slice-04-ux-flag-matrix-compatibility/slice.json +73 -0
- package/specs/quiver-v29-planner-prepare-context-cli-ux/slices/slice-05-progressive-command-adoption/CLOSURE_BRIEF.md +34 -0
- package/specs/quiver-v29-planner-prepare-context-cli-ux/slices/slice-05-progressive-command-adoption/EXECUTION_BRIEF.md +46 -0
- package/specs/quiver-v29-planner-prepare-context-cli-ux/slices/slice-05-progressive-command-adoption/slice.json +83 -0
- package/specs/quiver-v29-planner-prepare-context-cli-ux/slices/slice-06-docs-tests-smoke-readiness/CLOSURE_BRIEF.md +31 -0
- package/specs/quiver-v29-planner-prepare-context-cli-ux/slices/slice-06-docs-tests-smoke-readiness/EXECUTION_BRIEF.md +50 -0
- package/specs/quiver-v29-planner-prepare-context-cli-ux/slices/slice-06-docs-tests-smoke-readiness/slice.json +95 -0
- package/specs/quiver-v30-interactive-cli-ux-agent-selection/EVIDENCE_REPORT.md +213 -0
- package/specs/quiver-v30-interactive-cli-ux-agent-selection/EXECUTION_PLAN.md +85 -0
- package/specs/quiver-v30-interactive-cli-ux-agent-selection/SPEC.md +213 -0
- package/specs/quiver-v30-interactive-cli-ux-agent-selection/STATUS.md +31 -0
- package/specs/quiver-v30-interactive-cli-ux-agent-selection/pr.md +103 -0
- package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-00-spec-foundation/CLOSURE_BRIEF.md +33 -0
- package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-00-spec-foundation/EXECUTION_BRIEF.md +56 -0
- package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-00-spec-foundation/slice.json +71 -0
- package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-01-cli-ux-runtime-progress-engine/CLOSURE_BRIEF.md +31 -0
- package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-01-cli-ux-runtime-progress-engine/EXECUTION_BRIEF.md +54 -0
- package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-01-cli-ux-runtime-progress-engine/slice.json +69 -0
- package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-02-agent-profile-selection-selectors/CLOSURE_BRIEF.md +33 -0
- package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-02-agent-profile-selection-selectors/EXECUTION_BRIEF.md +56 -0
- package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-02-agent-profile-selection-selectors/slice.json +81 -0
- package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-03-provider-model-selection-contract/CLOSURE_BRIEF.md +32 -0
- package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-03-provider-model-selection-contract/EXECUTION_BRIEF.md +54 -0
- package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-03-provider-model-selection-contract/slice.json +75 -0
- package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-04-planner-ia-progress-flows/CLOSURE_BRIEF.md +32 -0
- package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-04-planner-ia-progress-flows/EXECUTION_BRIEF.md +57 -0
- package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-04-planner-ia-progress-flows/slice.json +85 -0
- package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-05-executor-pr-progress-flows/CLOSURE_BRIEF.md +33 -0
- package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-05-executor-pr-progress-flows/EXECUTION_BRIEF.md +57 -0
- package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-05-executor-pr-progress-flows/slice.json +85 -0
- package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-06-doctor-visual-json-contract/CLOSURE_BRIEF.md +35 -0
- package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-06-doctor-visual-json-contract/EXECUTION_BRIEF.md +55 -0
- package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-06-doctor-visual-json-contract/slice.json +81 -0
- package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-07-interactive-init-spec-create/CLOSURE_BRIEF.md +34 -0
- package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-07-interactive-init-spec-create/EXECUTION_BRIEF.md +55 -0
- package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-07-interactive-init-spec-create/slice.json +85 -0
- package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-08-tests-docs-cross-platform-release/CLOSURE_BRIEF.md +34 -0
- package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-08-tests-docs-cross-platform-release/EXECUTION_BRIEF.md +59 -0
- package/specs/quiver-v30-interactive-cli-ux-agent-selection/slices/slice-08-tests-docs-cross-platform-release/slice.json +95 -0
- package/src/create-quiver/commands/ai.js +809 -71
- package/src/create-quiver/commands/spec.js +167 -5
- package/src/create-quiver/index.js +582 -71
- package/src/create-quiver/lib/agent-profiles.js +111 -10
- package/src/create-quiver/lib/ai/context-proposal.js +389 -0
- package/src/create-quiver/lib/ai/context-proposal.schema.js +31 -0
- package/src/create-quiver/lib/ai/execution-plan.js +106 -8
- package/src/create-quiver/lib/ai/executor.js +284 -28
- package/src/create-quiver/lib/ai/providers.js +71 -1
- package/src/create-quiver/lib/cli/editor.js +118 -0
- package/src/create-quiver/lib/cli/selectors.js +107 -0
- package/src/create-quiver/lib/cli/theme.js +103 -0
- package/src/create-quiver/lib/cli/ux-flags.js +169 -0
- package/src/create-quiver/lib/cli/ux.js +225 -0
package/README_FOR_AI.md
CHANGED
|
@@ -8,7 +8,10 @@ Important: slice numbering resets inside each spec. `slice-00` is the mandatory
|
|
|
8
8
|
The canonical installer entrypoint is `npx create-quiver` run from the target project root.
|
|
9
9
|
Do not recommend global installation; use `npx` or a project-local devDependency when the team needs a pinned version.
|
|
10
10
|
The 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 root `README.md` is the public landing/onboarding page: keep it concise, Spanish-first, AI-first, and focused on what Quiver is, what problem it solves, the WDD + SDD flow, core commands, and links to deeper guides. Long step-by-step instructions live in `docs/getting-started/`, `docs/workflows/`, and `docs/reference/commands.md`; do not duplicate every procedural detail in the root README.
|
|
11
12
|
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.
|
|
13
|
+
`doctor` must render the human hierarchy `Quiver Doctor` -> `Checks` -> `Suggested fixes`, and `doctor --json` must emit the same diagnostics as stable parseable JSON without colors, prompts, or human prose.
|
|
14
|
+
`init --interactive` and `spec create --interactive` are explicit human-only wrappers. They must not run in CI/no-TTY/JSON, must show only the real methodology `WDD + SDD` (`--methodology wdd-sdd`), and must summarize choices before persistent writes.
|
|
12
15
|
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.
|
|
13
16
|
If the project was never initialized by Quiver, do not use `migrate` as bootstrap; run `npx create-quiver init --name "Project Name"` first.
|
|
14
17
|
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.
|
|
@@ -19,10 +22,15 @@ The v25 spec is implemented under `specs/quiver-v25-ai-first-lifecycle-orchestra
|
|
|
19
22
|
The v26 hotfix spec is implemented under `specs/quiver-v26-0121-smoke-hardening/` and shipped in `create-quiver@0.12.1`; it covers smoke hardening for CLI help/version output, generated doc links, AI approval/review guidance, local validation, slice brief validation, demo readiness, scoped plan/graph performance, and release smoke coverage.
|
|
20
23
|
The v27 spec is implemented under `specs/quiver-v27-reliability-ai-workflow-hardening/` and shipped in `create-quiver@0.13.0`; it captures Pixel Quiver dogfooding findings (`QP-001` to `QP-019`, `QIS-001` to `QIS-022`) and includes shared state resolution, canonical statuses, schema v2 exports, structured spec creation, AI artifact cleanup, worktree locks, validation gates, context diagnostics, cross-platform DX, fixtures, smoke suites, and package/tarball release readiness.
|
|
21
24
|
The v28 spec is implemented under `specs/quiver-v28-pixel-quiver-feedback-reconciliation/` and shipped in `create-quiver@0.14.0`; it captures the Pixel Quiver follow-up reconciliation with active-slice reconciliation, stale `ai inspect` recovery, structured review closure, stricter technical-plan approval, spec/worktree validation hardening, agent-safe commands, GitHub auth/alias guidance, and package-readiness evidence.
|
|
25
|
+
The v29 spec is implemented under `specs/quiver-v29-planner-prepare-context-cli-ux/` and shipped in `create-quiver@0.14.1`; it adds shared CLI UX primitives, Quiver palette usage, guarded UX flags, planner-assisted `ai prepare-context`, and review/interactive adoption for selected planner/spec/PR commands.
|
|
26
|
+
The v30 spec is implemented under `specs/quiver-v30-interactive-cli-ux-agent-selection/` and is release-ready pending package publication; it adds production-grade interactive CLI UX with visible IA progress, Quiver-branded output, configured Planner/Executor/Reviewer/Doctor selectors, real provider model-selection contracts, Doctor human/JSON parity, guided init/spec-create selectors, and cross-platform release readiness.
|
|
22
27
|
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.
|
|
23
28
|
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, `quiver:spec:validate` for full spec validation, and the AI family `quiver:ai:agent`, `quiver:ai:inspect`, `quiver:ai:export`, `quiver:ai:specs`, `quiver:ai:slices`, `quiver:ai:trace`, `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.
|
|
24
29
|
`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.
|
|
25
|
-
Agent profiles live in `.quiver/agents/profiles.json`; they store role, provider, model label, context label,
|
|
30
|
+
Agent profiles live in `.quiver/agents/profiles.json`; they store role, provider, model label, context label, display label, profile id, and default profile only. Do not store API keys, tokens, or credentials there.
|
|
31
|
+
Provider/model selection must be honest: dry-runs can preview a selected model without provider auth, but live IA execution must pass the selected model through the provider adapter or fail with actionable guidance instead of silently ignoring it.
|
|
32
|
+
Planner-oriented live IA commands must show visible TTY progress with the selected profile/model name, completed preparation checks, and a provider-running spinner. `--dry-run`, `--print-prompt`, CI, JSON, and non-TTY output must remain clean and automation-safe.
|
|
33
|
+
Executor and PR live commands follow the same standard: show truthful TTY progress for slice execution, validation, commits, GitHub preflight, and PR creation while preserving scope gates, provider errors, `gh` errors, and clean machine output.
|
|
26
34
|
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.
|
|
27
35
|
`ai review-plan` stores structured closure metadata under `.quiver/approvals/plan-review/meta.json`: `approval_recommendation` is `approve`, `approve-with-risk`, or `revise`; required fixes block technical-plan approval, while optional hardening does not.
|
|
28
36
|
AI lifecycle runs are persisted under `.quiver/runs/<run-id>/`; use `npx create-quiver ai run create --input <requirements.md>` to start one explicitly, `npx create-quiver ai status` to inspect it, `npx create-quiver ai resume` to continue from the last valid phase without relying on chat memory, and `npx create-quiver ai export --format json|markdown` when another agent, PR, or dashboard needs the current specs/slices/runs state.
|
|
@@ -34,8 +42,11 @@ The primary generated project context for agents is `docs/AI_CONTEXT.md`.
|
|
|
34
42
|
The project map is the single source of truth for stack, package manager, commands, and file hints: `docs/PROJECT_MAP.md`.
|
|
35
43
|
The raw analyzer output is internal machinery at `.quiver/scans/PROJECT_SCAN.json`; read it only when the visible map is not enough.
|
|
36
44
|
`npx create-quiver analyze --dry-run` must remain read-only and only preview the scan/project-map/context writes. `npx create-quiver flow` reports the context source/freshness and the package-manager-aware generated script command so agents can see whether the project map is current, stale, partial, legacy, invalid, or missing.
|
|
45
|
+
`npx create-quiver ai prepare-context --dry-run` remains the deterministic default and must not execute provider CLIs. `npx create-quiver ai prepare-context --with-planner --dry-run` previews planner-assisted context preparation. `--with-planner --print-prompt` prints the exact prompt without provider auth; live planner writes should use `--review` and/or `--interactive` when the human wants review before docs-only writes.
|
|
37
46
|
`npx create-quiver ai agent set <role> --provider <provider> --model "<label>" --dry-run` must preview `.quiver/agents/profiles.json` changes without writing. Use it before saving planner/executor/reviewer/doctor profiles.
|
|
38
47
|
GitHub PR diagnostics must stay cross-platform: auth failures should point to likely account, scope, and SSH alias issues; path examples with spaces must be copy-safe for macOS/Linux, Windows PowerShell, Git Bash, and WSL.
|
|
48
|
+
CLI UX standard lives in `docs/CLI_UX_GUIDE.md`. Supported Quiver colors are `#86C8F2`, `#6BADEB`, `#7F9EE8`, `#9B82E6`, and `#D56AB0`; output must respect `--no-color`, `NO_COLOR`, CI, and no-TTY environments.
|
|
49
|
+
UX flags are intentionally limited: `ai prepare-context`, `ai plan`, and `spec create` support `--with-planner`, `--interactive`, and `--review`; `ai pr` supports `--interactive` and `--review` but rejects `--with-planner`; read-only commands such as `flow`, `next`, `graph`, `ai inspect`, `ai export`, `ai specs list`, `ai slices list`, and `ai trace report` reject these UX flags. `--json` must reject `--interactive` and `--review` before writing human output.
|
|
39
50
|
The universal router for generated projects is `AGENTS.md`; read it before `docs/AI_CONTEXT.md` and `docs/AI_ONBOARDING_PROMPT.md`.
|
|
40
51
|
Generated projects also get `docs/DECISIONS.md`; use it for durable choices that should not be re-litigated.
|
|
41
52
|
If a generated project has been analyzed, the exact agent handoff prompt is `docs/AI_ONBOARDING_PROMPT.md`.
|
|
@@ -141,32 +152,33 @@ Init preserves existing target files and reports skipped copies instead of overw
|
|
|
141
152
|
After initialization, the user should:
|
|
142
153
|
|
|
143
154
|
1. Run `npx create-quiver flow` when unsure about the next safe command
|
|
144
|
-
2. Run `npx create-quiver ai prepare-context --dry-run` to preview onboarding docs, diffs, assumptions, risks, contradictions, and omitted paths
|
|
145
|
-
3.
|
|
146
|
-
4.
|
|
147
|
-
5.
|
|
148
|
-
6. If the project was
|
|
149
|
-
7.
|
|
150
|
-
8.
|
|
151
|
-
9.
|
|
152
|
-
10.
|
|
153
|
-
11.
|
|
154
|
-
12.
|
|
155
|
-
13.
|
|
156
|
-
14.
|
|
157
|
-
15.
|
|
158
|
-
16.
|
|
159
|
-
17.
|
|
160
|
-
18. Run `npx create-quiver
|
|
161
|
-
19. Run `npx create-quiver
|
|
162
|
-
20. Run `npx create-quiver
|
|
163
|
-
21.
|
|
164
|
-
22.
|
|
165
|
-
23.
|
|
166
|
-
24.
|
|
167
|
-
25.
|
|
168
|
-
26.
|
|
169
|
-
27. Validate the
|
|
155
|
+
2. Run `npx create-quiver ai prepare-context --dry-run` to preview deterministic onboarding docs, diffs, assumptions, risks, contradictions, and omitted paths without provider execution
|
|
156
|
+
3. If the user wants planner-generated context, run `npx create-quiver ai prepare-context --with-planner --dry-run`; use `--print-prompt` for external planner execution or `--with-planner --review --interactive` before live docs-only writes
|
|
157
|
+
4. After review, run `npx create-quiver ai prepare-context` for deterministic writes or `npx create-quiver ai prepare-context --with-planner --review --interactive` for planner-assisted writes; Quiver snapshots touched docs under `.quiver/runs/<run-id>/snapshots/` and preserves human-authored content
|
|
158
|
+
5. Run `npx create-quiver analyze --dry-run` when unsure what analysis would update, then run `npx create-quiver analyze` if `docs/PROJECT_MAP.md` or `.quiver/scans/PROJECT_SCAN.json` is missing or stale
|
|
159
|
+
6. If the project already exists from an older Quiver version and was previously initialized by Quiver, run `npx create-quiver migrate`
|
|
160
|
+
7. If the project was never initialized by Quiver, run `npx create-quiver init --name "Project Name"` instead of `migrate`
|
|
161
|
+
8. Ask the AI agent to execute `docs/AI_ONBOARDING_PROMPT.md`
|
|
162
|
+
9. Review context docs before creating the first implementation slice
|
|
163
|
+
10. Open and merge the documentation PR that establishes the workflow files
|
|
164
|
+
11. Preview reusable provider choices with `npx create-quiver ai agent set <role> --provider <provider> --model "<label>" --dry-run`, then save planner/executor/doctor profiles without `--dry-run` after review
|
|
165
|
+
12. Use `npx create-quiver ai plan --phase acceptance --input requirements.md --dry-run`; use `--print-prompt` when you need the exact prompt without provider auth and `--review --interactive` when the human should edit or confirm before saving
|
|
166
|
+
13. If the human asks for changes, create a new draft with `npx create-quiver ai revise --phase acceptance --input feedback.md --dry-run`; after human approval, save the selected current draft with `npx create-quiver ai approve --phase acceptance --version <n>`
|
|
167
|
+
14. Use `npx create-quiver ai plan --phase technical-plan --dry-run`
|
|
168
|
+
15. Review the technical plan with `npx create-quiver ai review-plan --dry-run`, inspect exact prompt with `--print-prompt` if needed, then run it without `--dry-run` when ready
|
|
169
|
+
16. After human approval, save the reviewed plan version with `npx create-quiver ai approve --phase technical-plan --version <n>`
|
|
170
|
+
17. Use `npx create-quiver spec create --dry-run` to preview the real spec, slices, handoffs, execution plan, and PR body; use `--review --interactive` when the human should inspect the package before writing
|
|
171
|
+
18. Run `npx create-quiver spec start specs/<spec-slug> --dry-run` to inspect the planned worktree, then run without `--dry-run` to create or reuse it
|
|
172
|
+
19. Run `npx create-quiver plan` or `npm run quiver:plan`
|
|
173
|
+
20. Run `npx create-quiver next` or `npm run quiver:next`
|
|
174
|
+
21. 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
|
|
175
|
+
22. For manual assignment, print a minimal executor prompt with `npx create-quiver ai prompt-slice --slice <slice.json> --dry-run`
|
|
176
|
+
23. 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`; single-slice execution must run from the declared slice branch, validates `allowed_write_paths`/`files`, redacts captured logs, and updates closure, evidence, command log, status, and `slice.json`
|
|
177
|
+
24. Keep one commit per slice
|
|
178
|
+
25. Open one PR per spec with `npx create-quiver ai pr --dry-run --input specs/<spec-slug>/pr.md --ssh-host-alias <alias> ...`, optionally use `--review`, then `--create --interactive` only after review; PR creation is blocked while spec slices remain open
|
|
179
|
+
26. After merge, close the worktree with `npx create-quiver spec close specs/<spec-slug>`
|
|
180
|
+
27. Validate the spec with `npx create-quiver spec validate specs/<spec-slug>` or `npm run quiver:spec:validate -- specs/<spec-slug>`
|
|
181
|
+
28. Validate the slice and the final PR with the workflow gates
|
|
170
182
|
|
|
171
183
|
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.
|
|
172
184
|
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.
|
package/ROADMAP.md
CHANGED
|
@@ -80,6 +80,15 @@
|
|
|
80
80
|
- Published package `0.14.0`.
|
|
81
81
|
- **v28** — Follow-up hardening from Pixel Quiver dogfooding: active-slice reconciliation, spec-aware `ai inspect` recovery, structured plan-review closure, safer technical-plan approval, stronger spec/worktree validation, agent-safe command examples, GitHub auth/alias guidance, and final release-readiness evidence live in `specs/quiver-v28-pixel-quiver-feedback-reconciliation/`.
|
|
82
82
|
|
|
83
|
+
## v0.14.1 — Planner Context and CLI UX Standard (shipped 2026-05-26)
|
|
84
|
+
|
|
85
|
+
- Published package `0.14.1`.
|
|
86
|
+
- **v29** — Planner-assisted context preparation and CLI UX standard: shared output helpers, Quiver palette, guarded `--with-planner` / `--interactive` / `--review` flags, optional planner-generated `ai prepare-context`, review/interactive adoption for selected commands, docs, tests, and smoke readiness live in `specs/quiver-v29-planner-prepare-context-cli-ux/`.
|
|
87
|
+
|
|
88
|
+
## v0.15 — Interactive CLI UX and Agent Selection (release-ready, pending package publication)
|
|
89
|
+
|
|
90
|
+
- **v30** — Interactive CLI UX and agent selection: visible progress for long-running IA commands, selected Planner/Executor/Reviewer/Doctor display names, profile/spec/slice/methodology selectors, provider model-selection correctness, Doctor human/JSON parity, cross-platform automation safety, and release-readiness evidence live in `specs/quiver-v30-interactive-cli-ux-agent-selection/`.
|
|
91
|
+
|
|
83
92
|
## Post-Checkpoint Plan (do not execute before validating v14)
|
|
84
93
|
|
|
85
94
|
> This section now records the follow-up line from the v14-era plan.
|
|
@@ -97,6 +106,8 @@
|
|
|
97
106
|
- **v26 — 0.12.1 Smoke Hardening** (shipped in `0.12.1`): first-use hardening from clean npm smoke testing, covering CLI help/version output, generated doc links, AI approval/review guidance, local validation, slice brief validation, demo readiness, scoped plan/graph performance, and release smoke coverage live in `specs/quiver-v26-0121-smoke-hardening/`.
|
|
98
107
|
- **v27 — Reliability and AI Workflow Hardening** (shipped in `0.13.0`): Pixel Quiver dogfooding follow-up covering resolver/export/spec-create/AI-artifact/worktree/validation/context/DX hardening lives in `specs/quiver-v27-reliability-ai-workflow-hardening/`.
|
|
99
108
|
- **v28 — Pixel Quiver Feedback Reconciliation** (shipped in `0.14.0`): active-slice reconciliation, stale inspect recovery, structured review closure, validation/worktree hardening, agent-safe commands, GitHub auth guidance, and release-readiness evidence live in `specs/quiver-v28-pixel-quiver-feedback-reconciliation/`.
|
|
109
|
+
- **v29 — Planner Context and CLI UX Standard** (shipped in `0.14.1`): planner-assisted `ai prepare-context`, CLI UX primitives, guarded UX flags, human review/interactive flows, and final docs/smoke readiness live in `specs/quiver-v29-planner-prepare-context-cli-ux/`.
|
|
110
|
+
- **v30 — Interactive CLI UX and Agent Selection** (release-ready, pending package publication): visible IA progress, Quiver-branded output, profile/spec/slice selectors, provider model-selection correctness, Doctor human/JSON parity, and cross-platform release readiness live in `specs/quiver-v30-interactive-cli-ux-agent-selection/`.
|
|
100
111
|
|
|
101
112
|
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.
|
|
102
113
|
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
<svg width="1120" height="360" viewBox="0 0 1120 360" fill="none" xmlns="http://www.w3.org/2000/svg" role="img" aria-labelledby="title desc">
|
|
2
|
+
<title id="title">Quiver</title>
|
|
3
|
+
<desc id="desc">Pixel style Quiver wordmark for the AI-first WDD and SDD workflow framework.</desc>
|
|
4
|
+
<rect width="1120" height="360" fill="#11151d"/>
|
|
5
|
+
<rect x="34" y="34" width="1052" height="292" fill="#151b25" stroke="#334155" stroke-width="6"/>
|
|
6
|
+
<g transform="translate(448 34)">
|
|
7
|
+
<rect x="0" y="36" width="34" height="34" fill="#7dd3fc"/>
|
|
8
|
+
<rect x="34" y="36" width="34" height="34" fill="#38bdf8"/>
|
|
9
|
+
<rect x="68" y="36" width="34" height="34" fill="#60a5fa"/>
|
|
10
|
+
<rect x="102" y="36" width="34" height="34" fill="#a78bfa"/>
|
|
11
|
+
<rect x="136" y="36" width="34" height="34" fill="#f472b6"/>
|
|
12
|
+
<rect x="34" y="70" width="34" height="34" fill="#0f172a"/>
|
|
13
|
+
<rect x="68" y="70" width="34" height="34" fill="#0f172a"/>
|
|
14
|
+
<rect x="102" y="70" width="34" height="34" fill="#0f172a"/>
|
|
15
|
+
</g>
|
|
16
|
+
<text x="560" y="206" text-anchor="middle" font-family="'Courier New', monospace" font-size="118" font-weight="900" fill="#ffffff" stroke="#020617" stroke-width="16" paint-order="stroke">
|
|
17
|
+
QUIVER
|
|
18
|
+
</text>
|
|
19
|
+
<text x="560" y="276" text-anchor="middle" font-family="'Courier New', monospace" font-size="28" font-weight="700" fill="#93c5fd">
|
|
20
|
+
AI-FIRST WDD + SDD WORKFLOW FRAMEWORK
|
|
21
|
+
</text>
|
|
22
|
+
</svg>
|
|
@@ -26,6 +26,7 @@ This file is the main context pack after `AGENTS.md` and `docs/PROJECT_MAP.md`.
|
|
|
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
28
|
- `npx create-quiver ai prepare-context --dry-run` previews docs-only context drafts before writing.
|
|
29
|
+
- `npx create-quiver ai prepare-context --with-planner --dry-run` previews an optional planner-generated context proposal. Use `--print-prompt` to run the prompt elsewhere, `--review` to inspect the proposal, and `--interactive` to confirm before writing.
|
|
29
30
|
|
|
30
31
|
## Critical Rules
|
|
31
32
|
|
|
@@ -37,6 +38,7 @@ This file is the main context pack after `AGENTS.md` and `docs/PROJECT_MAP.md`.
|
|
|
37
38
|
- Never overwrite user-authored content without checking whether the file is meant to be preserved.
|
|
38
39
|
- If a command or path is ambiguous, prefer the local project root and the generated docs.
|
|
39
40
|
- Context preparation must stay in docs/context files and should use TODO, Assumption, or Pending confirmation markers for uncertain statements.
|
|
41
|
+
- Planner-assisted context proposals must remain docs-only. Do not accept product-code, dependency, build, runtime, lockfile, generated-output, absolute-path, or traversal writes.
|
|
40
42
|
|
|
41
43
|
## What To Update After A Slice
|
|
42
44
|
|
|
@@ -15,7 +15,8 @@ Actúa como asistente de onboarding de IA para este proyecto. Tu objetivo es com
|
|
|
15
15
|
- Lee `docs/INDEX.md`, si existe, y úsalo como mapa para decidir qué abrir después.
|
|
16
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
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.
|
|
18
|
+
- Si usás `npx create-quiver ai prepare-context`, empezá con `--dry-run`, revisá los borradores propuestos antes de escribir y mantené las escrituras limitadas a docs/context.
|
|
19
|
+
- Usá `--with-planner` solo cuando el humano quiera una propuesta generada por un planner IA; combiná `--review` y `--interactive` antes de aplicar escrituras.
|
|
19
20
|
- Lee specs, slices o handoffs solo si la tarea actual lo requiere.
|
|
20
21
|
- No leas todo `docs/` por defecto.
|
|
21
22
|
- Si un documento referenciado no existe, repórtalo como deuda documental.
|
|
@@ -73,6 +74,9 @@ Si usás los comandos de IA de Quiver, empezá con `--dry-run` para revisar prov
|
|
|
73
74
|
```bash
|
|
74
75
|
npm run quiver:prepare -- --dry-run
|
|
75
76
|
npm run quiver:ai:prepare-context -- --dry-run
|
|
77
|
+
npm run quiver:ai:prepare-context -- --with-planner --dry-run
|
|
78
|
+
npm run quiver:ai:prepare-context -- --with-planner --print-prompt
|
|
79
|
+
npm run quiver:ai:prepare-context -- --with-planner --review --interactive
|
|
76
80
|
npm run quiver:ai:onboard -- --dry-run
|
|
77
81
|
npm run quiver:ai:inspect
|
|
78
82
|
npm run quiver:ai:export -- --format json
|
|
@@ -80,18 +84,21 @@ npm run quiver:ai:specs
|
|
|
80
84
|
npm run quiver:ai:slices
|
|
81
85
|
npm run quiver:ai:trace
|
|
82
86
|
npm run quiver:ai:plan -- --phase acceptance --input requirements.md --dry-run
|
|
87
|
+
npm run quiver:ai:plan -- --phase acceptance --input requirements.md --review --interactive
|
|
83
88
|
npm run quiver:ai:revise -- --phase acceptance --input feedback.md --dry-run
|
|
84
89
|
npm run quiver:ai:approve -- --phase acceptance --version <n>
|
|
85
90
|
npm run quiver:ai:plan -- --phase technical-plan --dry-run
|
|
86
91
|
npm run quiver:ai:review-plan -- --dry-run
|
|
87
92
|
npm run quiver:ai:approve -- --phase technical-plan --version <n>
|
|
88
93
|
npm run quiver:spec:create -- --dry-run
|
|
94
|
+
npm run quiver:spec:create -- --review --interactive
|
|
89
95
|
npm run quiver:spec:start -- specs/{{PROJECT_SLUG}}
|
|
90
96
|
npm run quiver:ai:prompt-slice -- --slice specs/{{PROJECT_SLUG}}/slices/<slice-id>/slice.json --dry-run
|
|
91
97
|
npm run quiver:ai:execute-slice -- --slice specs/{{PROJECT_SLUG}}/slices/<slice-id>/slice.json --dry-run --commit
|
|
92
98
|
npm run quiver:ai:execute-plan -- --dry-run --commit --mode manual
|
|
93
99
|
npm run quiver:ai:execute-plan -- --dry-run --commit --mode delegated
|
|
94
100
|
npm run quiver:ai:pr -- --dry-run --input specs/{{PROJECT_SLUG}}/pr.md --ssh-host-alias github-work --identity-file ~/.ssh/github-work
|
|
101
|
+
npm run quiver:ai:pr -- --review --dry-run --input specs/{{PROJECT_SLUG}}/pr.md --ssh-host-alias github-work --identity-file ~/.ssh/github-work
|
|
95
102
|
npm run quiver:spec:close -- specs/{{PROJECT_SLUG}} --dry-run
|
|
96
103
|
```
|
|
97
104
|
|
|
@@ -113,6 +120,7 @@ npm run quiver:spec:close -- specs/{{PROJECT_SLUG}} --dry-run
|
|
|
113
120
|
- Indica rutas omitidas o señales faltantes.
|
|
114
121
|
- Mantén la respuesta enfocada en documentación y contexto de onboarding salvo que el usuario haya autorizado cambios de código de producto.
|
|
115
122
|
- No cambies reglas del workflow de Quiver salvo que el usuario lo pida explícitamente.
|
|
123
|
+
- No combines `--json` con `--interactive` ni `--review`. Si necesitás salida machine-readable, evitá prompts, editores y loaders humanos.
|
|
116
124
|
|
|
117
125
|
## Reporte final
|
|
118
126
|
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
# Guia de UX del CLI de Quiver
|
|
2
|
+
|
|
3
|
+
Este documento define el estandar de experiencia para los comandos de Quiver. La meta es que el CLI sea claro para humanos, seguro para automatizacion y consistente para agentes de IA.
|
|
4
|
+
|
|
5
|
+
## Principios
|
|
6
|
+
|
|
7
|
+
- Los comandos deben explicar que modo estan usando: deterministico, planner-assisted, dry-run, review, interactive, JSON o CI.
|
|
8
|
+
- `--dry-run` debe ser el primer paso recomendado antes de escrituras, proveedores externos, worktrees, PRs o reparaciones.
|
|
9
|
+
- La salida humana puede usar jerarquia visual, loaders y color; la salida JSON debe permanecer limpia y parseable.
|
|
10
|
+
- Los prompts interactivos son opt-in. Ningun comando debe bloquear automatizaciones si `--interactive` no fue pedido.
|
|
11
|
+
- Las revisiones humanas ocurren antes de escrituras persistentes siempre que el comando soporte `--review`.
|
|
12
|
+
- Las credenciales viven en los CLIs de proveedor, `gh`, Git o el sistema operativo. Quiver no debe guardarlas.
|
|
13
|
+
|
|
14
|
+
## Colores de Quiver
|
|
15
|
+
|
|
16
|
+
Usar esta paleta en loaders, estados, etiquetas y enfasis visual:
|
|
17
|
+
|
|
18
|
+
| Token | Hex | Uso sugerido |
|
|
19
|
+
|---|---:|---|
|
|
20
|
+
| `sky` | `#86C8F2` | informacion, rutas, contexto |
|
|
21
|
+
| `blue` | `#6BADEB` | acciones primarias, progreso |
|
|
22
|
+
| `periwinkle` | `#7F9EE8` | modo planner, prompts |
|
|
23
|
+
| `violet` | `#9B82E6` | revision, decisiones humanas |
|
|
24
|
+
| `magenta` | `#D56AB0` | advertencias suaves, approval gates |
|
|
25
|
+
|
|
26
|
+
Reglas:
|
|
27
|
+
|
|
28
|
+
- Respetar `--no-color`, `NO_COLOR`, CI y terminales sin TTY.
|
|
29
|
+
- No depender solo del color para comunicar estado.
|
|
30
|
+
- Mantener fallback ASCII cuando Unicode no sea seguro.
|
|
31
|
+
|
|
32
|
+
## Banderas UX
|
|
33
|
+
|
|
34
|
+
| Flag | Definicion | Regla |
|
|
35
|
+
|---|---|---|
|
|
36
|
+
| `--with-planner` | Activa comportamiento asistido por planner cuando el comando lo soporta. | No debe ser decorativo. Si no cambia el comportamiento o contrato del comando, debe rechazarse. |
|
|
37
|
+
| `--interactive` | Habilita prompts humanos de confirmacion o eleccion. | Nunca se activa por defecto. Debe tener alternativa no interactiva. |
|
|
38
|
+
| `--review` | Abre o prepara revision humana antes de escrituras persistentes. | Debe usar `$VISUAL`, `$EDITOR` o dejar un artefacto revisable cuando no haya TTY. |
|
|
39
|
+
| `--methodology <name>` | Selecciona metodologia cuando el comando necesita exponer esa decision. | Hoy solo se acepta `wdd-sdd`; no listar metodologias no soportadas. |
|
|
40
|
+
| `--dry-run` | Previsualiza sin escribir ni ejecutar acciones irreversibles. | Debe ser seguro y no requerir credenciales salvo que el comando lo documente. |
|
|
41
|
+
| `--print-prompt` | Imprime el prompt exacto sin ejecutar proveedor. | Debe evitar auth/provider execution. |
|
|
42
|
+
| `--json` | Emite salida machine-readable. | Incompatible con `--interactive` y `--review`. |
|
|
43
|
+
| `--no-color` | Desactiva color ANSI. | Debe respetarse en toda salida humana. |
|
|
44
|
+
|
|
45
|
+
## Matriz de soporte
|
|
46
|
+
|
|
47
|
+
| Comando | `--with-planner` | `--interactive` | `--review` | Notas |
|
|
48
|
+
|---|---:|---:|---:|---|
|
|
49
|
+
| `init` | no | si | no | Interactive guia modo de proyecto, metodologia `wdd-sdd`, perfil inicial y proximo paso de perfiles de agentes. |
|
|
50
|
+
| `ai prepare-context` | si | si | si | Modo deterministico por defecto; planner opcional con contrato docs-only. |
|
|
51
|
+
| `ai plan` | si | si | si | El planner ya es implicito; `--with-planner` se acepta por consistencia. |
|
|
52
|
+
| `spec create` | si | si | si | Consume un plan tecnico aprobado del planner; no vuelve a ejecutar proveedor. Review previsualiza el paquete antes de escribir. |
|
|
53
|
+
| `ai pr` | no | si | si | Review edita `pr.md`; interactive confirma `gh pr create`. |
|
|
54
|
+
| `ai execute-slice` | no | si | no | Interactive puede seleccionar un slice listo y un executor configurado. |
|
|
55
|
+
| `ai execute-plan` | no | si | no | Interactive queda reservado para estrategia/seleccion; JSON sigue limpio. |
|
|
56
|
+
| `doctor` | no | no | no | Renderiza `Quiver Doctor`, `Checks` y `Suggested fixes`; `--json` usa el mismo modelo de hallazgos. |
|
|
57
|
+
| `flow`, `next`, `graph` | no | no | no | Lectura/inspeccion; no deben exponer flags decorativas. |
|
|
58
|
+
| `ai inspect`, `ai export`, `ai specs list`, `ai slices list`, `ai trace report` | no | no | no | Superficies read-only o machine-readable. |
|
|
59
|
+
|
|
60
|
+
## Flujo recomendado para contexto de IA
|
|
61
|
+
|
|
62
|
+
Modo deterministico:
|
|
63
|
+
|
|
64
|
+
```bash
|
|
65
|
+
npx create-quiver ai prepare-context --dry-run
|
|
66
|
+
npx create-quiver ai prepare-context
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
Modo asistido por planner:
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
npx create-quiver ai prepare-context --with-planner --dry-run
|
|
73
|
+
npx create-quiver ai prepare-context --with-planner --print-prompt
|
|
74
|
+
npx create-quiver ai prepare-context --with-planner --review --interactive
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
El planner debe devolver una propuesta validable. Quiver solo acepta cambios en documentación/contexto permitida y rechaza rutas de producto, dependencias, build, runtime, lockfiles, salidas generadas, rutas absolutas y traversal.
|
|
78
|
+
|
|
79
|
+
## Seleccion de agentes, proveedores y modelos
|
|
80
|
+
|
|
81
|
+
Los perfiles de agente son configuracion de DX, no almacenamiento de credenciales. Deben guardar solo rol, proveedor, etiqueta de modelo, contexto, nombre visible y perfil por defecto.
|
|
82
|
+
|
|
83
|
+
Reglas:
|
|
84
|
+
|
|
85
|
+
- Si un comando usa un perfil con modelo, el dry-run debe mostrar proveedor, modelo, comando y si el adapter puede aplicar ese modelo.
|
|
86
|
+
- En ejecucion real, Quiver debe pasar el modelo al CLI del proveedor cuando el adapter lo soporta.
|
|
87
|
+
- Si un adapter no puede aplicar el modelo seleccionado, la ejecucion real debe bloquearse con un proximo paso claro.
|
|
88
|
+
- `--print-prompt` y `--dry-run` no deben exigir autenticacion del proveedor.
|
|
89
|
+
- Si no hay modelo seleccionado, los comandos existentes deben conservar su comportamiento anterior.
|
|
90
|
+
|
|
91
|
+
## Init y spec create interactivos
|
|
92
|
+
|
|
93
|
+
`init --interactive` debe ser un wrapper opt-in sobre flags existentes:
|
|
94
|
+
|
|
95
|
+
- modo de proyecto: proyecto existente, proyecto nuevo o solo validar estructura;
|
|
96
|
+
- metodologia: solo `WDD + SDD`;
|
|
97
|
+
- perfil inicial: default, minimal o full compatibility;
|
|
98
|
+
- guia opcional de comandos `ai agent set` sin guardar credenciales ni ejecutar proveedores;
|
|
99
|
+
- resumen antes de escribir.
|
|
100
|
+
|
|
101
|
+
`spec create --interactive` debe:
|
|
102
|
+
|
|
103
|
+
- seleccionar la metodologia real soportada: `WDD + SDD`;
|
|
104
|
+
- mostrar el input aprobado que se usara para generar la spec;
|
|
105
|
+
- permitir elegir confirmacion directa o `--review`;
|
|
106
|
+
- mostrar resumen antes de escribir;
|
|
107
|
+
- bloquearse en no-TTY/CI/JSON con mensaje accionable en lugar de abrir prompts.
|
|
108
|
+
|
|
109
|
+
## Loaders y prompts
|
|
110
|
+
|
|
111
|
+
Usar loaders solo cuando aportan claridad:
|
|
112
|
+
|
|
113
|
+
```text
|
|
114
|
+
◇ Ejecutando onboarding con GPT 5.5
|
|
115
|
+
✓ Leyendo docs base
|
|
116
|
+
✓ Detectando estructura
|
|
117
|
+
✓ Preparando prompt
|
|
118
|
+
⠋ Ejecutando agente...
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
Usar prompts interactivos cuando hay una decision humana real:
|
|
122
|
+
|
|
123
|
+
```text
|
|
124
|
+
? Aplicar 3 actualizaciones docs-only de contexto?
|
|
125
|
+
? Crear spec "quiver-demo"?
|
|
126
|
+
? Crear PR "Implementar dashboard"?
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
No usar prompts para informacion que ya se pueda expresar con flags.
|
|
130
|
+
|
|
131
|
+
## Salida de Doctor
|
|
132
|
+
|
|
133
|
+
`doctor` debe mostrar una jerarquia estable para humanos:
|
|
134
|
+
|
|
135
|
+
```text
|
|
136
|
+
◆ Quiver Doctor
|
|
137
|
+
|
|
138
|
+
Checks
|
|
139
|
+
✓ Layout: new
|
|
140
|
+
✓ Specs: none yet
|
|
141
|
+
! Warning: project analysis artifacts not found; run analyze when you need the visible project map
|
|
142
|
+
|
|
143
|
+
Suggested fixes
|
|
144
|
+
• Analyze the project first: npx create-quiver analyze
|
|
145
|
+
• Check the next ready slice: npx create-quiver next
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
Reglas:
|
|
149
|
+
|
|
150
|
+
- La salida humana debe incluir siempre `Quiver Doctor`, `Checks` y `Suggested fixes`.
|
|
151
|
+
- `doctor --json` debe emitir solo JSON parseable, sin colores, prompts ni texto humano.
|
|
152
|
+
- La salida humana y JSON deben salir del mismo modelo de checks, warnings, errors y suggested fixes.
|
|
153
|
+
- Warnings no deben romper automatizacion; errores bloqueantes deben usar `exit_code: 1` y `process.exitCode = 1`.
|
|
154
|
+
|
|
155
|
+
## Revision con editor
|
|
156
|
+
|
|
157
|
+
Los comandos con `--review` deben:
|
|
158
|
+
|
|
159
|
+
1. Crear o abrir un artefacto revisable.
|
|
160
|
+
2. Respetar `$VISUAL` antes que `$EDITOR`.
|
|
161
|
+
3. No usar shell interpolation para abrir editores.
|
|
162
|
+
4. Bloquear escrituras si la revision se cancela.
|
|
163
|
+
5. Revalidar la propuesta editada cuando el contenido tiene contrato estructurado.
|
|
164
|
+
6. Reportar la ruta del artefacto si no se puede abrir un editor.
|
|
165
|
+
|
|
166
|
+
## Testing minimo
|
|
167
|
+
|
|
168
|
+
Cada comando que adopte estas reglas debe cubrir:
|
|
169
|
+
|
|
170
|
+
- modo `--dry-run`;
|
|
171
|
+
- salida sin TTY/CI;
|
|
172
|
+
- `--json` limpio o rechazo temprano si corresponde;
|
|
173
|
+
- `--interactive` aceptado y cancelado;
|
|
174
|
+
- `--review` aceptado, cancelado y editado;
|
|
175
|
+
- `--no-color`;
|
|
176
|
+
- rechazo de flags no soportadas con mensaje accionable.
|
|
177
|
+
|
|
178
|
+
## Checklist para nuevos comandos
|
|
179
|
+
|
|
180
|
+
- [ ] El comando define si es lectura, escritura, proveedor, worktree, PR o validacion.
|
|
181
|
+
- [ ] `--dry-run` existe si hay escrituras o efectos externos.
|
|
182
|
+
- [ ] `--with-planner`, `--interactive` y `--review` solo se aceptan si agregan valor real.
|
|
183
|
+
- [ ] La salida JSON no se mezcla con prompts, colores, loaders ni texto humano.
|
|
184
|
+
- [ ] Los mensajes de error incluyen proximo paso seguro.
|
|
185
|
+
- [ ] La documentacion publica y `README_FOR_AI.md` quedan sincronizados.
|
|
@@ -10,6 +10,7 @@ This document is the canonical command reference for the orchestration roadmap.
|
|
|
10
10
|
| Command | Purpose | OS | Since | Example |
|
|
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
|
+
| `npx create-quiver init --interactive` | Guides project mode, methodology `wdd-sdd`, init profile, and agent-profile next steps without running providers | macOS, Linux, Windows | next | `npx create-quiver init --interactive` |
|
|
13
14
|
| `npx create-quiver --name "<project>"` | Compatibility alias for the recommended init flow | macOS, Linux, Windows | current | `npx create-quiver --name "{{PROJECT_NAME}}"` |
|
|
14
15
|
| `npx create-quiver --version` | Prints the installed CLI version | macOS, Linux, Windows | current | `npx create-quiver --version` |
|
|
15
16
|
| `npx create-quiver --help` | Lists all public commands with descriptions, key options, and recommended examples | macOS, Linux, Windows | current | `npx create-quiver --help` |
|
|
@@ -21,6 +22,7 @@ This document is the canonical command reference for the orchestration roadmap.
|
|
|
21
22
|
| `quiver:flow` | Runs the guided flow entrypoint through the generated npm script | macOS, Linux, Windows | v0.11 | `npm run quiver:flow` |
|
|
22
23
|
| `quiver:prepare` | Runs guided setup diagnostics and context preparation | macOS, Linux, Windows | v0.10 | `npm run quiver:prepare -- --dry-run --provider codex` |
|
|
23
24
|
| `quiver:doctor` | Validates the Quiver contract and reports layout or migration guidance | macOS, Linux, Windows | v0.8 | `npm run quiver:doctor` |
|
|
25
|
+
| `quiver:doctor -- --json` | Emits the Doctor checks and suggested fixes as stable machine-readable JSON | macOS, Linux, Windows | next | `npm run quiver:doctor -- --json` |
|
|
24
26
|
| `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` |
|
|
25
27
|
| `quiver:doctor -- --fix` | Applies safe idempotent repairs after review | macOS, Linux, Windows | v0.11 | `npm run quiver:doctor -- --fix` |
|
|
26
28
|
| `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` |
|
|
@@ -51,7 +53,11 @@ This document is the canonical command reference for the orchestration roadmap.
|
|
|
51
53
|
| `quiver:ai:trace` | Prints a trace report through the generated npm script | macOS, Linux, Windows | v0.13 | `npm run quiver:ai:trace` |
|
|
52
54
|
| `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` |
|
|
53
55
|
| `quiver:ai:prepare-context` | Prepares docs-only AI context drafts with diff preview, assumptions, risks, contradictions, and snapshots before writes | macOS, Linux, Windows | v0.11 | `npm run quiver:ai:prepare-context -- --dry-run` |
|
|
56
|
+
| `quiver:ai:prepare-context -- --with-planner --dry-run` | Previews a planner-generated docs-only context proposal without writing files | macOS, Linux, Windows | next | `npm run quiver:ai:prepare-context -- --with-planner --dry-run` |
|
|
57
|
+
| `quiver:ai:prepare-context -- --with-planner --print-prompt` | Prints the exact planner context prompt without running provider CLIs | macOS, Linux, Windows | next | `npm run quiver:ai:prepare-context -- --with-planner --print-prompt` |
|
|
58
|
+
| `quiver:ai:prepare-context -- --with-planner --review --interactive` | Runs planner-assisted context preparation, opens review, and asks before docs-only writes | macOS, Linux, Windows | next | `npm run quiver:ai:prepare-context -- --with-planner --review --interactive` |
|
|
54
59
|
| `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` |
|
|
60
|
+
| `quiver:ai:plan -- --review --interactive` | Lets a human edit and confirm planner drafts before saving them | macOS, Linux, Windows | next | `npm run quiver:ai:plan -- --phase acceptance --input requirements.md --review --interactive` |
|
|
55
61
|
| `quiver:ai:revise` | Creates a new draft version from human feedback without approving or advancing the planner phase | macOS, Linux, Windows | v0.13 | `npm run quiver:ai:revise -- --phase acceptance --input feedback.md --dry-run` |
|
|
56
62
|
| `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` |
|
|
57
63
|
| `quiver:ai:approve` | Approves a concrete saved draft version for the next planner phase | macOS, Linux, Windows | v0.10 | `npm run quiver:ai:approve -- --phase acceptance --version 1` |
|
|
@@ -60,7 +66,10 @@ This document is the canonical command reference for the orchestration roadmap.
|
|
|
60
66
|
| `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` |
|
|
61
67
|
| `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` |
|
|
62
68
|
| `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` |
|
|
69
|
+
| `quiver:ai:pr -- --review` | Opens `pr.md` for human review and rebuilds the PR plan from the edited body | macOS, Linux, Windows | next | `npm run quiver:ai:pr -- --review --dry-run --input specs/<spec>/pr.md` |
|
|
63
70
|
| `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` |
|
|
71
|
+
| `quiver:spec:create -- --interactive` | Guides methodology `wdd-sdd`, approved technical-plan input, and direct-vs-review mode before writing | macOS, Linux, Windows | next | `npm run quiver:spec:create -- --interactive` |
|
|
72
|
+
| `quiver:spec:create -- --review --interactive` | Reviews the generated spec package preview and asks before writing files | macOS, Linux, Windows | next | `npm run quiver:spec:create -- --review --interactive` |
|
|
64
73
|
| `quiver:spec:start` | Creates or reuses the dedicated worktree for one spec | macOS, Linux, Windows | v0.10 | `npm run quiver:spec:start -- specs/<spec>` |
|
|
65
74
|
| `quiver:spec:status` | Shows spec worktree, branch, `slice-00`, and pending slices | macOS, Linux, Windows | v0.10 | `npm run quiver:spec:status -- specs/<spec>` |
|
|
66
75
|
| `quiver:spec:validate` | Validates spec docs, slices, briefs, evidence, status, dependencies, and safe paths | macOS, Linux, Windows | v0.13 | `npm run quiver:spec:validate -- specs/<spec>` |
|
|
@@ -91,8 +100,13 @@ This document is the canonical command reference for the orchestration roadmap.
|
|
|
91
100
|
| `--provider <codex\|claude\|gemini>` | `ai onboard`, `ai plan`, `ai revise`, `ai review-plan`, `ai execute-slice`, `ai execute-plan` | Select the local AI CLI adapter |
|
|
92
101
|
| `--model <label>` | `ai agent set` | Store a free-form model label in an agent profile; Quiver does not verify model availability |
|
|
93
102
|
| `--label <label>` | `ai agent set` | Store a display label for the profile |
|
|
94
|
-
| `--dry-run` |
|
|
95
|
-
| `--
|
|
103
|
+
| `--dry-run` | init, analyze, migrate, prepare, spec, demo, AI, PR, worktree, and repair commands that support preview | Preview planned actions without writes, provider execution, PR creation, or irreversible changes |
|
|
104
|
+
| `--with-planner` | `ai prepare-context`, `ai plan`, `spec create` | Enable planner-assisted behavior only on commands that explicitly support it |
|
|
105
|
+
| `--interactive` | `init`, `ai prepare-context`, `ai plan`, `spec create`, `ai pr`, `ai execute-slice`, `ai execute-plan` | Enable human prompts for confirmation or choices |
|
|
106
|
+
| `--review` | `ai prepare-context`, `ai plan`, `spec create`, `ai pr` | Open or prepare human review before persistent writes |
|
|
107
|
+
| `--methodology wdd-sdd` | `init`, `spec create` | Select the only supported methodology exposed by guided flows |
|
|
108
|
+
| `--no-color` | all human-output commands | Disable ANSI color in human output |
|
|
109
|
+
| `--print-prompt` | `ai onboard`, `ai prepare-context`, `ai plan`, `ai revise`, `ai review-plan` | Print the exact provider prompt and exit without executing provider CLIs or requiring provider auth |
|
|
96
110
|
| `--role <planner\|executor\|reviewer\|doctor>` | `ai onboard`, `ai plan`, `ai revise`, `ai execute-slice`, `ai execute-plan` | Select an AI role; execution requires executor |
|
|
97
111
|
| `--context <full\|planning\|slice\|minimal>` | `ai onboard`, `ai plan`, `ai revise`, `ai review-plan`, `ai execute-slice`, `ai execute-plan` | Select a token-budgeted context pack |
|
|
98
112
|
| `--phase <acceptance\|technical-plan\|spec>` | `ai plan`, `ai revise`, `ai approve` | Select the gated planner phase; `ai revise` and `ai approve` do not support `spec` |
|
|
@@ -119,7 +133,12 @@ This document is the canonical command reference for the orchestration roadmap.
|
|
|
119
133
|
- `check-slice` validates `depends_on` targets and requires `parallel_safe_reason` when `parallel_safe` is `never`.
|
|
120
134
|
- `check-handoff` validates both exceptional `HANDOFF.md` transfers and current slice-local `EXECUTION_BRIEF.md` / `CLOSURE_BRIEF.md` contracts.
|
|
121
135
|
- `quiver:ai:onboard`, `quiver:ai:plan`, `quiver:ai:revise`, `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, or `--print-prompt` to print the exact planner/reviewer prompt without executing a provider.
|
|
122
|
-
- `quiver:ai:prepare-context -- --dry-run` previews docs-only context drafts, diff snippets, assumptions, risks, contradictions, and omitted paths. Write mode stores snapshots under `.quiver/runs/<run-id>/snapshots/` and preserves human-authored content by appending or refreshing a Quiver-managed block.
|
|
136
|
+
- `quiver:ai:prepare-context -- --dry-run` previews deterministic docs-only context drafts, diff snippets, assumptions, risks, contradictions, and omitted paths. Write mode stores snapshots under `.quiver/runs/<run-id>/snapshots/` and preserves human-authored content by appending or refreshing a Quiver-managed block.
|
|
137
|
+
- `quiver:ai:prepare-context -- --with-planner` invokes a planner provider and only accepts a validated docs-only proposal. Use `--print-prompt` for external planners, `--review` to inspect the proposal before writing, and `--interactive` to require confirmation.
|
|
138
|
+
- UX flags are centralized: `--with-planner`, `--interactive`, and `--review` are accepted only by commands where they add real behavior. Read-only inspection commands reject them with an actionable next step. `spec create --with-planner` consumes an already approved planner output and does not call a provider again. `--json` is incompatible with `--interactive` and `--review`.
|
|
139
|
+
- `doctor --json` emits the same checks and suggested fixes as human `Quiver Doctor` output without colors, prompts, spinners, or prose.
|
|
140
|
+
- `init --interactive` and `spec create --interactive` are human-only wrappers. They fail in no-TTY/CI/JSON and always keep `WDD + SDD` as the only methodology option.
|
|
141
|
+
- Quiver human output uses the palette `#86C8F2`, `#6BADEB`, `#7F9EE8`, `#9B82E6`, and `#D56AB0`; respect `--no-color`, `NO_COLOR`, CI, and no-TTY environments.
|
|
123
142
|
- `quiver:flow` reports the detected package manager and the matching generated project script, for example `npm run quiver:flow`, `pnpm run quiver:flow`, `yarn run quiver:flow`, or `bun run quiver:flow`.
|
|
124
143
|
- `quiver:ai:agent -- set ... --dry-run` previews provider/model profile changes without writing `.quiver/agents/profiles.json`.
|
|
125
144
|
- `quiver:ai:agent` stores provider/model labels under `.quiver/agents/profiles.json`; credentials stay in the provider CLI or OS credential store.
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
# Git and PR Guide
|
|
2
|
+
|
|
3
|
+
**Version:** 2.0
|
|
4
|
+
**Last updated:** 2026-05-26
|
|
5
|
+
|
|
6
|
+
## Purpose
|
|
7
|
+
|
|
8
|
+
This guide explains how to open and review spec PRs without breaking the canonical workflow.
|
|
9
|
+
|
|
10
|
+
## Core Rule
|
|
11
|
+
|
|
12
|
+
- One slice = one commit
|
|
13
|
+
- One spec = one PR
|
|
14
|
+
- One spec should be worked from one dedicated worktree/branch.
|
|
15
|
+
- Slice numbers reset per spec. `slice-01` is the first slice in each spec.
|
|
16
|
+
- Do not commit directly to `develop`
|
|
17
|
+
- Open and merge the documentation PR before the first slice starts execution
|
|
18
|
+
- Do not open the spec PR before the documentation PR is merged
|
|
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
|
+
|
|
30
|
+
## Review Guidance
|
|
31
|
+
|
|
32
|
+
- Start with `git diff` and the slice scope before opening full files.
|
|
33
|
+
- Use the diff to confirm what changed, then open full files only for gaps, regressions, or unclear context.
|
|
34
|
+
- For debugging reviews, inspect the first relevant error, stacktrace, or failing command before reading large logs.
|
|
35
|
+
- Keep review notes anchored to the changed lines and the slice acceptance criteria.
|
|
36
|
+
|
|
37
|
+
## Required PR Headings
|
|
38
|
+
|
|
39
|
+
All spec PR notes must use:
|
|
40
|
+
|
|
41
|
+
- `## Title`
|
|
42
|
+
- `## Summary`
|
|
43
|
+
- `## Scope`
|
|
44
|
+
- `## Files`
|
|
45
|
+
- `## How to Test (DETAILED - REQUIRED)`
|
|
46
|
+
- `## Evidence`
|
|
47
|
+
- `## Rollback`
|
|
48
|
+
- `## Risks / Notes`
|
|
49
|
+
|
|
50
|
+
Inside `How to Test`, use:
|
|
51
|
+
|
|
52
|
+
- `### Required Environment`
|
|
53
|
+
- `### Worktree Access`
|
|
54
|
+
- `### Run the Project`
|
|
55
|
+
- `### Use Cases`
|
|
56
|
+
- `### Technical Verification`
|
|
57
|
+
|
|
58
|
+
## Branch Strategy
|
|
59
|
+
|
|
60
|
+
| Type | Prefix | Source | Target |
|
|
61
|
+
|------|--------|--------|--------|
|
|
62
|
+
| feature | `feature/` | `develop` | `develop` |
|
|
63
|
+
| bugfix | `bugfix/` | `develop` | `develop` |
|
|
64
|
+
| hotfix | `hotfix/` | `main` | `main` |
|
|
65
|
+
|
|
66
|
+
## Anti-Patterns
|
|
67
|
+
|
|
68
|
+
- Pushing directly to `develop`
|
|
69
|
+
- Reusing the same branch for multiple specs
|
|
70
|
+
- Writing PR bodies outside `pr.md`
|