create-quiver 0.6.0 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/.github/workflows/ci.yml +7 -30
  2. package/AGENTS.md.template +41 -0
  3. package/CHANGELOG.md +5 -0
  4. package/README.md +37 -13
  5. package/README_FOR_AI.md +27 -7
  6. package/ROADMAP.md +78 -0
  7. package/docs/AI_CONTEXT.md.template +19 -26
  8. package/docs/AI_ONBOARDING_PROMPT.md.template +12 -0
  9. package/docs/CONTEXTO.md.template +4 -17
  10. package/docs/DECISIONS.md.template +18 -0
  11. package/docs/DEEP.md.template +34 -0
  12. package/docs/DOCUMENTATION_GUIDE.md.template +9 -7
  13. package/docs/GITFLOW_PR_GUIDE.md.template +7 -0
  14. package/docs/INDEX.md.template +9 -0
  15. package/docs/QUICK.md.template +27 -0
  16. package/docs/STANDARD.md.template +49 -0
  17. package/docs/STATUS.md.template +2 -2
  18. package/docs/SUPPORT_MATRIX.md.template +7 -4
  19. package/docs/TESTING_GUIDE_FOR_AI.md.template +4 -3
  20. package/docs/TROUBLESHOOTING.md.template +14 -0
  21. package/docs/WORKFLOW.md.template +17 -4
  22. package/package.json +2 -1
  23. package/package.template.json +11 -0
  24. package/scripts/cleanup-slice.sh +2 -172
  25. package/scripts/init-docs.sh +97 -24
  26. package/scripts/package-quiver.sh +5 -0
  27. package/scripts/start-slice.sh +3 -425
  28. package/specs/[project-name]/EVIDENCE_REPORT.md.template +3 -1
  29. package/specs/[project-name]/slices/slice-template/slice.json +2 -2
  30. package/specs/quiver-v12-cross-platform-native-runtime/EVIDENCE_REPORT.md +30 -0
  31. package/specs/quiver-v12-cross-platform-native-runtime/SPEC.md +86 -0
  32. package/specs/quiver-v12-cross-platform-native-runtime/STATUS.md +29 -0
  33. package/specs/quiver-v12-cross-platform-native-runtime/slices/slice-01-cross-platform-support-contract/slice.json +69 -0
  34. package/specs/quiver-v12-cross-platform-native-runtime/slices/slice-02-node-init-docs-runtime/slice.json +76 -0
  35. package/specs/quiver-v12-cross-platform-native-runtime/slices/slice-03-node-migrate-analyze-doctor-flow/slice.json +74 -0
  36. package/specs/quiver-v12-cross-platform-native-runtime/slices/slice-04-node-slice-lifecycle-commands/slice.json +81 -0
  37. package/specs/quiver-v12-cross-platform-native-runtime/slices/slice-05-generated-project-scripts-and-migration/slice.json +78 -0
  38. package/specs/quiver-v12-cross-platform-native-runtime/slices/slice-06-cross-platform-ci-release-readiness/slice.json +74 -0
  39. package/specs/quiver-v13-token-efficient-ai-context/EVIDENCE_REPORT.md +28 -0
  40. package/specs/quiver-v13-token-efficient-ai-context/SPEC.md +68 -0
  41. package/specs/quiver-v13-token-efficient-ai-context/STATUS.md +26 -0
  42. package/specs/quiver-v13-token-efficient-ai-context/slices/slice-01-token-efficient-ai-modes-guidance/slice.json +65 -0
  43. package/specs/quiver-v13-token-efficient-ai-context/slices/slice-02-decision-log-context-checkpoint/slice.json +64 -0
  44. package/specs/quiver-v13-token-efficient-ai-context/slices/slice-03-project-map-reading-order/slice.json +66 -0
  45. package/specs/quiver-v14-tiered-context-pack/EVIDENCE_REPORT.md +42 -0
  46. package/specs/quiver-v14-tiered-context-pack/SPEC.md +116 -0
  47. package/specs/quiver-v14-tiered-context-pack/STATUS.md +35 -0
  48. package/specs/quiver-v14-tiered-context-pack/slices/slice-01-tiered-context-pack/slice.json +77 -0
  49. package/specs/quiver-v14-tiered-context-pack/slices/slice-02-agents-md-router/slice.json +74 -0
  50. package/specs/quiver-v14-tiered-context-pack/slices/slice-03-active-slice-lifecycle/slice.json +74 -0
  51. package/specs/quiver-v14-tiered-context-pack/slices/slice-04-dedup-frontmatter/slice.json +83 -0
  52. package/specs/quiver-v14-tiered-context-pack/slices/slice-05-doctor-smokes-tiered-pack/slice.json +84 -0
  53. package/src/create-quiver/index.js +299 -123
  54. package/src/create-quiver/lib/analyze.js +9 -0
  55. package/src/create-quiver/lib/doctor.js +212 -0
  56. package/src/create-quiver/lib/git.js +154 -0
  57. package/src/create-quiver/lib/init-docs.js +616 -0
  58. package/src/create-quiver/lib/lifecycle.js +478 -0
  59. package/src/create-quiver/lib/paths.js +19 -0
  60. package/src/create-quiver/lib/readiness.js +300 -0
  61. package/src/create-quiver/lib/scope.js +5 -0
  62. package/src/create-quiver/lib/slice.js +194 -0
  63. package/src/create-quiver/lib/state.js +89 -0
