@g3nomaly/mods 0.1.0 → 0.1.2

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 (96) hide show
  1. package/README.md +13 -12
  2. package/dist/cli/commands/add.d.ts +11 -2
  3. package/dist/cli/commands/add.d.ts.map +1 -1
  4. package/dist/cli/commands/add.js +7 -4
  5. package/dist/cli/commands/add.js.map +1 -1
  6. package/dist/cli/commands/init.d.ts +15 -4
  7. package/dist/cli/commands/init.d.ts.map +1 -1
  8. package/dist/cli/commands/init.js +8 -4
  9. package/dist/cli/commands/init.js.map +1 -1
  10. package/dist/cli/commands/ls.d.ts +13 -3
  11. package/dist/cli/commands/ls.d.ts.map +1 -1
  12. package/dist/cli/commands/ls.js +6 -1
  13. package/dist/cli/commands/ls.js.map +1 -1
  14. package/dist/cli/commands/remove.d.ts +10 -1
  15. package/dist/cli/commands/remove.d.ts.map +1 -1
  16. package/dist/cli/commands/remove.js +11 -2
  17. package/dist/cli/commands/remove.js.map +1 -1
  18. package/dist/cli/commands/source.d.ts +37 -6
  19. package/dist/cli/commands/source.d.ts.map +1 -1
  20. package/dist/cli/commands/source.js +23 -4
  21. package/dist/cli/commands/source.js.map +1 -1
  22. package/dist/cli/commands/update.d.ts +10 -1
  23. package/dist/cli/commands/update.d.ts.map +1 -1
  24. package/dist/cli/commands/update.js +5 -1
  25. package/dist/cli/commands/update.js.map +1 -1
  26. package/dist/cli/index.js +10 -4
  27. package/dist/cli/index.js.map +1 -1
  28. package/dist/cli/project.d.ts +34 -11
  29. package/dist/cli/project.d.ts.map +1 -1
  30. package/dist/cli/project.js +19 -5
  31. package/dist/cli/project.js.map +1 -1
  32. package/dist/cli/viewer.d.ts +17 -5
  33. package/dist/cli/viewer.d.ts.map +1 -1
  34. package/dist/cli/viewer.js +77 -18
  35. package/dist/cli/viewer.js.map +1 -1
  36. package/dist/registry/locate.d.ts +9 -4
  37. package/dist/registry/locate.d.ts.map +1 -1
  38. package/dist/registry/locate.js +4 -3
  39. package/dist/registry/locate.js.map +1 -1
  40. package/dist/registry/manifest.d.ts +2 -2
  41. package/dist/registry/manifest.js +2 -2
  42. package/dist/registry/readModDir.d.ts +2 -2
  43. package/dist/registry/readModDir.d.ts.map +1 -1
  44. package/dist/registry/readModDir.js +8 -3
  45. package/dist/registry/readModDir.js.map +1 -1
  46. package/dist/registry/readSource.d.ts +1 -1
  47. package/dist/registry/readSource.js +1 -1
  48. package/dist/registry/types.d.ts +15 -0
  49. package/dist/registry/types.d.ts.map +1 -1
  50. package/dist/registry/types.js.map +1 -1
  51. package/dist/relay/index.d.ts +2 -0
  52. package/dist/relay/index.d.ts.map +1 -0
  53. package/dist/relay/index.js +9 -0
  54. package/dist/relay/index.js.map +1 -0
  55. package/dist/relay/lines.d.ts +25 -0
  56. package/dist/relay/lines.d.ts.map +1 -0
  57. package/dist/relay/lines.js +35 -0
  58. package/dist/relay/lines.js.map +1 -0
  59. package/dist/relay/protocol.d.ts +123 -0
  60. package/dist/relay/protocol.d.ts.map +1 -0
  61. package/dist/relay/protocol.js +70 -0
  62. package/dist/relay/protocol.js.map +1 -0
  63. package/dist/relay/relay.d.ts +16 -0
  64. package/dist/relay/relay.d.ts.map +1 -0
  65. package/dist/relay/relay.js +213 -0
  66. package/dist/relay/relay.js.map +1 -0
  67. package/dist/relay/sessions.d.ts +28 -0
  68. package/dist/relay/sessions.d.ts.map +1 -0
  69. package/dist/relay/sessions.js +86 -0
  70. package/dist/relay/sessions.js.map +1 -0
  71. package/dist/viewer/extension.d.ts +16 -6
  72. package/dist/viewer/extension.d.ts.map +1 -1
  73. package/dist/viewer/extension.js +10 -4
  74. package/dist/viewer/extension.js.map +1 -1
  75. package/dist/viewer/index.d.ts +6 -0
  76. package/dist/viewer/index.d.ts.map +1 -1
  77. package/dist/viewer/index.js +3 -0
  78. package/dist/viewer/index.js.map +1 -1
  79. package/dist/viewer/machine.d.ts +37 -0
  80. package/dist/viewer/machine.d.ts.map +1 -0
  81. package/dist/viewer/machine.js +55 -0
  82. package/dist/viewer/machine.js.map +1 -0
  83. package/dist/viewer/relay.d.ts +23 -0
  84. package/dist/viewer/relay.d.ts.map +1 -0
  85. package/dist/viewer/relay.js +51 -0
  86. package/dist/viewer/relay.js.map +1 -0
  87. package/dist/viewer/settings.d.ts +13 -7
  88. package/dist/viewer/settings.d.ts.map +1 -1
  89. package/dist/viewer/settings.js +10 -3
  90. package/dist/viewer/settings.js.map +1 -1
  91. package/dist/viewer/viewerExtension.d.ts +27 -0
  92. package/dist/viewer/viewerExtension.d.ts.map +1 -0
  93. package/dist/viewer/viewerExtension.js +48 -0
  94. package/dist/viewer/viewerExtension.js.map +1 -0
  95. package/dist/vscode/g3n-mods-viewer.vsix +0 -0
  96. package/package.json +9 -5
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  `g3n-mods` installs Claude Code mods into a project. A mod adds a pane, a status line, a slash command or a hook to Claude Code. The g3n mods from [`@g3nomaly/g3n-mods`](../g3n-mods) are available by default, and you can register other sources: a git repository, an npm package or a local folder.
4
4
 
