coding-friend-cli 1.38.4 → 1.39.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/dist/{chunk-32UAW3NX.js → chunk-2EY7VVFT.js} +1 -1
  2. package/dist/{chunk-RCE4OWNX.js → chunk-463QKRBN.js} +1 -1
  3. package/dist/{chunk-ETTZRJ55.js → chunk-4CPUWHIN.js} +1 -1
  4. package/dist/{chunk-6NXZKAOV.js → chunk-7JQZRMOG.js} +37 -4
  5. package/dist/{chunk-5KHZQCZB.js → chunk-FQUIO5BW.js} +1 -1
  6. package/dist/chunk-GTOEIGDM.js +510 -0
  7. package/dist/{chunk-PLSJW7QJ.js → chunk-IV5OPG34.js} +47 -1
  8. package/dist/{chunk-5QCGEPQO.js → chunk-JSH6BMVZ.js} +1 -1
  9. package/dist/{chunk-S4ENKXXC.js → chunk-ODW27NAC.js} +8 -8
  10. package/dist/chunk-OFEC6OVI.js +99 -0
  11. package/dist/{chunk-GIH6E7GJ.js → chunk-VMODQCSL.js} +4 -53
  12. package/dist/{chunk-I2DQYPKT.js → chunk-WJHQUCOF.js} +162 -17
  13. package/dist/{chunk-VHUU3QDC.js → chunk-YPW67OGP.js} +1 -1
  14. package/dist/{chunk-BXSCYGWE.js → chunk-ZGIUKUL2.js} +51 -6
  15. package/dist/chunk-ZZNTNIM4.js +63 -0
  16. package/dist/{clean-MSRZSOSO.js → clean-LPWEBJJ5.js} +2 -2
  17. package/dist/{config-EX3B3HWO.js → config-VNSC2NAY.js} +15 -13
  18. package/dist/{dev-PTBNMKZT.js → dev-NRTDUQAR.js} +3 -3
  19. package/dist/{disable-MO7AXYYF.js → disable-NROSQUHR.js} +19 -4
  20. package/dist/{enable-4GXLQEHD.js → enable-26FFJGX5.js} +24 -4
  21. package/dist/{guide-HCR43LJN.js → guide-HCLEOAGR.js} +1 -1
  22. package/dist/{host-VIQ5YI3V.js → host-2JOPHLN3.js} +4 -3
  23. package/dist/index.js +46 -46
  24. package/dist/{init-S2K4CQO2.js → init-MHHII5EP.js} +54 -18
  25. package/dist/{install-LUPE3VTC.js → install-OEFJLAWA.js} +52 -9
  26. package/dist/{learn-A3TP6PLL.js → learn-SSNBBDY3.js} +2 -2
  27. package/dist/{mcp-QNJTCZMS.js → mcp-J5VO3OH7.js} +13 -11
  28. package/dist/{mcp-serve-4VP4KDYG.js → mcp-serve-55DSE2J4.js} +4 -3
  29. package/dist/{mcp-serve-learn-UVXIDOEZ.js → mcp-serve-learn-EDBWNL4I.js} +3 -2
  30. package/dist/{memory-7GKTQSIW.js → memory-CDZKWOFL.js} +9 -7
  31. package/dist/{permission-VISPGMUK.js → permission-DPKPA2HU.js} +11 -3
  32. package/dist/{permissions-2SBACQHV.js → permissions-HZYUVKCY.js} +2 -2
  33. package/dist/{session-VDGNTICO.js → session-YWJDLNBP.js} +2 -2
  34. package/dist/{status-RHSL5MBU.js → status-4WMIQL7L.js} +18 -16
  35. package/dist/{statusline-AOZHEQSV.js → statusline-R5BNYK3H.js} +2 -2
  36. package/dist/{uninstall-QN6527IR.js → uninstall-EV7362NK.js} +52 -8
  37. package/dist/{update-ZQG25VOJ.js → update-YQBBAIIF.js} +10 -7
  38. package/dist/{update-check-7LKJLJPM.js → update-check-EJSGVGO6.js} +1 -1
  39. package/package.json +1 -1
  40. package/dist/chunk-RZRT7NGT.js +0 -18
