@osovv/vv-opencode 0.35.28 → 0.35.29

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,9 +1,21 @@
1
+ ## <small>0.35.29 (2026-06-22)</small>
2
+
3
+ ### Summary
4
+
5
+ This release adds the `vv-osovv-cheap` preset, which provides a more cost-effective set of model role assignments by combining deepseek, stepfun, minimax, and zai models, and updates the project documentation to clarify vvoc's role as a curated, opinionated plugin set that adds a structured spec-to-code process layer for safer, more portable agentic development—including formalized trajectories, review-driven execution, and long-run safety features.
6
+
7
+ * feat(preset): add vv-osovv-cheap preset with zai smart and deepseek reviewer ([dfe1efe](https://github.com/osovv/vv-opencode/commit/dfe1efe))
8
+ * docs: clarify vvoc process positioning ([3d78927](https://github.com/osovv/vv-opencode/commit/3d78927))
9
+ * docs: explain plugin user benefits ([baf716b](https://github.com/osovv/vv-opencode/commit/baf716b))
10
+ * docs: update project positioning ([7af2865](https://github.com/osovv/vv-opencode/commit/7af2865))
11
+
1
12
  ## <small>0.35.28 (2026-06-21)</small>
2
13
 
3
14
  ### Summary
4
15
 
5
16
  This release completes the strict cutover from legacy behavior: vvoc config parsing now rigidly enforces canonical schema v3 with the `plugins` section as required, rejecting old, incomplete, or malformed `vvoc.json` files instead of silently migrating or repairing them; `vvoc status` and `vvoc doctor` report parse errors without mutating the file, and `vvoc upgrade` treats a failed post-install sync as a reported partial upgrade requiring manual config fix. Runtime compatibility fallbacks have been removed — Guardian permission replies use only the current OpenCode permission API or HTTP reply, Hashline edit anchors accept only current hashing algorithms, and `vvoc sync` no longer deletes old managed-agent names or managed command entries, leaving them untouched while writing current registrations. Users with existing v1/v2 configs must manually update to schema v3 before any sync, install, or plugin runtime will proceed.
6
17
 
18
+ * feat(preset): add vv-osovv-cheap preset with zai smart and deepseek reviewer ([c2b7fb0](https://github.com/osovv/vv-opencode/commit/c2b7fb0))
7
19
  * docs: complete launch polish pass ([b026a79](https://github.com/osovv/vv-opencode/commit/b026a79))
8
20
  * docs: document strict legacy cutover ([cf99ccf](https://github.com/osovv/vv-opencode/commit/cf99ccf))
9
21
  * feat(config): enforce strict vvoc config parsing ([299a398](https://github.com/osovv/vv-opencode/commit/299a398))
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # @osovv/vv-opencode
2
2
 
3
- **Portable OpenCode workflow toolkit** — one command bootstraps a managed agent ecosystem, skill-driven spec-to-code pipeline, security-and-productivity plugins, and a unified CLI.
3
+ **Curated, opinionated OpenCode plugin set** for spec-first, review-driven, safer agentic development — with managed agents, skills, safety plugins, and the `vvoc` CLI.
4
4
 
5
5
  <p>
6
6
  <a href="https://www.npmjs.com/package/@osovv/vv-opencode"><img src="https://img.shields.io/npm/v/%40osovv%2Fvv-opencode?style=flat&label=npm&color=blue" alt="npm"></a>
@@ -37,41 +37,57 @@ Project scope writes only to `./.opencode/` and `./.vvoc/`. A normal `opencode`
37
37
 
38
38
  ## Spec-to-Code Pipeline
39
39
 
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:
40
+ vvoc keeps larger agentic work from jumping straight into edits. The process turns a request into explicit artifacts first, then executes the approved plan with bounded implementation and review loops.
41
41
 
42
42
  ```
43
- User request
44
- │
45
- ▼ auto-trigger
46
- vv-spec ───────────────────────────────────────→ .vvoc/specs/<id>/spec.xml
47
- │ Grill-me interview (one question at a time)
48
- │ Decision tree with recommended answers
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)
52
- │
53
- ├── ① Spec review: requirements correct, complete, unambiguous?
54
- │
55
- ▼ auto-trigger (after approval)
56
- vv-plan ───────────────────────────────────────→ .vvoc/specs/<id>/plan.xml
57
- │ Reads sibling design-context.xml when present (explanatory only)
58
- │ Interface contracts with JSDoc behavior descriptions
59
- │ Acceptance criteria per task (grep: `<criterion>`)
60
- │ Dependency ordering (grep: `<task_id>`)
61
- │ Three-layer review model: spec → plan → code
62
- │
63
- ├── ② Plan review: every spec requirement → task? Contracts match spec?
64
- │
65
- ▼ auto-trigger (after approval)
66
- vv-implementer → vv-spec-reviewer → vv-code-reviewer
67
- │ Workflow tracked loop with work items
68
- │ Spec review checks: code matches spec?
69
- │ Code review checks: implementation matches plan contracts?
70
- │
71
- ├── ③ Code review: interfaces correct? All AC pass?
72
- │
73
- ▼
74
- Done
43
+ Request / idea
44
+ ↓
45
+ vv-spec
46
+ asks clarifying questions
47
+ writes .vvoc/specs/<id>/spec.xml
48
+ waits for spec approval
49
+ ↓
50
+ vv-plan
51
+ reads the approved spec
52
+ writes .vvoc/specs/<id>/plan.xml
53
+ defines tasks, contracts, dependencies, and acceptance criteria
54
+ waits for plan approval
55
+ ↓
56
+ vv-execute
57
+ applies the approved plan task by task
58
+ runs implementation + review internally
59
+ verifies before moving on
60
+ ↓
61
+ Verified result
62
+ ```
63
+
64
+ Inside `vv-execute`:
65
+
66
+ ```text
67
+ Each plan task
68
+ ↓
69
+ vv-implementer
70
+ implements the focused task and runs targeted verification
71
+ ↓
72
+ vv-spec-reviewer
73
+ checks whether the result matches the approved spec
74
+ ↓
75
+ vv-code-reviewer
76
+ checks bugs, regressions, maintainability, and missing tests
77
+ ↓
78
+ verification
79
+ pass → next task
80
+ fail → bounded retry loop
81
+ needs context / blocked → stop and ask the user
82
+ ```
83
+
84
+ All artifacts for one feature live together:
85
+
86
+ ```text
87
+ .vvoc/specs/<id>/
88
+ spec.xml # what should be built and why
89
+ design-context.xml # optional design memory
90
+ plan.xml # how to implement and verify it
75
91
  ```
76
92
 
77
93
  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>/`.
@@ -103,15 +119,16 @@ Managed skills are installed by `vvoc`. `vv-controller` explicitly routes `vv-sp
103
119
 
104
120
  ## Why vv-opencode?
105
121
 
106
- Setting up OpenCode for serious daily work means juggling config files, agent prompts, plugin wiring, model role assignments, and permission rules — every time, on every machine.
122
+ OpenCode is a strong, flexible base for agentic coding, but it intentionally leaves the development process mostly up to you: when to clarify requirements, when to plan, when to investigate first, when to review, and how to keep longer runs safe. That flexibility is powerful, but it can also make agent work feel loose and inconsistent.
107
123
 
108
- **vv-opencode collapses that into a single `vvoc install`.** It owns the wiring so you don't have to:
124
+ **vv-opencode adds a curated process layer on top of OpenCode:**
109
125
 
110
- - **Six plugins, one entry** — all plugins are exported from a single pinned package entry
111
- - **Managed agent & skill system** — `vv-controller` routes `vv-spec`, `vv-plan`, and `vv-review`; bundled managed skills also include `vv-execute` and `vv-reflect`
112
- - **Model roles & presets** — assign models to roles (`smart`, `fast`, `vision`, …) and switch provider presets with one command
113
- - **Security-first** — a `guardian` agent reviews permission requests, secrets are redacted from LLM-bound chat
114
- - **Stale-line-number defense** — hashline-backed `edit` prevents write-against-wrong-snapshot bugs
126
+ - **Formalized trajectories** — small changes stay direct, unclear bugs start with investigation, large changes go through spec and plan, and risky implementation uses review loops
127
+ - **Spec-first by default** — turn broad requests into explicit specs, plans, and review gates before implementation
128
+ - **Review-driven execution** — keep implementation, spec review, and code review as separate steps instead of one agent silently doing everything
129
+ - **Portable model choices** — use roles like `vv-role:smart` and `vv-role:fast` in shared agents, then map those roles per machine or project
130
+ - **Long-run safety** — Guardian auto-approves routine low-risk permission requests, leaves risky ones to OpenCode's manual approval flow, and secrets redaction reduces accidental leakage
131
+ - **Safer edits** — hashline-backed `edit` ties changes to fresh `read` output so agents are less likely to write against stale line numbers
115
132
 
116
133
  ---
117
134
 
@@ -119,28 +136,28 @@ Setting up OpenCode for serious daily work means juggling config files, agent pr
119
136
 
120
137
  | Area | What you get |
121
138
  |---|---|
122
- | **Plugins** | 6 plugins in one pinned package entry — workflow orchestration, model roles, guardian, hashline edit, system context injection, secrets redaction |
123
- | **Agent System** | `vv-controller` routes work: direct for small changes, `investigator` for bugs, implementer+reviewer loop for risky work, and `vv-spec`/`vv-plan` for large features |
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 |
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 |
126
- | **One-Click Setup** | `vvoc install` or `vvoc sync` bootstraps everything — config, agents, skills, prompts, presets |
127
- | **CLI Tooling** | 16+ commands: install, sync, launch, status, doctor, role management, presets, guardian config, shell completion, upgrade |
128
- | **Security** | GuardianPlugin reviews shell-permission requests; SecretsRedactionPlugin strips tokens before LLM requests; both configurable via `vvoc.json` |
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 |
130
- | **Workflow Tracking** | Explicit-intent work items with open/list/close for tracked implementation and review-only pipelines |
139
+ | **Plugins** | A curated set of OpenCode plugins that make agentic work more structured, portable, and safer without hand-wiring each piece yourself |
140
+ | **Agent System** | A default controller that picks the right path: direct changes for small work, investigation before unclear fixes, and implementer/reviewer loops for risky changes |
141
+ | **Skills** | Guided workflows for turning ideas into specs, specs into plans, plans into execution, reviews into findings, and long sessions into reusable memory |
142
+ | **Spec-to-Code Pipeline** | A repeatable path from request → spec → plan → implementation → review, so agents do not silently skip requirements or acceptance criteria |
143
+ | **One-Click Setup** | Recreate the same opinionated workflow on a new machine or project with `vvoc install` / `vvoc sync` |
144
+ | **CLI Tooling** | Operate and diagnose the setup from one CLI: install, sync, launch, status, doctor, roles, presets, plugin toggles, completion, and upgrade |
145
+ | **Long-Run Safety** | Guardian keeps safe long/AFK runs moving by auto-approving routine low-risk permissions, while risky actions stay in OpenCode's manual approval flow; secrets redaction reduces accidental leakage |
146
+ | **Model Roles** | Put roles like `vv-role:smart` or `vv-role:fast` in shared agents and skills instead of hardcoded model IDs, then choose provider/model mappings per environment |
147
+ | **Workflow Tracking** | Replace free-form multi-agent chaos with explicit work items, bounded review rounds, reviewer result collection, and hard stops when more context is needed |
131
148
 
132
149
  ---
133
150
 
134
151
  ## The Six Plugins
135
152
 
136
- | Plugin | What it does |
153
+ | Plugin | What it helps you do |
137
154
  |---|---|
138
- | **WorkflowPlugin** | Tracked orchestration around `task` for subagents; registers `work_item_open/list/close` tools with explicit `mode` (`implementation` or `review_only`), `requiredReviewers` (`spec`, `code`), collect-all reviewer rounds, state-machine enforcement, and implementation retry round-limit gating |
139
- | **ModelRolesPlugin** | Resolves `vv-role:*` references in OpenCode config at startup; translates `:variant` suffixes into native model+variant fields |
140
- | **GuardianPlugin** | Reviews OpenCode permission requests with a constrained guardian agent and safe-deny defaults; configurable model, timeout, risk threshold |
141
- | **HashlineEditPlugin** | Replaces OpenCode's `edit` with hash-anchored variant; rewrites `read` output to `line#hash` format; rejects stale snapshots to prevent drift bugs |
142
- | **SystemContextInjectionPlugin** | Injects reusable system guidance into primary sessions without polluting subagent prompts; encourages proactive `explore` usage; registers vvoc skill directory for OpenCode skill discovery |
143
- | **SecretsRedactionPlugin** | Redacts secrets (tokens, keys, emails, UUIDs, IPs) before LLM requests; restores placeholders afterward; configurable patterns |
155
+ | **WorkflowPlugin** | Keep multi-agent work structured with explicit work items, bounded implementation/review loops, reviewer result collection, and safe stops when more context is needed. |
156
+ | **ModelRolesPlugin** | Use semantic model roles instead of hardcoded model IDs in OpenCode agents, subagents, and command configs — e.g. `vv-role:smart`, `vv-role:fast` — then map those roles per machine or project. |
157
+ | **GuardianPlugin** | Keep long or AFK agent runs moving by auto-approving routine low-risk permission requests. If something looks risky, Guardian does not auto-approve it and leaves the decision to OpenCode's normal manual approval flow. |
158
+ | **HashlineEditPlugin** | Make agent edits safer by tying changes to fresh `read` output, reducing wrong-line and stale-context edits. |
159
+ | **SystemContextInjectionPlugin** | Give primary agents the vvoc workflow rules and skill discovery automatically, while keeping subagents focused and avoiding prompt pollution. |
160
+ | **SecretsRedactionPlugin** | Reduce accidental secret leakage by redacting tokens, keys, emails, and other sensitive values before messages are sent to the model. |
144
161
 
145
162
  Workflow work items are opened with explicit intent. For implementation loops, controllers use:
146
163
 
@@ -203,6 +220,7 @@ vvoc preset vv-zai
203
220
  vvoc preset vv-deepseek
204
221
  vvoc preset vv-minimax
205
222
  vvoc preset vv-osovv
223
+ vvoc preset vv-osovv-cheap
206
224
  ```
207
225
 
208
226
  Built-in role IDs: `default`, `smart`, `fast`, `vision` + any custom lowercase-hyphenated IDs.
@@ -276,15 +294,15 @@ vvoc launch --scope project -- run "hello"
276
294
 
277
295
  All prompt files are scaffolded by `vvoc install` / `vvoc sync`:
278
296
 
279
- | Agent | Role |
297
+ | Agent | When it helps |
280
298
  |---|---|
281
- | `vv-controller` | Default primary agent — routes work to the right subagent |
282
- | `enhancer` | Prompt enhancement |
283
- | `vv-implementer` | Focused implementation with verification |
284
- | `vv-spec-reviewer` | Checks implementation against spec |
285
- | `vv-code-reviewer` | Engineering review for bugs and maintainability |
286
- | `investigator` | Root-cause analysis for unclear bugs |
287
- | `guardian` | Permission request review (plugin runtime) |
299
+ | `vv-controller` | Default primary agent that routes small changes, investigations, reviews, and larger feature work through the right workflow |
300
+ | `enhancer` | Improves rough requests before execution when a clearer prompt would help |
301
+ | `vv-implementer` | Applies a focused approved change and verifies it before reporting completion |
302
+ | `vv-spec-reviewer` | Checks whether implementation matches the requested spec and acceptance criteria |
303
+ | `vv-code-reviewer` | Looks for bugs, regressions, maintainability risks, and missing tests |
304
+ | `investigator` | Finds the root cause first when behavior is unclear or a failure needs diagnosis |
305
+ | `guardian` | Supports GuardianPlugin by auto-approving routine low-risk permission requests and leaving risky ones for manual approval |
288
306
 
289
307
  ---
290
308
 
@@ -292,13 +310,15 @@ All prompt files are scaffolded by `vvoc install` / `vvoc sync`:
292
310
 
293
311
  Five workflow skills are scaffolded alongside agents:
294
312
 
295
- | Skill | Trigger | Output | Grep-able |
296
- |---|---|---|---|
297
- | `vv-spec` | Creative/feature request, no spec exists | `.vvoc/specs/<id>/spec.xml` + optional `design-context.xml` | `<goal>`, `<architecture>`, `<component>` |
298
- | `vv-plan` | Approved spec exists | `.vvoc/specs/<id>/plan.xml` | `<id>T-`, `<criterion>`, `<task_id>`, `/**` JSDoc |
299
- | `vv-execute` | Approved plan exists | Applies and archives spec/plan artifacts | `<status>`, `<task>`, `<acceptance>` |
300
- | `vv-review` | Review request | Findings report | — |
301
- | `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 |
313
+ | Skill | When to use it | What it gives you |
314
+ |---|---|---|
315
+ | `vv-spec` | You have a feature or creative request and no agreed contract yet | A guided interview, recommended options, and a saved spec in `.vvoc/specs/<id>/spec.xml` |
316
+ | `vv-plan` | A spec is approved and ready to implement | A task-level implementation plan with file targets, contracts, dependencies, and acceptance criteria |
317
+ | `vv-execute` | A plan is approved and you want it applied step by step | Ordered execution with verification and applied spec/plan archival |
318
+ | `vv-review` | You want findings, not fixes | A review-only workflow that reports spec/code issues and stops before implementation |
319
+ | `vv-reflect` | A long development, debugging, ops, or investigation session produced reusable knowledge | Durable notes in existing docs or `.vvoc/lessons` / `.vvoc/runbooks` for future agents |
320
+
321
+ Spec and plan artifacts stay XML so requirements, tasks, acceptance criteria, and dependencies remain easy to grep and review.
302
322
 
303
323
  `vv-reflect` creates `.vvoc/lessons` and `.vvoc/runbooks` lazily only after approved fallback writes. It prefers an existing repository documentation convention when there is a high-confidence match.
304
324
 
@@ -49,7 +49,17 @@ export declare const BUILTIN_VVOC_PRESET_REGISTRY: {
49
49
  readonly reviewer: "zai-coding-plan/glm-5.1";
50
50
  };
51
51
  };
52
+ readonly "vv-osovv-cheap": {
53
+ readonly description: "Cheap osovv role assignments (deepseek + stepfun + minimax + zai).";
54
+ readonly agents: {
55
+ readonly default: "deepseek/deepseek-v4-flash";
56
+ readonly fast: "stepfun/step-3.7-flash";
57
+ readonly smart: "zai-coding-plan/glm-5.1";
58
+ readonly vision: "minimax-coding-plan/MiniMax-M2.7";
59
+ readonly reviewer: "deepseek/deepseek-v4-pro";
60
+ };
61
+ };
52
62
  };
53
63
  export type BuiltInVvocPresetName = keyof typeof BUILTIN_VVOC_PRESET_REGISTRY;
54
- export declare const BUILTIN_VVOC_PRESET_NAMES: readonly ("vv-openai" | "vv-zai" | "vv-minimax" | "vv-deepseek" | "vv-osovv")[];
64
+ export declare const BUILTIN_VVOC_PRESET_NAMES: readonly ("vv-openai" | "vv-zai" | "vv-minimax" | "vv-deepseek" | "vv-osovv" | "vv-osovv-cheap")[];
55
65
  export declare function isBuiltinVvocPresetName(name: string): name is BuiltInVvocPresetName;
@@ -70,6 +70,16 @@ export const BUILTIN_VVOC_PRESET_REGISTRY = {
70
70
  reviewer: "zai-coding-plan/glm-5.1",
71
71
  },
72
72
  },
73
+ "vv-osovv-cheap": {
74
+ description: "Cheap osovv role assignments (deepseek + stepfun + minimax + zai).",
75
+ agents: {
76
+ default: "deepseek/deepseek-v4-flash",
77
+ fast: "stepfun/step-3.7-flash",
78
+ smart: "zai-coding-plan/glm-5.1",
79
+ vision: "minimax-coding-plan/MiniMax-M2.7",
80
+ reviewer: "deepseek/deepseek-v4-pro",
81
+ },
82
+ },
73
83
  };
74
84
  export const BUILTIN_VVOC_PRESET_NAMES = Object.freeze(Object.keys(BUILTIN_VVOC_PRESET_REGISTRY));
75
85
  // START_CONTRACT: isBuiltinVvocPresetName
@@ -1 +1 @@
1
- {"version":3,"file":"vvoc-preset-registry.js","sourceRoot":"","sources":["../../src/lib/vvoc-preset-registry.ts"],"names":[],"mappings":"AAAA,wCAAwC;AACxC,iBAAiB;AACjB,wBAAwB;AACxB,wGAAwG;AACxG,kGAAkG;AAClG,oBAAoB;AACpB,kFAAkF;AAClF,kBAAkB;AAClB,sBAAsB;AACtB,sBAAsB;AACtB,EAAE;AACF,mBAAmB;AACnB,uGAAuG;AACvG,yGAAyG;AACzG,oEAAoE;AACpE,sFAAsF;AACtF,iBAAiB;AACjB,EAAE;AACF,uBAAuB;AACvB,iIAAiI;AACjI,qBAAqB;AAOrB,MAAM,CAAC,MAAM,4BAA4B,GAAG;IAC1C,WAAW,EAAE;QACX,WAAW,EAAE,0DAA0D;QACvE,MAAM,EAAE;YACN,OAAO,EAAE,gBAAgB;YACzB,KAAK,EAAE,yBAAyB;YAChC,IAAI,EAAE,qBAAqB;YAC3B,MAAM,EAAE,gBAAgB;YACxB,QAAQ,EAAE,gBAAgB;SAC3B;KACF;IACD,QAAQ,EAAE;QACR,WAAW,EAAE,uDAAuD;QACpE,MAAM,EAAE;YACN,OAAO,EAAE,6BAA6B;YACtC,KAAK,EAAE,yBAAyB;YAChC,IAAI,EAAE,8BAA8B;YACpC,MAAM,EAAE,0BAA0B;YAClC,QAAQ,EAAE,yBAAyB;SACpC;KACF;IACD,YAAY,EAAE;QACZ,WAAW,EAAE,2DAA2D;QACxE,MAAM,EAAE;YACN,OAAO,EAAE,kCAAkC;YAC3C,KAAK,EAAE,kCAAkC;YACzC,IAAI,EAAE,kCAAkC;YACxC,MAAM,EAAE,kCAAkC;YAC1C,QAAQ,EAAE,kCAAkC;SAC7C;KACF;IACD,aAAa,EAAE;QACb,WAAW,EAAE,4DAA4D;QACzE,MAAM,EAAE;YACN,OAAO,EAAE,4BAA4B;YACrC,KAAK,EAAE,0BAA0B;YACjC,IAAI,EAAE,4BAA4B;YAClC,MAAM,EAAE,0BAA0B;YAClC,QAAQ,EAAE,0BAA0B;SACrC;KACF;IACD,UAAU,EAAE;QACV,WAAW,EAAE,6EAA6E;QAC1F,MAAM,EAAE;YACN,OAAO,EAAE,4BAA4B;YACrC,IAAI,EAAE,wBAAwB;YAC9B,KAAK,EAAE,yBAAyB;YAChC,MAAM,EAAE,kCAAkC;YAC1C,QAAQ,EAAE,yBAAyB;SACpC;KACF;CAC6D,CAAC;AAIjE,MAAM,CAAC,MAAM,yBAAyB,GAAG,MAAM,CAAC,MAAM,CACpD,MAAM,CAAC,IAAI,CAAC,4BAA4B,CAA4B,CACrE,CAAC;AAEF,0CAA0C;AAC1C,0FAA0F;AAC1F,sDAAsD;AACtD,0FAA0F;AAC1F,uBAAuB;AACvB,gDAAgD;AAChD,wCAAwC;AACxC,MAAM,UAAU,uBAAuB,CAAC,IAAY;IAClD,OAAO,MAAM,CAAC,MAAM,CAAC,4BAA4B,EAAE,IAAI,CAAC,CAAC;AAC3D,CAAC"}
1
+ {"version":3,"file":"vvoc-preset-registry.js","sourceRoot":"","sources":["../../src/lib/vvoc-preset-registry.ts"],"names":[],"mappings":"AAAA,wCAAwC;AACxC,iBAAiB;AACjB,wBAAwB;AACxB,wGAAwG;AACxG,kGAAkG;AAClG,oBAAoB;AACpB,kFAAkF;AAClF,kBAAkB;AAClB,sBAAsB;AACtB,sBAAsB;AACtB,EAAE;AACF,mBAAmB;AACnB,uGAAuG;AACvG,yGAAyG;AACzG,oEAAoE;AACpE,sFAAsF;AACtF,iBAAiB;AACjB,EAAE;AACF,uBAAuB;AACvB,iIAAiI;AACjI,qBAAqB;AAOrB,MAAM,CAAC,MAAM,4BAA4B,GAAG;IAC1C,WAAW,EAAE;QACX,WAAW,EAAE,0DAA0D;QACvE,MAAM,EAAE;YACN,OAAO,EAAE,gBAAgB;YACzB,KAAK,EAAE,yBAAyB;YAChC,IAAI,EAAE,qBAAqB;YAC3B,MAAM,EAAE,gBAAgB;YACxB,QAAQ,EAAE,gBAAgB;SAC3B;KACF;IACD,QAAQ,EAAE;QACR,WAAW,EAAE,uDAAuD;QACpE,MAAM,EAAE;YACN,OAAO,EAAE,6BAA6B;YACtC,KAAK,EAAE,yBAAyB;YAChC,IAAI,EAAE,8BAA8B;YACpC,MAAM,EAAE,0BAA0B;YAClC,QAAQ,EAAE,yBAAyB;SACpC;KACF;IACD,YAAY,EAAE;QACZ,WAAW,EAAE,2DAA2D;QACxE,MAAM,EAAE;YACN,OAAO,EAAE,kCAAkC;YAC3C,KAAK,EAAE,kCAAkC;YACzC,IAAI,EAAE,kCAAkC;YACxC,MAAM,EAAE,kCAAkC;YAC1C,QAAQ,EAAE,kCAAkC;SAC7C;KACF;IACD,aAAa,EAAE;QACb,WAAW,EAAE,4DAA4D;QACzE,MAAM,EAAE;YACN,OAAO,EAAE,4BAA4B;YACrC,KAAK,EAAE,0BAA0B;YACjC,IAAI,EAAE,4BAA4B;YAClC,MAAM,EAAE,0BAA0B;YAClC,QAAQ,EAAE,0BAA0B;SACrC;KACF;IACD,UAAU,EAAE;QACV,WAAW,EAAE,6EAA6E;QAC1F,MAAM,EAAE;YACN,OAAO,EAAE,4BAA4B;YACrC,IAAI,EAAE,wBAAwB;YAC9B,KAAK,EAAE,yBAAyB;YAChC,MAAM,EAAE,kCAAkC;YAC1C,QAAQ,EAAE,yBAAyB;SACpC;KACF;IACD,gBAAgB,EAAE;QAChB,WAAW,EAAE,oEAAoE;QACjF,MAAM,EAAE;YACN,OAAO,EAAE,4BAA4B;YACrC,IAAI,EAAE,wBAAwB;YAC9B,KAAK,EAAE,yBAAyB;YAChC,MAAM,EAAE,kCAAkC;YAC1C,QAAQ,EAAE,0BAA0B;SACrC;KACF;CAC6D,CAAC;AAIjE,MAAM,CAAC,MAAM,yBAAyB,GAAG,MAAM,CAAC,MAAM,CACpD,MAAM,CAAC,IAAI,CAAC,4BAA4B,CAA4B,CACrE,CAAC;AAEF,0CAA0C;AAC1C,0FAA0F;AAC1F,sDAAsD;AACtD,0FAA0F;AAC1F,uBAAuB;AACvB,gDAAgD;AAChD,wCAAwC;AACxC,MAAM,UAAU,uBAAuB,CAAC,IAAY;IAClD,OAAO,MAAM,CAAC,MAAM,CAAC,4BAA4B,EAAE,IAAI,CAAC,CAAC;AAC3D,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@osovv/vv-opencode",
3
- "version": "0.35.28",
4
- "description": "Portable OpenCode workflow toolkit — 6 plugins, managed agents & skills, a spec-to-code pipeline, security, and the vvoc CLI.",
3
+ "version": "0.35.29",
4
+ "description": "A curated, opinionated set of OpenCode plugins for spec-first, review-driven, safer agentic development.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
7
7
  "types": "./dist/index.d.ts",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "https://cdn.jsdelivr.net/npm/@osovv/vv-opencode@0.35.28/schemas/vvoc/v3.json",
3
+ "$id": "https://cdn.jsdelivr.net/npm/@osovv/vv-opencode@0.35.29/schemas/vvoc/v3.json",
4
4
  "title": "vvoc config",
5
5
  "description": "Canonical vvoc configuration document.",
6
6
  "type": "object",