coding-friend-cli 1.39.0 → 1.40.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/README.md +5 -0
  2. package/dist/{chunk-ODW27NAC.js → chunk-B44ROTV6.js} +10 -10
  3. package/dist/{chunk-ZGIUKUL2.js → chunk-CZW36H3D.js} +39 -7
  4. package/dist/{chunk-FQUIO5BW.js → chunk-E4NBTQXR.js} +13 -7
  5. package/dist/{chunk-IV5OPG34.js → chunk-IYBIIRH4.js} +29 -1
  6. package/dist/{chunk-GTOEIGDM.js → chunk-KCBMCHSA.js} +295 -44
  7. package/dist/{chunk-463QKRBN.js → chunk-KG6HYBGD.js} +23 -7
  8. package/dist/{chunk-WJHQUCOF.js → chunk-KTUPGMIV.js} +111 -15
  9. package/dist/{chunk-7JQZRMOG.js → chunk-NIMO4VJW.js} +37 -6
  10. package/dist/{chunk-OFEC6OVI.js → chunk-OBCNHQFA.js} +42 -2
  11. package/dist/{chunk-4CPUWHIN.js → chunk-Q2QDSYQT.js} +1 -1
  12. package/dist/{chunk-JSH6BMVZ.js → chunk-RG3EMZH6.js} +11 -1
  13. package/dist/{chunk-2EY7VVFT.js → chunk-SUYE5S2W.js} +1 -1
  14. package/dist/{chunk-YPW67OGP.js → chunk-TFF47F7P.js} +1 -1
  15. package/dist/{chunk-ZZNTNIM4.js → chunk-TN3Y75WG.js} +2 -2
  16. package/dist/{chunk-VMODQCSL.js → chunk-Z5XTSF7L.js} +5 -5
  17. package/dist/{clean-LPWEBJJ5.js → clean-PKSSS662.js} +3 -3
  18. package/dist/{config-VNSC2NAY.js → config-2CH4GI2L.js} +47 -26
  19. package/dist/{dev-NRTDUQAR.js → dev-HWKNWOZY.js} +7 -7
  20. package/dist/{disable-NROSQUHR.js → disable-DCGVIHKG.js} +22 -8
  21. package/dist/{enable-26FFJGX5.js → enable-YYWJDOYB.js} +21 -8
  22. package/dist/{guide-HCLEOAGR.js → guide-45EIK76P.js} +1 -1
  23. package/dist/{host-2JOPHLN3.js → host-GZJSMJSF.js} +7 -7
  24. package/dist/index.js +67 -46
  25. package/dist/{init-MHHII5EP.js → init-TUBWQCBQ.js} +236 -53
  26. package/dist/{install-OEFJLAWA.js → install-45O5ICBA.js} +68 -11
  27. package/dist/{learn-SSNBBDY3.js → learn-AJT7Z6F7.js} +5 -5
  28. package/dist/{mcp-J5VO3OH7.js → mcp-JGBZMNWL.js} +26 -13
  29. package/dist/{mcp-serve-55DSE2J4.js → mcp-serve-SHS5MQRW.js} +5 -5
  30. package/dist/{mcp-serve-learn-EDBWNL4I.js → mcp-serve-learn-HXZZ3DUI.js} +6 -6
  31. package/dist/{memory-CDZKWOFL.js → memory-4NVLWOFS.js} +10 -10
  32. package/dist/{permission-DPKPA2HU.js → permission-L5QMNMID.js} +25 -25
  33. package/dist/{session-YWJDLNBP.js → session-GBHL5TH3.js} +3 -3
  34. package/dist/{status-4WMIQL7L.js → status-KQQJNSEZ.js} +33 -15
  35. package/dist/{statusline-R5BNYK3H.js → statusline-B7PXP3AQ.js} +3 -3
  36. package/dist/{uninstall-EV7362NK.js → uninstall-6QKNGLKK.js} +38 -13
  37. package/dist/{update-YQBBAIIF.js → update-YJ363TBU.js} +11 -11
  38. package/dist/{update-check-EJSGVGO6.js → update-check-5JZUJGUM.js} +1 -1
  39. package/package.json +1 -1
  40. package/dist/permissions-HZYUVKCY.js +0 -38
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  ensureStatusline
3
- } from "./chunk-4CPUWHIN.js";
3
+ } from "./chunk-Q2QDSYQT.js";
4
4
  import "./chunk-3WIZA5OZ.js";
