@osovv/vv-opencode 0.5.5 → 0.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -7,6 +7,7 @@ Current package scope:
7
7
  - `GuardianPlugin` for permission review
8
8
  - `MemoryPlugin` for explicit persistent memory
9
9
  - built-in `memory-reviewer` subagent for report-only memory audits
10
+ - vvoc-managed subagents: `implementer`, `spec-reviewer`, `code-reviewer`, `investitagor`
10
11
  - `vvoc` CLI for bootstrap, sync, and diagnostics
11
12
  - vvoc-managed config kept separate from OpenCode config
12
13
 
@@ -85,6 +86,8 @@ Examples:
85
86
  - project-local memory data: `~/.local/share/vvoc/projects/<project-id>/memory/`
86
87
  - global shared memory data: `~/.local/share/vvoc/memory/shared/<namespace>/`
87
88
  - project memory settings: `./.vvoc/memory.jsonc`
89
+ - global managed agent prompts: `~/.config/vvoc/agents/*.md`
90
+ - project managed agent prompts: `./.vvoc/agents/*.md`
88
91
 
89
92
  This keeps vvoc state clearly separated from native OpenCode config and avoids future clashes if OpenCode adds its own memory features.
90
93
 
@@ -102,14 +105,14 @@ Show the installed `vvoc` package version:
102
105
  vvoc version
103
106
  ```
104
107
 
105
- Install package config and bootstrap Guardian + Memory config:
108
+ Install package config and bootstrap Guardian + Memory config plus managed subagents:
106
109
 
107
110
  ```bash
108
111
  vvoc install
