create-quiver 0.4.0 → 0.6.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/README.md +76 -22
- package/README_FOR_AI.md +30 -10
- package/docs/AI_CONTEXT.md.template +59 -0
- package/docs/AI_ONBOARDING_PROMPT.md.template +56 -0
- package/docs/CONTEXTO.md.template +1 -1
- package/docs/DOCUMENTATION_GUIDE.md.template +9 -7
- package/docs/INDEX.md.template +4 -0
- package/docs/WORKFLOW.md.template +7 -1
- package/package.json +2 -1
- package/package.template.json +2 -1
- package/scripts/init-docs.sh +209 -35
- package/scripts/package-quiver.sh +2 -0
- package/specs/quiver-v07-ai-context-pack/EVIDENCE_REPORT.md +24 -0
- package/specs/quiver-v07-ai-context-pack/SPEC.md +40 -0
- package/specs/quiver-v07-ai-context-pack/STATUS.md +24 -0
- package/specs/quiver-v07-ai-context-pack/slices/slice-01-ai-context-pack/slice.json +79 -0
- package/specs/quiver-v08-agent-onboarding-analysis/EVIDENCE_REPORT.md +49 -0
- package/specs/quiver-v08-agent-onboarding-analysis/SPEC.md +53 -0
- package/specs/quiver-v08-agent-onboarding-analysis/STATUS.md +26 -0
- package/specs/quiver-v08-agent-onboarding-analysis/slices/slice-01-project-scan-command/slice.json +73 -0
- package/specs/quiver-v08-agent-onboarding-analysis/slices/slice-02-ai-onboarding-prompt/slice.json +82 -0
- package/specs/quiver-v08-agent-onboarding-analysis/slices/slice-03-doctor-readme-adoption-flow/slice.json +76 -0
- package/specs/quiver-v09-onboarding-readme-flow/EVIDENCE_REPORT.md +33 -0
- package/specs/quiver-v09-onboarding-readme-flow/SPEC.md +44 -0
- package/specs/quiver-v09-onboarding-readme-flow/STATUS.md +25 -0
- package/specs/quiver-v09-onboarding-readme-flow/slices/slice-01-developer-readme-onboarding-flow/slice.json +69 -0
- package/specs/quiver-v09-onboarding-readme-flow/slices/slice-02-ai-handoff-doctor-guidance/slice.json +71 -0
- package/specs/quiver-v10-local-project-installation-guidance/EVIDENCE_REPORT.md +25 -0
- package/specs/quiver-v10-local-project-installation-guidance/SPEC.md +42 -0
- package/specs/quiver-v10-local-project-installation-guidance/STATUS.md +24 -0
- package/specs/quiver-v10-local-project-installation-guidance/slices/slice-01-local-project-installation-guidance/slice.json +75 -0
- package/specs/quiver-v11-existing-project-migration/EVIDENCE_REPORT.md +38 -0
- package/specs/quiver-v11-existing-project-migration/SPEC.md +59 -0
- package/specs/quiver-v11-existing-project-migration/STATUS.md +26 -0
- package/specs/quiver-v11-existing-project-migration/slices/slice-01-non-destructive-migrate-command/slice.json +73 -0
- package/specs/quiver-v11-existing-project-migration/slices/slice-02-version-metadata-doctor-upgrade-checks/slice.json +71 -0
- package/specs/quiver-v11-existing-project-migration/slices/slice-03-upgrade-docs-legacy-project-smokes/slice.json +78 -0
- package/src/create-quiver/index.js +757 -9
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
{
|
|
2
|
+
"slice_id": "slice-01-local-project-installation-guidance",
|
|
3
|
+
"ticket": "QUIVER-01",
|
|
4
|
+
"type": "docs",
|
|
5
|
+
"title": "Local Project Installation Guidance",
|
|
6
|
+
"objective": "Clarify that Quiver should be run from the target project root with `npx`, or installed as a devDependency when a pinned project-local version is needed.",
|
|
7
|
+
"description": "The README currently shows `--dir` as the primary path, which can make users think Quiver should be installed or run outside the project. This slice makes the local project root the canonical onboarding location and explicitly discourages global installation.",
|
|
8
|
+
"git": {
|
|
9
|
+
"branch_type": "docs",
|
|
10
|
+
"base_branch": "main",
|
|
11
|
+
"branch_slug": "local-project-installation-guidance",
|
|
12
|
+
"branch_name": "docs/QUIVER-10-local-project-installation-guidance"
|
|
13
|
+
},
|
|
14
|
+
"must": [
|
|
15
|
+
"Make `cd <project>` plus `npx create-quiver --name \"Project Name\"` the primary README flow",
|
|
16
|
+
"Keep `--dir` as an alternate path for scaffolding another directory",
|
|
17
|
+
"Document `npm install --save-dev create-quiver` as the pinned local option",
|
|
18
|
+
"Explicitly say not to install Quiver globally",
|
|
19
|
+
"Update generated project README and AI-facing docs with matching guidance"
|
|
20
|
+
],
|
|
21
|
+
"not_included": [
|
|
22
|
+
"Changing CLI behavior",
|
|
23
|
+
"Changing package version",
|
|
24
|
+
"Publishing a release",
|
|
25
|
+
"Adding global install support"
|
|
26
|
+
],
|
|
27
|
+
"acceptance": [
|
|
28
|
+
"The root README recommends running Quiver from the target project root",
|
|
29
|
+
"The root README discourages global installation",
|
|
30
|
+
"The generated project README contains the local-project guidance",
|
|
31
|
+
"AI-facing docs reference the local project root as the working context",
|
|
32
|
+
"Smoke checks pass"
|
|
33
|
+
],
|
|
34
|
+
"files": [
|
|
35
|
+
"README.md",
|
|
36
|
+
"README_FOR_AI.md",
|
|
37
|
+
"docs/AI_CONTEXT.md.template",
|
|
38
|
+
"scripts/init-docs.sh",
|
|
39
|
+
"scripts/ci/smoke-init-docs.sh",
|
|
40
|
+
"scripts/ci/smoke-create-quiver.sh",
|
|
41
|
+
"specs/quiver-v10-local-project-installation-guidance/SPEC.md",
|
|
42
|
+
"specs/quiver-v10-local-project-installation-guidance/STATUS.md",
|
|
43
|
+
"specs/quiver-v10-local-project-installation-guidance/EVIDENCE_REPORT.md",
|
|
44
|
+
"specs/quiver-v10-local-project-installation-guidance/slices/slice-01-local-project-installation-guidance/slice.json"
|
|
45
|
+
],
|
|
46
|
+
"tests": [
|
|
47
|
+
"bash -n scripts/init-docs.sh scripts/ci/smoke-init-docs.sh scripts/ci/smoke-create-quiver.sh",
|
|
48
|
+
"bash scripts/ci/smoke-init-docs.sh",
|
|
49
|
+
"bash scripts/ci/smoke-create-quiver.sh",
|
|
50
|
+
"git diff --check"
|
|
51
|
+
],
|
|
52
|
+
"documentation": [
|
|
53
|
+
"README.md",
|
|
54
|
+
"README_FOR_AI.md",
|
|
55
|
+
"docs/AI_CONTEXT.md.template",
|
|
56
|
+
"specs/quiver-v10-local-project-installation-guidance/SPEC.md",
|
|
57
|
+
"specs/quiver-v10-local-project-installation-guidance/STATUS.md",
|
|
58
|
+
"specs/quiver-v10-local-project-installation-guidance/EVIDENCE_REPORT.md"
|
|
59
|
+
],
|
|
60
|
+
"dependencies": [
|
|
61
|
+
"quiver-v09-onboarding-readme-flow"
|
|
62
|
+
],
|
|
63
|
+
"assumptions": [
|
|
64
|
+
"`npx` is the lowest-friction default for new adopters",
|
|
65
|
+
"Teams that need pinned versions can keep `create-quiver` as a devDependency",
|
|
66
|
+
"Global installation should not be part of the recommended path"
|
|
67
|
+
],
|
|
68
|
+
"estimated_hours": 1,
|
|
69
|
+
"actual_hours": 1,
|
|
70
|
+
"status": "completed",
|
|
71
|
+
"blocked_reason": null,
|
|
72
|
+
"ready_at": "2026-04-21T00:00:00Z",
|
|
73
|
+
"started_at": "2026-04-21T00:00:00Z",
|
|
74
|
+
"completed_at": "2026-04-21T00:00:00Z"
|
|
75
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# Quiver v0.11 Evidence Report
|
|
2
|
+
|
|
3
|
+
**Spec:** quiver-v11-existing-project-migration
|
|
4
|
+
**Last updated:** 2026-04-22
|
|
5
|
+
**Status:** Completed
|
|
6
|
+
|
|
7
|
+
## Summary
|
|
8
|
+
|
|
9
|
+
| Slice | Acceptance criteria | Status | Evidence |
|
|
10
|
+
|-------|---------------------|--------|----------|
|
|
11
|
+
| slice-01 | 6 | Completed | `node -c src/create-quiver/index.js`; `bash -n scripts/init-docs.sh scripts/ci/smoke-create-quiver.sh scripts/package-quiver.sh`; `bash scripts/ci/smoke-create-quiver.sh` |
|
|
12
|
+
| slice-02 | 6 | Completed | `node -c src/create-quiver/index.js`; `bash -n scripts/init-docs.sh scripts/ci/smoke-init-docs.sh scripts/ci/smoke-create-quiver.sh scripts/package-quiver.sh`; `bash scripts/ci/smoke-create-quiver.sh` |
|
|
13
|
+
| slice-03 | 6 | Completed | `node -c src/create-quiver/index.js`; `bash -n scripts/init-docs.sh scripts/ci/smoke-init-docs.sh scripts/ci/smoke-create-quiver.sh scripts/package-quiver.sh`; `bash scripts/ci/smoke-init-docs.sh`; `bash scripts/ci/smoke-create-quiver.sh`; `bash scripts/package-quiver.sh` |
|
|
14
|
+
|
|
15
|
+
## Evidence by Slice
|
|
16
|
+
|
|
17
|
+
## Slice 01
|
|
18
|
+
|
|
19
|
+
- Added `create-quiver migrate --dir <project>` with a non-destructive migration path for existing projects
|
|
20
|
+
- `init-docs.sh` now respects `QUIVER_MIGRATE=1` and skips files that already exist
|
|
21
|
+
- Generated projects now receive `tools/scripts/migrate-project.sh` and a `migrate` package script
|
|
22
|
+
- Smoke coverage now verifies that migration restores missing files without overwriting existing edits
|
|
23
|
+
|
|
24
|
+
## Slice 02
|
|
25
|
+
|
|
26
|
+
- Added `.quiver/state.json` as project-local Quiver metadata
|
|
27
|
+
- `init` and `migrate` create or refresh the state file with initialized and migrated version data
|
|
28
|
+
- `analyze` updates `last_analysis_at` when metadata exists
|
|
29
|
+
- `doctor` distinguishes between missing Quiver metadata and missing migration/upgrade artifacts
|
|
30
|
+
- Smoke coverage now verifies the new state lifecycle across init, migrate, analyze, and doctor
|
|
31
|
+
|
|
32
|
+
## Slice 03
|
|
33
|
+
|
|
34
|
+
- Added an explicit `Upgrading Existing Projects` section to the root README and the generated project README
|
|
35
|
+
- Documented both `npx` and project-local devDependency upgrade flows
|
|
36
|
+
- Updated the generated onboarding docs so existing projects are guided to `migrate`, then `analyze`, then `doctor`
|
|
37
|
+
- Extended smoke checks to assert the upgrade section and legacy migration preservation behavior
|
|
38
|
+
- Confirmed `scripts/package-quiver.sh` still passes after the documentation and smoke updates
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# Quiver v0.11 - Existing Project Migration
|
|
2
|
+
|
|
3
|
+
**Date:** 2026-04-22
|
|
4
|
+
**Status:** Completed
|
|
5
|
+
|
|
6
|
+
Slice numbering resets here: this spec starts at `slice-01` and does not continue any previous spec's numbering.
|
|
7
|
+
|
|
8
|
+
## Objective
|
|
9
|
+
|
|
10
|
+
Make existing Quiver projects upgradeable without reinstalling or manually copying new templates, while preserving user-authored project context.
|
|
11
|
+
|
|
12
|
+
## Scope
|
|
13
|
+
|
|
14
|
+
### Included
|
|
15
|
+
|
|
16
|
+
- Add a `create-quiver migrate --dir <project>` command for existing projects
|
|
17
|
+
- Add or update Quiver project metadata so `doctor` can understand initialized, analyzed, and migrated state
|
|
18
|
+
- Teach `doctor` to recommend migration when required files or version metadata are missing
|
|
19
|
+
- Document the upgrade flow for users who already initialized Quiver in a project
|
|
20
|
+
- Add smoke fixtures that simulate older generated projects and validate non-destructive migration
|
|
21
|
+
|
|
22
|
+
### Excluded
|
|
23
|
+
|
|
24
|
+
- Running AI providers from the CLI
|
|
25
|
+
- Overwriting user-authored docs without preserving or reporting the change
|
|
26
|
+
- Changing slice execution semantics
|
|
27
|
+
- Publishing a release as part of this spec
|
|
28
|
+
- Reworking global installation behavior
|
|
29
|
+
|
|
30
|
+
## Target Upgrade Flow
|
|
31
|
+
|
|
32
|
+
For a project that already has Quiver:
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
cd /path/to/project
|
|
36
|
+
npm install --save-dev create-quiver@latest
|
|
37
|
+
npx create-quiver migrate --dir .
|
|
38
|
+
npx create-quiver analyze --dir .
|
|
39
|
+
npx create-quiver doctor --dir .
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
Then the developer opens the AI agent and asks it to execute `docs/AI_ONBOARDING_PROMPT.md`.
|
|
43
|
+
|
|
44
|
+
## Slices
|
|
45
|
+
|
|
46
|
+
| Slice | Title | Status | Spec |
|
|
47
|
+
|-------|-------|--------|------|
|
|
48
|
+
| 01 | Non-Destructive Migrate Command | Completed | [slice-01](./slices/slice-01-non-destructive-migrate-command/slice.json) |
|
|
49
|
+
| 02 | Version Metadata and Doctor Upgrade Checks | Completed | [slice-02](./slices/slice-02-version-metadata-doctor-upgrade-checks/slice.json) |
|
|
50
|
+
| 03 | Upgrade Docs and Legacy Project Smokes | Completed | [slice-03](./slices/slice-03-upgrade-docs-legacy-project-smokes/slice.json) |
|
|
51
|
+
|
|
52
|
+
## Definition of Done
|
|
53
|
+
|
|
54
|
+
- Existing generated projects can receive new Quiver templates without deleting user edits
|
|
55
|
+
- `migrate` reports copied, skipped, and already-present files
|
|
56
|
+
- Quiver records enough metadata to distinguish initialized, analyzed, and migrated projects
|
|
57
|
+
- `doctor` recommends `migrate` when upgrade artifacts are missing
|
|
58
|
+
- README and generated docs explain the upgrade path for existing projects
|
|
59
|
+
- Smokes cover a legacy project missing post-0.5 onboarding files
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# Quiver v0.11 Spec Status
|
|
2
|
+
|
|
3
|
+
**Spec:** quiver-v11-existing-project-migration
|
|
4
|
+
**Last updated:** 2026-04-22
|
|
5
|
+
|
|
6
|
+
Slice numbering is local to this spec. The first slice is `slice-01`.
|
|
7
|
+
|
|
8
|
+
## Status
|
|
9
|
+
|
|
10
|
+
| Slice | Title | Status | PR | Estimated hours | Actual hours |
|
|
11
|
+
|-------|-------|--------|----|-----------------|--------------|
|
|
12
|
+
| slice-01 | Non-Destructive Migrate Command | Completed | - | 5 | 5 |
|
|
13
|
+
| slice-02 | Version Metadata and Doctor Upgrade Checks | Completed | - | 4 | 4 |
|
|
14
|
+
| slice-03 | Upgrade Docs and Legacy Project Smokes | Completed | - | 3 | 3 |
|
|
15
|
+
|
|
16
|
+
## Progress
|
|
17
|
+
|
|
18
|
+
- Completed slices: 3 / 3
|
|
19
|
+
- Estimated hours: 12
|
|
20
|
+
- Actual hours: 12
|
|
21
|
+
|
|
22
|
+
## Blockers
|
|
23
|
+
|
|
24
|
+
| Slice | Blocker | Since | Action needed |
|
|
25
|
+
|-------|---------|-------|---------------|
|
|
26
|
+
| - | - | - | - |
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
{
|
|
2
|
+
"slice_id": "slice-01-non-destructive-migrate-command",
|
|
3
|
+
"ticket": "QUIVER-01",
|
|
4
|
+
"type": "feature",
|
|
5
|
+
"title": "Non-Destructive Migrate Command",
|
|
6
|
+
"objective": "Add `create-quiver migrate --dir <project>` so existing Quiver projects can receive missing framework artifacts without reinstalling or overwriting user-authored files.",
|
|
7
|
+
"description": "Users who initialized Quiver before newer onboarding files existed currently need to copy missing templates by hand. This slice adds a migration command that detects an existing Quiver project, copies missing files from the packaged template, preserves existing files, and reports exactly what happened.",
|
|
8
|
+
"git": {
|
|
9
|
+
"branch_type": "feature",
|
|
10
|
+
"base_branch": "main",
|
|
11
|
+
"branch_slug": "existing-project-migration",
|
|
12
|
+
"branch_name": "feature/QUIVER-01-existing-project-migration"
|
|
13
|
+
},
|
|
14
|
+
"must": [
|
|
15
|
+
"Add `migrate` mode to the `create-quiver` CLI with `--dir <project>` support",
|
|
16
|
+
"Detect an existing Quiver project using generated docs, specs, package scripts, or tools scripts",
|
|
17
|
+
"Copy missing generated framework files such as `docs/AI_ONBOARDING_PROMPT.md`, support docs, workflow docs, and tool scripts when absent",
|
|
18
|
+
"Never overwrite existing files without preserving or explicitly skipping them",
|
|
19
|
+
"Print a migration summary with copied, skipped, and already-present paths",
|
|
20
|
+
"Fail with a clear message when the target does not look like a Quiver-initialized project"
|
|
21
|
+
],
|
|
22
|
+
"not_included": [
|
|
23
|
+
"Overwriting user-authored docs",
|
|
24
|
+
"Running `analyze` automatically",
|
|
25
|
+
"Executing AI prompts",
|
|
26
|
+
"Changing slice execution semantics",
|
|
27
|
+
"Publishing a package release"
|
|
28
|
+
],
|
|
29
|
+
"acceptance": [
|
|
30
|
+
"`npx create-quiver migrate --dir .` runs in an existing Quiver project",
|
|
31
|
+
"Missing framework artifacts are copied from the packaged template",
|
|
32
|
+
"Existing user files are preserved",
|
|
33
|
+
"The command reports copied, skipped, and already-present paths",
|
|
34
|
+
"The command exits clearly when the target has no Quiver markers",
|
|
35
|
+
"Existing `init`, `analyze`, and `doctor` modes still work"
|
|
36
|
+
],
|
|
37
|
+
"files": [
|
|
38
|
+
"src/create-quiver/index.js",
|
|
39
|
+
"scripts/ci/smoke-create-quiver.sh",
|
|
40
|
+
"scripts/package-quiver.sh",
|
|
41
|
+
"specs/quiver-v11-existing-project-migration/SPEC.md",
|
|
42
|
+
"specs/quiver-v11-existing-project-migration/STATUS.md",
|
|
43
|
+
"specs/quiver-v11-existing-project-migration/EVIDENCE_REPORT.md",
|
|
44
|
+
"specs/quiver-v11-existing-project-migration/slices/slice-01-non-destructive-migrate-command/slice.json"
|
|
45
|
+
],
|
|
46
|
+
"tests": [
|
|
47
|
+
"node src/create-quiver/index.js migrate --dir <legacy-fixture>",
|
|
48
|
+
"node src/create-quiver/index.js doctor --dir <migrated-fixture>",
|
|
49
|
+
"bash scripts/ci/smoke-create-quiver.sh",
|
|
50
|
+
"bash scripts/package-quiver.sh",
|
|
51
|
+
"git diff --check"
|
|
52
|
+
],
|
|
53
|
+
"documentation": [
|
|
54
|
+
"specs/quiver-v11-existing-project-migration/SPEC.md",
|
|
55
|
+
"specs/quiver-v11-existing-project-migration/STATUS.md",
|
|
56
|
+
"specs/quiver-v11-existing-project-migration/EVIDENCE_REPORT.md"
|
|
57
|
+
],
|
|
58
|
+
"dependencies": [
|
|
59
|
+
"quiver-v10-local-project-installation-guidance"
|
|
60
|
+
],
|
|
61
|
+
"assumptions": [
|
|
62
|
+
"Migration should be additive by default",
|
|
63
|
+
"The CLI should not infer business context during migration",
|
|
64
|
+
"Manual review remains required after migration"
|
|
65
|
+
],
|
|
66
|
+
"estimated_hours": 5,
|
|
67
|
+
"actual_hours": 5,
|
|
68
|
+
"status": "completed",
|
|
69
|
+
"blocked_reason": null,
|
|
70
|
+
"ready_at": null,
|
|
71
|
+
"started_at": "2026-04-22T00:00:00Z",
|
|
72
|
+
"completed_at": "2026-04-22T00:00:00Z"
|
|
73
|
+
}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
{
|
|
2
|
+
"slice_id": "slice-02-version-metadata-doctor-upgrade-checks",
|
|
3
|
+
"ticket": "QUIVER-02",
|
|
4
|
+
"type": "feature",
|
|
5
|
+
"title": "Version Metadata and Doctor Upgrade Checks",
|
|
6
|
+
"objective": "Record Quiver project state and teach `doctor` to identify projects that need migration or analysis.",
|
|
7
|
+
"description": "After migration exists, Quiver needs a durable way to know which template version initialized or migrated the project. This slice adds metadata and extends doctor diagnostics so users get the right next command instead of guessing.",
|
|
8
|
+
"git": {
|
|
9
|
+
"branch_type": "feature",
|
|
10
|
+
"base_branch": "main",
|
|
11
|
+
"branch_slug": "existing-project-migration",
|
|
12
|
+
"branch_name": "feature/QUIVER-02-existing-project-migration"
|
|
13
|
+
},
|
|
14
|
+
"must": [
|
|
15
|
+
"Create or update a project-local metadata file such as `.quiver/state.json`",
|
|
16
|
+
"Record initialized version, migrated version, last migration date, and last analysis date where available",
|
|
17
|
+
"Update `init`, `migrate`, and `analyze` to maintain metadata",
|
|
18
|
+
"Teach `doctor` to report missing metadata without failing older projects unnecessarily",
|
|
19
|
+
"Teach `doctor` to recommend `npx create-quiver migrate --dir .` when required upgrade artifacts are missing",
|
|
20
|
+
"Keep metadata deterministic and free of secrets"
|
|
21
|
+
],
|
|
22
|
+
"not_included": [
|
|
23
|
+
"Remote telemetry",
|
|
24
|
+
"User identity tracking",
|
|
25
|
+
"AI-generated metadata",
|
|
26
|
+
"Changing package publish flow"
|
|
27
|
+
],
|
|
28
|
+
"acceptance": [
|
|
29
|
+
"Newly initialized projects include Quiver metadata",
|
|
30
|
+
"Migrated projects update metadata",
|
|
31
|
+
"`analyze` updates last analysis metadata",
|
|
32
|
+
"`doctor` distinguishes missing analysis from missing migration",
|
|
33
|
+
"Older projects without metadata receive a clear migration recommendation",
|
|
34
|
+
"Metadata contains no absolute secrets or credential values"
|
|
35
|
+
],
|
|
36
|
+
"files": [
|
|
37
|
+
"src/create-quiver/index.js",
|
|
38
|
+
"scripts/ci/smoke-create-quiver.sh",
|
|
39
|
+
"scripts/ci/smoke-init-docs.sh",
|
|
40
|
+
"scripts/package-quiver.sh",
|
|
41
|
+
"specs/quiver-v11-existing-project-migration/STATUS.md",
|
|
42
|
+
"specs/quiver-v11-existing-project-migration/EVIDENCE_REPORT.md",
|
|
43
|
+
"specs/quiver-v11-existing-project-migration/slices/slice-02-version-metadata-doctor-upgrade-checks/slice.json"
|
|
44
|
+
],
|
|
45
|
+
"tests": [
|
|
46
|
+
"init smoke verifies `.quiver/state.json`",
|
|
47
|
+
"migrate smoke verifies migration metadata",
|
|
48
|
+
"analyze smoke verifies last analysis metadata",
|
|
49
|
+
"doctor smoke verifies migration recommendation",
|
|
50
|
+
"git diff --check"
|
|
51
|
+
],
|
|
52
|
+
"documentation": [
|
|
53
|
+
"specs/quiver-v11-existing-project-migration/STATUS.md",
|
|
54
|
+
"specs/quiver-v11-existing-project-migration/EVIDENCE_REPORT.md"
|
|
55
|
+
],
|
|
56
|
+
"dependencies": [
|
|
57
|
+
"slice-01-non-destructive-migrate-command"
|
|
58
|
+
],
|
|
59
|
+
"assumptions": [
|
|
60
|
+
"A local metadata file is simpler and more reliable than parsing docs for version state",
|
|
61
|
+
"Metadata should supplement, not replace, user-facing docs",
|
|
62
|
+
"Doctor should guide remediation but not run migration automatically"
|
|
63
|
+
],
|
|
64
|
+
"estimated_hours": 4,
|
|
65
|
+
"actual_hours": 4,
|
|
66
|
+
"status": "completed",
|
|
67
|
+
"blocked_reason": null,
|
|
68
|
+
"ready_at": null,
|
|
69
|
+
"started_at": "2026-04-22T00:00:00Z",
|
|
70
|
+
"completed_at": "2026-04-22T00:00:00Z"
|
|
71
|
+
}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
{
|
|
2
|
+
"slice_id": "slice-03-upgrade-docs-legacy-project-smokes",
|
|
3
|
+
"ticket": "QUIVER-03",
|
|
4
|
+
"type": "docs",
|
|
5
|
+
"title": "Upgrade Docs and Legacy Project Smokes",
|
|
6
|
+
"objective": "Document the upgrade path for existing projects and add smoke coverage for legacy generated projects.",
|
|
7
|
+
"description": "Users need a clear path when they already initialized Quiver with an older package. This slice updates README and generated docs with upgrade instructions and adds fixtures or smoke setup that simulate older projects missing newer onboarding artifacts.",
|
|
8
|
+
"git": {
|
|
9
|
+
"branch_type": "docs",
|
|
10
|
+
"base_branch": "main",
|
|
11
|
+
"branch_slug": "existing-project-migration",
|
|
12
|
+
"branch_name": "docs/QUIVER-03-existing-project-migration"
|
|
13
|
+
},
|
|
14
|
+
"must": [
|
|
15
|
+
"Add an `Upgrading Existing Projects` section to the root README",
|
|
16
|
+
"Document both `npx` and devDependency upgrade flows",
|
|
17
|
+
"Update generated README or AI docs to mention migration for already-initialized projects",
|
|
18
|
+
"Add smoke coverage for a legacy project missing `docs/AI_ONBOARDING_PROMPT.md` and metadata",
|
|
19
|
+
"Verify migration does not overwrite edited context docs",
|
|
20
|
+
"Close the spec status and evidence"
|
|
21
|
+
],
|
|
22
|
+
"not_included": [
|
|
23
|
+
"Publishing a release",
|
|
24
|
+
"Changing migration behavior beyond doc/test-driven fixes found during validation",
|
|
25
|
+
"Adding provider-specific AI instructions",
|
|
26
|
+
"Supporting global installation as a recommended path"
|
|
27
|
+
],
|
|
28
|
+
"acceptance": [
|
|
29
|
+
"README explains what to do if Quiver was already initialized with an older version",
|
|
30
|
+
"Generated guidance points existing projects to `migrate`, then `analyze`, then `doctor`",
|
|
31
|
+
"Legacy project smoke proves missing files are added",
|
|
32
|
+
"Legacy project smoke proves edited docs are preserved",
|
|
33
|
+
"Package smoke passes",
|
|
34
|
+
"Spec status and evidence show all slices completed"
|
|
35
|
+
],
|
|
36
|
+
"files": [
|
|
37
|
+
"README.md",
|
|
38
|
+
"README_FOR_AI.md",
|
|
39
|
+
"scripts/init-docs.sh",
|
|
40
|
+
"scripts/ci/smoke-create-quiver.sh",
|
|
41
|
+
"scripts/ci/smoke-init-docs.sh",
|
|
42
|
+
"scripts/package-quiver.sh",
|
|
43
|
+
"specs/quiver-v11-existing-project-migration/SPEC.md",
|
|
44
|
+
"specs/quiver-v11-existing-project-migration/STATUS.md",
|
|
45
|
+
"specs/quiver-v11-existing-project-migration/EVIDENCE_REPORT.md",
|
|
46
|
+
"specs/quiver-v11-existing-project-migration/slices/slice-03-upgrade-docs-legacy-project-smokes/slice.json"
|
|
47
|
+
],
|
|
48
|
+
"tests": [
|
|
49
|
+
"bash scripts/ci/smoke-init-docs.sh",
|
|
50
|
+
"bash scripts/ci/smoke-create-quiver.sh",
|
|
51
|
+
"bash scripts/package-quiver.sh",
|
|
52
|
+
"legacy migration fixture or smoke path",
|
|
53
|
+
"git diff --check"
|
|
54
|
+
],
|
|
55
|
+
"documentation": [
|
|
56
|
+
"README.md",
|
|
57
|
+
"README_FOR_AI.md",
|
|
58
|
+
"specs/quiver-v11-existing-project-migration/SPEC.md",
|
|
59
|
+
"specs/quiver-v11-existing-project-migration/STATUS.md",
|
|
60
|
+
"specs/quiver-v11-existing-project-migration/EVIDENCE_REPORT.md"
|
|
61
|
+
],
|
|
62
|
+
"dependencies": [
|
|
63
|
+
"slice-01-non-destructive-migrate-command",
|
|
64
|
+
"slice-02-version-metadata-doctor-upgrade-checks"
|
|
65
|
+
],
|
|
66
|
+
"assumptions": [
|
|
67
|
+
"Existing projects should not need to delete generated docs before upgrading",
|
|
68
|
+
"The safest upgrade order is migrate, analyze, doctor, then AI prompt",
|
|
69
|
+
"Smoke fixtures can simulate old projects by deleting newer artifacts from a generated project"
|
|
70
|
+
],
|
|
71
|
+
"estimated_hours": 3,
|
|
72
|
+
"actual_hours": 3,
|
|
73
|
+
"status": "completed",
|
|
74
|
+
"blocked_reason": null,
|
|
75
|
+
"ready_at": null,
|
|
76
|
+
"started_at": "2026-04-22T00:00:00Z",
|
|
77
|
+
"completed_at": "2026-04-22T00:00:00Z"
|
|
78
|
+
}
|