@@ -1,32 +1,41 @@
1
1
  import {
2
2
  getLatestVersion,
3
3
  semverCompare
4
- } from "./chunk-I2DQYPKT.js";
4
+ } from "./chunk-WJHQUCOF.js";
5
5
  import {
6
6
  getInstalledVersion
7
- } from "./chunk-ETTZRJ55.js";
7
+ } from "./chunk-4CPUWHIN.js";
8
8
  import "./chunk-3WIZA5OZ.js";
9
9
  import {
10
10
  ensureShellCompletion
11
11
  } from "./chunk-667NMPN4.js";
12
- import "./chunk-BXSCYGWE.js";
13
- import "./chunk-RZRT7NGT.js";
12
+ import {
13
+ registerMemoryMcp
14
+ } from "./chunk-ZGIUKUL2.js";
14
15
  import {
15
16
  enableMarketplaceAutoUpdate,
16
17
  isMarketplaceRegistered,
17
18
  isPluginDisabled
18
- } from "./chunk-32UAW3NX.js";
19
+ } from "./chunk-2EY7VVFT.js";
19
20
  import {
20
21
  deployCodexAgents,
21
22
  findCodexAgentSourceDir,
22
23
  isCodexMarketplaceRegistered,
23
24
  setCodexPluginEnabled
24
- } from "./chunk-5QCGEPQO.js";
25
+ } from "./chunk-JSH6BMVZ.js";
26
+ import {
27
+ deployOmpAgents,
28
+ writeOmpExtensionEntry
29
+ } from "./chunk-GTOEIGDM.js";
25
30
  import {
26
- checkCodexVersion,
27
31
  resolveHostFlags,
28
32
  resolveScope
29
- } from "./chunk-GIH6E7GJ.js";
33
+ } from "./chunk-VMODQCSL.js";
34
+ import "./chunk-ZZNTNIM4.js";
35
+ import {
36
+ checkCodexVersion,
37
+ checkOmpVersion
38
+ } from "./chunk-OFEC6OVI.js";
30
39
  import {
31
40
  commandExists,
32
41
  run
@@ -34,7 +43,7 @@ import {
34
43
  import "./chunk-5UVDWG5L.js";
35
44
  import {
36
45
  devStatePath
37
- } from "./chunk-PLSJW7QJ.js";
46
+ } from "./chunk-IV5OPG34.js";
38
47
  import {
39
48
  log,
40
49
  printBanner
@@ -48,6 +57,9 @@ async function installCommand(opts = {}) {
48
57
  if (host === "codex") {
49
58
  await installCodexCommand();
50
59
  return;
60
+ } else if (host === "omp") {
61
+ await installOmpCommand(opts);
62
+ return;
51
63
  }
52
64
  printBanner("\u2728 Coding Friend Install \u2728");
53
65
  console.log();
@@ -205,6 +217,37 @@ async function installCodexCommand() {
205
217
  );
206
218
  log.dim("Run cf update --agent codex for on-demand plugin updates.");
207
219
  }
220
+ var OMP_INSTALL_URL = "https://omp.sh/";
221
+ var OMP_INSTALL_HINT = `curl -fsSL ${OMP_INSTALL_URL}install | sh`;
222
+ async function installOmpCommand(opts = {}) {
223
+ printBanner("\u2728 Coding Friend omp Install (beta) \u2728");
224
+ console.log();
225
+ if (!commandExists("omp")) {
226
+ log.error(
227
+ `omp CLI not found. Install it first: ${OMP_INSTALL_URL} (${OMP_INSTALL_HINT})`
228
+ );
229
+ process.exit(1);
230
+ return;
231
+ }
232
+ const version = checkOmpVersion();
233
+ if (!version.ok) {
234
+ log.error(
235
+ `omp CLI ${version.actual ? `v${version.actual}` : "version"} is unsupported. Coding Friend requires omp CLI >= ${version.min}. Install or upgrade: ${OMP_INSTALL_URL} (${OMP_INSTALL_HINT})`
236
+ );
237
+ process.exit(1);
238
+ return;
239
+ }
240
+ const ompScope = opts.project || opts.local ? "project" : "user";
241
+ const { deployed } = deployOmpAgents(ompScope);
242
+ log.success(`Deployed ${deployed.length} omp agent definition(s).`);
243
+ writeOmpExtensionEntry(ompScope);
244
+ log.success("Wrote omp extension entry.");
245
+ registerMemoryMcp("omp");
246
+ console.log();
247
+ log.success("Installed for omp (beta).");
248
+ log.dim("Skills inherit from ~/.claude \u2014 no extra skill install needed.");
249
+ log.dim("Restart omp (or start a new session) to pick up agents and MCP.");
250
+ }
208
251
  export {
209
252
  installCommand
210
253
  };
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  resolveLearnDir
3
- } from "./chunk-5KHZQCZB.js";
3
+ } from "./chunk-FQUIO5BW.js";
4
4
  import "./chunk-3WIZA5OZ.js";
