@osovv/vv-opencode 0.35.19 → 0.35.21

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 (71) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/README.md +67 -24
  3. package/dist/cli.js +3 -1
  4. package/dist/cli.js.map +1 -1
  5. package/dist/commands/completion.js +2 -0
  6. package/dist/commands/completion.js.map +1 -1
  7. package/dist/commands/config-validate.d.ts +8 -1
  8. package/dist/commands/config-validate.js +31 -8
  9. package/dist/commands/config-validate.js.map +1 -1
  10. package/dist/commands/doctor.d.ts +3 -3
  11. package/dist/commands/doctor.js +14 -13
  12. package/dist/commands/doctor.js.map +1 -1
  13. package/dist/commands/init.js +10 -12
  14. package/dist/commands/init.js.map +1 -1
  15. package/dist/commands/install.js +6 -6
  16. package/dist/commands/install.js.map +1 -1
  17. package/dist/commands/launch.d.ts +35 -0
  18. package/dist/commands/launch.js +123 -0
  19. package/dist/commands/launch.js.map +1 -0
  20. package/dist/commands/patch-provider.d.ts +8 -0
  21. package/dist/commands/patch-provider.js +13 -4
  22. package/dist/commands/patch-provider.js.map +1 -1
  23. package/dist/commands/plugin-list.d.ts +6 -6
  24. package/dist/commands/plugin-list.js +30 -24
  25. package/dist/commands/plugin-list.js.map +1 -1
  26. package/dist/commands/plugin-toggle.js +5 -3
  27. package/dist/commands/plugin-toggle.js.map +1 -1
  28. package/dist/commands/preset.d.ts +7 -0
  29. package/dist/commands/preset.js +37 -9
  30. package/dist/commands/preset.js.map +1 -1
  31. package/dist/commands/role.d.ts +3 -0
  32. package/dist/commands/role.js +45 -11
  33. package/dist/commands/role.js.map +1 -1
  34. package/dist/commands/status.d.ts +3 -3
  35. package/dist/commands/status.js +14 -13
  36. package/dist/commands/status.js.map +1 -1
  37. package/dist/commands/sync.js +6 -7
  38. package/dist/commands/sync.js.map +1 -1
  39. package/dist/commands/upgrade.js +4 -3
  40. package/dist/commands/upgrade.js.map +1 -1
  41. package/dist/lib/config-layers.d.ts +56 -0
  42. package/dist/lib/config-layers.js +256 -0
  43. package/dist/lib/config-layers.js.map +1 -0
  44. package/dist/lib/opencode.d.ts +13 -5
  45. package/dist/lib/opencode.js +105 -39
  46. package/dist/lib/opencode.js.map +1 -1
  47. package/dist/lib/plugin-toggle-config.d.ts +5 -1
  48. package/dist/lib/plugin-toggle-config.js +20 -33
  49. package/dist/lib/plugin-toggle-config.js.map +1 -1
  50. package/dist/lib/vvoc-config.js +14 -1
  51. package/dist/lib/vvoc-config.js.map +1 -1
  52. package/dist/lib/vvoc-paths.d.ts +2 -2
  53. package/dist/lib/vvoc-paths.js +12 -9
  54. package/dist/lib/vvoc-paths.js.map +1 -1
  55. package/dist/plugins/guardian/index.js +30 -37
  56. package/dist/plugins/guardian/index.js.map +1 -1
  57. package/dist/plugins/model-roles/index.js +11 -27
  58. package/dist/plugins/model-roles/index.js.map +1 -1
  59. package/dist/plugins/secrets-redaction/config.d.ts +1 -1
  60. package/dist/plugins/secrets-redaction/config.js +28 -39
  61. package/dist/plugins/secrets-redaction/config.js.map +1 -1
  62. package/dist/plugins/system-context-injection/index.js +19 -7
  63. package/dist/plugins/system-context-injection/index.js.map +1 -1
  64. package/package.json +1 -1
  65. package/schemas/vvoc/v3.json +1 -1
  66. package/templates/agents/vv-controller.md +9 -8
  67. package/templates/skills/vv-execute/SKILL.md +8 -8
  68. package/templates/skills/vv-plan/SKILL.md +11 -6
  69. package/templates/skills/vv-plan/references/plan-template.xml +1 -0
  70. package/templates/skills/vv-spec/SKILL.md +29 -3
  71. package/templates/skills/vv-spec/references/design-context-template.xml +62 -0