5
5
  import {
6
6
  ensureShellCompletion
@@ -8,21 +8,21 @@ import {
8
8
  import {
9
9
  isMarketplaceRegistered,
10
10
  isPluginInstalled
11
- } from "./chunk-2EY7VVFT.js";
11
+ } from "./chunk-SUYE5S2W.js";
12
+ import {
13
+ readJson,
14
+ writeJson
15
+ } from "./chunk-5UVDWG5L.js";
12
16
  import {
13
17
  commandExists,
14
18
  run,
15
19
  runWithStderr
16
20
  } from "./chunk-EVGXUDX4.js";
17
- import {
18
- readJson,
19
- writeJson
20
- } from "./chunk-5UVDWG5L.js";
21
21
  import {
22
22
  devStatePath,
23
23
  knownMarketplacesPath,
24
24
  pluginCachePath
25
- } from "./chunk-IV5OPG34.js";
25
+ } from "./chunk-IYBIIRH4.js";
26
26
  import {
27
27
  log,
28
28
  printBanner
@@ -1,23 +1,25 @@
1
1
  import {
2
2
  isPluginDisabled,
3
3
  setPluginEnabled
4
- } from "./chunk-2EY7VVFT.js";
4
+ } from "./chunk-SUYE5S2W.js";
5
5
  import {
6
6
  isCodexPluginDisabled,
7
7
  setCodexPluginEnabled
8
- } from "./chunk-JSH6BMVZ.js";
8
+ } from "./chunk-RG3EMZH6.js";
9
9
  import {
10
+ isAgyPluginEnabled,
11
+ setAgyPluginEnabled,
10
12
  setOmpAgentDisabled
11
- } from "./chunk-GTOEIGDM.js";
13
+ } from "./chunk-KCBMCHSA.js";
12
14
  import {
13
15
  resolveHostFlags,
14
16
  resolveScope
15
- } from "./chunk-VMODQCSL.js";
16
- import "./chunk-ZZNTNIM4.js";
17
- import "./chunk-OFEC6OVI.js";
18
- import "./chunk-EVGXUDX4.js";
17
+ } from "./chunk-Z5XTSF7L.js";
18
+ import "./chunk-TN3Y75WG.js";
19
+ import "./chunk-OBCNHQFA.js";
19
20
  import "./chunk-5UVDWG5L.js";
20
- import "./chunk-IV5OPG34.js";
21
+ import "./chunk-EVGXUDX4.js";
22
+ import "./chunk-IYBIIRH4.js";
21
23
  import {
22
24
  log
23
25
  } from "./chunk-NREZK463.js";
@@ -47,6 +49,18 @@ async function disableCommand(opts = {}) {
47
49
  log.dim("Restart omp for the change to take effect.");
48
50
  return;
49
51
  }
52
+ if (host === "agy") {
53
+ if (!isAgyPluginEnabled()) {
54
+ log.info("Coding Friend is already disabled for Antigravity.");
55
+ return;
56
+ }
57
+ log.step("Disabling Antigravity plugin...");
58
+ setAgyPluginEnabled(false);
59
+ log.success("Coding Friend disabled for Antigravity.");
60
+ log.dim("Restart Antigravity for the change to take effect.");
61
+ log.dim(`Run ${chalk.bold("cf enable --agy")} to re-enable.`);
62
+ return;
63
+ }
50
64
  const scope = await resolveScope(
51
65
  opts,
52
66
  "Where should Coding Friend be disabled?"
@@ -1,23 +1,25 @@
1
1
  import {
2
2
  isPluginDisabled,
3
3
  setPluginEnabled
4
- } from "./chunk-2EY7VVFT.js";
4
+ } from "./chunk-SUYE5S2W.js";
5
5
  import {
6
6
  isCodexPluginDisabled,
7
7
  setCodexPluginEnabled
8
- } from "./chunk-JSH6BMVZ.js";
8
+ } from "./chunk-RG3EMZH6.js";
9
9
  import {
10
+ isAgyPluginEnabled,
11
+ setAgyPluginEnabled,
10
12
  setOmpAgentEnabled
11
- } from "./chunk-GTOEIGDM.js";
13
+ } from "./chunk-KCBMCHSA.js";
12
14
  import {
13
15
  resolveHostFlags,
14
16
  resolveScope
15
- } from "./chunk-VMODQCSL.js";
16
- import "./chunk-ZZNTNIM4.js";
17
- import "./chunk-OFEC6OVI.js";
18
- import "./chunk-EVGXUDX4.js";
17
+ } from "./chunk-Z5XTSF7L.js";
18
+ import "./chunk-TN3Y75WG.js";
19
+ import "./chunk-OBCNHQFA.js";
19
20
  import "./chunk-5UVDWG5L.js";