@@ -25,13 +25,14 @@ jobs:
25
25
  node -e "JSON.parse(require('fs').readFileSync('specs/[project-name]/slices/slice-template/slice.json', 'utf8'))"
26
26
  node -e "JSON.parse(require('fs').readFileSync('specs/quiver-v01/slices/slice-01-legal-integrity/slice.json', 'utf8'))"
27
27
 
28
- smoke-init-docs:
28
+ cross-platform-smoke:
29
29
  strategy:
30
30
  fail-fast: false
31
31
  matrix:
32
32
  os:
33
33
  - ubuntu-latest
34
34
  - macos-latest
35
+ - windows-latest
35
36
  runs-on: ${{ matrix.os }}
36
37
  steps:
37
38
  - name: Checkout
@@ -42,33 +43,9 @@ jobs:
42
43
  with:
43
44
  node-version: 22
44
45
 
45
- - name: Run init-docs smoke
46
- run: bash scripts/ci/smoke-init-docs.sh "Smoke Project"
46
+ - name: Run cross-platform smoke
47
+ run: node scripts/ci/smoke-cross-platform.js
47
48
 
48
- smoke-workflow-gates:
49
- runs-on: ubuntu-latest
50
- steps:
51
- - name: Checkout
52
- uses: actions/checkout@v4
53
-
54
- - name: Setup Node
55
- uses: actions/setup-node@v4
56
- with:
57
- node-version: 22
58
-
59
- - name: Run workflow gate smoke
60
- run: bash scripts/ci/smoke-workflow-gates.sh
61
-
62
- smoke-create-quiver:
63
- runs-on: ubuntu-latest
64
- steps:
65
- - name: Checkout
66
- uses: actions/checkout@v4
67
-
68
- - name: Setup Node
69
- uses: actions/setup-node@v4
70
- with:
71
- node-version: 22
72
-
73
- - name: Run create-quiver smoke
74
- run: bash scripts/ci/smoke-create-quiver.sh
49
+ - name: Run tiered pack smoke
50
+ shell: bash
51
+ run: bash scripts/ci/smoke-tiered-pack.sh
@@ -0,0 +1,41 @@
1
+ # AGENTS Router
2
+
3
+ Purpose
4
+
5
+ This file is the universal router for AI agents in Quiver-generated projects. Read it before any other project context when you need to decide how deep to load.
6
+
7
+ ## Reading Budget
8
+
9
+ - Planning: up to 10000 tokens
10
+ - Execution: under 2000 tokens before the first action
11
+ - Debug: under 1000 tokens before proposing a hypothesis
12
+
13
+ ## Reading Order
14
+
15
+ 1. QUICK
16
+ 2. STANDARD if QUICK is insufficient
17
+ 3. DEEP only when history or past decisions are requested
18
+
19
+ ## Output Policy
20
+
21
+ - Do not restate the task before acting.
22
+ - Do not summarize diffs after edits.
23
+ - Keep confirmations to one sentence max.
24
+
25
+ ## Slice Execution Rules
26
+
27
+ - If `docs/ai/ACTIVE_SLICE.md` exists, treat it as the source of truth.
28
+ - Do not read `SPEC.md` unless `ACTIVE_SLICE.md` points to it.
29
+ - Stay inside the slice `allowed_files` when an active slice is present.
30
+ - Prefer the slice tests and checklist over general repo context.
31
+
32
+ ## Links
33
+
34
+ - QUICK: `./docs/ai/QUICK.md`
35
+ - STANDARD: `./docs/ai/STANDARD.md`
36
+ - DEEP: `./docs/ai/DEEP.md`
37
+ - Project Map: `./docs/PROJECT_MAP.md`
38
+ - AI Context: `./docs/AI_CONTEXT.md`
39
+ - Decision Log: `./docs/DECISIONS.md`
40
+ - AI Onboarding Prompt: `./docs/AI_ONBOARDING_PROMPT.md`
41
+ - Active Slice: `./docs/ai/ACTIVE_SLICE.md`
package/CHANGELOG.md CHANGED
@@ -4,6 +4,11 @@ All notable changes to this project will be documented in this file.
4
4
 
5
5
  ## [Unreleased]
6
6
 
7
+ ### Added
8
+
9
+ - Cross-platform CI matrix covering macOS, Linux, and Windows for the Node-native Quiver runtime
10
+ - Node-native generated project npm scripts and additive migration support for existing projects
11
+
7
12
  ## [0.4.0] - 2026-04-21