5
5
  import {
6
6
  commandExists,
@@ -13,7 +13,7 @@ import {
13
13
  } from "./chunk-5UVDWG5L.js";
14
14
  import {
15
15
  globalConfigPath
16
- } from "./chunk-PLSJW7QJ.js";
16
+ } from "./chunk-IV5OPG34.js";
17
17
  import {
18
18
  log,
19
19
  printBanner
@@ -1,34 +1,36 @@
1
1
  import {
2
2
  listMdFilesRecursive
3
3
  } from "./chunk-2DTXVMPQ.js";
4
- import {
5
- isLearnMcpRegistered,
6
- registerLearnMcp
7
- } from "./chunk-6NXZKAOV.js";
8
4
  import {
9
5
  ensureMemoryBuilt,
10
6
  printMemoryMcpConfig
11
- } from "./chunk-S4ENKXXC.js";
7
+ } from "./chunk-ODW27NAC.js";
12
8
  import {
13
9
  checkLearnMcpHealth,
14
10
  checkMemoryMcpHealth,
15
11
  detectMemoryMcpState,
16
12
  printHealthSection,
17
13
  warnStaleMcpJson
18
- } from "./chunk-VHUU3QDC.js";
14
+ } from "./chunk-YPW67OGP.js";
19
15
  import {
20
16
  resolveLearnDir,
21
17
  resolveMemoryDir
22
- } from "./chunk-5KHZQCZB.js";
18
+ } from "./chunk-FQUIO5BW.js";
23
19
  import "./chunk-3WIZA5OZ.js";
20
+ import {
21
+ isLearnMcpRegistered,
22
+ registerLearnMcp
23
+ } from "./chunk-7JQZRMOG.js";
24
24
  import {
25
25
  isMemoryMcpRegistered,
26
26
  registerMemoryMcp
27
- } from "./chunk-BXSCYGWE.js";
27
+ } from "./chunk-ZGIUKUL2.js";
28
+ import "./chunk-GTOEIGDM.js";
29
+ import "./chunk-VMODQCSL.js";
28
30
  import {
29
31
  getLibPath
30
- } from "./chunk-RZRT7NGT.js";
31
- import "./chunk-GIH6E7GJ.js";
32
+ } from "./chunk-ZZNTNIM4.js";
33
+ import "./chunk-OFEC6OVI.js";
32
34
  import {
33
35
  run
34
36
  } from "./chunk-EVGXUDX4.js";
@@ -37,7 +39,7 @@ import {
37
39
  } from "./chunk-5UVDWG5L.js";
38
40
  import {
39
41
  globalConfigPath
40
- } from "./chunk-PLSJW7QJ.js";
42
+ } from "./chunk-IV5OPG34.js";
41
43
  import {
42
44
  log,
43
45
  printBanner
@@ -1,13 +1,14 @@
1
1
  import {
2
2
  resolveProjectMemoryDir
3
- } from "./chunk-5KHZQCZB.js";
3
+ } from "./chunk-FQUIO5BW.js";
4
4
  import "./chunk-3WIZA5OZ.js";
5
5
  import {
6
6
  getLibPath
7
- } from "./chunk-RZRT7NGT.js";
7
+ } from "./chunk-ZZNTNIM4.js";
8
+ import "./chunk-OFEC6OVI.js";
8
9
  import "./chunk-EVGXUDX4.js";
9
10
  import "./chunk-5UVDWG5L.js";