20
- import "./chunk-IV5OPG34.js";
21
+ import "./chunk-EVGXUDX4.js";
22
+ import "./chunk-IYBIIRH4.js";
21
23
  import {
22
24
  log
23
25
  } from "./chunk-NREZK463.js";
@@ -52,6 +54,17 @@ async function enableCommand(opts = {}) {
52
54
  log.dim("Restart omp for the change to take effect.");
53
55
  return;
54
56
  }
57
+ if (host === "agy") {
58
+ if (isAgyPluginEnabled()) {
59
+ log.info("Coding Friend is already enabled for Antigravity.");
60
+ return;
61
+ }
62
+ log.step("Enabling Antigravity plugin...");
63
+ setAgyPluginEnabled(true);
64
+ log.success("Coding Friend enabled for Antigravity.");
65
+ log.dim("Restart Antigravity for the change to take effect.");
66
+ return;
67
+ }
55
68
  const scope = await resolveScope(
56
69
  opts,
57
70
  "Where should Coding Friend be enabled?"
@@ -4,7 +4,7 @@ import {
4
4
  import {
5
5
  devStatePath,
6
6
  pluginCachePath
7
- } from "./chunk-IV5OPG34.js";
7
+ } from "./chunk-IYBIIRH4.js";
8
8
  import {
9
9
  log
10
10
  } from "./chunk-NREZK463.js";
@@ -1,21 +1,21 @@
1
1
  import {
2
2
  resolveLearnDir
3
- } from "./chunk-FQUIO5BW.js";
3
+ } from "./chunk-E4NBTQXR.js";
4
4
  import "./chunk-3WIZA5OZ.js";
5
5
  import {
6
6
  getLibPath
7
- } from "./chunk-ZZNTNIM4.js";
8
- import "./chunk-OFEC6OVI.js";
7
+ } from "./chunk-TN3Y75WG.js";
8
+ import "./chunk-OBCNHQFA.js";
9
+ import {
10
+ readJson
11
+ } from "./chunk-5UVDWG5L.js";
9
12
  import {
10
13
  run,
11
14
  streamExec
12
15
  } from "./chunk-EVGXUDX4.js";
13
- import {
14
- readJson
15
- } from "./chunk-5UVDWG5L.js";
16
16
  import {
17
17
  globalConfigPath
18
- } from "./chunk-IV5OPG34.js";
18
+ } from "./chunk-IYBIIRH4.js";
19
19
  import {
20
20
  log,
21
21
  printBanner
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  installedPluginsPath
4
- } from "./chunk-IV5OPG34.js";
4
+ } from "./chunk-IYBIIRH4.js";
5
5
 
6
6
  // src/index.ts
7
7
  import { Command } from "commander";
@@ -42,34 +42,49 @@ var program = new Command();
42
42
  program.name("cf").description(
43
43
  "coding-friend CLI \u2014 host learning docs, setup MCP, init projects"
44
44
  ).version(wantsVersion ? buildVersionString() : pkg.version, "-v, --version");