package/CHANGELOG.md CHANGED
@@ -1,3 +1,23 @@
1
+ ## <small>0.35.21 (2026-06-16)</small>
2
+
3
+ ### Summary
4
+
5
+ This maintenance release removes the dead `.vvoc/plans/` directory path and stale `vv-analyst` and `vv-architect` agent references, as planning artifacts now live exclusively under the `.vvoc/specs/<id>/` layout. The GRACE documentation (development plan, verification plan, knowledge graph, and requirements) has been updated to reflect the current architecture, and several module contracts, maps, and change summaries have been corrected or added. These changes reduce code surface, eliminate confusion from outdated references, and ensure that project documentation accurately describes the managed skills and spec-driven planning flow.
6
+
7
+ * chore: refresh GRACE artifacts after full integrity scan ([e0df404](https://github.com/osovv/vv-opencode/commit/e0df404))
8
+ * refactor: remove dead .vvoc/plans/ code path and stale vv-analyst/vv-architect references ([f4076e1](https://github.com/osovv/vv-opencode/commit/f4076e1))
9
+
10
+ ## <small>0.35.20 (2026-06-16)</small>
11
+
12
+ ### Summary
13
+
14
+ This release introduces layered project-scope configuration, allowing users to isolate vv-opencode setup to individual projects with `vvoc install --scope project`, while the new `vvoc launch` command launches OpenCode with deterministic config sources for sandboxed testing. Complex spec sessions now support an optional `design-context.xml` companion that preserves decision rationale and rejected alternatives for planners and reviewers without expanding the normative spec, and the skill sync system gains config-safety rules that prevent silent overwrites of user-owned reference files. Documentation and templates have been cleaned up by removing stale references to legacy sub-agents and folder layouts, consolidating the spec package directory as the canonical organizational unit and making the user-facing workflow documentation more accurate.
15
+
16
+ * docs: remove legacy folder references from docs and templates ([10879d4](https://github.com/osovv/vv-opencode/commit/10879d4))
17
+ * docs: remove stale vv-analyst/vv-architect references ([30e9bab](https://github.com/osovv/vv-opencode/commit/30e9bab))
18
+ * feat(config): support layered project scope ([beaaa4b](https://github.com/osovv/vv-opencode/commit/beaaa4b))
19
+ * feat(skills): add spec package design context ([5181cdf](https://github.com/osovv/vv-opencode/commit/5181cdf))
20
+
1
21
  ## <small>0.35.19 (2026-06-15)</small>
2
22
 
3
23
  ### Summary
package/README.md CHANGED
@@ -26,32 +26,38 @@ To scope everything to the current project instead of the global OpenCode config
26
26
 
27
27
  ```bash
28
28
  vvoc install --scope project
29
+ vvoc launch --scope project
29
30
  ```
30
31
 
32
+ Project scope writes only to `./.opencode/` and `./.vvoc/`. A normal `opencode` launch may still apply OpenCode's native config discovery and merge behavior; `vvoc launch --scope project` is the hard sandbox path and starts OpenCode with `OPENCODE_CONFIG` and `VVOC_CONFIG` pinned to those local files, so you can smoke-test vv-opencode in one repository without mutating your primary global setup.
33
+
31
34
  > **Already installed?** Run `vvoc sync` anytime to refresh plugins, prompts, skills, and presets.
32
35
 
33
36
  ---
34
37
 
35
38
  ## Spec-to-Code Pipeline
36
39
 
37
- The core workflow is a three-stage pipeline with independent review gates at each level:
40
+ The core workflow is a three-stage pipeline with independent review gates at each level. All artifacts for one feature live in a single spec package directory:
38
41
 
39
42
  ```
40
43
  User request
41
44
  │
42
45
  ▼ auto-trigger
43
- vv-spec ───────────────────────────────────────→ .vvoc/specs/*.xml
46
+ vv-spec ───────────────────────────────────────→ .vvoc/specs/<id>/spec.xml
44
47
  │ Grill-me interview (one question at a time)
45
48
  │ Decision tree with recommended answers
46
- │ vv-analyst + vv-architect synthesis
49
+ │ Deep synthesis by expensive model (no sub-agent delegation)
50
+ │ Optionally creates .vvoc/specs/<id>/design-context.xml
51
+ │ for complex sessions (design memory, not requirements)
47
52
  │
48
53
  ├── ① Spec review: requirements correct, complete, unambiguous?
49
54
  │
50
55
  ▼ auto-trigger (after approval)
51
- vv-plan ───────────────────────────────────────→ .vvoc/plans/*-plan.xml
56
+ vv-plan ───────────────────────────────────────→ .vvoc/specs/<id>/plan.xml
57
+ │ Reads sibling design-context.xml when present (explanatory only)
52
58
  │ Interface contracts with JSDoc behavior descriptions
53
- │ Acceptance criteria per task (grep: `<criterion-N>`)
54
- │ Dependency ordering (grep: `<depends-on>`)
59
+ │ Acceptance criteria per task (grep: `<criterion>`)
60
+ │ Dependency ordering (grep: `<task_id>`)
55
61
  │ Three-layer review model: spec → plan → code
56
62
  │
57
63
  ├── ② Plan review: every spec requirement → task? Contracts match spec?
@@ -68,7 +74,7 @@ vv-implementer → vv-spec-reviewer → vv-code-reviewer
68
74
  Done
69
75
  ```
70
76
 
71
- Specs and plans use a top-level lifecycle status: `draft` while being written, `approved` after explicit user approval, and `applied` after successful execution. `vv-execute` archives applied artifacts by moving specs to `.vvoc/specs/archive/` and plans to `.vvoc/plans/archive/`.
77
+ Specs and plans use a top-level lifecycle status: `draft` while being written, `approved` after explicit user approval, and `applied` after successful execution. `vv-execute` archives applied artifact packages by moving the entire spec package directory `.vvoc/specs/<id>/` to `.vvoc/specs/archive/<id>-<timestamp>/`.
72
78
 
73
79
  ### XML grep
74
80
 
@@ -76,19 +82,19 @@ Plans and specs are XML documents, making every element grep-able:
76
82
 
77
83
  ```bash
78
84
  # Extract tasks from plan
79
- grep '<task-[0-9]\+>' .vvoc/plans/*.xml
85
+ grep '<id>T-' .vvoc/specs/*/plan.xml
80
86
 
81
87
  # Extract all acceptance criteria
82
- grep '<criterion-[0-9]\+>' .vvoc/plans/*.xml
88
+ grep '<criterion>' .vvoc/specs/*/plan.xml
83
89
 
84
90
  # Extract dependency graph
85
- grep '<depends-on>task-' .vvoc/plans/*.xml
91
+ grep '<task_id>' .vvoc/specs/*/plan.xml
86
92
 
87
93
  # Extract method signatures
88
- grep '/\*\*' .vvoc/plans/*.xml
94
+ grep '/\*\*' .vvoc/specs/*/plan.xml
89
95
 
90
- # Extract all components from plan
91
- grep '<component>' .vvoc/plans/*.xml
96
+ # Extract all modules from architecture
97
+ grep '<name>' .vvoc/specs/*/plan.xml
92
98
  ```
93
99
 
94
100
  Managed skills are installed by `vvoc`. `vv-controller` explicitly routes `vv-spec`, `vv-plan`, and `vv-review`; `vv-execute` and `vv-reflect` are available as managed skills for plan execution and durable session memory.
@@ -118,7 +124,7 @@ Setting up OpenCode for serious daily work means juggling config files, agent pr
118
124
  | **Skills** | `vv-spec` interviews you and writes an XML spec; `vv-plan` maps the spec to interface contracts and acceptance criteria; `vv-execute` runs approved plans; `vv-review` runs a review-only workflow; `vv-reflect` preserves reusable session findings as repository memory |
119
125
  | **Spec-to-Code Pipeline** | `vv-spec` → spec review → `vv-plan` → plan review → `vv-implementer` → code review. Three independent review gates cover requirements, contracts, and implementation |
120
126
  | **One-Click Setup** | `vvoc install` or `vvoc sync` bootstraps everything — config, agents, skills, prompts, presets |
121
- | **CLI Tooling** | 15+ commands: install, sync, status, doctor, role management, presets, guardian config, shell completion, upgrade |
127
+ | **CLI Tooling** | 16+ commands: install, sync, launch, status, doctor, role management, presets, guardian config, shell completion, upgrade |
122
128
  | **Security** | GuardianPlugin reviews shell-permission requests; SecretsRedactionPlugin strips tokens before LLM requests; both configurable via `vvoc.json` |
123
129
  | **Model Roles** | Assign provider/model/variant to roles (`default`, `smart`, `fast`, `vision`, custom); switch between `vv-openai`, `vv-zai`, `vv-deepseek`, `vv-minimax` presets |
124
130
  | **Workflow Tracking** | Work items with open/list/close for tracked implementation-to-review pipelines |
@@ -145,6 +151,7 @@ Setting up OpenCode for serious daily work means juggling config files, agent pr
145
151
  | `vvoc init` | Interactive bootstrap flow |
146
152
  | `vvoc install` | Non-interactive setup and scaffolding |
147
153
  | `vvoc sync` | Refresh plugin entry, agents, prompts, skills, config |
154
+ | `vvoc launch` | Launch OpenCode with deterministic `OPENCODE_CONFIG` and `VVOC_CONFIG` sources |
148
155
  | `vvoc status` | Show current installation state |
149
156
  | `vvoc doctor` | Diagnose setup problems (exits non-zero on issues) |
150
157
  | `vvoc config validate` | Validate canonical `vvoc.json` |
@@ -153,7 +160,7 @@ Setting up OpenCode for serious daily work means juggling config files, agent pr
153
160
  | `vvoc guardian config` | Print or write guardian section |
154
161
  | `vvoc plugin list` | List OpenCode plugin entries |
155
162
  | `vvoc plugin enable\|disable` | Toggle a vvoc-managed plugin on or off |
156
- | `vvoc patch-provider stepfun-ai\|zai\|openai` | Patch a global OpenCode config preset |
163
+ | `vvoc patch-provider stepfun-ai\|zai\|openai` | Patch an OpenCode provider preset in global or project scope |
157
164
  | `vvoc completion` | Install shell completions |
158
165
  | `vvoc upgrade` | Upgrade global package and run follow-up sync |
159
166
  | `vvoc version` | Print installed version |
@@ -165,9 +172,11 @@ Setting up OpenCode for serious daily work means juggling config files, agent pr
165
172
  ```bash
166
173
  # View current assignments
167
174
  vvoc role list
175
+ vvoc role list --scope effective
168
176
 
169
177
  # Assign models to roles
170
178
  vvoc role set default openai/gpt-5.4
179
+ vvoc role set team-review anthropic/claude-sonnet-4-5 --scope project
171
180
  vvoc role set smart openai/vv-gpt-5.5-xhigh
172
181
  vvoc role set fast openai/gpt-5.4-mini
173
182
 
@@ -187,15 +196,39 @@ Presets are partial — applying one only changes the roles it defines. Managed
187
196
 
188
197
  ## Config & Data Layout
189
198
 
199
+ Mutating commands default to global for backward compatibility. Add `--scope project` to write a project-local layer. Read/diagnostic commands accept `--scope global|project|effective`, where `effective` resolves in this order:
200
+
201
+ 1. explicit env override (`VVOC_CONFIG` / `OPENCODE_CONFIG`)
202
+ 2. nearest project layer
203
+ 3. global layer
204
+ 4. built-in defaults when the command/runtime permits defaults
205
+
206
+ Canonical project-local paths:
207
+
208
+ ```text
209
+ OpenCode config → ./.opencode/opencode.json(c)
210
+ vvoc config → ./.vvoc/vvoc.json
211
+ Managed agent prompts → ./.vvoc/agents/*.md
212
+ Managed skills → ./.vvoc/skills/*/SKILL.md
213
+ Spec package directory → ./.vvoc/specs/<id>/
214
+ spec.xml # normative spec document (required)
215
+ design-context.xml # curated design memory (optional)
216
+ plan.xml # implementation plan (created by vv-plan)
217
+
218
+ ```
219
+
220
+ Legacy root-level `./opencode.json` and `./opencode.jsonc` are intentionally not used as vvoc project layers.
221
+
190
222
  ```
191
- OpenCode config → OpenCode-managed paths (global or project)
192
- vvoc.json (canonical) → $XDG_CONFIG_HOME/vvoc/vvoc.json
223
+ Global OpenCode config → $XDG_CONFIG_HOME/opencode/opencode.json
224
+ Global vvoc config → $XDG_CONFIG_HOME/vvoc/vvoc.json
193
225
  Managed agent prompts → $XDG_CONFIG_HOME/vvoc/agents/*.md (global)
194
226
  ./.vvoc/agents/*.md (project)
195
227
  Managed skills → $XDG_CONFIG_HOME/vvoc/skills/*/SKILL.md (global)
196
228
  ./.vvoc/skills/*/SKILL.md (project)
197
- Spec documents → ./.vvoc/specs/*
198
- Planning artifacts → ./.vvoc/plans/*
229
+ Spec documents → ./.vvoc/specs/<id>/spec.xml
230
+ Optional design context → ./.vvoc/specs/<id>/design-context.xml
231
+ Implementation plans → ./.vvoc/specs/<id>/plan.xml
199
232
  Persisted data → $XDG_DATA_HOME/vvoc/
200
233
  Repository memory → ./.vvoc/lessons/*.xml (lazy vv-reflect fallback)
201
234
  ./.vvoc/runbooks/*.xml (lazy vv-reflect fallback)
@@ -203,6 +236,17 @@ Repository memory → ./.vvoc/lessons/*.xml (lazy vv-reflect
203
236
 
204
237
  Schema is versioned and published with the package — source of truth at `schemas/vvoc/v3.json`.
205
238
 
239
+ ### Deterministic local launch
240
+
241
+ Use `vvoc launch` when you want the vvoc-selected config files to be the only files OpenCode sees for this run:
242
+
243
+ ```bash
244
+ vvoc install --scope project
245
+ vvoc launch --scope project -- run "hello"
246
+ ```
247
+
248
+ `vvoc launch --scope project` is strict and non-mutating: if `.opencode/opencode.json` or `.vvoc/vvoc.json` is missing, it fails with a hint to run `vvoc install --scope project`. `--scope effective` follows the layered lookup order, and `--scope global` uses the global config paths.
249
+
206
250
  ---
207
251
 
208
252
  ## Managed Agents
@@ -213,8 +257,6 @@ All prompt files are scaffolded by `vvoc install` / `vvoc sync`:
213
257
  |---|---|
214
258
  | `vv-controller` | Default primary agent — routes work to the right subagent |
215
259
  | `enhancer` | Prompt enhancement |
216
- | `vv-analyst` | Requirements analysis for large features |
217
- | `vv-architect` | Module/contract/wave design |
218
260
  | `vv-implementer` | Focused implementation with verification |
219
261
  | `vv-spec-reviewer` | Checks implementation against spec |
220
262
  | `vv-code-reviewer` | Engineering review for bugs and maintainability |
@@ -225,12 +267,13 @@ All prompt files are scaffolded by `vvoc install` / `vvoc sync`:
225
267
 
226
268
  ## Managed Skills
227
269
 
228
- Four workflow skills are scaffolded alongside agents:
270
+ Five workflow skills are scaffolded alongside agents:
229
271
 
230
272
  | Skill | Trigger | Output | Grep-able |
231
273
  |---|---|---|---|
232
- | `vv-spec` | Creative/feature request, no spec exists | `.vvoc/specs/*.xml` | `<user-story>`, `<fr-1>`, `<sc-1>` |
233
- | `vv-plan` | Approved spec exists | `.vvoc/plans/*-plan.xml` | `<task-N>`, `<criterion-N>`, `<depends-on>`, `/**` JSDoc |
274
+ | `vv-spec` | Creative/feature request, no spec exists | `.vvoc/specs/<id>/spec.xml` + optional `design-context.xml` | `<goal>`, `<architecture>`, `<component>` |
275
+ | `vv-plan` | Approved spec exists | `.vvoc/specs/<id>/plan.xml` | `<id>T-`, `<criterion>`, `<task_id>`, `/**` JSDoc |
276
+ | `vv-execute` | Approved plan exists | Applies and archives spec/plan artifacts | `<status>`, `<task>`, `<acceptance>` |
234
277
  | `vv-review` | Review request | Findings report | — |
235
278
  | `vv-reflect` | End of a long development, debugging, bugfix, ops, or investigation session | Existing repo docs or `.vvoc/lessons/*.xml` / `.vvoc/runbooks/*.xml` | XML fallback indexes and entry tags |
236
279
 
package/dist/cli.js CHANGED
@@ -4,7 +4,7 @@
4
4
  // START_MODULE_CONTRACT
5
5
  // PURPOSE: Assemble and run the vvoc CLI entrypoint.
6
6
  // SCOPE: Package version lookup, top-level command registration, and main command execution.
7
- // DEPENDS: [citty, src/commands/completion.ts, src/commands/config.ts, src/commands/doctor.ts, src/commands/guardian.ts, src/commands/init.ts, src/commands/install.ts, src/commands/patch-provider.ts, src/commands/preset.ts, src/commands/plugin.ts, src/commands/role.ts, src/commands/status.ts, src/commands/sync.ts, src/commands/upgrade.ts, src/commands/version.ts, src/lib/package.ts]
7
+ // DEPENDS: [citty, src/commands/completion.ts, src/commands/config.ts, src/commands/doctor.ts, src/commands/guardian.ts, src/commands/init.ts, src/commands/install.ts, src/commands/launch.ts, src/commands/patch-provider.ts, src/commands/preset.ts, src/commands/plugin.ts, src/commands/role.ts, src/commands/status.ts, src/commands/sync.ts, src/commands/upgrade.ts, src/commands/version.ts, src/lib/package.ts]
8
8
  // LINKS: [M-CLI-COMMANDS]
9
9
  // ROLE: SCRIPT
10
10
  // MAP_MODE: LOCALS
@@ -25,6 +25,7 @@ import doctor from "./commands/doctor.js";
25
25
  import guardian from "./commands/guardian.js";
26
26
  import init from "./commands/init.js";
27
27
  import install from "./commands/install.js";
28
+ import launch from "./commands/launch.js";
28
29
  import patchProvider from "./commands/patch-provider.js";
29
30
  import preset from "./commands/preset.js";
30
31
  import plugin from "./commands/plugin.js";
@@ -49,6 +50,7 @@ const main = defineCommand({
49
50
  guardian,
50
51
  init,
51
52
  install,
53
+ launch,
52
54
  "patch-provider": patchProvider,
53
55
  preset,
54
56
  plugin,
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA,mBAAmB;AACnB,kBAAkB;AAClB,wBAAwB;AACxB,uDAAuD;AACvD,+FAA+F;AAC/F,oYAAoY;AACpY,4BAA4B;AAC5B,iBAAiB;AACjB,qBAAqB;AACrB,sBAAsB;AACtB,EAAE;AACF,mBAAmB;AACnB,oEAAoE;AACpE,wCAAwC;AACxC,iBAAiB;AACjB,EAAE;AACF,uBAAuB;AACvB,4HAA4H;AAC5H,qBAAqB;AAErB,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAC/C,OAAO,UAAU,MAAM,0BAA0B,CAAC;AAClD,OAAO,MAAM,MAAM,sBAAsB,CAAC;AAC1C,OAAO,MAAM,MAAM,sBAAsB,CAAC;AAC1C,OAAO,QAAQ,MAAM,wBAAwB,CAAC;AAC9C,OAAO,IAAI,MAAM,oBAAoB,CAAC;AACtC,OAAO,OAAO,MAAM,uBAAuB,CAAC;AAC5C,OAAO,aAAa,MAAM,8BAA8B,CAAC;AACzD,OAAO,MAAM,MAAM,sBAAsB,CAAC;AAC1C,OAAO,MAAM,MAAM,sBAAsB,CAAC;AAC1C,OAAO,IAAI,MAAM,oBAAoB,CAAC;AACtC,OAAO,MAAM,MAAM,sBAAsB,CAAC;AAC1C,OAAO,IAAI,MAAM,oBAAoB,CAAC;AACtC,OAAO,OAAO,MAAM,uBAAuB,CAAC;AAC5C,OAAO,OAAO,MAAM,uBAAuB,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD,iCAAiC;AACjC,MAAM,cAAc,GAAG,MAAM,iBAAiB,EAAE,CAAC;AAEjD,MAAM,IAAI,GAAG,aAAa,CAAC;IACzB,IAAI,EAAE;QACJ,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,cAAc;QACvB,WAAW,EACT,+HAA+H;KAClI;IACD,WAAW,EAAE;QACX,UAAU;QACV,MAAM;QACN,MAAM;QACN,QAAQ;QACR,IAAI;QACJ,OAAO;QACP,gBAAgB,EAAE,aAAa;QAC/B,MAAM;QACN,MAAM;QACN,IAAI;QACJ,MAAM;QACN,IAAI;QACJ,OAAO;QACP,OAAO;KACR;CACF,CAAC,CAAC;AACH,+BAA+B;AAE/B,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA,mBAAmB;AACnB,kBAAkB;AAClB,wBAAwB;AACxB,uDAAuD;AACvD,+FAA+F;AAC/F,4ZAA4Z;AAC5Z,4BAA4B;AAC5B,iBAAiB;AACjB,qBAAqB;AACrB,sBAAsB;AACtB,EAAE;AACF,mBAAmB;AACnB,oEAAoE;AACpE,wCAAwC;AACxC,iBAAiB;AACjB,EAAE;AACF,uBAAuB;AACvB,4HAA4H;AAC5H,qBAAqB;AAErB,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAC/C,OAAO,UAAU,MAAM,0BAA0B,CAAC;AAClD,OAAO,MAAM,MAAM,sBAAsB,CAAC;AAC1C,OAAO,MAAM,MAAM,sBAAsB,CAAC;AAC1C,OAAO,QAAQ,MAAM,wBAAwB,CAAC;AAC9C,OAAO,IAAI,MAAM,oBAAoB,CAAC;AACtC,OAAO,OAAO,MAAM,uBAAuB,CAAC;AAC5C,OAAO,MAAM,MAAM,sBAAsB,CAAC;AAC1C,OAAO,aAAa,MAAM,8BAA8B,CAAC;AACzD,OAAO,MAAM,MAAM,sBAAsB,CAAC;AAC1C,OAAO,MAAM,MAAM,sBAAsB,CAAC;AAC1C,OAAO,IAAI,MAAM,oBAAoB,CAAC;AACtC,OAAO,MAAM,MAAM,sBAAsB,CAAC;AAC1C,OAAO,IAAI,MAAM,oBAAoB,CAAC;AACtC,OAAO,OAAO,MAAM,uBAAuB,CAAC;AAC5C,OAAO,OAAO,MAAM,uBAAuB,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD,iCAAiC;AACjC,MAAM,cAAc,GAAG,MAAM,iBAAiB,EAAE,CAAC;AAEjD,MAAM,IAAI,GAAG,aAAa,CAAC;IACzB,IAAI,EAAE;QACJ,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,cAAc;QACvB,WAAW,EACT,+HAA+H;KAClI;IACD,WAAW,EAAE;QACX,UAAU;QACV,MAAM;QACN,MAAM;QACN,QAAQ;QACR,IAAI;QACJ,OAAO;QACP,MAAM;QACN,gBAAgB,EAAE,aAAa;QAC/B,MAAM;QACN,MAAM;QACN,IAAI;QACJ,MAAM;QACN,IAAI;QACJ,OAAO;QACP,OAAO;KACR;CACF,CAAC,CAAC;AACH,+BAA+B;AAE/B,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC"}
@@ -18,6 +18,7 @@
18
18
  // END_MODULE_MAP
19
19
  //
20
20
  // START_CHANGE_SUMMARY
21
+ // LAST_CHANGE: [v0.6.0 - Added launch to top-level completion output.]
21
22
  // LAST_CHANGE: [v0.5.15 - Switched built-in preset completions to the shared internal preset registry so managed names stay in sync.]
22
23
  // LAST_CHANGE: [v0.5.14 - Restricted unset-role completions so shell suggestions no longer imply built-in roles are unsettable.]
23
24
  // END_CHANGE_SUMMARY
@@ -34,6 +35,7 @@ const VVOC_TOP_LEVEL_COMMANDS = [
34
35
  "guardian",
35
36
  "init",
36
37
  "install",
38
+ "launch",
37
39
  "patch-provider",
38
40
  "preset",
39
41
  "plugin",
@@ -1 +1 @@
1
- {"version":3,"file":"completion.js","sourceRoot":"","sources":["../../src/commands/completion.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"completion.js","sourceRoot":"","sources":["../../src/commands/completion.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { type ConfigReadScope } from "../lib/config-layers.js";
1
2
  type ConfigValidateResult = {
2
3
  path: string;
3
4
  valid: boolean;
@@ -5,12 +6,18 @@ type ConfigValidateResult = {
5
6
  };
6
7
  export type { ConfigValidateResult };
7
8
  declare const _default: import("citty").CommandDef<{
9
+ readonly scope: {
10
+ readonly type: "enum";
11
+ readonly options: ["global", "project", "effective"];
12
+ readonly default: "effective";
13
+ readonly description: "Validate global, project-local, or effective layered config.";
14
+ };
8
15
  readonly "config-dir": {
9
16
  readonly type: "string";
10
17
  readonly description: "Override the global config home used for vvoc/.";
11
18
  };
12
19
  }>;
13
20
  export default _default;
14
- export declare function validateVvocConfig(cwd: string, configDir?: string): Promise<ConfigValidateResult>;
21
+ export declare function validateVvocConfig(cwd: string, configDir?: string, scope?: ConfigReadScope): Promise<ConfigValidateResult>;
15
22
  export declare function validateVvocConfigContent(content: string, filePath: string): ConfigValidateResult;
16
23
  export declare function validateVvocConfigFile(filePath: string): ConfigValidateResult;
@@ -1,9 +1,9 @@
1
1
  // FILE: src/commands/config-validate.ts
2
2
  // VERSION: 0.6.0
3
3
  // START_MODULE_CONTRACT
4
- // PURPOSE: Validate the canonical vvoc.json configuration file with human-readable error reporting.
5
- // SCOPE: Canonical vvoc config file discovery, strict JSON parse error reporting, JSON Schema validation, and pass/fail terminal output.
6
- // DEPENDS: [citty, jsonc-parser, src/lib/opencode.js, src/lib/vvoc-config.ts]
4
+ // PURPOSE: Validate a selected vvoc.json configuration file with human-readable error reporting.
5
+ // SCOPE: Layered vvoc config file discovery, strict JSON parse error reporting, JSON Schema validation, and pass/fail terminal output without creating files.
6
+ // DEPENDS: [citty, jsonc-parser, src/lib/config-layers.ts, src/lib/model-roles.ts, src/lib/vvoc-config.ts]
7
7
  // LINKS: [M-CLI-CONFIG-VALIDATE, M-CLI-CONFIG]
8
8
  // ROLE: RUNTIME
9
9
  // MAP_MODE: EXPORTS
@@ -18,12 +18,13 @@
18
18
  // END_MODULE_MAP
19
19
  //
20
20
  // START_CHANGE_SUMMARY
21
+ // LAST_CHANGE: [v0.7.0 - Added global/project/effective validation scopes without creating missing configs.]
21
22
  // LAST_CHANGE: [v0.6.0 - Added explicit unsupported-version reporting and path-aware semantic role assignment validation for roles/presets.]
22
23
  // END_CHANGE_SUMMARY
23
24
  import { defineCommand } from "citty";
24
25
  import { parse } from "jsonc-parser";
25
26
  import { readFileSync } from "node:fs";
26
- import { resolvePaths } from "../lib/opencode.js";
27
+ import { resolveVvocConfigSource } from "../lib/config-layers.js";
27
28
  import { parseModelSelection } from "../lib/model-roles.js";
28
29
  import { VVOC_CONFIG_VERSION, validateVvocConfigDocument } from "../lib/vvoc-config.js";
29
30
  export default defineCommand({
@@ -32,6 +33,12 @@ export default defineCommand({
32
33
  description: "Validate the canonical vvoc.json configuration file.",
33
34
  },
34
35
  args: {
36
+ scope: {
37
+ type: "enum",
38
+ options: ["global", "project", "effective"],
39
+ default: "effective",
40
+ description: "Validate global, project-local, or effective layered config.",
41
+ },
35
42
  "config-dir": {
36
43
  type: "string",
37
44
  description: "Override the global config home used for vvoc/.",
@@ -40,15 +47,28 @@ export default defineCommand({
40
47
  async run({ args }) {
41
48
  // START_BLOCK_RUN_VALIDATE
42
49
  const configDir = typeof args["config-dir"] === "string" ? args["config-dir"] : undefined;
43
- const result = await validateVvocConfig(process.cwd(), configDir);
50
+ const result = await validateVvocConfig(process.cwd(), configDir, resolveReadScope(args.scope));
44
51
  printResult(result);
45
52
  process.exitCode = result.valid ? 0 : 1;
46
53
  // END_BLOCK_RUN_VALIDATE
47
54
  },
48
55
  });
49
- export async function validateVvocConfig(cwd, configDir) {
50
- const paths = await resolvePaths({ scope: "global", cwd, configDir });
51
- return validateVvocConfigFile(paths.vvocConfigPath);
56
+ export async function validateVvocConfig(cwd, configDir, scope = "effective") {
57
+ const source = await resolveVvocConfigSource({
58
+ scope,
59
+ cwd,
60
+ configDir,
61
+ allowDefault: false,
62
+ });
63
+ if (source.kind === "missing" || !source.path) {
64
+ const label = source.path ?? `${scope} vvoc config`;
65
+ return {
66
+ path: label,
67
+ valid: false,
68
+ errors: [`${label} - ${source.reason ?? "vvoc config missing"}`],
69
+ };
70
+ }
71
+ return validateVvocConfigFile(source.path);
52
72
  }
53
73
  export function validateVvocConfigContent(content, filePath) {
54
74
  const errors = [];
@@ -158,4 +178,7 @@ function collectRoleAssignmentMapErrors(value, basePath, errors) {
158
178
  function isObjectRecord(value) {
159
179
  return value !== null && typeof value === "object" && !Array.isArray(value);
160
180
  }
181
+ function resolveReadScope(value) {
182
+ return value === "global" || value === "project" ? value : "effective";
183
+ }
161
184
  //# sourceMappingURL=config-validate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config-validate.js","sourceRoot":"","sources":["../../src/commands/config-validate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config-validate.js","sourceRoot":"","sources":["../../src/commands/config-validate.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  declare const _default: import("citty").CommandDef<{
2
2
  readonly scope: {
3
3
  readonly type: "enum";
4
- readonly options: ["global", "project"];
5
- readonly default: "global";
6
- readonly description: "Inspect global or project config.";
4
+ readonly options: ["global", "project", "effective"];
5
+ readonly default: "effective";
6
+ readonly description: "Inspect global, project-local, or effective layered config.";
7
7
  };
8
8
  readonly "config-dir": {
9
9
  readonly type: "string";
@@ -2,8 +2,8 @@
2
2
  // VERSION: 0.4.0
3
3
  // START_MODULE_CONTRACT
4
4
  // PURPOSE: Diagnose vv-opencode installation problems and surface actionable failures.
5
- // SCOPE: Scope parsing, installation inspection, warning/problem reporting, and non-zero exit signaling for OpenCode plus the canonical vvoc.json config.
6
- // DEPENDS: [citty, src/lib/opencode.ts]
5
+ // SCOPE: Read-scope parsing, layered source-aware installation inspection, warning/problem reporting, and non-zero exit signaling for OpenCode plus vvoc config.
6
+ // DEPENDS: [citty, src/lib/config-layers.ts, src/lib/opencode.ts]
7
7
  // LINKS: [M-CLI-COMMANDS, M-CLI-CONFIG]
8
8
  // ROLE: RUNTIME
9
9
  // MAP_MODE: EXPORTS
@@ -14,10 +14,11 @@
14
14
  // END_MODULE_MAP
15
15
  //
16
16
  // START_CHANGE_SUMMARY
17
+ // LAST_CHANGE: [v0.5.0 - Added global/project/effective diagnostic scopes with selected source reporting.]
17
18
  // LAST_CHANGE: [v0.4.0 - Added canonical role inventory output while keeping unresolved role-reference failures in Problems diagnostics.]
18
19
  // END_CHANGE_SUMMARY
19
20
  import { defineCommand } from "citty";
20
- import { inspectInstallation, resolvePaths } from "../lib/opencode.js";
21
+ import { inspectInstallationForScope } from "../lib/opencode.js";
21
22
  export default defineCommand({
22
23
  meta: {
23
24
  name: "doctor",
@@ -26,9 +27,9 @@ export default defineCommand({
26
27
  args: {
27
28
  scope: {
28
29
  type: "enum",
29
- options: ["global", "project"],
30
- default: "global",
31
- description: "Inspect global or project config.",
30
+ options: ["global", "project", "effective"],
31
+ default: "effective",
32
+ description: "Inspect global, project-local, or effective layered config.",
32
33
  },
33
34
  "config-dir": {
34
35
  type: "string",
@@ -37,15 +38,12 @@ export default defineCommand({
37
38
  },
38
39
  async run({ args }) {
39
40
  // START_BLOCK_PRINT_DIAGNOSTIC_REPORT
40
- const scope = args.scope === "project" ? "project" : "global";
41
+ const scope = resolveReadScope(args.scope);
41
42
  const configDir = typeof args["config-dir"] === "string" ? args["config-dir"] : undefined;
42
- const paths = await resolvePaths({
43
- scope: scope,
44
- cwd: process.cwd(),
45
- configDir,
46
- });
47
- const inspection = await inspectInstallation(paths);
43
+ const inspection = await inspectInstallationForScope({ scope, cwd: process.cwd(), configDir });
48
44
  console.log(`Scope: ${inspection.scope}`);
45
+ console.log(`OpenCode source: ${inspection.opencodeSource.kind}${inspection.opencodeSource.path ? ` ${inspection.opencodeSource.path}` : ""}`);
46
+ console.log(`vvoc source: ${inspection.vvocSource.kind}${inspection.vvocSource.path ? ` ${inspection.vvocSource.path}` : ""}`);
49
47
  console.log(`OpenCode config: ${inspection.opencode.path}`);
50
48
  console.log(`OpenCode config parse: ${inspection.opencode.parseError ? inspection.opencode.parseError : "ok"}`);
51
49
  console.log(`Configured plugins: ${inspection.opencode.plugins.length > 0 ? inspection.opencode.plugins.join(", ") : "<none>"}`);
@@ -82,4 +80,7 @@ export default defineCommand({
82
80
  // END_BLOCK_PRINT_DIAGNOSTIC_REPORT
83
81
  },
84
82
  });
83
+ function resolveReadScope(value) {
84
+ return value === "global" || value === "project" ? value : "effective";
85
+ }
85
86
  //# sourceMappingURL=doctor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
@@ -15,13 +15,14 @@
15
15
  // END_MODULE_MAP
16
16
  //
17
17
  // START_CHANGE_SUMMARY
18
+ // LAST_CHANGE: [v0.8.0 - Skipped global managed skill symlink creation for project-scope init.]
18
19
  // LAST_CHANGE: [v0.7.1 - Added managed skill file scaffolding during vvoc init.]
19
20
  // LAST_CHANGE: [v0.7.0 - Ensured the project-local managed planning artifact directory exists during project-scope init.]
20
21
  // LAST_CHANGE: [v0.6.1 - Exported runInit as the command helper and kept the non-interactive path internal so the module map matches the public surface.]
21
22
  // END_CHANGE_SUMMARY
22
23
  import { defineCommand } from "citty";
23
24
  import * as p from "@clack/prompts";
24
- import { ensureManagedPlanDirectory, ensureManagedSkillSymlink, ensurePackageInstalled, installManagedAgentPrompts, installVvocConfig, installManagedSkillFiles, inspectInstallation, resolvePaths, syncManagedAgentRegistrations, } from "../lib/opencode.js";
25
+ import { ensureManagedSkillSymlink, ensurePackageInstalled, installManagedAgentPrompts, installVvocConfig, installManagedSkillFiles, inspectInstallation, resolvePaths, syncManagedAgentRegistrations, } from "../lib/opencode.js";
25
26
  export default defineCommand({
26
27
  meta: {
27
28
  name: "init",
@@ -122,16 +123,14 @@ export async function runInit(options) {
122
123
  for (const result of await installManagedSkillFiles(finalPaths, { force: true })) {
123
124
  p.log.info(result.path + " - " + result.action);
124
125
  }
125
- if (finalPaths.scope === "project") {
126
- const planDirectoryResult = await ensureManagedPlanDirectory(finalPaths);
127
- p.log.info(planDirectoryResult.path + " - " + planDirectoryResult.action);
128
- }
129
126
  p.log.step("Scaffolding canonical vvoc config...");
130
127
  const vvocConfigResult = await installVvocConfig(finalPaths);
131
128
  p.log.info(vvocConfigResult.path + " - " + vvocConfigResult.action);
132
- p.log.step("Creating skill symlink...");
133
- const symlinkResult = await ensureManagedSkillSymlink(configDir);
134
- p.log.info(symlinkResult.path + " - " + symlinkResult.action);
129
+ if (finalPaths.scope === "global") {
130
+ p.log.step("Creating skill symlink...");
131
+ const symlinkResult = await ensureManagedSkillSymlink(configDir);
132
+ p.log.info(symlinkResult.path + " - " + symlinkResult.action);
133
+ }
135
134
  p.outro(`vvoc initialized successfully
136
135
 
137
136
  💡 Highly recommended: Install RTK for 60-90% token savings on git/test/lint commands
@@ -150,10 +149,9 @@ async function runInitNonInteractive(options) {
150
149
  await syncManagedAgentRegistrations(paths);
151
150
  await installManagedAgentPrompts(paths, { force: true });
152
151
  await installManagedSkillFiles(paths, { force: true });
153
- if (paths.scope === "project") {
154
- await ensureManagedPlanDirectory(paths);
155
- }
156
152
  await installVvocConfig(paths);
157
- await ensureManagedSkillSymlink(configDir);
153
+ if (paths.scope === "global") {
154
+ await ensureManagedSkillSymlink(configDir);
155
+ }
158
156
  }
159
157
  //# sourceMappingURL=init.js.map