10
- import "./chunk-PLSJW7QJ.js";
11
+ import "./chunk-IV5OPG34.js";
11
12
  import {
12
13
  log
13
14
  } from "./chunk-NREZK463.js";
@@ -1,6 +1,7 @@
1
1
  import {
2
2
  getLibPath
3
- } from "./chunk-RZRT7NGT.js";
3
+ } from "./chunk-ZZNTNIM4.js";
4
+ import "./chunk-OFEC6OVI.js";
4
5
  import {
5
6
  runWithStderr
6
7
  } from "./chunk-EVGXUDX4.js";
@@ -9,7 +10,7 @@ import {
9
10
  } from "./chunk-5UVDWG5L.js";
10
11
  import {
11
12
  globalConfigPath
12
- } from "./chunk-PLSJW7QJ.js";
13
+ } from "./chunk-IV5OPG34.js";
13
14
  import {
14
15
  log
15
16
  } from "./chunk-NREZK463.js";
@@ -14,16 +14,18 @@ import {
14
14
  memoryStopDaemonCommand,
15
15
  printMemoryMcpConfig,
16
16
  refreshMemoryAfterUpdate
17
- } from "./chunk-S4ENKXXC.js";
18
- import "./chunk-VHUU3QDC.js";
19
- import "./chunk-5KHZQCZB.js";
17
+ } from "./chunk-ODW27NAC.js";
18
+ import "./chunk-YPW67OGP.js";
19
+ import "./chunk-FQUIO5BW.js";
20
20
  import "./chunk-3WIZA5OZ.js";
21
- import "./chunk-BXSCYGWE.js";
22
- import "./chunk-RZRT7NGT.js";
23
- import "./chunk-GIH6E7GJ.js";
21
+ import "./chunk-ZGIUKUL2.js";
22
+ import "./chunk-GTOEIGDM.js";
23
+ import "./chunk-VMODQCSL.js";
24
+ import "./chunk-ZZNTNIM4.js";
25
+ import "./chunk-OFEC6OVI.js";
24
26
  import "./chunk-EVGXUDX4.js";
25
27
  import "./chunk-5UVDWG5L.js";
26
- import "./chunk-PLSJW7QJ.js";
28
+ import "./chunk-IV5OPG34.js";
27
29
  import "./chunk-NREZK463.js";
28
30
  export {
29
31
  ensureMemoryBuilt,
@@ -8,14 +8,15 @@ import {
8
8
  groupByCategory,
9
9
  logPluginScriptWarning,
10
10
  runDangerousRulesAudit
11
- } from "./chunk-RCE4OWNX.js";
11
+ } from "./chunk-463QKRBN.js";
12
12
  import {
13
13
  askScope,
14
14
  formatScopeLabel,
15
15
  getMergedValue,
16
16
  getScopeLabel,
17
17
  resolveHostFlags
18
- } from "./chunk-GIH6E7GJ.js";
18
+ } from "./chunk-VMODQCSL.js";
19
+ import "./chunk-OFEC6OVI.js";
19
20
  import "./chunk-EVGXUDX4.js";
20
21
  import {
21
22
  mergeJson,
@@ -27,7 +28,7 @@ import {
27
28
  claudeSettingsPath,
28
29
  globalConfigPath,
29
30
  localConfigPath
30
- } from "./chunk-PLSJW7QJ.js";
31
+ } from "./chunk-IV5OPG34.js";
31
32
  import {
32
33
  log,
33
34
  printBanner
@@ -218,6 +219,13 @@ async function permissionCommand(opts) {
218
219
  codexPermissionCommand(opts);
219
220
  return;
220
221
  }
222
+ if (host === "omp") {
223
+ log.info(
224
+ "omp uses its own approval-mode; run `omp config` / omp approval settings \u2014 coding-friend does not manage omp permissions."
225
+ );
226
+ log.dim("See docs/omp-dev.md.");
227
+ return;
228
+ }
221
229
  printBanner("\u2728 Coding Friend Permissions \u2728");
222
230
  console.log();
223
231
  const {
@@ -15,9 +15,9 @@ import {
15
15
  logPluginScriptWarning,
16
16
  runDangerousRulesAudit,
17
17
  stripDangerousRules
18
- } from "./chunk-RCE4OWNX.js";
18
+ } from "./chunk-463QKRBN.js";
19
19
  import "./chunk-5UVDWG5L.js";
20
- import "./chunk-PLSJW7QJ.js";
20
+ import "./chunk-IV5OPG34.js";
21
21
  export {
22
22
  DANGEROUS_RULE_PATTERNS,
23
23
  PERMISSION_RULES,
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  loadConfig
3
- } from "./chunk-5KHZQCZB.js";
3
+ } from "./chunk-FQUIO5BW.js";
4
4
  import "./chunk-3WIZA5OZ.js";