5
- Mods are drawn by the Claude Code extension for VS Code. They also load in the terminal, but they are built for the extension.
5
+ The Claude Code extension for VS Code does not draw mods itself, so `init` installs a viewer: a button in the editor title bar opens a window that draws the mods of a running session. The mods also work in the terminal.
6
6
 
7
7
  ## Requirements
8
8
 
@@ -15,13 +15,13 @@ Mods are drawn by the Claude Code extension for VS Code. They also load in the t
15
15
  Run these from the root of your project:
16
16
 
17
17
  ```sh
18
- bunx @g3nomaly/mods init # creates .claude/mods.json and sets up VS Code
18
+ bunx @g3nomaly/mods init # creates .claude/mods.json and installs the viewer
19
19
  bunx @g3nomaly/mods ls # lists the mods you can install
20
20
  bunx @g3nomaly/mods add context-bar # installs one mod
21
21
  bunx @g3nomaly/mods add g3n-mods # or every mod from the g3n-mods source
22
22
  ```
23
23
 
24
- Then open the project in VS Code and trust the workspace when asked. Claude Code does not load mods from an untrusted workspace. New sessions load the mods. In a session that is already open, run `/reload-plugins`.
24
+ Then open the project in VS Code and trust the workspace when asked. Claude Code does not load mods from an untrusted workspace. Start a new Claude Code session, then click the **Mods** button in the editor title bar. Sessions that were already open before `init` do not show in the viewer until you start them again.
25
25
 
26
26
  Mods are copied to `.claude/skills/<mod>/`, where Claude Code finds them, and recorded in `.claude/mods.json`. Commit both if your team should get the same mods.
27
27
 
@@ -44,16 +44,19 @@ To install for every project instead of one, add `--user` to any command. Mods t
44
44
 
45
45
  Each pane opens with its command. For `context-bar`, `tool-timeline`, `agents-panel` and `custom-crab-agents`, running the command again closes the pane.
46
46
 
47
- ## Showing mods in VS Code
47
+ ## The viewer
48
48
 
49
- `init` writes two settings to `.vscode/settings.json`:
49
+ `init` sets up three things, once per machine:
50
50
 
51
- - `claudeCode.preferredLocation`: `panel` opens Claude in an editor tab, where panes have room. Pass `--location sidebar` to keep it in the side bar.
52
- - `claudeCode.useTerminal`: `false`, because mods are drawn in the extension's own UI, not in the terminal.
51
+ 1. **The relay.** It builds `~/.claude/g3n-mods/bin/g3n-mods-relay` and sets it as `claudeCode.claudeProcessWrapper` in VS Code's machine settings. The Claude Code extension then starts every session through the relay. The relay passes everything through unchanged, and lets the viewer ask that session for its mods' drawings.
52
+ 2. **The viewer extension.** It installs *g3n Mods Viewer* with `code --install-extension`. Its button sits next to Split Editor and opens a window of its own. To open it as a tab instead, turn off `g3nMods.viewer.openInNewWindow`.
53
+ 3. **The chat view.** In `.vscode/settings.json` it sets `claudeCode.preferredLocation` to `panel` (pass `--location sidebar` to keep the side bar) and `claudeCode.useTerminal` to `false`.
53
54
 
54
- The other settings in the file are kept. If the file has comments, `init` leaves it alone and prints the two settings to add by hand.
55
+ The viewer shows every pane that is open in the session it is showing. Pick another session from the list at the top. Turn a mod's pane on or off with its command in the Claude Code chat, or close it with **×** in the viewer.
55
56
 
56
- To give Claude a window of its own, run **Claude Code: Open in New Window** from the command palette.
57
+ If another tool already set a process wrapper, `init` leaves it and says so. Run `init --replace-wrapper` to use the relay instead. If the `code` command is not found, `init` prints the path of the `.vsix` to install by hand.
58
+
59
+ `hide-personal-data` and `you-should-know` change how replies are drawn. The extension draws replies itself, so these two only work in the terminal.
57
60
 
58
61
  ## Keep mods up to date
59
62
 
@@ -65,7 +68,7 @@ bunx @g3nomaly/mods remove mini-game
65
68
  bunx @g3nomaly/mods ls --installed
66
69
  ```
67
70
 
68
- When you have changed an installed file, `update` asks whether to keep your change or overwrite it. Pass `-f` to overwrite without asking, for example in a script.
71
+ When you have changed an installed file, `update` asks whether to restore the source version, fork the mod under a new name that updates leave alone, or skip it and ask again next time. Pass `-f` to restore without asking, for example in a script.
69
72
 
70
73
  ## Other sources
71
74
 
@@ -92,5 +95,3 @@ bun run mods -- ls # the CLI from source
92
95
  bun run typecheck
93
96
  bun run build
94
97
  ```
95
-
96
- The reasons behind the design are in [`documentation/spec/mods/decisions.md`](../../documentation/spec/mods/decisions.md).
@@ -1,15 +1,24 @@
1
1
  import type { InstallOptions } from "@g3nomaly/core/cli";
2
2
  import type { ProjectDeps, Scope } from "../project";
3
+ /**
4
+ * Options of `addCommand`, on top of the core install options.
5
+ *
6
+ * @property scope - Scope to install into; `project` when absent.
7
+ * @property source - Read only this registered source.
8
+ */
3
9
  export interface AddOptions extends InstallOptions {
4
10
  scope?: Scope;
5
- /** Read only this registered source */
6
11
  source?: string;
7
12
  }