8
13
 
9
14
  ### Added
package/README.md CHANGED
@@ -34,18 +34,36 @@ npx create-quiver --name "Project Name" --dir "/Users/me/My Project"
34
34
 
35
35
  ### 2. Analyze And Validate
36
36
 
37
- Run the local analyzer and then validate the generated contract:
37
+ Run the local analyzer and then validate the generated contract from the project root:
38
38
 
39
39
  ```bash
40
- npx create-quiver analyze --dir ./target-repo
41
- npx create-quiver doctor --dir ./target-repo
40
+ npx create-quiver analyze
41
+ npx create-quiver doctor
42
42
  ```
43
43
 
44
- If you are working in the current directory, use `--dir .`.
44
+ If you need to target another directory from outside the project, pass `--dir` explicitly. For the current project root, omit it.
45
45
 
46
46
  The analyzer creates `docs/PROJECT_SCAN.json` and `docs/PROJECT_MAP.md`. These files give the AI agent a deterministic project map before it edits context docs.
47
47
 
48
- The doctor checks the generated project contract and prints the next workflow steps. If the scan artifacts are missing, it recommends `npx create-quiver analyze --dir .` first.
48
+ The doctor checks the generated project contract and prints the next workflow steps. If the scan artifacts are missing, it recommends `npx create-quiver analyze` first.
49
+
50
+ ### Project NPM Scripts
51
+
52
+ Generated projects include `quiver:*` npm scripts that call the Node CLI and are the preferred repeatable workflow:
53
+
54
+ ```bash
55
+ npm run quiver:analyze
56
+ npm run quiver:doctor
57
+ npm run quiver:migrate
58
+ npm run quiver:start-slice -- specs/<project-slug>/slices/slice-01/slice.json
59
+ npm run quiver:check-slice -- specs/<project-slug>/slices/slice-01/slice.json
60
+ npm run quiver:check-pr -- specs/<project-slug>/slices/slice-01/slice.json
61
+ npm run quiver:cleanup-slice -- specs/<project-slug>/slices/slice-01/slice.json
62
+ npm run quiver:check-scope -- specs/<project-slug>/slices/slice-01/slice.json
63
+ npm run quiver:refresh-active-slices
64
+ ```
65
+
66
+ The legacy Bash wrappers remain in `tools/scripts/` for compatibility, but new project-level automation should prefer the `quiver:*` scripts and the direct `npx create-quiver ...` commands.
49
67
 
50
68
  ### 3. Upgrade Existing Projects
51
69
 
@@ -53,18 +71,18 @@ If the project already had Quiver from an older version, upgrade it from the pro
53
71
 
54
72
  ```bash
55
73
  cd /path/to/your-project
56
- npx create-quiver migrate --dir .
57
- npx create-quiver analyze --dir .
58
- npx create-quiver doctor --dir .
74
+ npx create-quiver migrate
75
+ npx create-quiver analyze
76
+ npx create-quiver doctor
59
77
  ```
60
78
 
61
79
  If your team prefers a pinned local dependency, update the package first and then run the same flow:
62
80
 
63
81
  ```bash
64
82
  npm install --save-dev create-quiver@latest
65
- npx create-quiver migrate --dir .
66
- npx create-quiver analyze --dir .
67
- npx create-quiver doctor --dir .
83
+ npx create-quiver migrate
84
+ npx create-quiver analyze
85
+ npx create-quiver doctor
68
86
  ```
69
87
 
70
88
  ### 4. Ask The AI To Prepare Context
@@ -85,7 +103,7 @@ After the context docs are reviewed:
85
103
 
86
104
  1. Define or refine `specs/<project-slug>/SPEC.md`.
87
105
  2. Create the first slice from `specs/<project-slug>/slices/slice-template/slice.json`.
88
- 3. Start work with `tools/scripts/start-slice.sh <slice.json>`.
106
+ 3. Start work with `npx create-quiver start-slice <slice.json>` or `npm run quiver:start-slice -- <slice.json>`.
89
107
  4. Make one commit per slice.
90
108
  5. Open one PR per spec.
91
109
 
@@ -95,10 +113,16 @@ Slice numbering is local to each spec: every new spec starts at `slice-01`.
95
113
 
96
114
  - Node.js and npm for the installer
97
115
  - Git for slice branches, worktrees, and PR workflow checks
98
- - macOS or Linux as the primary supported shell environment
116
+ - macOS, Linux, and Windows PowerShell/CMD are the target developer environments for the cross-platform runtime work
117
+
118
+ Windows native support is verified only when the cross-platform CI matrix is green. Bash remains a legacy compatibility path until the runtime slices land.
99
119
 
100
120
  See the generated `docs/SUPPORT_MATRIX.md` for the detailed support contract.
101
121
 
