@osovv/vv-opencode 0.5.2 → 0.5.4

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.
@@ -1,11 +1,6 @@
1
- declare const _default: import("citty").CommandDef<{
2
- readonly shell: {
3
- readonly type: "positional";
4
- readonly required: true;
5
- readonly description: "Shell type: bash, zsh, or fish.";
6
- };
7
- }>;
1
+ declare const _default: import("citty").CommandDef<import("citty").ArgsDef>;
8
2
  export default _default;
3
+ export declare function detectShell(): "bash" | "zsh" | "fish";
9
4
  export declare function generateBashCompletion(): string;
10
5
  export declare function generateZshCompletion(): string;
11
6
  export declare function generateFishCompletion(): string;
@@ -1,30 +1,35 @@
1
1
  // FILE: src/commands/completion.ts
2
- // VERSION: 0.4.0
2
+ // VERSION: 0.5.0
3
3
  // START_MODULE_CONTRACT
4
- // PURPOSE: Generate and print shell completion scripts for bash, zsh, and fish.
5
- // SCOPE: Shell type argument validation, completion script generation, and stdout output.
6
- // DEPENDS: [citty]
4
+ // PURPOSE: Auto-detect shell and install vvoc completions idempotently.
5
+ // SCOPE: Shell detection, completion file writing, and rc file patching.
6
+ // DEPENDS: [citty, node:fs/promises, node:path, node:os]
7
7
  // LINKS: [M-CLI-COMPLETION, M-CLI-COMMANDS]
8
8
  // ROLE: RUNTIME
9
9
  // MAP_MODE: EXPORTS
10
10
  // END_MODULE_CONTRACT
11
11
  //
12
12
  // START_MODULE_MAP
13
- // default - Completion command definition for vvoc.
14
- // generateBashCompletion - Generate bash completion script.
15
- // generateZshCompletion - Generate zsh completion script.
16
- // generateFishCompletion - Generate fish completion script.
13
+ // default - Completion install command definition for vvoc.
14
+ // detectShell - Detect current shell from SHELL env or process.
15
+ // installBashCompletion - Install bash completions.
16
+ // installZshCompletion - Install zsh completions.
17
+ // installFishCompletion - Install fish completions.
17
18
  // END_MODULE_MAP
18
19
  //
19
20
  // START_CHANGE_SUMMARY
20
- // LAST_CHANGE: [v0.4.0 - Initial GRACE implementation for shell completion command.]
21
+ // LAST_CHANGE: [v0.5.0 - Rewrite to auto-install only, detect shell automatically.]
21
22
  // END_CHANGE_SUMMARY
22
23
  import { defineCommand } from "citty";