109
112
  ```
110
113
 
111
114
  `install` writes the current installed package version into the OpenCode `plugin` array instead of using an unpinned `latest` reference.
112
- It also creates managed `guardian.jsonc` and `memory.jsonc` files when they are missing.
115
+ It also registers vvoc-managed subagents in OpenCode config and creates managed `guardian.jsonc`, `memory.jsonc`, and `vvoc/agents/*.md` prompt files when they are missing.
113
116
 
114
117
  Use project scope instead of global scope:
115
118
 
@@ -128,6 +131,12 @@ This writes:
128
131
  - `/tmp/vvoc-home/opencode/opencode.json`
129
132
  - `/tmp/vvoc-home/vvoc/guardian.jsonc`
130
133
  - `/tmp/vvoc-home/vvoc/memory.jsonc`
134
+ - `/tmp/vvoc-home/vvoc/agents/guardian.md`
135
+ - `/tmp/vvoc-home/vvoc/agents/memory-reviewer.md`
136
+ - `/tmp/vvoc-home/vvoc/agents/implementer.md`
137
+ - `/tmp/vvoc-home/vvoc/agents/spec-reviewer.md`
138
+ - `/tmp/vvoc-home/vvoc/agents/code-reviewer.md`
139
+ - `/tmp/vvoc-home/vvoc/agents/investitagor.md`
131
140
 
132
141
  Sync managed config files:
133
142
 
@@ -135,6 +144,15 @@ Sync managed config files:
135
144
  vvoc sync
136
145
  ```
137
146
 
147
+ Manage model overrides for bundled agents:
148
+
149
+ ```bash
150
+ vvoc agent list
151
+ vvoc agent implementer set openai/gpt-5
152
+ vvoc agent code-reviewer set anthropic/claude-sonnet-4-20250514
153
+ vvoc agent spec-reviewer unset
154
+ ```
155
+
138
156
  Inspect current setup:
139
157
 
140
158
  ```bash
@@ -229,6 +247,40 @@ Use it when you want a report-only audit of stored memory:
229
247
 
230
248
  The reviewer can read memory with `memory_list`, `memory_get`, and `memory_search`, but it does not modify entries.
231
249
 
250
+ ## Managed agent prompts
251
+
252
+ `vvoc install` and `vvoc sync` create vvoc-managed prompt files under:
253
+
254
+ - global: `~/.config/vvoc/agents/*.md`
255
+ - project: `./.vvoc/agents/*.md`
256
+
257
+ This includes:
258
+
259
+ - `guardian.md`
260
+ - `memory-reviewer.md`
261
+ - `implementer.md`
262
+ - `spec-reviewer.md`
263
+ - `code-reviewer.md`
264
+ - `investitagor.md`
265
+
266
+ `GuardianPlugin` and `MemoryPlugin` now read `guardian.md` and `memory-reviewer.md` from those vvoc-managed paths at runtime.
267
+ There is no bundled runtime fallback, so missing files should be repaired with `vvoc install` or `vvoc sync`.
268
+
269
+ ## Managed subagents
270
+
271
+ `vvoc install` and `vvoc sync` also register four OpenCode subagents in `opencode.json`:
272
+
273
+ - `implementer`
274
+ - `spec-reviewer`
275
+ - `code-reviewer`
276
+ - `investitagor`
277
+
278
+ Their prompt files also live under the same vvoc-managed `agents/` directory instead of being embedded directly into the TypeScript command code.
279
+
280
+ OpenCode registration stays in `opencode.json`, but each agent points its `prompt` field at the vvoc-managed file with a relative `{file:...}` reference.
281
+
282
+ Model overrides for these four subagents are written into the corresponding `agent.<name>.model` entry inside OpenCode config via `vvoc agent ... set|unset`.
283
+
232
284
  ## Package API
233
285
 
234
286
  Root exports:
@@ -297,8 +349,9 @@ npm publish
297
349
 
298
350
  ## Repository layout
299
351
 
300
- - `src/plugins/guardian/` - Guardian OpenCode plugin (index.ts + policy.md)
301
- - `src/plugins/memory/` - Memory OpenCode plugin (index.ts + system-instruction.md + reviewer.md)
352
+ - `src/plugins/guardian/` - Guardian OpenCode plugin runtime
353
+ - `src/plugins/memory/` - Memory OpenCode plugin runtime + system instruction
354
+ - `templates/agents/` - canonical managed prompt templates copied into `vvoc/agents/`
302
355
  - `src/plugins/memory-store.ts` - file-based memory store and search logic
303
356
  - `src/lib/opencode.ts` - config path resolution and JSONC helpers for the CLI
304
357
  - `src/lib/vvoc-paths.ts` - shared vvoc/openCode path helpers
@@ -1,9 +1,9 @@
1
1
  // FILE: src/commands/agent.ts
2
- // VERSION: 0.3.4
2
+ // VERSION: 0.4.0
3
3
  // START_MODULE_CONTRACT
4
- // PURPOSE: Manage agent model overrides for guardian and memory-reviewer agents.
5
- // SCOPE: Agent model setting, unsetting, and listing via vvoc agent command tree.
6
- // DEPENDS: [citty, src/lib/opencode.ts, src/plugins/memory-store.ts]
4
+ // PURPOSE: Manage model overrides for vvoc-owned OpenCode agents.
5
+ // SCOPE: Guardian and memory-reviewer config writes plus managed OpenCode subagent model setting, unsetting, and listing via the vvoc agent command tree.
6
+ // DEPENDS: [citty, src/lib/managed-agents.ts, src/lib/opencode.ts, src/plugins/memory-store.ts]
7
7
  // LINKS: [M-CLI-COMMANDS]
8
8
  // ROLE: RUNTIME
9
9
  // MAP_MODE: EXPORTS
@@ -14,11 +14,27 @@
14
14
  // END_MODULE_MAP
15
15
  //
16
16
  // START_CHANGE_SUMMARY
17
- // LAST_CHANGE: [v0.3.4 - Added granular agent model configuration via vvoc agent command.]
17
+ // LAST_CHANGE: [v0.4.0 - Added vvoc-managed implementer/spec-reviewer/code-reviewer/investitagor subagent model management.]
18
18
  // END_CHANGE_SUMMARY
19
19
  import { defineCommand } from "citty";
20
- import { describeWriteResult, parseGuardianConfigText, renderGuardianConfig, resolvePaths, } from "../lib/opencode.js";
20
+ import { MANAGED_SUBAGENTS } from "../lib/managed-agents.js";
21
+ import { describeWriteResult, installManagedAgentPrompts, parseGuardianConfigText, readManagedSubagentModels, renderGuardianConfig, resolvePaths, writeManagedSubagentModel, } from "../lib/opencode.js";
21
22
  import { parseMemoryConfigText, renderMemoryConfig, } from "../plugins/memory-store.js";
23
+ const scopeArg = {
24
+ type: "enum",
25
+ options: ["global", "project"],
26
+ default: "global",
27
+ description: "Write global or project config.",
28
+ };
29
+ const configDirArg = {
30
+ type: "string",
31
+ description: "Override the global config home.",
32
+ };
33
+ const modelArg = {
34
+ type: "positional",
35
+ required: true,
36
+ description: "Model in provider/model-id format.",
37
+ };
22
38
  const guardianSet = defineCommand({
23
39
  meta: {
24
40
  name: "set",
@@ -26,26 +42,15 @@ const guardianSet = defineCommand({
26
42
  },
27
43
  args: {
28
44
  model: {
29
- type: "positional",
30
- required: true,
45
+ ...modelArg,
31
46
  description: "Model in provider/model-id[:variant] format.",
32
47
  },
33
- scope: {
34
- type: "enum",
35
- options: ["global", "project"],
36
- default: "global",
37
- description: "Write global or project config.",
38
- },
39
- "config-dir": {
40
- type: "string",
41
- description: "Override the global config home.",
42
- },
48
+ scope: scopeArg,
49
+ "config-dir": configDirArg,
43
50
  },
44
51
  async run({ args }) {
45
- const { model, variant } = parseModelArg(args.model, "set");
46
- const scope = args.scope === "project" ? "project" : "global";
47
- const configDir = typeof args["config-dir"] === "string" ? args["config-dir"] : undefined;
48
- const paths = await resolvePaths({ scope: scope, cwd: process.cwd(), configDir });
52
+ const { model, variant } = parseGuardianStyleModelArg(args.model, "set");
53
+ const paths = await resolveCommandPaths(args);
49
54
  const currentText = await Bun.file(paths.guardianConfigPath)
50
55
  .text()
51
56
  .catch(() => "");
@@ -71,21 +76,11 @@ const guardianUnset = defineCommand({
71
76
  description: "Remove the Guardian agent model override.",
72
77
  },
73
78
  args: {
74
- scope: {
75
- type: "enum",
76
- options: ["global", "project"],
77
- default: "global",
78
- description: "Write global or project config.",
79
- },
80
- "config-dir": {
81
- type: "string",
82
- description: "Override the global config home.",
83
- },
79
+ scope: scopeArg,
80
+ "config-dir": configDirArg,
84
81
  },
85
82
  async run({ args }) {
86
- const scope = args.scope === "project" ? "project" : "global";
87
- const configDir = typeof args["config-dir"] === "string" ? args["config-dir"] : undefined;
88
- const paths = await resolvePaths({ scope: scope, cwd: process.cwd(), configDir });
83
+ const paths = await resolveCommandPaths(args);
89
84
  const currentText = await Bun.file(paths.guardianConfigPath)
90
85
  .text()
91
86
  .catch(() => "");
@@ -121,30 +116,15 @@ const memoryReviewerSet = defineCommand({
121
116
  },
122
117
  args: {
123
118
  model: {
124
- type: "positional",
125
- required: true,
119
+ ...modelArg,
126
120
  description: "Model in provider/model-id[:variant] format.",
127
121
  },
128
- scope: {
129
- type: "enum",
130
- options: ["global", "project"],
131
- default: "global",
132
- description: "Write global or project config.",
133
- },
134
- "config-dir": {
135
- type: "string",
136
- description: "Override the global config home.",
137
- },
122
+ scope: scopeArg,
123
+ "config-dir": configDirArg,
138
124
  },
139
125
  async run({ args }) {
140
- const { model, variant } = parseModelArg(args.model, "set");
141
- const overrides = { reviewerModel: model };
142
- if (variant) {
143
- overrides.reviewerVariant = variant;
144
- }
145
- const scope = args.scope === "project" ? "project" : "global";
146
- const configDir = typeof args["config-dir"] === "string" ? args["config-dir"] : undefined;
147
- const paths = await resolvePaths({ scope: scope, cwd: process.cwd(), configDir });
126
+ const { model, variant } = parseGuardianStyleModelArg(args.model, "set");
127
+ const paths = await resolveCommandPaths(args);
148
128
  const currentText = await Bun.file(paths.memoryConfigPath)
149
129
  .text()
150
130
  .catch(() => "");
@@ -173,21 +153,11 @@ const memoryReviewerUnset = defineCommand({
173
153
  description: "Remove the memory-reviewer agent model override.",
174
154
  },
175
155
  args: {
176
- scope: {
177
- type: "enum",
178
- options: ["global", "project"],
179
- default: "global",
180
- description: "Write global or project config.",
181
- },
182
- "config-dir": {
183
- type: "string",
184
- description: "Override the global config home.",
185
- },
156
+ scope: scopeArg,
157
+ "config-dir": configDirArg,
186
158
  },
187
159
  async run({ args }) {
188
- const scope = args.scope === "project" ? "project" : "global";
189
- const configDir = typeof args["config-dir"] === "string" ? args["config-dir"] : undefined;
190
- const paths = await resolvePaths({ scope: scope, cwd: process.cwd(), configDir });
160
+ const paths = await resolveCommandPaths(args);
191
161
  const currentText = await Bun.file(paths.memoryConfigPath)
192
162
  .text()
193
163
  .catch(() => "");
@@ -218,6 +188,19 @@ const memoryReviewerCmd = defineCommand({
218
188
  unset: memoryReviewerUnset,
219
189
  },
220
190
  });
191
+ const managedSubagentCommands = Object.fromEntries(MANAGED_SUBAGENTS.map((definition) => [
192
+ definition.name,
193
+ defineCommand({
194
+ meta: {
195
+ name: definition.name,
196
+ description: `Manage the ${definition.name} agent.`,
197
+ },
198
+ subCommands: {
199
+ set: createManagedSubagentSetCommand(definition.name),
200
+ unset: createManagedSubagentUnsetCommand(definition.name),
201
+ },
202
+ }),
203
+ ]));
221
204
  const agentList = defineCommand({
222
205
  meta: {
223
206
  name: "list",
@@ -225,20 +208,14 @@ const agentList = defineCommand({
225
208
  },
226
209
  args: {
227
210
  scope: {
228
- type: "enum",
229
- options: ["global", "project"],
230
- default: "global",
211
+ ...scopeArg,
231
212
  description: "Show global or project config.",
232
213
  },
233
- "config-dir": {
234
- type: "string",
235
- description: "Override the global config home.",
236
- },
214
+ "config-dir": configDirArg,
237
215
  },
238
216
  async run({ args }) {
239
- const scope = args.scope === "project" ? "project" : "global";
240
- const configDir = typeof args["config-dir"] === "string" ? args["config-dir"] : undefined;
241
- const paths = await resolvePaths({ scope: scope, cwd: process.cwd(), configDir });
217
+ const scope = resolveScope(args.scope);
218
+ const paths = await resolveCommandPaths(args);
242
219
  const guardianText = await Bun.file(paths.guardianConfigPath)
243
220
  .text()
244
221
  .catch(() => "");
@@ -251,9 +228,13 @@ const agentList = defineCommand({
251
228
  const memoryConfig = memoryText
252
229
  ? parseMemoryConfigText(memoryText, paths.memoryConfigPath)
253
230
  : {};
231
+ const managedModels = await readManagedSubagentModels(paths);
254
232
  console.log(`Agent models (${scope}):`);
255
233
  console.log(` guardian: ${formatAgentModel(guardianConfig.model, guardianConfig.variant)}`);
256
234
  console.log(` memory-reviewer: ${formatAgentModel(memoryConfig.reviewerModel, memoryConfig.reviewerVariant)}`);
235
+ for (const definition of MANAGED_SUBAGENTS) {
236
+ console.log(` ${definition.name}: ${formatAgentModel(managedModels[definition.name])}`);
237
+ }
257
238
  },
258
239
  });
259
240
  export default defineCommand({
@@ -264,15 +245,69 @@ export default defineCommand({
264
245
  subCommands: {
265
246
  guardian: guardianCmd,
266
247
  "memory-reviewer": memoryReviewerCmd,
248
+ ...managedSubagentCommands,
267
249
  list: agentList,
268
250
  },
269
251
  });
252
+ function createManagedSubagentSetCommand(agentName) {
253
+ return defineCommand({
254
+ meta: {
255
+ name: "set",
256
+ description: `Set the ${agentName} agent model override.`,
257
+ },
258
+ args: {
259
+ model: modelArg,
260
+ scope: scopeArg,
261
+ "config-dir": configDirArg,
262
+ },
263
+ async run({ args }) {
264
+ const model = parseOpenCodeModelArg(args.model, "set");
265
+ const paths = await resolveCommandPaths(args);
266
+ await installManagedAgentPrompts(paths, { force: false });
267
+ const result = await writeManagedSubagentModel(paths, agentName, {
268
+ model,
269
+ ensureEntry: true,
270
+ });
271
+ console.log(describeWriteResult(result));
272
+ },
273
+ });
274
+ }
275
+ function createManagedSubagentUnsetCommand(agentName) {
276
+ return defineCommand({
277
+ meta: {
278
+ name: "unset",
279
+ description: `Remove the ${agentName} agent model override.`,
280
+ },
281
+ args: {
282
+ scope: scopeArg,
283
+ "config-dir": configDirArg,
284
+ },
285
+ async run({ args }) {
286
+ const paths = await resolveCommandPaths(args);
287
+ const result = await writeManagedSubagentModel(paths, agentName, {
288
+ ensureEntry: false,
289
+ });
290
+ console.log(describeWriteResult(result));
291
+ },
292
+ });
293
+ }
294
+ function resolveScope(value) {
295
+ return value === "project" ? "project" : "global";
296
+ }
297
+ async function resolveCommandPaths(args) {
298
+ const configDir = typeof args["config-dir"] === "string" ? args["config-dir"] : undefined;
299
+ return resolvePaths({
300
+ scope: resolveScope(args.scope),
301
+ cwd: process.cwd(),
302
+ configDir,
303
+ });
304
+ }
270
305
  function formatAgentModel(model, variant) {
271
306
  if (!model)
272
307
  return "default";
273
308
  return variant ? `${model}:${variant}` : model;
274
309
  }
275
- function parseModelArg(value, operation) {
310
+ function parseGuardianStyleModelArg(value, operation) {
276
311
  if (typeof value !== "string" || !value.trim()) {
277
312
  throw new Error(`model argument required for ${operation}`);
278
313
  }
@@ -291,4 +326,14 @@ function parseModelArg(value, operation) {
291
326
  }
292
327
  return { model: trimmed };
293
328
  }
329
+ function parseOpenCodeModelArg(value, operation) {
330
+ if (typeof value !== "string" || !value.trim()) {
331
+ throw new Error(`model argument required for ${operation}`);
332
+ }
333
+ const trimmed = value.trim();
334
+ if (!trimmed.includes("/")) {
335
+ throw new Error(`model must be in provider/model-id format, got: ${trimmed}`);
336
+ }
337
+ return trimmed;
338
+ }
294
339
  //# sourceMappingURL=agent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/commands/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/commands/agent.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  // FILE: src/commands/completion.ts
2
- // VERSION: 0.5.1
2
+ // VERSION: 0.5.2
3
3
  // START_MODULE_CONTRACT
4
4
  // PURPOSE: Auto-detect shell and install vvoc completions idempotently.
5
5
  // SCOPE: Shell detection, completion file writing, and rc file patching.
@@ -18,7 +18,7 @@
18
18
  // END_MODULE_MAP
19
19
  //
20
20
  // START_CHANGE_SUMMARY
21
- // LAST_CHANGE: [v0.5.1 - Fixed zsh completion registration, added a resilient zsh loader block, and synced completion commands with the real CLI surface.]
21
+ // LAST_CHANGE: [v0.5.2 - Added nested completion support for vvoc-managed agent subcommands.]
22
22
  // END_CHANGE_SUMMARY
23
23
  import { defineCommand } from "citty";
24
24
  import { appendFile, mkdir, readFile, writeFile } from "node:fs/promises";
@@ -40,6 +40,16 @@ const VVOC_TOP_LEVEL_COMMANDS = [
40
40
  ];
41
41
  const VVOC_CONFIG_COMMANDS = ["validate"];
42
42
  const VVOC_PLUGIN_COMMANDS = ["list"];
43
+ const VVOC_AGENT_COMMANDS = [
44
+ "guardian",
45
+ "memory-reviewer",
46
+ "implementer",
47
+ "spec-reviewer",
48
+ "code-reviewer",
49
+ "investitagor",
50
+ "list",
51
+ ];
52
+ const VVOC_AGENT_ACTION_COMMANDS = ["set", "unset"];
43
53
  export default defineCommand({
44
54
  meta: {
45
55
  name: "completion",
@@ -138,6 +148,8 @@ export function generateBashCompletion() {
138
148
  const topLevelCommands = VVOC_TOP_LEVEL_COMMANDS.join(" ");
139
149
  const configCommands = VVOC_CONFIG_COMMANDS.join(" ");
140
150
  const pluginCommands = VVOC_PLUGIN_COMMANDS.join(" ");
151
+ const agentCommands = VVOC_AGENT_COMMANDS.join(" ");
152
+ const agentActionCommands = VVOC_AGENT_ACTION_COMMANDS.join(" ");
141
153
  return ("# bash completion for vvoc\n" +
142
154
  "_vvoc() {\n" +
143
155
  " local cur prev words cword\n" +
@@ -149,6 +161,9 @@ export function generateBashCompletion() {
149
161
  " ;;\n" +
150
162
  " 2)\n" +
151
163
  ' case "${words[1]}" in\n' +
164
+ " agent)\n" +
165
+ " _vvoc_agent_commands\n" +
166
+ " ;;\n" +
152
167
  " config)\n" +
153
168
  " _vvoc_config_commands\n" +
154
169
  " ;;\n" +
@@ -157,6 +172,13 @@ export function generateBashCompletion() {
157
172
  " ;;\n" +
158
173
  " esac\n" +
159
174
  " ;;\n" +
175
+ " 3)\n" +
176
+ ' case "${words[1]}:${words[2]}" in\n' +
177
+ " agent:guardian|agent:memory-reviewer|agent:implementer|agent:spec-reviewer|agent:code-reviewer|agent:investitagor)\n" +
178
+ " _vvoc_agent_action_commands\n" +
179
+ " ;;\n" +
180
+ " esac\n" +
181
+ " ;;\n" +
160
182
  " esac\n" +
161
183
  "}\n" +
162
184
  "\n" +
@@ -174,6 +196,20 @@ export function generateBashCompletion() {
174
196
  ' COMPREPLY=($(compgen -W "$commands" -- "$cur"))\n' +
175
197
  "}\n" +
176
198
  "\n" +
199
+ "_vvoc_agent_commands() {\n" +
200
+ ' local commands="' +
201
+ agentCommands +
202
+ '"\n' +
203
+ ' COMPREPLY=($(compgen -W "$commands" -- "$cur"))\n' +
204
+ "}\n" +
205
+ "\n" +
206
+ "_vvoc_agent_action_commands() {\n" +
207
+ ' local commands="' +
208
+ agentActionCommands +
209
+ '"\n' +
210
+ ' COMPREPLY=($(compgen -W "$commands" -- "$cur"))\n' +
211
+ "}\n" +
212
+ "\n" +
177
213
  "_vvoc_plugin_commands() {\n" +
178
214
  ' local commands="' +
179
215
  pluginCommands +
@@ -195,7 +231,7 @@ export function generateZshCompletion() {
195
231
  for (const cmd of VVOC_TOP_LEVEL_COMMANDS) {
196
232
  lines.push(' "' + cmd + '"');
197
233
  }
198
- lines.push(" )", "", " _arguments -C \\", ' "1: :(' + VVOC_TOP_LEVEL_COMMANDS.join(" ") + ')" \\', ' "*::arg:->args"', "", " case $line[1] in", " config)", " _vvoc_config_cmds", " ;;", " plugin)", " _vvoc_plugin_cmds", " ;;", " esac", "}", "", "_vvoc_config_cmds() {", " local -a config_commands", " config_commands=(" + VVOC_CONFIG_COMMANDS.join(" ") + ")", ' _arguments "1: :(' + VVOC_CONFIG_COMMANDS.join(" ") + ')"', "}", "", "_vvoc_plugin_cmds() {", " local -a plugin_commands", " plugin_commands=(" + VVOC_PLUGIN_COMMANDS.join(" ") + ")", ' _arguments "1: :(' + VVOC_PLUGIN_COMMANDS.join(" ") + ')"', "}", "", "compdef _vvoc vvoc");
234
+ lines.push(" )", "", " _arguments -C \\", ' "1: :(' + VVOC_TOP_LEVEL_COMMANDS.join(" ") + ')" \\', ' "*::arg:->args"', "", " case $line[1] in", " agent)", " _vvoc_agent_cmds", " ;;", " config)", " _vvoc_config_cmds", " ;;", " plugin)", " _vvoc_plugin_cmds", " ;;", " esac", "}", "", "_vvoc_config_cmds() {", " local -a config_commands", " config_commands=(" + VVOC_CONFIG_COMMANDS.join(" ") + ")", ' _arguments "1: :(' + VVOC_CONFIG_COMMANDS.join(" ") + ')"', "}", "", "_vvoc_agent_cmds() {", " case $words[2] in", " guardian|memory-reviewer|implementer|spec-reviewer|code-reviewer|investitagor)", ' _arguments "1: :(' + VVOC_AGENT_ACTION_COMMANDS.join(" ") + ')"', " ;;", " *)", ' _arguments "1: :(' + VVOC_AGENT_COMMANDS.join(" ") + ')"', " ;;", " esac", "}", "", "_vvoc_plugin_cmds() {", " local -a plugin_commands", " plugin_commands=(" + VVOC_PLUGIN_COMMANDS.join(" ") + ")", ' _arguments "1: :(' + VVOC_PLUGIN_COMMANDS.join(" ") + ')"', "}", "", "compdef _vvoc vvoc");
199
235
  return lines.join("\n") + "\n";
200
236
  }
201
237
  export function generateFishCompletion() {
@@ -203,7 +239,7 @@ export function generateFishCompletion() {
203
239
  for (const cmd of VVOC_TOP_LEVEL_COMMANDS) {
204
240
  lines.push(" echo " + cmd);
205
241
  }
206
- lines.push("end", "", "function __vvoc_config_cmds", " echo " + VVOC_CONFIG_COMMANDS.join(" "), "end", "", "function __vvoc_plugin_cmds", " echo " + VVOC_PLUGIN_COMMANDS.join(" "), "end", "", 'complete -c vvoc -f -a "(__vvoc_commands)"', 'complete -c vvoc -n "__fish_seen_subcommand_from config" -f -a "(__vvoc_config_cmds)"', 'complete -c vvoc -n "__fish_seen_subcommand_from plugin" -f -a "(__vvoc_plugin_cmds)"');
242
+ lines.push("end", "", "function __vvoc_config_cmds", " echo " + VVOC_CONFIG_COMMANDS.join(" "), "end", "", "function __vvoc_agent_cmds", " echo " + VVOC_AGENT_COMMANDS.join(" "), "end", "", "function __vvoc_agent_action_cmds", " echo " + VVOC_AGENT_ACTION_COMMANDS.join(" "), "end", "", "function __vvoc_plugin_cmds", " echo " + VVOC_PLUGIN_COMMANDS.join(" "), "end", "", 'complete -c vvoc -f -a "(__vvoc_commands)"', 'complete -c vvoc -n "__fish_seen_subcommand_from agent" -f -a "(__vvoc_agent_cmds)"', 'complete -c vvoc -n "__fish_seen_subcommand_from agent; and __fish_seen_subcommand_from guardian memory-reviewer implementer spec-reviewer code-reviewer investitagor" -f -a "(__vvoc_agent_action_cmds)"', 'complete -c vvoc -n "__fish_seen_subcommand_from config" -f -a "(__vvoc_config_cmds)"', 'complete -c vvoc -n "__fish_seen_subcommand_from plugin" -f -a "(__vvoc_plugin_cmds)"');
207
243
  return lines.join("\n") + "\n";
208
244
  }
209
245
  //# sourceMappingURL=completion.js.map
@@ -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":"AAAA,mCAAmC;AACnC,iBAAiB;AACjB,wBAAwB;AACxB,0EAA0E;AAC1E,2EAA2E;AAC3E,2DAA2D;AAC3D,8CAA8C;AAC9C,kBAAkB;AAClB,sBAAsB;AACtB,sBAAsB;AACtB,EAAE;AACF,mBAAmB;AACnB,8DAA8D;AAC9D,kEAAkE;AAClE,sDAAsD;AACtD,oDAAoD;AACpD,sDAAsD;AACtD,iBAAiB;AACjB,EAAE;AACF,uBAAuB;AACvB,gGAAgG;AAChG,qBAAqB;AAErB,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,MAAM,uBAAuB,GAAG;IAC9B,OAAO;IACP,YAAY;IACZ,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,MAAM;IACN,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,SAAS;IACT,SAAS;CACV,CAAC;AAEF,MAAM,oBAAoB,GAAG,CAAC,UAAU,CAAC,CAAC;AAC1C,MAAM,oBAAoB,GAAG,CAAC,MAAM,CAAC,CAAC;AACtC,MAAM,mBAAmB,GAAG;IAC1B,UAAU;IACV,iBAAiB;IACjB,aAAa;IACb,eAAe;IACf,eAAe;IACf,cAAc;IACd,MAAM;CACP,CAAC;AACF,MAAM,0BAA0B,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AAEpD,eAAe,aAAa,CAAC;IAC3B,IAAI,EAAE;QACJ,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,qCAAqC;KACnD;IACD,KAAK,CAAC,GAAG;QACP,MAAM,KAAK,GAAG,WAAW,EAAE,CAAC;QAC5B,QAAQ,KAAK,EAAE,CAAC;YACd,KAAK,MAAM;gBACT,MAAM,qBAAqB,EAAE,CAAC;gBAC9B,MAAM;YACR,KAAK,KAAK;gBACR,MAAM,oBAAoB,EAAE,CAAC;gBAC7B,MAAM;YACR,KAAK,MAAM;gBACT,MAAM,qBAAqB,EAAE,CAAC;gBAC9B,MAAM;YACR;gBACE,OAAO,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;gBAC1D,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,UAAU,WAAW;IACzB,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;IAC1C,IAAI,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,MAAM,CAAC;IAC9C,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,qBAAqB;IAClC,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,OAAO,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;IAChF,OAAO,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;AACrC,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,GAAW;IAClC,IAAI,CAAC;QACH,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACxC,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;AACZ,CAAC;AAED,KAAK,UAAU,OAAO,CAAC,QAAgB,EAAE,IAAY;IACnD,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACjD,OAAO,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,KAAK,UAAU,eAAe,CAAC,QAAgB,EAAE,IAAY;IAC3D,IAAI,CAAC,CAAC,MAAM,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC;QACrC,MAAM,UAAU,CAAC,QAAQ,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC;IACjD,CAAC;AACH,CAAC;AAED,KAAK,UAAU,qBAAqB;IAClC,MAAM,cAAc,GAAG,MAAM,qBAAqB,EAAE,CAAC;IACrD,MAAM,SAAS,CAAC,cAAc,CAAC,CAAC;IAChC,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;IAEnE,MAAM,MAAM,GAAG,sBAAsB,EAAE,CAAC;IACxC,MAAM,SAAS,CAAC,cAAc,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAEhD,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;IAC7C,MAAM,UAAU,GAAG,SAAS,cAAc,kBAAkB,cAAc,GAAG,CAAC;IAC9E,MAAM,eAAe,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAE1C,OAAO,CAAC,GAAG,CAAC,iCAAiC,cAAc,EAAE,CAAC,CAAC;IAC/D,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;AAChD,CAAC;AAED,KAAK,UAAU,oBAAoB;IACjC,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;IACjE,MAAM,SAAS,CAAC,cAAc,CAAC,CAAC;IAEhC,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IACxD,MAAM,MAAM,GAAG,qBAAqB,EAAE,CAAC;IACvC,MAAM,SAAS,CAAC,cAAc,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAEhD,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC;IAC5C,MAAM,WAAW,GAAG;QAClB,uBAAuB;QACvB,uCAAuC;QACvC,yBAAyB;QACzB,YAAY;QACZ,IAAI;QACJ,SAAS,cAAc,kBAAkB,cAAc,GAAG;KAC3D,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACb,MAAM,eAAe,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAE3C,OAAO,CAAC,GAAG,CAAC,gCAAgC,cAAc,EAAE,CAAC,CAAC;IAC9D,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;AAC3D,CAAC;AAED,KAAK,UAAU,qBAAqB;IAClC,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;IAC5E,MAAM,SAAS,CAAC,cAAc,CAAC,CAAC;IAEhC,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;IAC5D,MAAM,MAAM,GAAG,sBAAsB,EAAE,CAAC;IACxC,MAAM,SAAS,CAAC,cAAc,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAEhD,OAAO,CAAC,GAAG,CAAC,iCAAiC,cAAc,EAAE,CAAC,CAAC;AACjE,CAAC;AAED,MAAM,UAAU,sBAAsB;IACpC,MAAM,gBAAgB,GAAG,uBAAuB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3D,MAAM,cAAc,GAAG,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACtD,MAAM,cAAc,GAAG,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACtD,MAAM,aAAa,GAAG,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACpD,MAAM,mBAAmB,GAAG,0BAA0B,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEjE,OAAO,CACL,8BAA8B;QAC9B,aAAa;QACb,gCAAgC;QAChC,gCAAgC;QAChC,IAAI;QACJ,sBAAsB;QACtB,UAAU;QACV,wBAAwB;QACxB,YAAY;QACZ,UAAU;QACV,+BAA+B;QAC/B,kBAAkB;QAClB,kCAAkC;QAClC,gBAAgB;QAChB,mBAAmB;QACnB,mCAAmC;QACnC,gBAAgB;QAChB,mBAAmB;QACnB,mCAAmC;QACnC,gBAAgB;QAChB,cAAc;QACd,YAAY;QACZ,UAAU;QACV,2CAA2C;QAC3C,8HAA8H;QAC9H,yCAAyC;QACzC,gBAAgB;QAChB,cAAc;QACd,YAAY;QACZ,UAAU;QACV,KAAK;QACL,IAAI;QACJ,sBAAsB;QACtB,oBAAoB;QACpB,gBAAgB;QAChB,KAAK;QACL,qDAAqD;QACrD,KAAK;QACL,IAAI;QACJ,6BAA6B;QAC7B,oBAAoB;QACpB,cAAc;QACd,KAAK;QACL,qDAAqD;QACrD,KAAK;QACL,IAAI;QACJ,4BAA4B;QAC5B,oBAAoB;QACpB,aAAa;QACb,KAAK;QACL,qDAAqD;QACrD,KAAK;QACL,IAAI;QACJ,mCAAmC;QACnC,oBAAoB;QACpB,mBAAmB;QACnB,KAAK;QACL,qDAAqD;QACrD,KAAK;QACL,IAAI;QACJ,6BAA6B;QAC7B,oBAAoB;QACpB,cAAc;QACd,KAAK;QACL,qDAAqD;QACrD,KAAK;QACL,IAAI;QACJ,0BAA0B,CAC3B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qBAAqB;IACnC,MAAM,KAAK,GAAa;QACtB,eAAe;QACf,2BAA2B;QAC3B,EAAE;QACF,WAAW;QACX,qBAAqB;QACrB,cAAc;KACf,CAAC;IAEF,KAAK,MAAM,GAAG,IAAI,uBAAuB,EAAE,CAAC;QAC1C,KAAK,CAAC,IAAI,CAAC,OAAO,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,IAAI,CACR,KAAK,EACL,EAAE,EACF,oBAAoB,EACpB,YAAY,GAAG,uBAAuB,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,EAC1D,qBAAqB,EACrB,EAAE,EACF,oBAAoB,EACpB,YAAY,EACZ,wBAAwB,EACxB,UAAU,EACV,aAAa,EACb,yBAAyB,EACzB,UAAU,EACV,aAAa,EACb,yBAAyB,EACzB,UAAU,EACV,QAAQ,EACR,GAAG,EACH,EAAE,EACF,uBAAuB,EACvB,4BAA4B,EAC5B,qBAAqB,GAAG,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,EAC5D,qBAAqB,GAAG,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,EAC7D,GAAG,EACH,EAAE,EACF,sBAAsB,EACtB,qBAAqB,EACrB,oFAAoF,EACpF,yBAAyB,GAAG,0BAA0B,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,EACvE,UAAU,EACV,QAAQ,EACR,yBAAyB,GAAG,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,EAChE,UAAU,EACV,QAAQ,EACR,GAAG,EACH,EAAE,EACF,uBAAuB,EACvB,4BAA4B,EAC5B,qBAAqB,GAAG,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,EAC5D,qBAAqB,GAAG,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,EAC7D,GAAG,EACH,EAAE,EACF,oBAAoB,CACrB,CAAC;IAEF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,sBAAsB;IACpC,MAAM,KAAK,GAAa,CAAC,4BAA4B,EAAE,EAAE,EAAE,0BAA0B,CAAC,CAAC;IAEvF,KAAK,MAAM,GAAG,IAAI,uBAAuB,EAAE,CAAC;QAC1C,KAAK,CAAC,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,IAAI,CACR,KAAK,EACL,EAAE,EACF,6BAA6B,EAC7B,SAAS,GAAG,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,EAC1C,KAAK,EACL,EAAE,EACF,4BAA4B,EAC5B,SAAS,GAAG,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,EACzC,KAAK,EACL,EAAE,EACF,mCAAmC,EACnC,SAAS,GAAG,0BAA0B,CAAC,IAAI,CAAC,GAAG,CAAC,EAChD,KAAK,EACL,EAAE,EACF,6BAA6B,EAC7B,SAAS,GAAG,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,EAC1C,KAAK,EACL,EAAE,EACF,4CAA4C,EAC5C,qFAAqF,EACrF,2MAA2M,EAC3M,uFAAuF,EACvF,uFAAuF,CACxF,CAAC;IAEF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AACjC,CAAC"}
@@ -1,8 +1,8 @@
1
1
  // FILE: src/commands/init.ts
2
- // VERSION: 0.4.0
2
+ // VERSION: 0.4.1
3
3
  // START_MODULE_CONTRACT
4
4
  // PURPOSE: Interactive project initialization: registers @osovv/vv-opencode in OpenCode plugin array and scaffolds initial vvoc config files. Uses @clack/prompts for TTY prompts. Interactive mode is the default; --non-interactive flag enables batch mode.
5
- // SCOPE: Scope selection, plugin registration, config file scaffolding, and idempotent re-run handling.
5
+ // SCOPE: Scope selection, plugin registration, managed subagent registration, managed agent prompt scaffolding, config file scaffolding, and idempotent re-run handling.
6
6
  // DEPENDS: [citty, @clack/prompts, src/lib/opencode.js]
7
7
  // LINKS: [M-CLI-INIT, M-CLI-CONFIG]
8
8
  // ROLE: RUNTIME
@@ -15,11 +15,11 @@
15
15
  // END_MODULE_MAP
16
16
  //
17
17
  // START_CHANGE_SUMMARY
18
- // LAST_CHANGE: [v0.4.0 - Initial GRACE implementation for init command.]
18
+ // LAST_CHANGE: [v0.4.1 - Added managed subagent registration plus guardian/memory-reviewer prompt scaffolding to init.]
19
19
  // END_CHANGE_SUMMARY
20
20
  import { defineCommand } from "citty";
21
21
  import * as p from "@clack/prompts";
22
- import { ensurePackageInstalled, installGuardianConfig, installMemoryConfig, inspectInstallation, resolvePaths, } from "../lib/opencode.js";
22
+ import { ensurePackageInstalled, installGuardianConfig, installManagedAgentPrompts, installMemoryConfig, inspectInstallation, resolvePaths, syncManagedSubagentRegistrations, } from "../lib/opencode.js";
23
23
  export default defineCommand({
24
24
  meta: {
25
25
  name: "init",
@@ -107,6 +107,13 @@ async function runInit(options) {
107
107
  p.log.step("Registering plugin in OpenCode config...");
108
108
  const pkgResult = await ensurePackageInstalled(finalPaths);
109
109
  p.log.info(pkgResult.path + " - " + (pkgResult.changed ? "updated" : "already up to date"));
110
+ p.log.step("Registering managed subagents...");
111
+ const agentRegistration = await syncManagedSubagentRegistrations(finalPaths);
112
+ p.log.info(agentRegistration.path + " - " + (agentRegistration.changed ? "updated" : "already up to date"));
113
+ p.log.step("Scaffolding managed agent prompts...");
114
+ for (const result of await installManagedAgentPrompts(finalPaths, { force: true })) {
115
+ p.log.info(result.path + " - " + result.action);
116
+ }
110
117
  p.log.step("Scaffolding Guardian config...");
111
118
  const guardianResult = await installGuardianConfig(finalPaths, { force: true });
112
119
  p.log.info(guardianResult.path + " - " + guardianResult.action);
@@ -128,6 +135,8 @@ export async function runInitNonInteractive(options) {
128
135
  return;
129
136
  }
130
137
  await ensurePackageInstalled(paths);
138
+ await syncManagedSubagentRegistrations(paths);
139
+ await installManagedAgentPrompts(paths, { force: true });
131
140
  await installGuardianConfig(paths, { force: true });
132
141
  await installMemoryConfig(paths, { force: true });
133
142
  }