122
+ ## Cross-Platform Support
123
+
124
+ Quiver is targeting native support on macOS, Linux, and Windows PowerShell/CMD. Bash is a legacy compatibility path until the runtime slices land, so the long-term contract is a Node-first workflow rather than a Bash-first one. The CI matrix must be green before Windows is considered fully verified.
125
+
102
126
  ## What Gets Generated
103
127
 
104
128
  Quiver generates a project-local workflow under:
package/README_FOR_AI.md CHANGED
@@ -7,11 +7,28 @@ The first AI job in a generated project is context preparation, not product impl
7
7
  Important: slice numbering resets inside each spec. `slice-01` is the first slice of that spec, 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 post-init contract is validated with `npx create-quiver doctor --dir <project>`.
11
- If the project already exists from an older Quiver version, run `npx create-quiver migrate --dir <project>` before `analyze`.
10
+ The post-init contract is validated with `npx create-quiver doctor` from the project root.
11
+ If the project already exists from an older Quiver version, run `npx create-quiver migrate` before `analyze` from the project root.
12
+ Generated projects also get `quiver:*` npm scripts that call the Node CLI directly; prefer those for repeatable project workflows.
12
13
  Maintain release notes and package publishing with `scripts/release-quiver.sh`.
13
14
  The primary generated project context for agents is `docs/AI_CONTEXT.md`.
15
+ The project map is the single source of truth for stack, package manager, commands, and file hints: `docs/PROJECT_MAP.md`.
16
+ The universal router for generated projects is `AGENTS.md`; read it before `docs/AI_CONTEXT.md` and `docs/AI_ONBOARDING_PROMPT.md`.
17
+ Generated projects also get `docs/DECISIONS.md`; use it for durable choices that should not be re-litigated.
14
18
  If a generated project has been analyzed, the exact agent handoff prompt is `docs/AI_ONBOARDING_PROMPT.md`.
19
+ During onboarding, after reading `ROADMAP.md`, also read `BACKLOG.md` in the repository root: it tracks emerging patterns that are not yet scoped as specs. Before proposing a new spec, confirm the idea is not already parked or emerging there.
20
+
21
+ ## Token-Efficient Reading Rules
22
+
23
+ Use the smallest context that still answers the current task.
24
+
25
+ - **Onboarding:** start from `docs/PROJECT_MAP.md`, `docs/PROJECT_SCAN.json`, `docs/AI_CONTEXT.md`, and `docs/AI_ONBOARDING_PROMPT.md` before opening source files.
26
+ - **Onboarding router:** start from `AGENTS.md` first, then the onboarding files above.
27
+ - **Implementation:** start from `docs/ai/ACTIVE_SLICE.md` when it exists; otherwise start from `specs/<project-slug>/slices/<slice-id>/slice.json`, then read only the declared files, nearby tests, and directly related source.
28
+ - **Review:** start from `git diff` and the slice scope before opening full files.
29
+ - **Debug:** start from the command, exit code, first relevant error, stacktrace, and the nearest changed code before reading long logs.
30
+
31
+ Prefer maps, metadata, diffs, and summaries over full file reads when they are enough. Treat front-matter as a skim-first signal: if the header is enough, do not open the body.
15
32
 
16
33
  ## Core Rules
17
34
 