45
- program.command("install").description("Install the Coding Friend plugin into a supported host").option("--user", "Install at user scope (all projects)").option("--global", "Install at user scope (all projects)").option("--project", "Install at project scope (shared via git)").option("--local", "Install at local scope (this machine only)").option("--agent <agent>", "Operate on host agent: claude, codex, or omp").option("--codex", "Alias for --agent codex").option("--omp", "Alias for --agent omp").action(async (opts) => {
46
- const { installCommand } = await import("./install-OEFJLAWA.js");
45
+ program.command("install").description("Install the Coding Friend plugin into a supported host").option("--user", "Install at user scope (all projects)").option("--global", "Install at user scope (all projects)").option("--project", "Install at project scope (shared via git)").option("--local", "Install at local scope (this machine only)").option(
46
+ "--agent <agent>",
47
+ "Operate on host agent: claude, codex, omp, or agy"
48
+ ).option("--codex", "Alias for --agent codex").option("--omp", "Alias for --agent omp").option("--agy", "Shortcut for --agent agy (beta)").action(async (opts) => {
49
+ const { installCommand } = await import("./install-45O5ICBA.js");
47
50
  await installCommand(opts);
48
51
  });
49
- program.command("uninstall").description("Uninstall the Coding Friend plugin from a supported host").option("--user", "Uninstall from user scope (all projects)").option("--global", "Uninstall from user scope (all projects)").option("--project", "Uninstall from project scope").option("--local", "Uninstall from local scope").option("--agent <agent>", "Operate on host agent: claude, codex, or omp").option("--codex", "Alias for --agent codex").option("--omp", "Alias for --agent omp").option(
52
+ program.command("uninstall").description("Uninstall the Coding Friend plugin from a supported host").option("--user", "Uninstall from user scope (all projects)").option("--global", "Uninstall from user scope (all projects)").option("--project", "Uninstall from project scope").option("--local", "Uninstall from local scope").option(
53
+ "--agent <agent>",
54
+ "Operate on host agent: claude, codex, omp, or agy"
55
+ ).option("--codex", "Alias for --agent codex").option("--omp", "Alias for --agent omp").option("--agy", "Shortcut for --agent agy (beta)").option(
50
56
  "--remove-marketplace",
51
57
  "Also remove the host marketplace registration"
52
58
  ).action(async (opts) => {
53
- const { uninstallCommand } = await import("./uninstall-EV7362NK.js");
59
+ const { uninstallCommand } = await import("./uninstall-6QKNGLKK.js");
54
60
  await uninstallCommand(opts);
55
61
  });
56
- program.command("disable").description("Disable the Coding Friend plugin without uninstalling").option("--user", "Disable at user scope (all projects)").option("--global", "Disable at user scope (all projects)").option("--project", "Disable at project scope").option("--local", "Disable at local scope").option("--agent <agent>", "Operate on host agent: claude, codex, or omp").option("--codex", "Alias for --agent codex").option("--omp", "Alias for --agent omp").action(async (opts) => {
57
- const { disableCommand } = await import("./disable-NROSQUHR.js");
62
+ program.command("disable").description("Disable the Coding Friend plugin without uninstalling").option("--user", "Disable at user scope (all projects)").option("--global", "Disable at user scope (all projects)").option("--project", "Disable at project scope").option("--local", "Disable at local scope").option(
63
+ "--agent <agent>",
64
+ "Operate on host agent: claude, codex, omp, or agy"
65
+ ).option("--codex", "Alias for --agent codex").option("--omp", "Alias for --agent omp").option("--agy", "Shortcut for --agent agy (beta)").action(async (opts) => {
66
+ const { disableCommand } = await import("./disable-DCGVIHKG.js");
58
67
  await disableCommand(opts);
59
68
  });
60
- program.command("enable").description("Re-enable the Coding Friend plugin").option("--user", "Enable at user scope (all projects)").option("--global", "Enable at user scope (all projects)").option("--project", "Enable at project scope").option("--local", "Enable at local scope").option("--agent <agent>", "Operate on host agent: claude, codex, or omp").option("--codex", "Alias for --agent codex").option("--omp", "Alias for --agent omp").action(async (opts) => {
61
- const { enableCommand } = await import("./enable-26FFJGX5.js");
69
+ program.command("enable").description("Re-enable the Coding Friend plugin").option("--user", "Enable at user scope (all projects)").option("--global", "Enable at user scope (all projects)").option("--project", "Enable at project scope").option("--local", "Enable at local scope").option(
70
+ "--agent <agent>",
71
+ "Operate on host agent: claude, codex, omp, or agy"
72
+ ).option("--codex", "Alias for --agent codex").option("--omp", "Alias for --agent omp").option("--agy", "Shortcut for --agent agy (beta)").action(async (opts) => {
73
+ const { enableCommand } = await import("./enable-YYWJDOYB.js");
62
74
  await enableCommand(opts);
63
75
  });
64
- program.command("init").description("Initialize coding-friend in current project").option("--agent <agent>", "Operate on host agent: claude, codex, or omp").option("--codex", "Alias for --agent codex").option("--omp", "Alias for --agent omp").option(
76
+ program.command("init").description("Initialize coding-friend in current project").option(
77
+ "--agent <agent>",
78
+ "Operate on host agent: claude, codex, omp, or agy"
79
+ ).option("--codex", "Alias for --agent codex").option("--omp", "Alias for --agent omp").option("--agy", "Shortcut for --agent agy (beta)").option(
65
80
  "--trust-project",
66
81
  "For Codex, mark the current project trusted in ~/.codex/config.toml"
67
82
  ).action(async (opts) => {
68
- const { initCommand } = await import("./init-MHHII5EP.js");
83
+ const { initCommand } = await import("./init-TUBWQCBQ.js");
69
84
  await initCommand(opts);
70
85
  });
71
86
  program.command("config").description("Manage Coding Friend configuration").action(async () => {
72
- const { configCommand } = await import("./config-VNSC2NAY.js");
87
+ const { configCommand } = await import("./config-2CH4GI2L.js");
73
88
  await configCommand();
74
89
  });
75
90
  var learn = program.command("learn").description("Manage learning docs \u2014 host as a website or push to git");
@@ -81,58 +96,64 @@ Learn subcommands:
81
96
  learn push [path] Commit and push learning docs (only if learn dir is the git root)`
82
97
  );
83
98
  learn.command("host").description("Build and serve learning docs as a static website").argument("[path]", "path to docs folder").option("-p, --port <port>", "port number", "3333").action(async (path, opts) => {
84
- const { hostCommand } = await import("./host-2JOPHLN3.js");
99
+ const { hostCommand } = await import("./host-GZJSMJSF.js");
85
100
  await hostCommand(path, opts);
86
101
  });
87
102
  learn.command("push").description("Commit and push learning docs to origin").argument("[path]", "path to docs folder").action(async (path) => {
88
- const { learnPushCommand } = await import("./learn-SSNBBDY3.js");
103
+ const { learnPushCommand } = await import("./learn-AJT7Z6F7.js");
89
104
  await learnPushCommand(path);
90
105
  });
91
106
  program.command("host", { hidden: true }).argument("[path]", "path to docs folder").option("-p, --port <port>", "port number", "3333").action(async (path, opts) => {
92
- const { hostCommand } = await import("./host-2JOPHLN3.js");
107
+ const { hostCommand } = await import("./host-GZJSMJSF.js");
93
108
  await hostCommand(path, opts);
94
109
  });
95
110
  program.command("mcp").description("Setup MCP server for learning docs").action(async () => {
96
- const { mcpCommand } = await import("./mcp-J5VO3OH7.js");
111
+ const { mcpCommand } = await import("./mcp-JGBZMNWL.js");
97
112
  await mcpCommand();
98
113
  });
99
114
  program.command("mcp-serve").description(
100
115
  "Start the cf-memory MCP server (used internally by npx). When memoryDir is omitted, resolves from CLAUDE_PROJECT_DIR at runtime."
101
116
  ).argument("[memoryDir]", "path to memory directory (optional)").action(async (memoryDir) => {
102
- const { mcpServeCommand } = await import("./mcp-serve-55DSE2J4.js");
117
+ const { mcpServeCommand } = await import("./mcp-serve-SHS5MQRW.js");
103
118
  await mcpServeCommand(memoryDir);
104
119
  });
105
120
  program.command("mcp-serve-learn").description("Start the learn MCP server (used internally by npx)").argument("<docsDir>", "path to docs directory").action(async (docsDir) => {
106
- const { mcpServeLearnCommand } = await import("./mcp-serve-learn-EDBWNL4I.js");
121
+ const { mcpServeLearnCommand } = await import("./mcp-serve-learn-HXZZ3DUI.js");
107
122
  await mcpServeLearnCommand(docsDir);
108
123
  });
109
124
  program.command("permission").description("Manage host permission and approval settings for Coding Friend").option("--all", "Apply all recommended permissions without prompts").option("--user", "Save to user-level settings (~/.claude/settings.json)").option(
110
125
  "--project",
111
126
  "Save to project-level settings (.claude/settings.local.json)"
112
- ).option("--agent <agent>", "Operate on host agent: claude, codex, or omp").option("--codex", "Alias for --agent codex").option("--omp", "Alias for --agent omp").option(
127
+ ).option(
128
+ "--agent <agent>",
129
+ "Operate on host agent: claude, codex, omp, or agy"
130
+ ).option("--codex", "Alias for --agent codex").option("--omp", "Alias for --agent omp").option("--agy", "Shortcut for --agent agy (beta)").option(
113
131
  "--enable-auto-approve",
114
132
  "For Codex, enable deterministic Coding Friend auto-approve"
115
133
  ).option(
116
134
  "--disable-auto-approve",
117
135
  "For Codex, disable deterministic Coding Friend auto-approve"
118
136
  ).action(async (opts) => {
119
- const { permissionCommand } = await import("./permission-DPKPA2HU.js");
137
+ const { permissionCommand } = await import("./permission-L5QMNMID.js");
120
138
  await permissionCommand(opts);
121
139
  });
122
140
  program.command("statusline").description("Setup coding-friend statusline in Claude Code").action(async () => {
123
- const { statuslineCommand } = await import("./statusline-R5BNYK3H.js");
141
+ const { statuslineCommand } = await import("./statusline-B7PXP3AQ.js");
124
142
  await statuslineCommand();
125
143
  });
126
- program.command("update").description("Update coding-friend plugin, CLI, and statusline").option("--cli", "Update only the CLI (npm package)").option("--plugin", "Update only the host plugin").option("--statusline", "Update only the statusline").option("--user", "Update plugin at user scope (all projects)").option("--global", "Update plugin at user scope (all projects)").option("--project", "Update plugin at project scope").option("--local", "Update plugin at local scope").option("--agent <agent>", "Operate on host agent: claude, codex, or omp").option("--codex", "Alias for --agent codex").option("--omp", "Alias for --agent omp").action(async (opts) => {
127
- const { updateCommand } = await import("./update-YQBBAIIF.js");
144
+ program.command("update").description("Update coding-friend plugin, CLI, and statusline").option("--cli", "Update only the CLI (npm package)").option("--plugin", "Update only the host plugin").option("--statusline", "Update only the statusline").option("--user", "Update plugin at user scope (all projects)").option("--global", "Update plugin at user scope (all projects)").option("--project", "Update plugin at project scope").option("--local", "Update plugin at local scope").option(
145
+ "--agent <agent>",
146
+ "Operate on host agent: claude, codex, omp, or agy"
147
+ ).option("--codex", "Alias for --agent codex").option("--omp", "Alias for --agent omp").option("--agy", "Shortcut for --agent agy (beta)").action(async (opts) => {
148
+ const { updateCommand } = await import("./update-YJ363TBU.js");
128
149
  await updateCommand(opts);
129
150
  });
130
151
  program.command("status").description("Show comprehensive Coding Friend status").action(async () => {
131
- const { statusCommand } = await import("./status-4WMIQL7L.js");
152
+ const { statusCommand } = await import("./status-KQQJNSEZ.js");
132
153
  await statusCommand();
133
154
  });
134
155
  program.command("clean").description("Clean files generated by Coding Friend in docs/").action(async () => {
135
- const { cleanCommand } = await import("./clean-LPWEBJJ5.js");
156
+ const { cleanCommand } = await import("./clean-PKSSS662.js");
136
157
  await cleanCommand();
137
158
  });
138
159
  var session = program.command("session").description("[beta] Save and load Claude Code sessions across machines");
@@ -147,11 +168,11 @@ session.command("save").description("Save current Claude Code session to sync fo
147
168
  "-s, --session-id <id>",
148
169
  "session UUID to save (default: auto-detect newest)"
149
170
  ).option("-l, --label <label>", "label for this session").action(async (opts) => {
150
- const { sessionSaveCommand } = await import("./session-YWJDLNBP.js");
171
+ const { sessionSaveCommand } = await import("./session-GBHL5TH3.js");
151
172
  await sessionSaveCommand(opts);
152
173
  });
153
174
  session.command("load").description("Load a saved session from sync folder").action(async () => {
154
- const { sessionLoadCommand } = await import("./session-YWJDLNBP.js");
175
+ const { sessionLoadCommand } = await import("./session-GBHL5TH3.js");
155
176
  await sessionLoadCommand();
156
177
  });
157
178
  var memory = program.command("memory").description("AI memory system \u2014 store and search project knowledge");
@@ -171,43 +192,43 @@ Memory subcommands:
171
192
  memory mcp Show MCP server setup instructions`
172
193
  );
173
194
  memory.command("status").description("Show memory system status").action(async () => {
174
- const { memoryStatusCommand } = await import("./memory-CDZKWOFL.js");
195
+ const { memoryStatusCommand } = await import("./memory-4NVLWOFS.js");
175
196
  await memoryStatusCommand();
176
197
  });
177
198
  memory.command("search").description("Search memories by query").argument("<query>", "search query").action(async (query) => {
178
- const { memorySearchCommand } = await import("./memory-CDZKWOFL.js");
199
+ const { memorySearchCommand } = await import("./memory-4NVLWOFS.js");
179
200
  await memorySearchCommand(query);
180
201
  });
181
202
  memory.command("list").description(
182
203
  "List memories in current project, or all projects with --projects"
183
204
  ).option("--projects", "List all project databases with size and metadata").action(async (opts) => {
184
- const { memoryListCommand } = await import("./memory-CDZKWOFL.js");
205
+ const { memoryListCommand } = await import("./memory-4NVLWOFS.js");
185
206
  await memoryListCommand(opts);
186
207
  });
187
208
  memory.command("init").description(
188
209
  "Initialize memory system \u2014 interactive wizard (first time) or config menu"
189
210
  ).action(async () => {
190
- const { memoryInitCommand } = await import("./memory-CDZKWOFL.js");
211
+ const { memoryInitCommand } = await import("./memory-4NVLWOFS.js");
191
212
  await memoryInitCommand();
192
213
  });
193
214
  memory.command("config").description("Configure memory system settings").action(async () => {
194
- const { memoryConfigCommand } = await import("./memory-CDZKWOFL.js");
215
+ const { memoryConfigCommand } = await import("./memory-4NVLWOFS.js");
195
216
  await memoryConfigCommand();
196
217
  });
197
218
  memory.command("start-daemon").description("Start the memory daemon (Tier 2 \u2014 MiniSearch)").action(async () => {
198
- const { memoryStartDaemonCommand } = await import("./memory-CDZKWOFL.js");
219
+ const { memoryStartDaemonCommand } = await import("./memory-4NVLWOFS.js");
199
220
  await memoryStartDaemonCommand();
200
221
  });
201
222
  memory.command("stop-daemon").description("Stop the memory daemon").action(async () => {
202
- const { memoryStopDaemonCommand } = await import("./memory-CDZKWOFL.js");
223
+ const { memoryStopDaemonCommand } = await import("./memory-4NVLWOFS.js");
203
224
  await memoryStopDaemonCommand();
204
225
  });
205
226
  memory.command("rebuild").description("Rebuild the daemon search index").action(async () => {
206
- const { memoryRebuildCommand } = await import("./memory-CDZKWOFL.js");
227
+ const { memoryRebuildCommand } = await import("./memory-4NVLWOFS.js");
207
228
  await memoryRebuildCommand();
208
229
  });
209
230
  memory.command("mcp").description("Show MCP server setup instructions").action(async () => {
210
- const { memoryMcpCommand } = await import("./memory-CDZKWOFL.js");
231
+ const { memoryMcpCommand } = await import("./memory-4NVLWOFS.js");
211
232
  await memoryMcpCommand();
212
233
  });
213
234
  memory.command("rm").description("Remove a project database").option("--project-id <id>", "Project ID to remove").option("--all", "Remove all project databases").option(
@@ -215,17 +236,17 @@ memory.command("rm").description("Remove a project database").option("--project-
215
236
  "Remove orphaned projects (source dir missing or 0 memories)"
216
237
  ).action(
217
238
  async (opts) => {
218
- const { memoryRmCommand } = await import("./memory-CDZKWOFL.js");
239
+ const { memoryRmCommand } = await import("./memory-4NVLWOFS.js");
219
240
  await memoryRmCommand(opts);
220
241
  }
221
242
  );
222
243
  var guide = program.command("guide").description("Manage custom skill guides");
223
244
  guide.command("create").description("Create a custom guide for a skill").argument("<skill-name>", "skill to create guide for (e.g. cf-commit)").action(async (skillName) => {
224
- const { guideCreateCommand } = await import("./guide-HCLEOAGR.js");
245
+ const { guideCreateCommand } = await import("./guide-45EIK76P.js");
225
246
  guideCreateCommand(skillName);
226
247
  });
227
248
  guide.command("list").description("List existing custom guides").action(async () => {
228
- const { guideListCommand } = await import("./guide-HCLEOAGR.js");
249
+ const { guideListCommand } = await import("./guide-45EIK76P.js");
229
250
  guideListCommand();
230
251
  });
231
252
  var dev = program.command("dev").description("Development mode commands");
@@ -241,28 +262,28 @@ Dev subcommands:
241
262
  dev update [path] Update local dev plugin to latest version`
242
263
  );
243
264
  dev.command("on").description("Switch to local plugin source").argument("[path]", "path to local coding-friend repo (default: cwd)").action(async (path) => {
244
- const { devOnCommand } = await import("./dev-NRTDUQAR.js");
265
+ const { devOnCommand } = await import("./dev-HWKNWOZY.js");
245
266
  await devOnCommand(path);
246
267
  });
247
268
  dev.command("off").description("Switch back to remote marketplace").action(async () => {
248
- const { devOffCommand } = await import("./dev-NRTDUQAR.js");
269
+ const { devOffCommand } = await import("./dev-HWKNWOZY.js");
249
270
  await devOffCommand();
250
271
  });
251
272
  dev.command("status").description("Show current dev mode").action(async () => {
252
- const { devStatusCommand } = await import("./dev-NRTDUQAR.js");
273
+ const { devStatusCommand } = await import("./dev-HWKNWOZY.js");
253
274
  await devStatusCommand();
254
275
  });
255
276
  dev.command("sync").description(
256
277
  "Copy local source files to plugin cache (no version bump needed)"
257
278
  ).action(async () => {
258
- const { devSyncCommand } = await import("./dev-NRTDUQAR.js");
279
+ const { devSyncCommand } = await import("./dev-HWKNWOZY.js");
259
280
  await devSyncCommand();
260
281
  });
261
282
  dev.command("restart").description("Reinstall local dev plugin (off + on)").argument(
262
283
  "[path]",
263
284
  "path to local coding-friend repo (default: saved path or cwd)"
264
285
  ).action(async (path) => {
265
- const { devRestartCommand } = await import("./dev-NRTDUQAR.js");
286
+ const { devRestartCommand } = await import("./dev-HWKNWOZY.js");
266
287
  await devRestartCommand(path);
267
288
  });
268
289
  dev.command("update").description(
@@ -271,13 +292,13 @@ dev.command("update").description(
271
292
  "[path]",
272
293
  "path to local coding-friend repo (default: saved path or cwd)"
273
294
  ).action(async (path) => {
274
- const { devUpdateCommand } = await import("./dev-NRTDUQAR.js");
295
+ const { devUpdateCommand } = await import("./dev-HWKNWOZY.js");
275
296
  await devUpdateCommand(path);
276
297
  });
277
298
  program.hook("postAction", async () => {
278
299
  const topCmd = process.argv[2];
279
300
  if (topCmd === "update") return;
280
- const { checkAndNotifyCliUpdate } = await import("./update-check-EJSGVGO6.js");
301
+ const { checkAndNotifyCliUpdate } = await import("./update-check-5JZUJGUM.js");
281
302
  checkAndNotifyCliUpdate(pkg.version);
282
303
  });
283
304
  await program.parseAsync();