8
13
  /**
9
- * Installs mods, or every mod of a source, from the registered sources into
14
+ * @brief Installs mods, or every mod of a source, from the registered sources into
10
15
  * the scope's `.claude/skills/`, records them in `mods.json` and sets up the
11
16
  * viewer. A name more than one source offers is picked as `<name>@<source>`;
12
17
  * with no names the user picks from what the sources provide.
18
+ *
19
+ * @param names - Mods to install, e.g. `auth-guard` or `auth-guard@my-source`; empty to pick interactively.
20
+ * @param options - Scope, source filter and install options.
21
+ * @param deps - Overrides for the project lookup, used by tests.
13
22
  */
14
23
  export declare function addCommand(names: string[], options?: AddOptions, deps?: ProjectDeps): Promise<void>;
15
24
  //# sourceMappingURL=add.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"add.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/add.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD,OAAO,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAGrD,MAAM,WAAW,UAAW,SAAQ,cAAc;IAChD,KAAK,CAAC,EAAG,KAAK,CAAC;IACf,uCAAuC;IACvC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;GAKG;AACH,wBAAsB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,OAAO,GAAE,UAAe,EAAE,IAAI,GAAE,WAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAajH"}
1
+ {"version":3,"file":"add.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/add.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD,OAAO,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAGrD;;;;;GAKG;AACH,MAAM,WAAW,UAAW,SAAQ,cAAc;IAChD,KAAK,CAAC,EAAG,KAAK,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;GASG;AACH,wBAAsB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,OAAO,GAAE,UAAe,EAAE,IAAI,GAAE,WAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAYjH"}
@@ -1,12 +1,16 @@
1
1
  // packages/mods/src/cli/commands/add.ts
2
- import { addFromSources, c, lineInfo } from "@g3nomaly/core/cli";
2
+ import { addFromSources } from "@g3nomaly/core/cli";
3
3
  import { MOD_CONTEXT, installedMods, openModProject, openModRegistry } from "../project";
4
4
  import { setUpViewer } from "../viewer";
5
5
  /**
6
- * Installs mods, or every mod of a source, from the registered sources into
6
+ * @brief Installs mods, or every mod of a source, from the registered sources into
7
7
  * the scope's `.claude/skills/`, records them in `mods.json` and sets up the
8
8
  * viewer. A name more than one source offers is picked as `<name>@<source>`;
9
9
  * with no names the user picks from what the sources provide.
10
+ *
11
+ * @param names - Mods to install, e.g. `auth-guard` or `auth-guard@my-source`; empty to pick interactively.
12
+ * @param options - Scope, source filter and install options.
13
+ * @param deps - Overrides for the project lookup, used by tests.
10
14
  */
11
15
  export async function addCommand(names, options = {}, deps = {}) {
12
16
  const project = openModProject(options.scope ?? "project", deps);
@@ -18,8 +22,7 @@ export async function addCommand(names, options = {}, deps = {}) {
18
22
  registry.dispose();
19
23
  }
20
24
  if (Object.keys(installedMods(project)).length > 0) {
21
- setUpViewer(project);
22
- console.log(lineInfo(`New sessions load the mods; in a running one, run ${c.cmd("/reload-plugins")}.`));
25
+ await setUpViewer(project);
23
26
  }
24
27
  }
25
28
  //# sourceMappingURL=add.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"add.js","sourceRoot":"","sources":["../../../src/cli/commands/add.ts"],"names":[],"mappings":"AAAA,wCAAwC;AACxC,OAAO,EAAE,cAAc,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEjE,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAEzF,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAQxC;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,KAAe,EAAE,OAAO,GAAe,EAAE,EAAE,IAAI,GAAgB,EAAE;IAChG,MAAM,OAAO,GAAI,cAAc,CAAC,OAAO,CAAC,KAAK,IAAI,SAAS,EAAE,IAAI,CAAC,CAAC;IAClE,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAChE,IAAI,CAAC;QACH,MAAM,cAAc,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;IAChF,CAAC;YAAS,CAAC;QACT,QAAQ,CAAC,OAAO,EAAE,CAAC;IACrB,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnD,WAAW,CAAC,OAAO,CAAC,CAAC;QACrB,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,qDAAqD,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1G,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"add.js","sourceRoot":"","sources":["../../../src/cli/commands/add.ts"],"names":[],"mappings":"AAAA,wCAAwC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAEzF,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAaxC;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,KAAe,EAAE,OAAO,GAAe,EAAE,EAAE,IAAI,GAAgB,EAAE;IAChG,MAAM,OAAO,GAAI,cAAc,CAAC,OAAO,CAAC,KAAK,IAAI,SAAS,EAAE,IAAI,CAAC,CAAC;IAClE,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAChE,IAAI,CAAC;QACH,MAAM,cAAc,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;IAChF,CAAC;YAAS,CAAC;QACT,QAAQ,CAAC,OAAO,EAAE,CAAC;IACrB,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnD,MAAM,WAAW,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;AACH,CAAC"}
@@ -1,13 +1,24 @@
1
1
  import type { ViewerLocation } from "../../viewer";
2
2
  import type { ProjectDeps, Scope } from "../project";
3
+ /**
4
+ * Options of `initCommand`.
5
+ *
6
+ * @property scope - Scope to create `mods.json` in; `project` when absent.
7
+ * @property location - Where Claude opens in VS Code; a location already set is kept when absent.
8
+ * @property replaceWrapper - Replace a process wrapper some other tool set.
9
+ */
3
10
  export interface InitOptions {
4
11
  scope?: Scope;
5
- /** Where Claude opens in VS Code; a location already set is kept when absent */
6
12
  location?: ViewerLocation;
13
+ replaceWrapper?: boolean;
7
14
  }
8
15
  /**
9
- * Creates the scope's `mods.json` when missing, sets up the viewer, and lists
10
- * the sources mods can be installed from.
16
+ * @brief Creates the scope's `mods.json` when missing, sets up the viewer (the relay
17
+ * Claude Code sessions run through and the window that draws their mods), and
18
+ * lists the sources mods can be installed from.
19
+ *
20
+ * @param options - Scope, viewer location, and whether to replace another tool's wrapper.
21
+ * @param deps - Overrides for the project lookup, used by tests.
11
22
  */