5
5
  import "./chunk-EVGXUDX4.js";
6
6
  import {
@@ -11,7 +11,7 @@ import {
11
11
  claudeSessionDir,
12
12
  encodeProjectPath,
13
13
  resolvePath
14
- } from "./chunk-PLSJW7QJ.js";
14
+ } from "./chunk-IV5OPG34.js";
15
15
  import {
16
16
  log
17
17
  } from "./chunk-NREZK463.js";
@@ -1,44 +1,46 @@
1
1
  import {
2
2
  getExistingRules
3
- } from "./chunk-RCE4OWNX.js";
3
+ } from "./chunk-463QKRBN.js";
4
4
  import {
5
5
  listMdFilesRecursive
6
6
  } from "./chunk-2DTXVMPQ.js";
7
- import {
8
- isLearnMcpRegistered
9
- } from "./chunk-6NXZKAOV.js";
10
7
  import {
11
8
  checkLearnMcpHealth,
12
9
  checkMemoryMcpHealth
13
- } from "./chunk-VHUU3QDC.js";
10
+ } from "./chunk-YPW67OGP.js";
14
11
  import {
15
12
  resolveLearnDir,
16
13
  resolveMemoryDir,
17
14
  sanitizeRawConfig
18
- } from "./chunk-5KHZQCZB.js";
15
+ } from "./chunk-FQUIO5BW.js";
19
16
  import {
20
17
  getCliVersion,
21
18
  getLatestCliVersion,
22
19
  getLatestVersion,
23
20
  semverCompare
24
- } from "./chunk-I2DQYPKT.js";
21
+ } from "./chunk-WJHQUCOF.js";
25
22
  import {
26
23
  getInstalledVersion
27
- } from "./chunk-ETTZRJ55.js";
24
+ } from "./chunk-4CPUWHIN.js";
28
25
  import "./chunk-3WIZA5OZ.js";
26
+ import {
27
+ isLearnMcpRegistered
28
+ } from "./chunk-7JQZRMOG.js";
29
29
  import "./chunk-667NMPN4.js";
30
30
  import {
31
31
  isMemoryMcpRegistered
32
- } from "./chunk-BXSCYGWE.js";
33
- import {
34
- getLibPath
35
- } from "./chunk-RZRT7NGT.js";
32
+ } from "./chunk-ZGIUKUL2.js";
36
33
  import {
37
34
  detectPluginScope,
38
35
  isPluginDisabled
39
- } from "./chunk-32UAW3NX.js";
40
- import "./chunk-5QCGEPQO.js";
41
- import "./chunk-GIH6E7GJ.js";
36
+ } from "./chunk-2EY7VVFT.js";
37
+ import "./chunk-JSH6BMVZ.js";
38
+ import "./chunk-GTOEIGDM.js";
39
+ import "./chunk-VMODQCSL.js";
40
+ import {
41
+ getLibPath
42
+ } from "./chunk-ZZNTNIM4.js";
43
+ import "./chunk-OFEC6OVI.js";
42
44
  import "./chunk-EVGXUDX4.js";
43
45
  import {
44
46
  readJson
@@ -48,7 +50,7 @@ import {
48
50
  devStatePath,
49
51
  globalConfigPath,
50
52
  localConfigPath
51
- } from "./chunk-PLSJW7QJ.js";
53
+ } from "./chunk-IV5OPG34.js";
52
54
  import "./chunk-NREZK463.js";
53
55
 
54
56
  // src/commands/status.ts