@@ -19,10 +36,13 @@ If a generated project has been analyzed, the exact agent handoff prompt is `doc
19
36
  - Always use `init-docs.sh` instead of copying files by hand.
20
37
  - Treat `docs-template/` as generic and `docs/` as generated project-specific output.
21
38
  - Not every project needs every optional file.
22
- - The AI context pack lives in `docs/AI_CONTEXT.md`; `docs/CONTEXTO.md` is the broader project overview.
39
+ - The AI context pack lives in `docs/AI_CONTEXT.md`; `docs/CONTEXTO.md` is the broader project overview; `docs/PROJECT_MAP.md` owns stack and command facts.
23
40
  - The onboarding prompt lives in `docs/AI_ONBOARDING_PROMPT.md` and should reference the analyzer outputs.
24
41
  - Initial onboarding should complete context docs and report assumptions before any feature work starts.
42
+ - The normal workflow runs from the project root without `--dir`; use `--dir` only when targeting another directory explicitly.
43
+ - The cross-platform work targets native macOS, Linux, and Windows shells; Bash is a legacy compatibility path until the runtime slices land, and Windows support is only considered verified once the CI matrix is green.
25
44
  - The support contract lives in `docs/SUPPORT_MATRIX.md` and `docs/TROUBLESHOOTING.md`.
45
+ - Generated project npm scripts should prefer `quiver:*` names such as `quiver:analyze`, `quiver:doctor`, `quiver:start-slice`, `quiver:check-slice`, and `quiver:check-pr`.
26
46
 
27
47
  ## Initialization Flow
28
48
 
@@ -76,19 +96,19 @@ After initialization, the user should:
76
96
  2. Fill in `docs/AI_ONBOARDING_PROMPT.md`
77
97
  3. Fill in `docs/CONTEXTO.md`
78
98
  4. Fill in `docs/STATUS.md`
79
- 5. Run `npx create-quiver analyze --dir <project>` if scan artifacts are missing
80
- 6. If the project already exists from an older Quiver version, run `npx create-quiver migrate --dir <project>`
99
+ 5. Run `npx create-quiver analyze` if scan artifacts are missing
100
+ 6. If the project already exists from an older Quiver version, run `npx create-quiver migrate`
81
101
  7. Ask the AI agent to execute `docs/AI_ONBOARDING_PROMPT.md`
82
102
  8. Review context docs before creating the first implementation slice
83
103
  9. Open and merge the documentation PR that establishes the workflow files
84
104
  10. Create the first slice in `specs/{{PROJECT_SLUG}}/slices/[slice-id]/`
85
105
  11. Add `ticket` and `git.*`
86
- 12. Run `tools/scripts/start-slice.sh [--allow-draft] <slice.json>`
106
+ 12. Run `npx create-quiver start-slice [--allow-draft] <slice.json>` or `npm run quiver:start-slice -- [--allow-draft] <slice.json>`
87
107
  13. Make one commit per slice
88
108
  14. Open one PR per spec
89
109
  15. Validate the slice and the final PR with the workflow gates
90
110
 
91
- Bootstrap note: `start-slice.sh` 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.
111
+ 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.
92
112
 
93
113
  ## Optional Files
94
114
 
package/ROADMAP.md CHANGED
@@ -18,3 +18,81 @@
18
18
  - Add richer templates and examples
19
19
  - Improve release workflows
20
20
 
21
+ ## v0.4 (shipped 2026-04-21)
22
+
23
+ - `create-quiver` CLI installer surface
24
+ - Post-init `doctor` validation mode
25
+ - Release helper and packaged-installer smoke checks
26
+
27
+ ## v0.5 (shipped)
28
+
29
+ - Existing project migration flow (`create-quiver migrate`)
30
+ - Onboarding README flow polish
31
+ - Local project installation guidance
32
+
33
+ ## v0.6 (unreleased)
34
+
35
+ - Cross-platform CI matrix (macOS, Linux, Windows) for Node-native runtime
36
+ - Node-native generated project npm scripts (`quiver:*`)
37
+ - Additive migration support for existing projects
38
+
39
+ ## v0.7 — Token-Efficient AI Context Packs (in progress)
40
+
41
+ - **v13** — Token-efficient AI modes guidance (Draft)
42
+ - **v14** — Tiered context pack: QUICK/STANDARD/DEEP tiers, AGENTS.md router, ACTIVE_SLICE lifecycle, YAML front-matter, dedup (Draft, 5 slices)
43
+ - v13 slice-04 reconciled into v14 slice-05 (2026-04-23); v13 slice-02 narrowed to `DECISIONS.md` only
44
+ - **Validation checkpoint** — 1 week real-world use + ≥1 external user before v15 is scoped
45
+
46
+ ## Post-Checkpoint Plan (do not execute before validating v14)
47
+
48
+ > This section is intentionally speculative. Every item below is pending
49
+ > evidence from v14 in real use. Rescope or drop anything that does not
50
+ > respond to observed friction.
51
+
52
+ ### v15 — Context Hygiene and Diagnostics (proposed, not yet spec-ed)
53
+
54
+ - Analyzer noise filter (ignore lockfiles, dist/, build/, binaries, generated files)
55
+ - `create-quiver token-cost` diagnostic (4 chars/token heuristic)
56
+ - `create-quiver diff-pack` for review and debug modes
57
+ - Cache-friendly ordering within the pack (stable above, volatile below)
58
+ - `docs/ai/INDEX.yaml` inverted index (directory → purpose)
59
+
60
+ ### Block A — Zero-Question First Use (proposed)
61
+
62
+ - `npx create-quiver` with no args auto-detects name, stack, runs analyze + doctor
63
+ - `--lite` template variant for small projects
64
+ - Optional `--interactive` wizard
65
+ - Auto-regenerate context pack on every `start-slice`
66
+
67
+ ### Block B — Multi-Model Context Adapters (proposed, only if users ask)
68
+
69
+ - Additional adapters beyond `AGENTS.md`: `.cursorrules`, `.cursor/rules/*.mdc`, `copilot-instructions.md`, `PROMPT_FOR_EXECUTOR.md`
70
+ - Decision driven by which tools actual users adopt
71
+
72
+ ### Block C — Convincing Example (proposed)
73
+
74
+ - Real end-to-end example in `examples/full-crud/` with 3 merged slices
75
+ - 30-second hello-world asciinema at top of README
76
+ - "When NOT to use Quiver" section
77
+
78
+ ### Block D — Polish Debt (proposed)
79
+
80
+ - Actionable error messages (replace stack traces)
81
+ - Embedded JSON Schema validation for `slice.json`
82
+ - `start-slice` without arguments auto-detects active slice by branch
83
+ - `create-quiver status` dashboard
84
+
85
+ ### Deferred Until Real Demand
86
+
87
+ - Killing Bash entirely (breaking change — needs user base first)
88
+ - `@quiver/cli` / `@quiver/template` package split
89
+ - Git hooks auto-install
90
+ - Metrics/telemetry
91
+
92
+ ## Decision Rules
93
+
94
+ - No new spec is written until the previous spec's checkpoint passes
95
+ - Specs respond to observed friction, not pre-planned lists
96
+ - Breaking changes require at least one confirmed external user
97
+ - Prefer recording "we decided not to do X" over silently dropping ideas
98
+ - Emerging patterns that are not yet ready for a spec live in [`BACKLOG.md`](./BACKLOG.md) — review it before writing a new spec
@@ -1,9 +1,6 @@
1
1
  # {{PROJECT_NAME}} AI Context Pack
2
2
 
3
- **Date:** {{FECHA}}
4
- **Status:** {{ESTADO}}
5
-
6
- This file is the first stop for any AI agent working in this project. It compresses the working contract into one place and points to the canonical docs when deeper context is required.
3
+ This file is the main context pack after `AGENTS.md` and `docs/PROJECT_MAP.md`. It compresses the working contract into one place and points to the canonical docs when deeper context is required.
7
4
 
8
5
  ## What This Project Is
9
6
 
@@ -11,14 +8,23 @@ This file is the first stop for any AI agent working in this project. It compres
11
8
 
12
9
  ## Read First
13
10
 
14
- 1. `docs/INDEX.md`
15
- 2. `docs/AI_CONTEXT.md`
16
- 3. `docs/CONTEXTO.md`
17
- 4. `docs/WORKFLOW.md`
18
- 5. `docs/SUPPORT_MATRIX.md`
19
- 6. `docs/TROUBLESHOOTING.md`
20
- 7. `specs/{{PROJECT_SLUG}}/SPEC.md`
21
- 8. `specs/{{PROJECT_SLUG}}/slices/[slice-id]/slice.json`
11
+ 1. `docs/PROJECT_MAP.md`
12
+ 2. `docs/INDEX.md`
13
+ 3. `docs/AI_ONBOARDING_PROMPT.md`
14
+ 4. `docs/DECISIONS.md`
15
+ 5. `docs/CONTEXTO.md`
16
+ 6. `docs/WORKFLOW.md`
17
+ 7. `docs/SUPPORT_MATRIX.md`
18
+ 8. `docs/TROUBLESHOOTING.md`
19
+ 9. `specs/{{PROJECT_SLUG}}/SPEC.md`
20
+ 10. `specs/{{PROJECT_SLUG}}/slices/[slice-id]/slice.json`
21
+
22
+ ## Why This Pack Exists
23
+
24
+ - Project Map: `docs/PROJECT_MAP.md` is the single source of truth for stack, package manager, commands, and file hints.
25
+ - `docs/AI_ONBOARDING_PROMPT.md` is the handoff after analysis.
26
+ - `docs/DECISIONS.md` tracks durable choices so agents do not re-litigate them.
27
+ - `docs/STATUS.md` tracks progress, blockers, and the current slice.
22
28
 
23
29
  ## Critical Rules
24
30
 
@@ -30,19 +36,6 @@ This file is the first stop for any AI agent working in this project. It compres
30
36
  - Never overwrite user-authored content without checking whether the file is meant to be preserved.
31
37
  - If a command or path is ambiguous, prefer the local project root and the generated docs.
32
38
 
33
- ## Common Commands
34
-
35
- ```bash
36
- cd /path/to/project
37
- npx create-quiver --name "Project Name"
38
- npx create-quiver migrate --dir .
39
- npx create-quiver analyze --dir .
40
- npx create-quiver doctor --dir .
41
- bash tools/scripts/start-slice.sh <slice.json>
42
- bash tools/scripts/check-slice-readiness.sh <slice.json>
43
- bash tools/scripts/check-pr-readiness.sh <slice.json>
44
- ```
45
-
46
39
  ## What To Update After A Slice
47
40
 
48
41
  - `specs/{{PROJECT_SLUG}}/STATUS.md`
@@ -52,7 +45,7 @@ bash tools/scripts/check-pr-readiness.sh <slice.json>
52
45
 
53
46
  ## If You Need More Context
54
47
 
55
- Read `docs/CONTEXTO.md` for the human project overview and `docs/WORKFLOW.md` for the execution contract.
48
+ Read `docs/DECISIONS.md` for durable choices, `docs/CONTEXTO.md` for the human project overview, and `docs/WORKFLOW.md` for the execution contract. When you need stack details or command references, open `docs/PROJECT_MAP.md`.
56
49
 
57
50
  ## If The Environment Fails
58
51
 
@@ -19,10 +19,22 @@ You are the onboarding agent for this project. Your job is to analyze the genera
19
19
  ## Mission
20
20
 
21
21
  - Use the analyzer outputs to understand the repository instead of guessing.
22
+ - Treat `docs/PROJECT_MAP.md` as the single source of truth for stack, package manager, commands, and file hints.
22
23
  - Complete or refine Quiver context docs so future agents can work safely.
23
24
  - Preserve Quiver workflow invariants: one slice = one commit, one spec = one PR.
24
25
  - Ask for confirmation before making product-code changes.
25
26
 
27
+ ## Mode Selection
28
+
29
+ Use the least context that still solves the task:
30
+
31
+ - **Onboarding:** rely on maps and metadata first. Read `docs/PROJECT_SCAN.json` and `docs/PROJECT_MAP.md` before any source files, then use `docs/AI_CONTEXT.md` and `docs/CONTEXTO.md` to fill gaps.
32
+ - **Implementation:** start from `specs/{{PROJECT_SLUG}}/slices/<slice-id>/slice.json`, then read the declared files, nearby tests, and only then adjacent source.
33
+ - **Review:** start from `git diff` and the slice scope before opening full files.
34
+ - **Debug:** start from the command, exit code, first relevant error, stacktrace, and the nearest changed code before reading long logs.
35
+
36
+ Prefer summaries, deltas, and metadata over full file reads when they are sufficient.
37
+
26
38
  ## Hard Constraints
27
39
 
28
40
  - Do not read or expose secret values from `.env`, credential files, tokens, SSH keys, or private config.
@@ -1,8 +1,5 @@
1
1
  # {{PROJECT_NAME}} Context
2
2
 
3
- **Date:** {{FECHA}}
4
- **Status:** {{ESTADO}}
5
-
6
3
  ## What Is {{PROJECT_NAME}}?
7
4
 
8
5
  [One or two paragraphs that explain the project.]
@@ -15,25 +12,15 @@
15
12
 
16
13
  [Describe the primary user.]
17
14
 
18
- ## Technical Stack
19
-
20
- ```text
21
- Frontend:
22
- ├── [Framework]
23
- ├── [Language]
24
- └── [UI library]
25
-
26
- Backend:
27
- ├── [Framework]
28
- ├── [Database]
29
- └── [Deploy target]
30
- ```
31
-
32
15
  ## Current Focus
33
16
 
34
17
  - [Current goal 1]
35
18
  - [Current goal 2]
36
19
 
20
+ ## Where The Stack Lives
21
+
22
+ The stack, package manager, and command surface are generated in `docs/PROJECT_MAP.md` after analysis. Keep this file focused on the human summary.
23
+
37
24
  ## Security and Privacy
38
25
 
39
26
  - [Sensitive data that is never stored]
@@ -0,0 +1,18 @@
1
+ # {{PROJECT_NAME}} Decision Log
2
+
3
+ **Date:** {{FECHA}}
4
+ **Status:** {{ESTADO}}
5
+
6
+ This file records durable project decisions so AI agents do not re-litigate choices that were already made.
7
+
8
+ ## Log
9
+
10
+ | Date | Decision | Reason | Alternatives | Impact |
11
+ |------|----------|--------|--------------|--------|
12
+
13
+ ## Rules
14
+
15
+ - Record one decision per row.
16
+ - Keep entries short and specific.
17
+ - Prefer the decision outcome, not the full discussion history.
18
+ - Add a new row when a choice would otherwise be re-opened during future work.
@@ -0,0 +1,34 @@
1
+ # {{PROJECT_NAME}} Deep Context
2
+
3
+ **Date:** {{FECHA}}
4
+ **Status:** {{ESTADO}}
5
+
6
+ Use this file for history, decisions, and context that does not belong in the default pack.
7
+
8
+ ## What Belongs Here
9
+
10
+ - Project history and major milestones
11
+ - Durable decisions that explain why the workflow exists
12
+ - Cultural notes and team preferences
13
+ - Legacy migrations and compatibility caveats
14
+ - Edge cases that keep coming back
15
+
16
+ ## What Not To Repeat
17
+
18
+ - Do not duplicate `docs/QUICK.md`
19
+ - Do not duplicate `docs/STANDARD.md`
20
+ - Do not restate stack or command tables; link to `docs/PROJECT_MAP.md`
21
+ - Keep the deep pack additive, not repetitive
22
+
23
+ ## Suggested Sections
24
+
25
+ - Background
26
+ - Key Decisions
27
+ - Migration Notes
28
+ - Open Questions
29
+ - Lessons Learned
30
+ - Archived Context
31
+
32
+ ## Notes
33
+
34
+ Add longer narratives only when they help future planning models avoid re-discovering old decisions.
@@ -7,13 +7,14 @@
7
7
 
8
8
  1. `docs/INDEX.md`
9
9
  2. `docs/AI_CONTEXT.md`
10
- 3. `docs/CONTEXTO.md`
11
- 4. `docs/STATUS.md`
12
- 5. `docs/WORKFLOW.md`
13
- 6. `docs/SUPPORT_MATRIX.md`
14
- 7. `docs/TROUBLESHOOTING.md`
15
- 8. `specs/{{PROJECT_SLUG}}/SPEC.md`
16
- 9. `specs/{{PROJECT_SLUG}}/slices/[slice-id]/slice.json`
10
+ 3. `docs/DECISIONS.md`
11
+ 4. `docs/CONTEXTO.md`
12
+ 5. `docs/STATUS.md`
13
+ 6. `docs/WORKFLOW.md`
14
+ 7. `docs/SUPPORT_MATRIX.md`
15
+ 8. `docs/TROUBLESHOOTING.md`
16
+ 9. `specs/{{PROJECT_SLUG}}/SPEC.md`
17
+ 10. `specs/{{PROJECT_SLUG}}/slices/[slice-id]/slice.json`
17
18
 
18
19
  ## Update Rules
19
20
 
@@ -25,6 +26,7 @@
25
26
 
26
27
  - Project overview: `docs/CONTEXTO.md`
27
28
  - Agent context pack: `docs/AI_CONTEXT.md`
29
+ - Decisions: `docs/DECISIONS.md`
28
30
  - Progress: `docs/STATUS.md`
29
31
  - Implementation workflow: `docs/WORKFLOW.md`
30
32
  - Support contract: `docs/SUPPORT_MATRIX.md`
@@ -16,6 +16,13 @@ This guide explains how to open and review spec PRs without breaking the canonic
16
16
  - Open and merge the documentation PR before the first slice starts execution
17
17
  - Do not open the spec PR before the documentation PR is merged
18
18
 
19
+ ## Review Guidance
20
+
21
+ - Start with `git diff` and the slice scope before opening full files.
22
+ - Use the diff to confirm what changed, then open full files only for gaps, regressions, or unclear context.
23
+ - For debugging reviews, inspect the first relevant error, stacktrace, or failing command before reading large logs.
24
+ - Keep review notes anchored to the changed lines and the slice acceptance criteria.
25
+
19
26
  ## Required PR Headings
20
27
 
21
28
  All spec PR notes must use:
@@ -4,8 +4,10 @@
4
4
 
5
5
  ## Start Here
6
6
 
7
+ - **Project Map** - `./PROJECT_MAP.md`
7
8
  - **Context** - `./CONTEXTO.md`
8
9
  - **AI Context** - `./AI_CONTEXT.md`
10
+ - **Decision Log** - `./DECISIONS.md`
9
11
  - **AI Onboarding Prompt** - `./AI_ONBOARDING_PROMPT.md`
10
12
  - **Workflow** - `./WORKFLOW.md`
11
13
  - **Support Matrix** - `./SUPPORT_MATRIX.md`
@@ -14,6 +16,9 @@
14
16
 
15
17
  ## AI Configuration
16
18
 
19
+ - **QUICK** - `./ai/QUICK.md`
20
+ - **STANDARD** - `./ai/STANDARD.md`
21
+ - **DEEP** - `./ai/DEEP.md`
17
22
  - **Principles** - `./ai/PRINCIPLES.md`
18
23
  - **Rules** - `./ai/RULES.yaml`
19
24
  - **Lessons** - `./ai/LESSONS.md`
@@ -31,6 +36,10 @@
31
36
  docs/
32
37
  ├── INDEX.md
33
38
  ├── AI_CONTEXT.md
39
+ ├── DECISIONS.md
40
+ ├── ai/QUICK.md
41
+ ├── ai/STANDARD.md
42
+ ├── ai/DEEP.md
34
43
  ├── AI_ONBOARDING_PROMPT.md
35
44
  ├── CONTEXTO.md
36
45
  ├── STATUS.md
@@ -0,0 +1,27 @@
1
+ # {{PROJECT_NAME}} Quick Context
2
+
3
+ Minimum viable briefing for execution agents.
4
+
5
+ ## Snapshot
6
+
7
+ - Project: {{PROJECT_NAME}}
8
+ - Project map: `docs/PROJECT_MAP.md`
9
+ - Focus: unknown until analyze
10
+
11
+ ## Where Commands Live
12
+
13
+ Use `docs/PROJECT_MAP.md` for the package manager, project stack, test commands, and Quiver command surface.
14
+
15
+ ## Hard Rules
16
+
17
+ - One slice = one commit.
18
+ - One spec = one PR.
19
+ - Read `./STANDARD.md` for workflow details.
20
+ - Read `./DEEP.md` for history and context.
21
+ - Do not edit files outside the active slice.
22
+ - Prefer project-root commands over global installs.
23
+
24
+ ## Read Next
25
+
26
+ - `./STANDARD.md`
27
+ - `./DEEP.md`