12
- export declare function initCommand(options?: InitOptions, deps?: ProjectDeps): void;
23
+ export declare function initCommand(options?: InitOptions, deps?: ProjectDeps): Promise<void>;
13
24
  //# sourceMappingURL=init.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnD,OAAO,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAIrD,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAK,KAAK,CAAC;IACjB,gFAAgF;IAChF,QAAQ,CAAC,EAAE,cAAc,CAAC;CAC3B;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,OAAO,GAAE,WAAgB,EAAE,IAAI,GAAE,WAAgB,GAAG,IAAI,CAYnF"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnD,OAAO,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAIrD;;;;;;GAMG;AACH,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAW,KAAK,CAAC;IACvB,QAAQ,CAAC,EAAQ,cAAc,CAAC;IAChC,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;;;;;;GAOG;AACH,wBAAsB,WAAW,CAAC,OAAO,GAAE,WAAgB,EAAE,IAAI,GAAE,WAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAYlG"}
@@ -7,16 +7,20 @@ import { openModProject } from "../project";
7
7
  import { setUpViewer } from "../viewer";
8
8
  import { sourceLsCommand } from "./source";
9
9
  /**
10
- * Creates the scope's `mods.json` when missing, sets up the viewer, and lists
11
- * the sources mods can be installed from.
10
+ * @brief Creates the scope's `mods.json` when missing, sets up the viewer (the relay
11
+ * Claude Code sessions run through and the window that draws their mods), and
12
+ * lists the sources mods can be installed from.
13
+ *
14
+ * @param options - Scope, viewer location, and whether to replace another tool's wrapper.
15
+ * @param deps - Overrides for the project lookup, used by tests.
12
16
  */