@@ -8,7 +8,7 @@ import {
8
8
  saveStatuslineConfig,
9
9
  selectStatuslineComponents,
10
10
  writeStatuslineSettings
11
- } from "./chunk-ETTZRJ55.js";
11
+ } from "./chunk-4CPUWHIN.js";
12
12
  import {
13
13
  ALL_COMPONENT_IDS
14
14
  } from "./chunk-3WIZA5OZ.js";
@@ -16,7 +16,7 @@ import {
16
16
  commandExists
17
17
  } from "./chunk-EVGXUDX4.js";
18
18
  import "./chunk-5UVDWG5L.js";
19
- import "./chunk-PLSJW7QJ.js";
19
+ import "./chunk-IV5OPG34.js";
20
20
  import {
21
21
  log,
22
22
  printBanner
@@ -1,25 +1,35 @@
1
+ import {
2
+ unregisterLearnMcp
3
+ } from "./chunk-7JQZRMOG.js";
1
4
  import {
2
5
  hasShellCompletion,
3
6
  removeShellCompletion
4
7
  } from "./chunk-667NMPN4.js";
5
8
  import {
6
- removeMemoryMcpEntry
7
- } from "./chunk-BXSCYGWE.js";
8
- import "./chunk-RZRT7NGT.js";
9
+ removeMemoryMcpEntry,
10
+ unregisterMemoryMcp
11
+ } from "./chunk-ZGIUKUL2.js";
9
12
  import {
10
13
  isMarketplaceRegistered,
11
14
  isPluginInstalled
12
- } from "./chunk-32UAW3NX.js";
15
+ } from "./chunk-2EY7VVFT.js";
13
16
  import {
14
17
  CODEX_MARKETPLACE_NAME,
15
18
  removeCodexMemoryMcpConfig,
16
19
  removeDeployedCodexAgents,
17
20
  setCodexPluginEnabled
18
- } from "./chunk-5QCGEPQO.js";
21
+ } from "./chunk-JSH6BMVZ.js";
22
+ import {
23
+ isOmpAgentInstalled,
24
+ removeOmpAgents,
25
+ removeOmpExtensionEntry
26
+ } from "./chunk-GTOEIGDM.js";
19
27
  import {
20
28
  resolveHostFlags,
21
29
  resolveScope
22
- } from "./chunk-GIH6E7GJ.js";
30
+ } from "./chunk-VMODQCSL.js";
31
+ import "./chunk-ZZNTNIM4.js";
32
+ import "./chunk-OFEC6OVI.js";
23
33
  import {
24
34
  commandExists,
25
35
  run
@@ -34,8 +44,10 @@ import {
34
44
  globalConfigDir,
35
45
  marketplaceCachePath,
36
46
  marketplaceClonePath,
37
- memoryDepsDir
38
- } from "./chunk-PLSJW7QJ.js";
47
+ memoryDepsDir,
48
+ ompExtensionsDir,
49
+ ompProjectExtensionsDir
50
+ } from "./chunk-IV5OPG34.js";
39
51
  import {
40
52
  log,
41
53
  printBanner
@@ -43,6 +55,7 @@ import {
43
55
 
44
56
  // src/commands/uninstall.ts
45
57
  import { existsSync, rmSync } from "fs";
58
+ import { join } from "path";
46
59
  import { confirm } from "@inquirer/prompts";
47
60
  import chalk from "chalk";
48
61
  var MARKETPLACE_NAME = "coding-friend-marketplace";
@@ -140,6 +153,10 @@ async function uninstallCommand(opts = {}) {
140
153
  uninstallCodexCommand(opts);
141
154
  return;
142
155
  }
156
+ if (host === "omp") {
157
+ uninstallOmpCommand(opts);
158
+ return;
159
+ }
143
160
  console.log();
144
161
  printBanner("\u{1F44B} Coding Friend Uninstall \u{1F44B}", { color: chalk.red });
145
162
  if (!commandExists("claude")) {
@@ -311,6 +328,33 @@ async function uninstallCommand(opts = {}) {
311
328
  log.dim("To also remove the CLI tool globally, run:");
312
329
  console.log(` ${chalk.bold("npm uninstall -g coding-friend-cli")}`);
313
330
  }
331
+ var OMP_EXTENSION_SHIM = "coding-friend.ts";
332
+ function toOmpScope(opts) {
333
+ if (opts.project || opts.local) return "project";
334
+ return "user";
335
+ }
336
+ function isOmpExtensionPresent(scope) {
337
+ const dir = scope === "project" ? ompProjectExtensionsDir() : ompExtensionsDir();
338
+ return existsSync(join(dir, OMP_EXTENSION_SHIM));
339
+ }
340
+ function uninstallOmpCommand(opts) {
341
+ console.log();
342
+ printBanner("\u{1F44B} Coding Friend omp Uninstall \u{1F44B}", { color: chalk.red });
343
+ const scope = toOmpScope(opts);
344
+ if (!isOmpAgentInstalled(scope) && !isOmpExtensionPresent(scope)) {
345
+ log.info("Nothing to uninstall");
346
+ return;
347
+ }
348
+ log.step(`Uninstalling Coding Friend from omp (${scope} scope)...`);
349
+ removeOmpAgents(scope);
350
+ removeOmpExtensionEntry(scope);
351
+ if (scope === "user") {
352
+ unregisterMemoryMcp("omp");
353
+ unregisterLearnMcp("omp");
354
+ }
355
+ log.success(`Coding Friend uninstalled from omp (${scope} scope).`);
356
+ log.dim("Restart omp for the change to take effect.");
357
+ }
314
358
  function uninstallCodexCommand(opts) {
315
359
  console.log();
316
360
  printBanner("\u{1F44B} Coding Friend Codex Uninstall \u{1F44B}", { color: chalk.red });
@@ -4,17 +4,20 @@ import {
4
4
  getLatestVersion,
5
5
  semverCompare,
6
6
  updateCommand
7
- } from "./chunk-I2DQYPKT.js";
8
- import "./chunk-ETTZRJ55.js";
7
+ } from "./chunk-WJHQUCOF.js";
8
+ import "./chunk-4CPUWHIN.js";
9
9
  import "./chunk-3WIZA5OZ.js";
10
10
  import "./chunk-667NMPN4.js";
11
- import "./chunk-BXSCYGWE.js";
12
- import "./chunk-RZRT7NGT.js";
13
- import "./chunk-5QCGEPQO.js";
14
- import "./chunk-GIH6E7GJ.js";
11
+ import "./chunk-ZGIUKUL2.js";
12
+ import "./chunk-2EY7VVFT.js";
13
+ import "./chunk-JSH6BMVZ.js";
14
+ import "./chunk-GTOEIGDM.js";
15
+ import "./chunk-VMODQCSL.js";
16
+ import "./chunk-ZZNTNIM4.js";
17
+ import "./chunk-OFEC6OVI.js";
15
18
  import "./chunk-EVGXUDX4.js";
16
19
  import "./chunk-5UVDWG5L.js";
17
- import "./chunk-PLSJW7QJ.js";
20
+ import "./chunk-IV5OPG34.js";
18
21
  import "./chunk-NREZK463.js";
19
22
  export {
20
23
  getCliVersion,
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-EVGXUDX4.js";
4
4
  import {
5
5
  globalConfigDir
6
- } from "./chunk-PLSJW7QJ.js";
6
+ } from "./chunk-IV5OPG34.js";
7
7
  import {
8
8
  log
9
9
  } from "./chunk-NREZK463.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "coding-friend-cli",
3
- "version": "1.38.4",
3
+ "version": "1.39.0",
4
4
  "description": "CLI for coding-friend — host learning docs, setup MCP server, initialize projects",
5
5
  "type": "module",
6
6
  "bin": {
@@ -1,18 +0,0 @@
1
- // src/lib/lib-path.ts
2
- import { existsSync } from "fs";
3
- import { dirname, join } from "path";
4
- import { fileURLToPath } from "url";
5
- var __dirname = dirname(fileURLToPath(import.meta.url));
6
- function getLibPath(name) {
7
- const bundled = join(__dirname, "..", "lib", name);
8
- if (existsSync(bundled)) return bundled;
9
- const dev = join(__dirname, "..", "..", "lib", name);
10
- if (existsSync(dev)) return dev;
11
- throw new Error(
12
- `Could not find lib/${name}. Ensure it exists in the CLI package.`
13
- );
14
- }
15
-
16
- export {
17
- getLibPath
18
- };