24
+ import { appendFile, mkdir, readFile, writeFile } from "node:fs/promises";
25
+ import { resolve } from "node:path";
26
+ import { homedir } from "node:os";
23
27
  const VVOC_COMMANDS = [
24
28
  "agent",
25
29
  "config",
26
30
  "doctor",
27
31
  "guardian",
32
+ "init",
28
33
  "install",
29
34
  "plugin",
30
35
  "status",
@@ -32,40 +37,94 @@ const VVOC_COMMANDS = [
32
37
  "upgrade",
33
38
  "validate",
34
39
  "version",
35
- "list",
36
40
  ];
37
41
  export default defineCommand({
38
42
  meta: {
39
43
  name: "completion",
40
- description: "Generate shell completion scripts.",
44
+ description: "Install shell completions for vvoc.",
41
45
  },
42
- args: {
43
- shell: {
44
- type: "positional",
45
- required: true,
46
- description: "Shell type: bash, zsh, or fish.",
47
- },
48
- },
49
- async run({ args }) {
50
- // START_BLOCK_RUN_COMPLETION
51
- const shell = String(args.shell).toLowerCase();
46
+ async run() {
47
+ const shell = detectShell();
52
48
  switch (shell) {
53
49
  case "bash":
54
- process.stdout.write(generateBashCompletion());
50
+ await installBashCompletion();
55
51
  break;
56
52
  case "zsh":
57
- process.stdout.write(generateZshCompletion());
53
+ await installZshCompletion();
58
54
  break;
59
55
  case "fish":
60
- process.stdout.write(generateFishCompletion());
56
+ await installFishCompletion();
61
57
  break;
62
58
  default:
63
- console.error("Unsupported shell: " + shell + ". Use bash, zsh, or fish.");
59
+ console.error("Unsupported shell. Please open an issue.");
64
60
  process.exitCode = 1;
65
61
  }
66
- // END_BLOCK_RUN_COMPLETION
67
62
  },
68
63
  });
64
+ export function detectShell() {
65
+ const shellPath = process.env.SHELL ?? "";
66
+ if (shellPath.includes("zsh"))
67
+ return "zsh";
68
+ if (shellPath.includes("fish"))
69
+ return "fish";
70
+ return "bash";
71
+ }
72
+ async function getVvocCompletionsDir() {
73
+ const configHome = process.env.XDG_CONFIG_HOME ?? resolve(homedir(), ".config");
74
+ return resolve(configHome, "vvoc");
75
+ }
76
+ async function ensureDir(dir) {
77
+ try {
78
+ await mkdir(dir, { recursive: true });
79
+ }
80
+ catch { }
81
+ }
82
+ async function hasLine(filePath, line) {
83
+ try {
84
+ const content = await readFile(filePath, "utf8");
85
+ return content.includes(line);
86
+ }
87
+ catch {
88
+ return false;
89
+ }
90
+ }
91
+ async function appendIfMissing(filePath, line) {
92
+ if (!(await hasLine(filePath, line))) {
93
+ await appendFile(filePath, "\n" + line + "\n");
94
+ }
95
+ }
96
+ async function installBashCompletion() {
97
+ const completionsDir = await getVvocCompletionsDir();
98
+ await ensureDir(completionsDir);
99
+ const completionFile = resolve(completionsDir, "completions.bash");
100
+ const script = generateBashCompletion();
101
+ await writeFile(completionFile, script, "utf8");
102
+ const rcFile = resolve(homedir(), ".bashrc");
103
+ const sourceLine = `[ -f "${completionFile}" ] && source "${completionFile}"`;
104
+ await appendIfMissing(rcFile, sourceLine);
105
+ console.log(`Bash completions installed to ${completionFile}`);
106
+ console.log(`Added source line to ~/.bashrc`);
107
+ }
108
+ async function installZshCompletion() {
109
+ const completionsDir = resolve(homedir(), ".zsh", "completions");
110
+ await ensureDir(completionsDir);
111
+ const completionFile = resolve(completionsDir, "_vvoc");
112
+ const script = generateZshCompletion();
113
+ await writeFile(completionFile, script, "utf8");
114
+ const rcFile = resolve(homedir(), ".zshrc");
115
+ const fpathLine = `fpath=(~/.zsh/completions $fpath)`;
116
+ await appendIfMissing(rcFile, fpathLine);
117
+ console.log(`Zsh completions installed to ${completionFile}`);
118
+ console.log(`Added fpath line to ~/.zshrc`);
119
+ }
120
+ async function installFishCompletion() {
121
+ const completionsDir = resolve(homedir(), ".config", "fish", "completions");
122
+ await ensureDir(completionsDir);
123
+ const completionFile = resolve(completionsDir, "vvoc.fish");
124
+ const script = generateFishCompletion();
125
+ await writeFile(completionFile, script, "utf8");
126
+ console.log(`Fish completions installed to ${completionFile}`);
127
+ }
69
128
  export function generateBashCompletion() {
70
129
  const cmds = VVOC_COMMANDS.join(" ");
71
130
  return ("# bash completion for vvoc\n" +
@@ -103,7 +162,7 @@ export function generateZshCompletion() {
103
162
  for (const cmd of VVOC_COMMANDS) {
104
163
  lines.push(' "' + cmd + '"');
105
164
  }
106
- lines.push(" )", "", " _arguments -C \\", ' "-s[shell type]" \\', ' "1: :(' + VVOC_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=(validate)", ' _arguments "1: :(validate)"', "}", "", "_vvoc_plugin_cmds() {", " local -a plugin_commands", " plugin_commands=(list)", ' _arguments "1: :(list)"', "}", "", "compdef _vvoc vvoc");
165
+ lines.push(" )", "", " _arguments -C \\", ' "1: :(' + VVOC_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=(validate)", ' _arguments "1: :(validate)"', "}", "", "_vvoc_plugin_cmds() {", " local -a plugin_commands", " plugin_commands=(list)", ' _arguments "1: :(list)"', "}");
107
166
  return lines.join("\n") + "\n";
108
167
  }
109
168
  export function generateFishCompletion() {
@@ -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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@osovv/vv-opencode",
3
- "version": "0.5.2",
3
+ "version": "0.5.4",
4
4
  "description": "Portable OpenCode workflow plugins, explicit memory, and CLI tooling.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",