13
- export function initCommand(options = {}, deps = {}) {
17
+ export async function initCommand(options = {}, deps = {}) {
14
18
  const project = openModProject(options.scope ?? "project", deps);
15
19
  if (!fs.existsSync(project.target.manifest.filePath)) {
16
20
  saveInstallManifest(project.target.manifest, ModMetaSchema);
17
21
  console.log(lineSuccess(`Created ${c.file(project.target.manifest.filePath)}`));
18
22
  }
19
- setUpViewer(project, options.location);
23
+ await setUpViewer(project, { location: options.location, install: true, replaceWrapper: options.replaceWrapper });
20
24
  console.log(c.header("\nSources"));
21
25
  sourceLsCommand({ scope: project.scope }, deps);
22
26
  console.log(`\nRun ${c.cmd("g3n-mods ls")} to see the mods, ${c.cmd("g3n-mods add <mod>")} to install one.`);
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,CAAC,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAQ3C;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,OAAO,GAAgB,EAAE,EAAE,IAAI,GAAgB,EAAE;IAC3E,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,KAAK,IAAI,SAAS,EAAE,IAAI,CAAC,CAAC;IAEjE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QACrD,mBAAmB,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;QAC5D,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;IAClF,CAAC;IACD,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IAEvC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;IACnC,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,CAAC;IAChD,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC,GAAG,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,CAAC;AAC/G,CAAC"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,CAAC,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAe3C;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,OAAO,GAAgB,EAAE,EAAE,IAAI,GAAgB,EAAE;IACjF,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,KAAK,IAAI,SAAS,EAAE,IAAI,CAAC,CAAC;IAEjE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QACrD,mBAAmB,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;QAC5D,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;IAClF,CAAC;IACD,MAAM,WAAW,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;IAElH,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;IACnC,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,CAAC;IAChD,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC,GAAG,CAAC,oBAAoB,CAAC,kBAAkB,CAAC,CAAC;AAC/G,CAAC"}
@@ -1,12 +1,22 @@
1
1
  import type { LSOptions } from "@g3nomaly/core/cli";
2
2
  import type { ProjectDeps, Scope } from "../project";
3
+ /**
4
+ * Options of `lsCommand`, on top of the core listing options.
5
+ *
6
+ * @property scope - Scope to list; `project` when absent.
7
+ * @property installed - List what `mods.json` records instead of what the sources provide.
8
+ * @property source - Only the mods of this registered source.
9
+ */
3
10
  export interface LsOptions extends LSOptions {
4
11
  scope?: Scope;
5
- /** List what `mods.json` records instead of what the sources provide */
6
12
  installed?: boolean;
7
- /** Only the mods of this registered source */
8
13
  source?: string;
9
14
  }
10
- /** Lists the mods the scope's sources provide, `●` marking installed ones, or with `installed` only what is installed. */
15
+ /**
16
+ * @brief Lists the mods the scope's sources provide, `●` marking installed ones, or with `installed` only what is installed.
17
+ *
18
+ * @param options - Scope, source filter and listing options.
19
+ * @param deps - Overrides for the project lookup, used by tests.
20
+ */
11
21
  export declare function lsCommand(options?: LsOptions, deps?: ProjectDeps): Promise<void>;
12
22
  //# sourceMappingURL=ls.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ls.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/ls.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD,OAAO,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAErD,MAAM,WAAW,SAAU,SAAQ,SAAS;IAC1C,KAAK,CAAC,EAAM,KAAK,CAAC;IAClB,wEAAwE;IACxE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,8CAA8C;IAC9C,MAAM,CAAC,EAAK,MAAM,CAAC;CACpB;AAED,0HAA0H;AAC1H,wBAAsB,SAAS,CAAC,OAAO,GAAE,SAAc,EAAE,IAAI,GAAE,WAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAe9F"}
1
+ {"version":3,"file":"ls.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/ls.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD,OAAO,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAErD;;;;;;GAMG;AACH,MAAM,WAAW,SAAU,SAAQ,SAAS;IAC1C,KAAK,CAAC,EAAM,KAAK,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAK,MAAM,CAAC;CACpB;AAED;;;;;GAKG;AACH,wBAAsB,SAAS,CAAC,OAAO,GAAE,SAAc,EAAE,IAAI,GAAE,WAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAe9F"}
@@ -1,7 +1,12 @@
1
1
  // packages/mods/src/cli/commands/ls.ts
2
2
  import { lsEntries, lsSourceRegistry } from "@g3nomaly/core/cli";
3
3
  import { installedMods, openModProject, openModRegistry, modSources } from "../project";
4
- /** Lists the mods the scope's sources provide, `●` marking installed ones, or with `installed` only what is installed. */
4
+ /**
5
+ * @brief Lists the mods the scope's sources provide, `●` marking installed ones, or with `installed` only what is installed.
6
+ *
7
+ * @param options - Scope, source filter and listing options.
8
+ * @param deps - Overrides for the project lookup, used by tests.
9
+ */
5
10
  export async function lsCommand(options = {}, deps = {}) {
6
11
  const project = openModProject(options.scope ?? "project", deps);
7
12
  const installed = installedMods(project);
@@ -1 +1 @@
1
- {"version":3,"file":"ls.js","sourceRoot":"","sources":["../../../src/cli/commands/ls.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEjE,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAWxF,0HAA0H;AAC1H,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,OAAO,GAAc,EAAE,EAAE,IAAI,GAAgB,EAAE;IAC7E,MAAM,OAAO,GAAK,cAAc,CAAC,OAAO,CAAC,KAAK,IAAI,SAAS,EAAE,IAAI,CAAC,CAAC;IACnE,MAAM,SAAS,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IAEzC,IAAI,OAAO,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;QAC/B,SAAS,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC9B,OAAO;IACT,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAChE,IAAI,CAAC;QACH,gBAAgB,CAAC,QAAQ,EAAE,UAAU,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IACtE,CAAC;YAAS,CAAC;QACT,QAAQ,CAAC,OAAO,EAAE,CAAC;IACrB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"ls.js","sourceRoot":"","sources":["../../../src/cli/commands/ls.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEjE,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAgBxF;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,OAAO,GAAc,EAAE,EAAE,IAAI,GAAgB,EAAE;IAC7E,MAAM,OAAO,GAAK,cAAc,CAAC,OAAO,CAAC,KAAK,IAAI,SAAS,EAAE,IAAI,CAAC,CAAC;IACnE,MAAM,SAAS,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IAEzC,IAAI,OAAO,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;QAC/B,SAAS,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC9B,OAAO;IACT,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAChE,IAAI,CAAC;QACH,gBAAgB,CAAC,QAAQ,EAAE,UAAU,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IACtE,CAAC;YAAS,CAAC;QACT,QAAQ,CAAC,OAAO,EAAE,CAAC;IACrB,CAAC;AACH,CAAC"}
@@ -1,12 +1,21 @@
1
1
  import type { InstallOptions } from "@g3nomaly/core/cli";
2
2
  import type { ProjectDeps, Scope } from "../project";
3
+ /**
4
+ * Options of `removeCommand`, on top of the core install options.
5
+ *
6
+ * @property scope - Scope to remove from; `project` when absent.
7
+ */
3
8
  export interface RemoveOptions extends InstallOptions {
4
9
  scope?: Scope;
5
10
  }
6
11
  /**
7
- * Removes installed mods, or every mod of a source, with the type
12
+ * @brief Removes installed mods, or every mod of a source, with the type
8
13
  * declarations Claude Code wrote beside them, and drops them from
9
14
  * `mods.json`. With no names the user picks from what is installed.
15
+ *
16
+ * @param names - Mods to remove; empty to pick from what is installed.
17
+ * @param options - Scope and install options.
18
+ * @param deps - Overrides for the project lookup, used by tests.
10
19
  */
11
20
  export declare function removeCommand(names: string[], options?: RemoveOptions, deps?: ProjectDeps): Promise<void>;
12
21
  //# sourceMappingURL=remove.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"remove.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/remove.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAkB,MAAM,oBAAoB,CAAC;AAGzE,OAAO,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAErD,MAAM,WAAW,aAAc,SAAQ,cAAc;IACnD,KAAK,CAAC,EAAE,KAAK,CAAC;CACf;AAeD;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,OAAO,GAAE,aAAkB,EAAE,IAAI,GAAE,WAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAGvH"}
1
+ {"version":3,"file":"remove.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/remove.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAkB,MAAM,oBAAoB,CAAC;AAGzE,OAAO,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAErD;;;;GAIG;AACH,MAAM,WAAW,aAAc,SAAQ,cAAc;IACnD,KAAK,CAAC,EAAE,KAAK,CAAC;CACf;AAoBD;;;;;;;;GAQG;AACH,wBAAsB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,OAAO,GAAE,aAAkB,EAAE,IAAI,GAAE,WAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAGvH"}
@@ -6,7 +6,12 @@ import { createInstallerIO, pruneEmptyDirs } from "@g3nomaly/core/installer";
6
6
  import { MOD_CONTEXT, openModProject } from "../project";
7
7
  /** Folder Claude Code writes the mod API's declarations into when it loads a mod; never recorded in `mods.json`. */
8
8
  const ENGINE_TYPES_DIR = path.join(".claude-plugin", "types");
9
- /** Deletes the declarations Claude Code wrote into removed mods, then their emptied folders. */
9
+ /**
10
+ * Deletes the declarations Claude Code wrote into removed mods, then their emptied folders.
11
+ *
12
+ * @param target - Install destination the mods were removed from.
13
+ * @param removed - Folder names of the removed mods.
14
+ */
10
15
  function removeEngineTypes(target, removed) {
11
16
  const io = createInstallerIO();
12
17
  for (const key of removed) {
@@ -17,9 +22,13 @@ function removeEngineTypes(target, removed) {
17
22
  }
18
23
  }
19
24
  /**
20
- * Removes installed mods, or every mod of a source, with the type
25
+ * @brief Removes installed mods, or every mod of a source, with the type
21
26
  * declarations Claude Code wrote beside them, and drops them from
22
27
  * `mods.json`. With no names the user picks from what is installed.
28
+ *
29
+ * @param names - Mods to remove; empty to pick from what is installed.
30
+ * @param options - Scope and install options.
31
+ * @param deps - Overrides for the project lookup, used by tests.
23
32
  */
24
33
  export async function removeCommand(names, options = {}, deps = {}) {
25
34
  const project = openModProject(options.scope ?? "project", deps);
@@ -1 +1 @@
1
- {"version":3,"file":"remove.js","sourceRoot":"","sources":["../../../src/cli/commands/remove.ts"],"names":[],"mappings":"AAAA,2CAA2C;AAC3C,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAOzD,oHAAoH;AACpH,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;AAE9D,gGAAgG;AAChG,SAAS,iBAAiB,CAAC,MAAsB,EAAE,OAAiB;IAClE,MAAM,EAAE,GAAG,iBAAiB,EAAE,CAAC;IAC/B,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,GAAG,EAAE,gBAAgB,CAAC,CAAC;QACrE,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;YAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACtE,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IAChE,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,KAAe,EAAE,OAAO,GAAkB,EAAE,EAAE,IAAI,GAAgB,EAAE;IACtG,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,KAAK,IAAI,SAAS,EAAE,IAAI,CAAC,CAAC;IACjE,MAAM,iBAAiB,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,iBAAiB,CAAC,CAAC;AAC5F,CAAC"}
1
+ {"version":3,"file":"remove.js","sourceRoot":"","sources":["../../../src/cli/commands/remove.ts"],"names":[],"mappings":"AAAA,2CAA2C;AAC3C,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAYzD,oHAAoH;AACpH,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;AAE9D;;;;;GAKG;AACH,SAAS,iBAAiB,CAAC,MAAsB,EAAE,OAAiB;IAClE,MAAM,EAAE,GAAG,iBAAiB,EAAE,CAAC;IAC/B,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,GAAG,EAAE,gBAAgB,CAAC,CAAC;QACrE,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;YAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACtE,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IAChE,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,KAAe,EAAE,OAAO,GAAkB,EAAE,EAAE,IAAI,GAAgB,EAAE;IACtG,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,KAAK,IAAI,SAAS,EAAE,IAAI,CAAC,CAAC;IACjE,MAAM,iBAAiB,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,iBAAiB,CAAC,CAAC;AAC5F,CAAC"}
@@ -1,29 +1,60 @@
1
1
  import type { ProjectDeps, Scope } from "../project";
2
+ /**
3
+ * Options of `sourceAddCommand`.
4
+ *
5
+ * @property scope - Scope to register in; `project` when absent.
6
+ * @property name - Name to register under; derived from the spec when absent.
7
+ * @property ref - Branch or tag of a git source.
8
+ */
2
9
  export interface SourceAddOptions {
3
10
  scope?: Scope;
4
- /** Name to register under; derived from the spec when absent */
5
11
  name?: string;
6
- /** Branch or tag of a git source */
7
12
  ref?: string;
8
13
  }
14
+ /**
15
+ * Options of `sourceLsCommand`.
16
+ *
17
+ * @property scope - Scope to list; `project` when absent.
18
+ * @property json - Output as JSON.
19
+ */
9
20
  export interface SourceLsOptions {
10
21
  scope?: Scope;
11
22
  json?: boolean;
12
23
  }
24
+ /**
25
+ * Options of `sourceRemoveCommand`.
26
+ *
27
+ * @property scope - Scope to unregister from; `project` when absent.
28
+ * @property force - Unregister even while installed mods come from the source.
29
+ */
13
30
  export interface SourceRemoveOptions {
14
31
  scope?: Scope;
15
- /** Unregister even while installed mods come from the source */
16
32
  force?: boolean;
17
33
  }
18
34
  /**
19
- * Registers a git repository, npm package or local folder as a mod source in
35
+ * @brief Registers a git repository, npm package or local folder as a mod source in
20
36
  * the scope's `mods.json`, after checking it provides at least one mod. A
21
37
  * local path is stored relative to the project root, and absolute for the
22
38
  * user scope, which every project shares.
39
+ *
40
+ * @param input - Git URL, `owner/repo`, npm spec or local folder path.
41
+ * @param options - Scope, name and ref.
42
+ * @param deps - Overrides for the project lookup, used by tests.
23
43
  */
24
44
  export declare function sourceAddCommand(input: string, options?: SourceAddOptions, deps?: ProjectDeps): Promise<void>;
25
- /** Lists the built-in and registered sources of the scope, with how many installed mods came from each. */
45
+ /**
46
+ * @brief Lists the built-in and registered sources of the scope, with how many installed mods came from each.
47
+ *
48
+ * @param options - Scope and output format.
49
+ * @param deps - Overrides for the project lookup, used by tests.
50
+ */
26
51
  export declare function sourceLsCommand(options?: SourceLsOptions, deps?: ProjectDeps): void;
27
- /** Unregisters a source; refused for built-in sources and, unless forced, while installed mods came from it. */
52
+ /**
53
+ * @brief Unregisters a source; refused for built-in sources and, unless forced, while installed mods came from it.
54
+ *
55
+ * @param name - Name of the source to unregister.
56
+ * @param options - Scope and force flag.
57
+ * @param deps - Overrides for the project lookup, used by tests.
58
+ */
28
59
  export declare function sourceRemoveCommand(name: string, options?: SourceRemoveOptions, deps?: ProjectDeps): void;
29
60
  //# sourceMappingURL=source.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"source.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/source.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAc,WAAW,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEjE,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,gEAAgE;IAChE,IAAI,CAAC,EAAG,MAAM,CAAC;IACf,oCAAoC;IACpC,GAAG,CAAC,EAAI,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,IAAI,CAAC,EAAG,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,gEAAgE;IAChE,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAOD;;;;;GAKG;AACH,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,gBAAqB,EAAE,IAAI,GAAE,WAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAG3H;AAED,2GAA2G;AAC3G,wBAAgB,eAAe,CAAC,OAAO,GAAE,eAAoB,EAAE,IAAI,GAAE,WAAgB,GAAG,IAAI,CAG3F;AAED,gHAAgH;AAChH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,mBAAwB,EAAE,IAAI,GAAE,WAAgB,GAAG,IAAI,CAGjH"}
1
+ {"version":3,"file":"source.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/source.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAc,WAAW,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEjE;;;;;;GAMG;AACH,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,IAAI,CAAC,EAAG,MAAM,CAAC;IACf,GAAG,CAAC,EAAI,MAAM,CAAC;CAChB;AAED;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,IAAI,CAAC,EAAG,OAAO,CAAC;CACjB;AAED;;;;;GAKG;AACH,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAWD;;;;;;;;;GASG;AACH,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,gBAAqB,EAAE,IAAI,GAAE,WAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAG3H;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,OAAO,GAAE,eAAoB,EAAE,IAAI,GAAE,WAAgB,GAAG,IAAI,CAG3F;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,mBAAwB,EAAE,IAAI,GAAE,WAAgB,GAAG,IAAI,CAGjH"}
@@ -3,26 +3,45 @@ import { addSourceEntries, lsSources, removeSourceEntries } from "@g3nomaly/core
3
3
  import { readModSource } from "../../registry/readSource";
4
4
  import { BUILTIN_SOURCES } from "../../sources/builtins";
5
5
  import { MOD_CONTEXT, openModProject } from "../project";
6
- /** What the core source commands need to know about mods in one scope. */
6
+ /**
7
+ * @brief Builds the context the core source commands use for mods in one scope.
8
+ *
9
+ * @param project - Scope the commands work on.
10
+ */
7
11
  function sourceContext(project) {
8
12
  return { ...MOD_CONTEXT, builtins: BUILTIN_SOURCES, readSource: readModSource, projectRoot: project.projectRoot };
9
13
  }
10
14
  /**
11
- * Registers a git repository, npm package or local folder as a mod source in
15
+ * @brief Registers a git repository, npm package or local folder as a mod source in
12
16
  * the scope's `mods.json`, after checking it provides at least one mod. A
13
17
  * local path is stored relative to the project root, and absolute for the
14
18
  * user scope, which every project shares.
19
+ *
20
+ * @param input - Git URL, `owner/repo`, npm spec or local folder path.
21
+ * @param options - Scope, name and ref.
22
+ * @param deps - Overrides for the project lookup, used by tests.
15
23
  */
16
24
  export async function sourceAddCommand(input, options = {}, deps = {}) {
17
25
  const project = openModProject(options.scope ?? "project", deps);
18
26
  await addSourceEntries([project.target], input, { name: options.name, ref: options.ref, absolutePaths: project.scope === "user" }, sourceContext(project));
19
27
  }
20
- /** Lists the built-in and registered sources of the scope, with how many installed mods came from each. */
28
+ /**
29
+ * @brief Lists the built-in and registered sources of the scope, with how many installed mods came from each.
30
+ *
31
+ * @param options - Scope and output format.
32
+ * @param deps - Overrides for the project lookup, used by tests.
33
+ */
21
34
  export function sourceLsCommand(options = {}, deps = {}) {
22
35
  const project = openModProject(options.scope ?? "project", deps);
23
36
  lsSources([project.target], options, sourceContext(project));
24
37
  }
25
- /** Unregisters a source; refused for built-in sources and, unless forced, while installed mods came from it. */
38
+ /**
39
+ * @brief Unregisters a source; refused for built-in sources and, unless forced, while installed mods came from it.
40
+ *
41
+ * @param name - Name of the source to unregister.
42
+ * @param options - Scope and force flag.
43
+ * @param deps - Overrides for the project lookup, used by tests.
44
+ */
26
45
  export function sourceRemoveCommand(name, options = {}, deps = {}) {
27
46
  const project = openModProject(options.scope ?? "project", deps);
28
47
  removeSourceEntries([project.target], name, options, sourceContext(project));
@@ -1 +1 @@
1
- {"version":3,"file":"source.js","sourceRoot":"","sources":["../../../src/cli/commands/source.ts"],"names":[],"mappings":"AAAA,2CAA2C;AAC3C,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAEtF,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE1D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAsBzD,0EAA0E;AAC1E,SAAS,aAAa,CAAC,OAAmB;IACxC,OAAO,EAAE,GAAG,WAAW,EAAE,QAAQ,EAAE,eAAe,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC;AACpH,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,KAAa,EAAE,OAAO,GAAqB,EAAE,EAAE,IAAI,GAAgB,EAAE;IAC1G,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,KAAK,IAAI,SAAS,EAAE,IAAI,CAAC,CAAC;IACjE,MAAM,gBAAgB,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,aAAa,EAAE,OAAO,CAAC,KAAK,KAAK,MAAM,EAAE,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;AAC7J,CAAC;AAED,2GAA2G;AAC3G,MAAM,UAAU,eAAe,CAAC,OAAO,GAAoB,EAAE,EAAE,IAAI,GAAgB,EAAE;IACnF,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,KAAK,IAAI,SAAS,EAAE,IAAI,CAAC,CAAC;IACjE,SAAS,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;AAC/D,CAAC;AAED,gHAAgH;AAChH,MAAM,UAAU,mBAAmB,CAAC,IAAY,EAAE,OAAO,GAAwB,EAAE,EAAE,IAAI,GAAgB,EAAE;IACzG,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,KAAK,IAAI,SAAS,EAAE,IAAI,CAAC,CAAC;IACjE,mBAAmB,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;AAC/E,CAAC"}
1
+ {"version":3,"file":"source.js","sourceRoot":"","sources":["../../../src/cli/commands/source.ts"],"names":[],"mappings":"AAAA,2CAA2C;AAC3C,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAEtF,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE1D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAsCzD;;;;GAIG;AACH,SAAS,aAAa,CAAC,OAAmB;IACxC,OAAO,EAAE,GAAG,WAAW,EAAE,QAAQ,EAAE,eAAe,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC;AACpH,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,KAAa,EAAE,OAAO,GAAqB,EAAE,EAAE,IAAI,GAAgB,EAAE;IAC1G,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,KAAK,IAAI,SAAS,EAAE,IAAI,CAAC,CAAC;IACjE,MAAM,gBAAgB,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,aAAa,EAAE,OAAO,CAAC,KAAK,KAAK,MAAM,EAAE,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;AAC7J,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,OAAO,GAAoB,EAAE,EAAE,IAAI,GAAgB,EAAE;IACnF,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,KAAK,IAAI,SAAS,EAAE,IAAI,CAAC,CAAC;IACjE,SAAS,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;AAC/D,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAY,EAAE,OAAO,GAAwB,EAAE,EAAE,IAAI,GAAgB,EAAE;IACzG,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,KAAK,IAAI,SAAS,EAAE,IAAI,CAAC,CAAC;IACjE,mBAAmB,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;AAC/E,CAAC"}
@@ -1,12 +1,21 @@
1
1
  import type { InstallOptions } from "@g3nomaly/core/cli";
2
2
  import type { ProjectDeps, Scope } from "../project";
3
+ /**
4
+ * Options of `updateCommand`, on top of the core install options.
5
+ *
6
+ * @property scope - Scope to update; `project` when absent.
7
+ */
3
8
  export interface UpdateOptions extends InstallOptions {
4
9
  scope?: Scope;
5
10
  }
6
11
  /**
7
- * Re-installs installed mods from the source each one was installed from,
12
+ * @brief Re-installs installed mods from the source each one was installed from,
8
13
  * at that source's current revision; with no names, everything installed.
9
14
  * Files the user changed since install are kept unless overwritten.
15
+ *
16
+ * @param names - Mods to update; empty for everything installed.
17
+ * @param options - Scope and install options.
18
+ * @param deps - Overrides for the project lookup, used by tests.
10
19
  */
11
20
  export declare function updateCommand(names: string[], options?: UpdateOptions, deps?: ProjectDeps): Promise<void>;
12
21
  //# sourceMappingURL=update.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/update.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD,OAAO,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAErD,MAAM,WAAW,aAAc,SAAQ,cAAc;IACnD,KAAK,CAAC,EAAE,KAAK,CAAC;CACf;AAED;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,OAAO,GAAE,aAAkB,EAAE,IAAI,GAAE,WAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAGvH"}
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/update.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD,OAAO,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAErD;;;;GAIG;AACH,MAAM,WAAW,aAAc,SAAQ,cAAc;IACnD,KAAK,CAAC,EAAE,KAAK,CAAC;CACf;AAED;;;;;;;;GAQG;AACH,wBAAsB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,OAAO,GAAE,aAAkB,EAAE,IAAI,GAAE,WAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAGvH"}
@@ -2,9 +2,13 @@
2
2
  import { updateFromSources } from "@g3nomaly/core/cli";
3
3
  import { MOD_CONTEXT, openModProject, openModRegistry } from "../project";
4
4
  /**
5
- * Re-installs installed mods from the source each one was installed from,
5
+ * @brief Re-installs installed mods from the source each one was installed from,
6
6
  * at that source's current revision; with no names, everything installed.
7
7
  * Files the user changed since install are kept unless overwritten.
8
+ *
9
+ * @param names - Mods to update; empty for everything installed.
10
+ * @param options - Scope and install options.
11
+ * @param deps - Overrides for the project lookup, used by tests.
8
12
  */
9
13
  export async function updateCommand(names, options = {}, deps = {}) {
10
14
  const project = openModProject(options.scope ?? "project", deps);
@@ -1 +1 @@
1
- {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/cli/commands/update.ts"],"names":[],"mappings":"AAAA,2CAA2C;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAO1E;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,KAAe,EAAE,OAAO,GAAkB,EAAE,EAAE,IAAI,GAAgB,EAAE;IACtG,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,KAAK,IAAI,SAAS,EAAE,IAAI,CAAC,CAAC;IACjE,MAAM,iBAAiB,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;AACzG,CAAC"}
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/cli/commands/update.ts"],"names":[],"mappings":"AAAA,2CAA2C;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAY1E;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,KAAe,EAAE,OAAO,GAAkB,EAAE,EAAE,IAAI,GAAgB,EAAE;IACtG,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC,KAAK,IAAI,SAAS,EAAE,IAAI,CAAC,CAAC;IACjE,MAAM,iBAAiB,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;AACzG,CAAC"}
package/dist/cli/index.js CHANGED
@@ -9,7 +9,12 @@ import { lsCommand } from "./commands/ls";
9
9
  import { removeCommand } from "./commands/remove";
10
10
  import { sourceAddCommand, sourceLsCommand, sourceRemoveCommand } from "./commands/source";
11
11
  import { updateCommand } from "./commands/update";
12
- /** Every command takes `--user` to work on `~/.claude/` instead of the project. */
12
+ /**
13
+ * @brief Maps the `--user` flag to a scope, so every command can work on `~/.claude/`.
14
+ *
15
+ * @param opts - Parsed options holding the `--user` flag.
16
+ * @returns `user` when the flag is set, `project` otherwise.
17
+ */
13
18
  function scopeOf(opts) {
14
19
  return opts.user === true ? "user" : "project";
15
20
  }
@@ -18,12 +23,13 @@ const program = new Command()
18
23
  .description("Install Claude Code mods from registered sources");
19
24
  program
20
25
  .command("init")
21
- .description("Create mods.json and set up VS Code to show mods")
26
+ .description("Create mods.json, set up the relay and install the mods viewer for VS Code")
22
27
  .option("-u, --user", "Work on ~/.claude/ for every project")
23
28
  .option("--location <where>", "Where Claude opens in VS Code: panel (an editor tab) or sidebar")
24
- .action((opts) => {
29
+ .option("--replace-wrapper", "Replace a Claude Code process wrapper another tool set")
30
+ .action(async (opts) => {
25
31
  const location = opts.location === undefined ? undefined : ViewerLocationSchema.parse(opts.location);
26
- initCommand({ scope: scopeOf(opts), location });
32
+ await initCommand({ scope: scopeOf(opts), location, replaceWrapper: opts.replaceWrapper });
27
33
  });
28
34
  program
29
35
  .command("ls")
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}