@g3nomaly/mods 0.0.0-stage → 0.1.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.
- package/LICENSE +95 -0
- package/README.md +95 -2
- package/dist/cli/commands/add.d.ts +15 -0
- package/dist/cli/commands/add.d.ts.map +1 -0
- package/dist/cli/commands/add.js +25 -0
- package/dist/cli/commands/add.js.map +1 -0
- package/dist/cli/commands/init.d.ts +13 -0
- package/dist/cli/commands/init.d.ts.map +1 -0
- package/dist/cli/commands/init.js +24 -0
- package/dist/cli/commands/init.js.map +1 -0
- package/dist/cli/commands/ls.d.ts +12 -0
- package/dist/cli/commands/ls.d.ts.map +1 -0
- package/dist/cli/commands/ls.js +20 -0
- package/dist/cli/commands/ls.js.map +1 -0
- package/dist/cli/commands/remove.d.ts +12 -0
- package/dist/cli/commands/remove.d.ts.map +1 -0
- package/dist/cli/commands/remove.js +28 -0
- package/dist/cli/commands/remove.js.map +1 -0
- package/dist/cli/commands/source.d.ts +29 -0
- package/dist/cli/commands/source.d.ts.map +1 -0
- package/dist/cli/commands/source.js +30 -0
- package/dist/cli/commands/source.js.map +1 -0
- package/dist/cli/commands/update.d.ts +12 -0
- package/dist/cli/commands/update.d.ts.map +1 -0
- package/dist/cli/commands/update.js +13 -0
- package/dist/cli/commands/update.js.map +1 -0
- package/dist/cli/index.d.ts +3 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +95 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/project.d.ts +49 -0
- package/dist/cli/project.d.ts.map +1 -0
- package/dist/cli/project.js +58 -0
- package/dist/cli/project.js.map +1 -0
- package/dist/cli/viewer.d.ts +11 -0
- package/dist/cli/viewer.d.ts.map +1 -0
- package/dist/cli/viewer.js +32 -0
- package/dist/cli/viewer.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -0
- package/dist/registry/index.d.ts +7 -0
- package/dist/registry/index.d.ts.map +1 -0
- package/dist/registry/index.js +7 -0
- package/dist/registry/index.js.map +1 -0
- package/dist/registry/locate.d.ts +16 -0
- package/dist/registry/locate.d.ts.map +1 -0
- package/dist/registry/locate.js +41 -0
- package/dist/registry/locate.js.map +1 -0
- package/dist/registry/manifest.d.ts +8 -0
- package/dist/registry/manifest.d.ts.map +1 -0
- package/dist/registry/manifest.js +13 -0
- package/dist/registry/manifest.js.map +1 -0
- package/dist/registry/readModDir.d.ts +20 -0
- package/dist/registry/readModDir.d.ts.map +1 -0
- package/dist/registry/readModDir.js +79 -0
- package/dist/registry/readModDir.js.map +1 -0
- package/dist/registry/readSource.d.ts +9 -0
- package/dist/registry/readSource.d.ts.map +1 -0
- package/dist/registry/readSource.js +27 -0
- package/dist/registry/readSource.js.map +1 -0
- package/dist/registry/types.d.ts +54 -0
- package/dist/registry/types.d.ts.map +1 -0
- package/dist/registry/types.js +20 -0
- package/dist/registry/types.js.map +1 -0
- package/dist/sources/builtins.d.ts +4 -0
- package/dist/sources/builtins.d.ts.map +1 -0
- package/dist/sources/builtins.js +5 -0
- package/dist/sources/builtins.js.map +1 -0
- package/dist/sources/index.d.ts +2 -0
- package/dist/sources/index.d.ts.map +1 -0
- package/dist/sources/index.js +3 -0
- package/dist/sources/index.js.map +1 -0
- package/dist/viewer/extension.d.ts +18 -0
- package/dist/viewer/extension.d.ts.map +1 -0
- package/dist/viewer/extension.js +43 -0
- package/dist/viewer/extension.js.map +1 -0
- package/dist/viewer/index.d.ts +5 -0
- package/dist/viewer/index.d.ts.map +1 -0
- package/dist/viewer/index.js +4 -0
- package/dist/viewer/index.js.map +1 -0
- package/dist/viewer/settings.d.ts +31 -0
- package/dist/viewer/settings.d.ts.map +1 -0
- package/dist/viewer/settings.js +44 -0
- package/dist/viewer/settings.js.map +1 -0
- package/package.json +37 -4
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/** Lowest Claude Code release whose mod API the g3n mods are written against. */
|
|
2
|
+
export declare const MIN_ENGINE_VERSION = "2.1.296";
|
|
3
|
+
/** One installed copy of the Claude Code VS Code extension. */
|
|
4
|
+
export interface ClaudeExtension {
|
|
5
|
+
version: string;
|
|
6
|
+
/** Absolute extension folder */
|
|
7
|
+
dir: string;
|
|
8
|
+
}
|
|
9
|
+
/** Compares two `major.minor.patch` versions; negative when `a` is older than `b`. */
|
|
10
|
+
export declare function compareVersions(a: string, b: string): number;
|
|
11
|
+
/**
|
|
12
|
+
* Newest Claude Code extension installed for any editor of the VS Code family.
|
|
13
|
+
*
|
|
14
|
+
* @param home - Home directory to search under; the current user's by default
|
|
15
|
+
* @returns the newest copy, or `null` when none is installed
|
|
16
|
+
*/
|
|
17
|
+
export declare function findClaudeExtension(home?: string): ClaudeExtension | null;
|
|
18
|
+
//# sourceMappingURL=extension.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extension.d.ts","sourceRoot":"","sources":["../../src/viewer/extension.ts"],"names":[],"mappings":"AAKA,iFAAiF;AACjF,eAAO,MAAM,kBAAkB,YAAY,CAAC;AAO5C,+DAA+D;AAC/D,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,gCAAgC;IAChC,GAAG,EAAM,MAAM,CAAC;CACjB;AAED,sFAAsF;AACtF,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAQ5D;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,GAAE,MAAqB,GAAG,eAAe,GAAG,IAAI,CAYvF"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
// packages/mods/src/viewer/extension.ts
|
|
2
|
+
import fs from "node:fs";
|
|
3
|
+
import os from "node:os";
|
|
4
|
+
import path from "node:path";
|
|
5
|
+
/** Lowest Claude Code release whose mod API the g3n mods are written against. */
|
|
6
|
+
export const MIN_ENGINE_VERSION = "2.1.296";
|
|
7
|
+
/** Extension folders of the VS Code family, relative to the home directory: local, WSL/SSH server, Insiders, Cursor. */
|
|
8
|
+
const EXTENSION_ROOTS = [".vscode/extensions", ".vscode-server/extensions", ".vscode-insiders/extensions", ".cursor/extensions"];
|
|
9
|
+
const EXTENSION_DIR = /^anthropic\.claude-code-(\d+\.\d+\.\d+)(?:-.+)?$/;
|
|
10
|
+
/** Compares two `major.minor.patch` versions; negative when `a` is older than `b`. */
|
|
11
|
+
export function compareVersions(a, b) {
|
|
12
|
+
const pa = a.split(".").map(Number);
|
|
13
|
+
const pb = b.split(".").map(Number);
|
|
14
|
+
for (let i = 0; i < 3; i++) {
|
|
15
|
+
const diff = (pa[i] ?? 0) - (pb[i] ?? 0);
|
|
16
|
+
if (diff !== 0)
|
|
17
|
+
return diff;
|
|
18
|
+
}
|
|
19
|
+
return 0;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Newest Claude Code extension installed for any editor of the VS Code family.
|
|
23
|
+
*
|
|
24
|
+
* @param home - Home directory to search under; the current user's by default
|
|
25
|
+
* @returns the newest copy, or `null` when none is installed
|
|
26
|
+
*/
|
|
27
|
+
export function findClaudeExtension(home = os.homedir()) {
|
|
28
|
+
let newest = null;
|
|
29
|
+
for (const root of EXTENSION_ROOTS) {
|
|
30
|
+
const dir = path.join(home, root);
|
|
31
|
+
if (!fs.existsSync(dir))
|
|
32
|
+
continue;
|
|
33
|
+
for (const name of fs.readdirSync(dir)) {
|
|
34
|
+
const version = EXTENSION_DIR.exec(name)?.[1];
|
|
35
|
+
if (version === undefined)
|
|
36
|
+
continue;
|
|
37
|
+
if (newest === null || compareVersions(version, newest.version) > 0)
|
|
38
|
+
newest = { version, dir: path.join(dir, name) };
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
return newest;
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=extension.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extension.js","sourceRoot":"","sources":["../../src/viewer/extension.ts"],"names":[],"mappings":"AAAA,wCAAwC;AACxC,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,iFAAiF;AACjF,MAAM,CAAC,MAAM,kBAAkB,GAAG,SAAS,CAAC;AAE5C,wHAAwH;AACxH,MAAM,eAAe,GAAG,CAAC,oBAAoB,EAAE,2BAA2B,EAAE,6BAA6B,EAAE,oBAAoB,CAAC,CAAC;AAEjI,MAAM,aAAa,GAAG,kDAAkD,CAAC;AASzE,sFAAsF;AACtF,MAAM,UAAU,eAAe,CAAC,CAAS,EAAE,CAAS;IAClD,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACpC,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,MAAM,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QACzC,IAAI,IAAI,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;IAC9B,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAI,GAAW,EAAE,CAAC,OAAO,EAAE;IAC7D,IAAI,MAAM,GAA2B,IAAI,CAAC;IAC1C,KAAK,MAAM,IAAI,IAAI,eAAe,EAAE,CAAC;QACnC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,SAAS;QAClC,KAAK,MAAM,IAAI,IAAI,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;YACvC,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAC9C,IAAI,OAAO,KAAK,SAAS;gBAAE,SAAS;YACpC,IAAI,MAAM,KAAK,IAAI,IAAI,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;gBAAE,MAAM,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC;QACvH,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { MIN_ENGINE_VERSION, compareVersions, findClaudeExtension } from "./extension";
|
|
2
|
+
export type { ClaudeExtension } from "./extension";
|
|
3
|
+
export { ViewerLocationSchema, configureViewer } from "./settings";
|
|
4
|
+
export type { ViewerLocation, ViewerSettingsResult } from "./settings";
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/viewer/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACvF,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AACnE,YAAY,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/viewer/index.ts"],"names":[],"mappings":"AAAA,oCAAoC;AACpC,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEvF,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
/** Where the Claude Code extension opens: an editor tab (`panel`) or the side bar. */
|
|
3
|
+
export declare const ViewerLocationSchema: z.ZodEnum<{
|
|
4
|
+
panel: "panel";
|
|
5
|
+
sidebar: "sidebar";
|
|
6
|
+
}>;
|
|
7
|
+
export type ViewerLocation = z.infer<typeof ViewerLocationSchema>;
|
|
8
|
+
/** What `configureViewer` did to the workspace settings. */
|
|
9
|
+
export type ViewerSettingsResult = {
|
|
10
|
+
kind: "written";
|
|
11
|
+
file: string;
|
|
12
|
+
} | {
|
|
13
|
+
kind: "unchanged";
|
|
14
|
+
file: string;
|
|
15
|
+
}
|
|
16
|
+
/** The file exists but is not plain JSON (comments, trailing commas); nothing was written */
|
|
17
|
+
| {
|
|
18
|
+
kind: "unreadable";
|
|
19
|
+
file: string;
|
|
20
|
+
settings: Record<string, unknown>;
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* Points the project's VS Code workspace at the extension's native UI, the
|
|
24
|
+
* surface mods draw on: sets where Claude opens and turns off terminal mode.
|
|
25
|
+
* Other settings in the file are kept.
|
|
26
|
+
*
|
|
27
|
+
* @param projectRoot - Absolute project root holding `.vscode/`
|
|
28
|
+
* @param location - Where Claude opens; when absent, a location already set is kept and `panel` is the default
|
|
29
|
+
*/
|
|
30
|
+
export declare function configureViewer(projectRoot: string, location?: ViewerLocation): ViewerSettingsResult;
|
|
31
|
+
//# sourceMappingURL=settings.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../src/viewer/settings.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,sFAAsF;AACtF,eAAO,MAAM,oBAAoB;;;EAA+B,CAAC;AAEjE,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAQlE,4DAA4D;AAC5D,MAAM,MAAM,oBAAoB,GAC5B;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACjC;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE;AACrC,6FAA6F;GAC3F;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAAC;AAE5E;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,cAAc,GAAG,oBAAoB,CAkBpG"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
// packages/mods/src/viewer/settings.ts
|
|
2
|
+
import fs from "node:fs";
|
|
3
|
+
import path from "node:path";
|
|
4
|
+
import { z } from "zod";
|
|
5
|
+
/** Where the Claude Code extension opens: an editor tab (`panel`) or the side bar. */
|
|
6
|
+
export const ViewerLocationSchema = z.enum(["panel", "sidebar"]);
|
|
7
|
+
const SETTINGS_FILE = path.join(".vscode", "settings.json");
|
|
8
|
+
const LOCATION_KEY = "claudeCode.preferredLocation";
|
|
9
|
+
const TERMINAL_KEY = "claudeCode.useTerminal";
|
|
10
|
+
const SettingsSchema = z.record(z.string(), z.unknown());
|
|
11
|
+
/**
|
|
12
|
+
* Points the project's VS Code workspace at the extension's native UI, the
|
|
13
|
+
* surface mods draw on: sets where Claude opens and turns off terminal mode.
|
|
14
|
+
* Other settings in the file are kept.
|
|
15
|
+
*
|
|
16
|
+
* @param projectRoot - Absolute project root holding `.vscode/`
|
|
17
|
+
* @param location - Where Claude opens; when absent, a location already set is kept and `panel` is the default
|
|
18
|
+
*/
|
|
19
|
+
export function configureViewer(projectRoot, location) {
|
|
20
|
+
const file = path.join(projectRoot, SETTINGS_FILE);
|
|
21
|
+
let current = {};
|
|
22
|
+
if (fs.existsSync(file)) {
|
|
23
|
+
const parsed = SettingsSchema.safeParse(safeJson(fs.readFileSync(file, "utf8")));
|
|
24
|
+
current = parsed.success ? parsed.data : undefined;
|
|
25
|
+
}
|
|
26
|
+
const kept = ViewerLocationSchema.safeParse(current?.[LOCATION_KEY]);
|
|
27
|
+
const wanted = { [LOCATION_KEY]: location ?? (kept.success ? kept.data : "panel"), [TERMINAL_KEY]: false };
|
|
28
|
+
if (current === undefined)
|
|
29
|
+
return { kind: "unreadable", file, settings: wanted };
|
|
30
|
+
if (Object.entries(wanted).every(([key, value]) => current[key] === value))
|
|
31
|
+
return { kind: "unchanged", file };
|
|
32
|
+
fs.mkdirSync(path.dirname(file), { recursive: true });
|
|
33
|
+
fs.writeFileSync(file, JSON.stringify({ ...current, ...wanted }, null, 2) + "\n");
|
|
34
|
+
return { kind: "written", file };
|
|
35
|
+
}
|
|
36
|
+
function safeJson(text) {
|
|
37
|
+
try {
|
|
38
|
+
return JSON.parse(text);
|
|
39
|
+
}
|
|
40
|
+
catch {
|
|
41
|
+
return undefined;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=settings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../../src/viewer/settings.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,sFAAsF;AACtF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;AAIjE,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;AAC5D,MAAM,YAAY,GAAI,8BAA8B,CAAC;AACrD,MAAM,YAAY,GAAI,wBAAwB,CAAC;AAE/C,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;AASzD;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAAC,WAAmB,EAAE,QAAyB;IAC5E,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IAEnD,IAAI,OAAO,GAAwC,EAAE,CAAC;IACtD,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACxB,MAAM,MAAM,GAAG,cAAc,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;QACjF,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IACrD,CAAC;IAED,MAAM,IAAI,GAAK,oBAAoB,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IACvE,MAAM,MAAM,GAAG,EAAE,CAAC,YAAY,CAAC,EAAE,QAAQ,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,CAAC;IAC3G,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;IAEjF,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;IAE/G,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACtD,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,OAAO,EAAE,GAAG,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAClF,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;AACnC,CAAC;AAED,SAAS,QAAQ,CAAC,IAAY;IAC5B,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAY,CAAC;IACrC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,39 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@g3nomaly/mods",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"
|
|
5
|
-
"
|
|
6
|
-
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Installer for Claude Code mods: registers mod sources and installs, updates and removes mods from them.",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"bin": {
|
|
7
|
+
"g3n-mods": "./dist/cli/index.js"
|
|
8
|
+
},
|
|
9
|
+
"main": "./dist/index.js",
|
|
10
|
+
"exports": {
|
|
11
|
+
".": {
|
|
12
|
+
"types": "./dist/index.d.ts",
|
|
13
|
+
"default": "./dist/index.js"
|
|
14
|
+
},
|
|
15
|
+
"./package.json": "./package.json"
|
|
16
|
+
},
|
|
17
|
+
"files": [
|
|
18
|
+
"dist"
|
|
19
|
+
],
|
|
20
|
+
"scripts": {
|
|
21
|
+
"build": "rm -rf dist && tsc --project tsconfig.build.json",
|
|
22
|
+
"typecheck": "tsc --noEmit",
|
|
23
|
+
"mods": "bun run src/cli/index.ts"
|
|
24
|
+
},
|
|
25
|
+
"dependencies": {
|
|
26
|
+
"@g3nomaly/core": "^0.3.1",
|
|
27
|
+
"chalk": "^6.0.0",
|
|
28
|
+
"commander": "^15.0.0",
|
|
29
|
+
"zod": "^4.4.3"
|
|
30
|
+
},
|
|
31
|
+
"devDependencies": {
|
|
32
|
+
"@types/bun": "^1.4.0",
|
|
33
|
+
"typescript": "~7.0.2"
|
|
34
|
+
},
|
|
35
|
+
"license": "Elastic-2.0",
|
|
36
|
+
"publishConfig": {
|
|
37
|
+
"access": "public"
|
|
38
|
+
}
|
|
39
|
+
}
|