ga-plugins-cli 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 (55) hide show
  1. package/dist/config-patcher.d.ts +20 -50
  2. package/dist/config-patcher.d.ts.map +1 -1
  3. package/dist/config-patcher.js +138 -102
  4. package/dist/config-patcher.js.map +1 -1
  5. package/dist/index.js +75 -22
  6. package/dist/index.js.map +1 -1
  7. package/dist/installer.d.ts +0 -18
  8. package/dist/installer.d.ts.map +1 -1
  9. package/dist/installer.js +19 -39
  10. package/dist/installer.js.map +1 -1
  11. package/dist/types.d.ts +10 -6
  12. package/dist/types.d.ts.map +1 -1
  13. package/dist/uninstaller.d.ts +0 -23
  14. package/dist/uninstaller.d.ts.map +1 -1
  15. package/dist/uninstaller.js +22 -68
  16. package/dist/uninstaller.js.map +1 -1
  17. package/package.json +3 -2
  18. package/plugins/go-reviewer/.claude-plugin/plugin.json +12 -0
  19. package/plugins/go-reviewer/commands/go-review.md +424 -0
  20. package/plugins/go-reviewer/mcp-servers/go-reviewer-mcp/README.md +236 -0
  21. package/plugins/go-reviewer/mcp-servers/go-reviewer-mcp/main.go +678 -0
  22. package/plugins/go-scaffolder/.claude-plugin/plugin.json +12 -0
  23. package/plugins/go-scaffolder/commands/scaffold-service.md +802 -0
  24. package/plugins/go-scaffolder/reference-service/.env.example +27 -0
  25. package/plugins/go-scaffolder/reference-service/Dockerfile +55 -0
  26. package/plugins/go-scaffolder/reference-service/REFERENCE-SERVICE-NOTICE.md +104 -0
  27. package/plugins/go-scaffolder/reference-service/cmd/server/main.go +266 -0
  28. package/plugins/go-scaffolder/reference-service/config/config.go +67 -0
  29. package/plugins/go-scaffolder/reference-service/go.mod +17 -0
  30. package/plugins/go-scaffolder/reference-service/internal/domain/booking.go +118 -0
  31. package/plugins/go-scaffolder/reference-service/internal/handler/booking.go +242 -0
  32. package/plugins/go-scaffolder/reference-service/internal/handler/booking_test.go +451 -0
  33. package/plugins/go-scaffolder/reference-service/internal/repository/booking_postgres.go +124 -0
  34. package/plugins/go-scaffolder/reference-service/internal/usecase/booking.go +181 -0
  35. package/plugins/go-standards/.claude-plugin/plugin.json +22 -0
  36. package/plugins/go-standards/commands/go-standards-check.md +232 -0
  37. package/plugins/go-standards/skills/concurrency.md +336 -0
  38. package/plugins/go-standards/skills/config.md +267 -0
  39. package/plugins/go-standards/skills/error-handling.md +286 -0
  40. package/plugins/go-standards/skills/http-chi.md +390 -0
  41. package/plugins/go-standards/skills/logging-observability.md +340 -0
  42. package/plugins/go-standards/skills/naming-and-style.md +315 -0
  43. package/plugins/go-standards/skills/project-layout.md +313 -0
  44. package/plugins/go-standards/skills/testing.md +366 -0
  45. package/plugins/java2go-porter/.claude-plugin/plugin.json +21 -0
  46. package/plugins/java2go-porter/agents/analyzer.md +232 -0
  47. package/plugins/java2go-porter/agents/reviewer.md +241 -0
  48. package/plugins/java2go-porter/agents/test-pairer.md +365 -0
  49. package/plugins/java2go-porter/agents/translator.md +419 -0
  50. package/plugins/java2go-porter/commands/port-java-service.md +149 -0
  51. package/plugins/java2go-porter/skills/idiom-mapping.md +75 -0
  52. package/plugins/migration-safety/.claude-plugin/plugin.json +20 -0
  53. package/plugins/migration-safety/commands/gen-characterization-test.md +452 -0
  54. package/plugins/migration-safety/commands/strangler-plan.md +356 -0
  55. package/plugins/migration-safety/skills/strangler-fig.md +382 -0
@@ -1,53 +1,23 @@
1
- import { ClaudeConfig, PluginConfig } from './types.js';
2
- /**
3
- * Returns the absolute path to ~/.claude.json (or %USERPROFILE%\.claude.json on Windows).
4
- *
5
- * Claude Code reads its global config from this file on all platforms.
6
- */
7
- export declare function getClaudeConfigPath(): string;
8
- /**
9
- * Returns the absolute path to the plugins directory (~/.claude/plugins/).
10
- *
11
- * On Windows this resolves to %USERPROFILE%\.claude\plugins\.
12
- */
1
+ import { InstalledPlugin, InstalledPluginsFile } from './types.js';
2
+ export declare const MARKETPLACE_NAME = "ga-migration";
13
3
  export declare function getPluginsDir(): string;
14
- /**
15
- * Reads and parses ~/.claude.json.
16
- *
17
- * Returns an empty object `{}` if the file does not exist or is empty.
18
- * Throws if the file exists but contains invalid JSON.
19
- */
20
- export declare function readClaudeConfig(): ClaudeConfig;
21
- /**
22
- * Atomically writes `config` to ~/.claude.json.
23
- *
24
- * Strategy:
25
- * 1. Back up the existing file to .claude.json.bak-<timestamp> (if it exists)
26
- * 2. Write the new content to .claude.json.tmp-<timestamp>
27
- * 3. Rename (atomic on POSIX; best-effort on Windows) to .claude.json
28
- *
29
- * This ensures a partially-written file never leaves Claude in a broken state.
30
- */
31
- export declare function writeClaudeConfig(config: ClaudeConfig): void;
32
- /**
33
- * Adds a plugin entry to the config's `plugins` array.
34
- *
35
- * Idempotent: if an entry with the same `id` already exists, it is replaced
36
- * with the new entry (path update). No duplicate entries are created.
37
- *
38
- * Returns the modified config (does NOT write to disk — caller must call writeClaudeConfig).
39
- */
40
- export declare function addPluginEntry(config: ClaudeConfig, entry: PluginConfig): ClaudeConfig;
41
- /**
42
- * Removes a plugin entry from the config's `plugins` array by ID.
43
- *
44
- * Safe to call even if the entry does not exist — returns config unchanged.
45
- *
46
- * Returns the modified config (does NOT write to disk — caller must call writeClaudeConfig).
47
- */
48
- export declare function removePluginEntry(config: ClaudeConfig, pluginId: string): ClaudeConfig;
49
- /**
50
- * Returns the path to the versions tracking file inside the plugins directory.
51
- */
4
+ export declare function getInstalledPluginsFilePath(): string;
5
+ export declare function getKnownMarketplacesFilePath(): string;
6
+ export declare function getMarketplaceDir(): string;
7
+ export declare function getPluginCachePath(pluginId: string, version: string): string;
52
8
  export declare function getVersionsFilePath(): string;
9
+ export declare function getClaudeSettingsPath(): string;
10
+ export declare function readClaudeSettings(): Record<string, unknown>;
11
+ export declare function writeClaudeSettings(settings: Record<string, unknown>): void;
12
+ export declare function setPluginEnabled(pluginId: string, enabled: boolean): void;
13
+ export declare function readKnownMarketplaces(): Record<string, unknown>;
14
+ export declare function ensureMarketplaceRegistered(version: string): void;
15
+ export declare function ensureMarketplacePluginDir(pluginId: string, srcPath: string): void;
16
+ export declare function removeMarketplacePluginDir(pluginId: string): void;
17
+ export declare function readInstalledPlugins(): InstalledPluginsFile;
18
+ export declare function writeInstalledPlugins(data: InstalledPluginsFile): void;
19
+ export declare function pluginKey(pluginId: string): string;
20
+ export declare function addInstalledPlugin(data: InstalledPluginsFile, pluginId: string, entry: InstalledPlugin): InstalledPluginsFile;
21
+ export declare function removeInstalledPlugin(data: InstalledPluginsFile, pluginId: string): InstalledPluginsFile;
22
+ export declare function getInstalledEntry(data: InstalledPluginsFile, pluginId: string): InstalledPlugin | undefined;
53
23
  //# sourceMappingURL=config-patcher.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config-patcher.d.ts","sourceRoot":"","sources":["../src/config-patcher.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAIxD;;;;GAIG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAED;;;;GAIG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAID;;;;;GAKG;AACH,wBAAgB,gBAAgB,IAAI,YAAY,CAiB/C;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CA0B5D;AAID;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,GAAG,YAAY,CAYtF;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,GAAG,YAAY,CAOtF;AAID;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C"}
1
+ {"version":3,"file":"config-patcher.d.ts","sourceRoot":"","sources":["../src/config-patcher.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAEnE,eAAO,MAAM,gBAAgB,iBAAiB,CAAC;AAI/C,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED,wBAAgB,2BAA2B,IAAI,MAAM,CAEpD;AAED,wBAAgB,4BAA4B,IAAI,MAAM,CAErD;AAED,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAE5E;AAED,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAED,wBAAgB,qBAAqB,IAAI,MAAM,CAE9C;AAID,wBAAgB,kBAAkB,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAQ5D;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAE3E;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAWzE;AAID,wBAAgB,qBAAqB,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAQ/D;AAED,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAkCjE;AAED,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAKlF;AAED,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAEjE;AAID,wBAAgB,oBAAoB,IAAI,oBAAoB,CAU3D;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,oBAAoB,GAAG,IAAI,CAGtE;AAED,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAElD;AAED,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,oBAAoB,EAC1B,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,eAAe,GACrB,oBAAoB,CAStB;AAED,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,oBAAoB,EAC1B,QAAQ,EAAE,MAAM,GACf,oBAAoB,CAItB;AAED,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,oBAAoB,EAC1B,QAAQ,EAAE,MAAM,GACf,eAAe,GAAG,SAAS,CAE7B"}
@@ -3,131 +3,167 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.getClaudeConfigPath = getClaudeConfigPath;
6
+ exports.MARKETPLACE_NAME = void 0;
7
7
  exports.getPluginsDir = getPluginsDir;
8
- exports.readClaudeConfig = readClaudeConfig;
9
- exports.writeClaudeConfig = writeClaudeConfig;
10
- exports.addPluginEntry = addPluginEntry;
11
- exports.removePluginEntry = removePluginEntry;
8
+ exports.getInstalledPluginsFilePath = getInstalledPluginsFilePath;
9
+ exports.getKnownMarketplacesFilePath = getKnownMarketplacesFilePath;
10
+ exports.getMarketplaceDir = getMarketplaceDir;
11
+ exports.getPluginCachePath = getPluginCachePath;
12
12
  exports.getVersionsFilePath = getVersionsFilePath;
13
+ exports.getClaudeSettingsPath = getClaudeSettingsPath;
14
+ exports.readClaudeSettings = readClaudeSettings;
15
+ exports.writeClaudeSettings = writeClaudeSettings;
16
+ exports.setPluginEnabled = setPluginEnabled;
17
+ exports.readKnownMarketplaces = readKnownMarketplaces;
18
+ exports.ensureMarketplaceRegistered = ensureMarketplaceRegistered;
19
+ exports.ensureMarketplacePluginDir = ensureMarketplacePluginDir;
20
+ exports.removeMarketplacePluginDir = removeMarketplacePluginDir;
21
+ exports.readInstalledPlugins = readInstalledPlugins;
22
+ exports.writeInstalledPlugins = writeInstalledPlugins;
23
+ exports.pluginKey = pluginKey;
24
+ exports.addInstalledPlugin = addInstalledPlugin;
25
+ exports.removeInstalledPlugin = removeInstalledPlugin;
26
+ exports.getInstalledEntry = getInstalledEntry;
13
27
  const fs_extra_1 = __importDefault(require("fs-extra"));
14
28
  const os_1 = __importDefault(require("os"));
15
29
  const path_1 = __importDefault(require("path"));
30
+ exports.MARKETPLACE_NAME = 'ga-migration';
16
31
  // ─── Path resolution (cross-platform) ─────────────────────────────────────────
17
- /**
18
- * Returns the absolute path to ~/.claude.json (or %USERPROFILE%\.claude.json on Windows).
19
- *
20
- * Claude Code reads its global config from this file on all platforms.
21
- */
22
- function getClaudeConfigPath() {
23
- return path_1.default.join(os_1.default.homedir(), '.claude.json');
24
- }
25
- /**
26
- * Returns the absolute path to the plugins directory (~/.claude/plugins/).
27
- *
28
- * On Windows this resolves to %USERPROFILE%\.claude\plugins\.
29
- */
30
32
  function getPluginsDir() {
31
33
  return path_1.default.join(os_1.default.homedir(), '.claude', 'plugins');
32
34
  }
33
- // ─── Config I/O ───────────────────────────────────────────────────────────────
34
- /**
35
- * Reads and parses ~/.claude.json.
36
- *
37
- * Returns an empty object `{}` if the file does not exist or is empty.
38
- * Throws if the file exists but contains invalid JSON.
39
- */
40
- function readClaudeConfig() {
41
- const configPath = getClaudeConfigPath();
42
- if (!fs_extra_1.default.existsSync(configPath)) {
35
+ function getInstalledPluginsFilePath() {
36
+ return path_1.default.join(getPluginsDir(), 'installed_plugins.json');
37
+ }
38
+ function getKnownMarketplacesFilePath() {
39
+ return path_1.default.join(getPluginsDir(), 'known_marketplaces.json');
40
+ }
41
+ function getMarketplaceDir() {
42
+ return path_1.default.join(getPluginsDir(), 'marketplaces', exports.MARKETPLACE_NAME);
43
+ }
44
+ function getPluginCachePath(pluginId, version) {
45
+ return path_1.default.join(getPluginsDir(), 'cache', exports.MARKETPLACE_NAME, pluginId, version);
46
+ }
47
+ function getVersionsFilePath() {
48
+ return path_1.default.join(getPluginsDir(), '.ga-versions.json');
49
+ }
50
+ function getClaudeSettingsPath() {
51
+ return path_1.default.join(os_1.default.homedir(), '.claude', 'settings.json');
52
+ }
53
+ // ─── ~/.claude/settings.json I/O ─────────────────────────────────────────────
54
+ function readClaudeSettings() {
55
+ const filePath = getClaudeSettingsPath();
56
+ if (!fs_extra_1.default.existsSync(filePath))
43
57
  return {};
58
+ try {
59
+ return fs_extra_1.default.readJSONSync(filePath);
44
60
  }
45
- const raw = fs_extra_1.default.readFileSync(configPath, 'utf-8').trim();
46
- if (!raw) {
61
+ catch {
47
62
  return {};
48
63
  }
49
- try {
50
- return JSON.parse(raw);
64
+ }
65
+ function writeClaudeSettings(settings) {
66
+ fs_extra_1.default.outputJSONSync(getClaudeSettingsPath(), settings, { spaces: 2 });
67
+ }
68
+ function setPluginEnabled(pluginId, enabled) {
69
+ const settings = readClaudeSettings();
70
+ const enabledPlugins = (settings.enabledPlugins ?? {});
71
+ const key = pluginKey(pluginId);
72
+ if (enabled) {
73
+ enabledPlugins[key] = true;
51
74
  }
52
- catch (err) {
53
- throw new Error(`Failed to parse ${configPath}: ${err.message}`);
75
+ else {
76
+ delete enabledPlugins[key];
54
77
  }
78
+ settings.enabledPlugins = enabledPlugins;
79
+ writeClaudeSettings(settings);
55
80
  }
56
- /**
57
- * Atomically writes `config` to ~/.claude.json.
58
- *
59
- * Strategy:
60
- * 1. Back up the existing file to .claude.json.bak-<timestamp> (if it exists)
61
- * 2. Write the new content to .claude.json.tmp-<timestamp>
62
- * 3. Rename (atomic on POSIX; best-effort on Windows) to .claude.json
63
- *
64
- * This ensures a partially-written file never leaves Claude in a broken state.
65
- */
66
- function writeClaudeConfig(config) {
67
- const configPath = getClaudeConfigPath();
68
- const timestamp = Date.now();
69
- // Step 1 — back up existing file
70
- if (fs_extra_1.default.existsSync(configPath)) {
71
- const backupPath = `${configPath}.bak-${timestamp}`;
72
- fs_extra_1.default.copyFileSync(configPath, backupPath);
73
- }
74
- // Step 2 — write to temp file
75
- const tmpPath = `${configPath}.tmp-${timestamp}`;
76
- const content = JSON.stringify(config, null, 2) + '\n';
77
- fs_extra_1.default.writeFileSync(tmpPath, content, 'utf-8');
78
- // Step 3 — atomic rename
79
- // On Windows, rename over an existing file may fail; remove first if needed.
81
+ // ─── known_marketplaces.json I/O ─────────────────────────────────────────────
82
+ function readKnownMarketplaces() {
83
+ const filePath = getKnownMarketplacesFilePath();
84
+ if (!fs_extra_1.default.existsSync(filePath))
85
+ return {};
80
86
  try {
81
- fs_extra_1.default.renameSync(tmpPath, configPath);
87
+ return fs_extra_1.default.readJSONSync(filePath);
82
88
  }
83
- catch (err) {
84
- // Fallback for Windows: remove target then rename
85
- if (fs_extra_1.default.existsSync(configPath)) {
86
- fs_extra_1.default.unlinkSync(configPath);
87
- }
88
- fs_extra_1.default.renameSync(tmpPath, configPath);
89
+ catch {
90
+ return {};
89
91
  }
90
92
  }
91
- // ─── Plugin entry management ──────────────────────────────────────────────────
92
- /**
93
- * Adds a plugin entry to the config's `plugins` array.
94
- *
95
- * Idempotent: if an entry with the same `id` already exists, it is replaced
96
- * with the new entry (path update). No duplicate entries are created.
97
- *
98
- * Returns the modified config (does NOT write to disk — caller must call writeClaudeConfig).
99
- */
100
- function addPluginEntry(config, entry) {
101
- const plugins = Array.isArray(config.plugins) ? [...config.plugins] : [];
102
- const existingIndex = plugins.findIndex((p) => p.id === entry.id);
103
- if (existingIndex >= 0) {
104
- // Replace existing entry (e.g. path update on reinstall)
105
- plugins[existingIndex] = entry;
93
+ function ensureMarketplaceRegistered(version) {
94
+ const marketplaceDir = getMarketplaceDir();
95
+ const now = new Date().toISOString();
96
+ // 1. Write marketplace directory + marketplace.json
97
+ const marketplaceJson = {
98
+ name: exports.MARKETPLACE_NAME,
99
+ owner: { name: 'Garuda Airlines Engineering' },
100
+ metadata: {
101
+ description: 'GA Migration Claude Code Plugins for Java→Go migration',
102
+ version,
103
+ },
104
+ plugins: [
105
+ { name: 'go-standards', description: 'Go coding standards for all 30 migrated services', source: './plugins/go-standards', version },
106
+ { name: 'go-scaffolder', description: 'Scaffold new Go services backed by go-ga-lib', source: './plugins/go-scaffolder', version },
107
+ { name: 'java2go-porter', description: 'Java→Go translation accelerator', source: './plugins/java2go-porter', version },
108
+ { name: 'migration-safety', description: 'Pre-merge safety checks for Java→Go migration', source: './plugins/migration-safety', version },
109
+ { name: 'go-reviewer', description: 'Incremental Go code review + auto-fix', source: './plugins/go-reviewer', version },
110
+ ],
111
+ };
112
+ fs_extra_1.default.outputJSONSync(path_1.default.join(marketplaceDir, '.claude-plugin', 'marketplace.json'), marketplaceJson, { spaces: 2 });
113
+ // 2. Register in known_marketplaces.json
114
+ const known = readKnownMarketplaces();
115
+ known[exports.MARKETPLACE_NAME] = {
116
+ source: { source: 'local' },
117
+ installLocation: marketplaceDir,
118
+ lastUpdated: now,
119
+ };
120
+ fs_extra_1.default.outputJSONSync(getKnownMarketplacesFilePath(), known, { spaces: 2 });
121
+ }
122
+ function ensureMarketplacePluginDir(pluginId, srcPath) {
123
+ const dest = path_1.default.join(getMarketplaceDir(), 'plugins', pluginId);
124
+ if (fs_extra_1.default.existsSync(srcPath)) {
125
+ fs_extra_1.default.copySync(srcPath, dest, { overwrite: true });
106
126
  }
107
- else {
108
- plugins.push(entry);
127
+ }
128
+ function removeMarketplacePluginDir(pluginId) {
129
+ fs_extra_1.default.removeSync(path_1.default.join(getMarketplaceDir(), 'plugins', pluginId));
130
+ }
131
+ // ─── installed_plugins.json I/O ───────────────────────────────────────────────
132
+ function readInstalledPlugins() {
133
+ const filePath = getInstalledPluginsFilePath();
134
+ if (!fs_extra_1.default.existsSync(filePath)) {
135
+ return { version: 2, plugins: {} };
136
+ }
137
+ try {
138
+ return fs_extra_1.default.readJSONSync(filePath);
109
139
  }
110
- return { ...config, plugins };
111
- }
112
- /**
113
- * Removes a plugin entry from the config's `plugins` array by ID.
114
- *
115
- * Safe to call even if the entry does not exist — returns config unchanged.
116
- *
117
- * Returns the modified config (does NOT write to disk — caller must call writeClaudeConfig).
118
- */
119
- function removePluginEntry(config, pluginId) {
120
- if (!Array.isArray(config.plugins)) {
121
- return config;
140
+ catch {
141
+ return { version: 2, plugins: {} };
122
142
  }
123
- const plugins = config.plugins.filter((p) => p.id !== pluginId);
124
- return { ...config, plugins };
125
143
  }
126
- // ─── Versions file helpers ────────────────────────────────────────────────────
127
- /**
128
- * Returns the path to the versions tracking file inside the plugins directory.
129
- */
130
- function getVersionsFilePath() {
131
- return path_1.default.join(getPluginsDir(), '.ga-versions.json');
144
+ function writeInstalledPlugins(data) {
145
+ const filePath = getInstalledPluginsFilePath();
146
+ fs_extra_1.default.outputJSONSync(filePath, data, { spaces: 2 });
147
+ }
148
+ function pluginKey(pluginId) {
149
+ return `${pluginId}@${exports.MARKETPLACE_NAME}`;
150
+ }
151
+ function addInstalledPlugin(data, pluginId, entry) {
152
+ const key = pluginKey(pluginId);
153
+ return {
154
+ ...data,
155
+ plugins: {
156
+ ...data.plugins,
157
+ [key]: [entry],
158
+ },
159
+ };
160
+ }
161
+ function removeInstalledPlugin(data, pluginId) {
162
+ const key = pluginKey(pluginId);
163
+ const { [key]: _removed, ...rest } = data.plugins;
164
+ return { ...data, plugins: rest };
165
+ }
166
+ function getInstalledEntry(data, pluginId) {
167
+ return data.plugins[pluginKey(pluginId)]?.[0];
132
168
  }
133
169
  //# sourceMappingURL=config-patcher.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config-patcher.js","sourceRoot":"","sources":["../src/config-patcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config-patcher.js","sourceRoot":"","sources":["../src/config-patcher.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -8,7 +8,6 @@ const commander_1 = require("commander");
8
8
  const chalk_1 = __importDefault(require("chalk"));
9
9
  const ora_1 = __importDefault(require("ora"));
10
10
  const fs_extra_1 = __importDefault(require("fs-extra"));
11
- const path_1 = __importDefault(require("path"));
12
11
  const registry_js_1 = require("./registry.js");
13
12
  const installer_js_1 = require("./installer.js");
14
13
  const uninstaller_js_1 = require("./uninstaller.js");
@@ -33,11 +32,10 @@ function readInstalledVersions() {
33
32
  return { version: pkg.version, installedAt: new Date().toISOString(), plugins: {} };
34
33
  }
35
34
  }
36
- /**
37
- * Returns true if a plugin folder exists in the plugins directory.
38
- */
39
35
  function isPluginInstalled(pluginId) {
40
- return fs_extra_1.default.existsSync(path_1.default.join((0, config_patcher_js_1.getPluginsDir)(), pluginId));
36
+ const data = (0, config_patcher_js_1.readInstalledPlugins)();
37
+ const entry = (0, config_patcher_js_1.getInstalledEntry)(data, pluginId);
38
+ return entry !== undefined && fs_extra_1.default.existsSync(entry.installPath);
41
39
  }
42
40
  /**
43
41
  * Validates an array of plugin IDs against the registry.
@@ -117,31 +115,48 @@ program
117
115
  if (dryRun) {
118
116
  console.log(chalk_1.default.yellow('\nDry-run mode: no files will be removed.\n'));
119
117
  }
118
+ // Resolve target list
119
+ let targetIds;
120
120
  if (plugins.length === 0) {
121
- // Uninstall all
122
- const spinner = (0, ora_1.default)({ text: 'Removing all GA plugins...', isSilent: dryRun }).start();
123
- try {
124
- await (0, uninstaller_js_1.uninstallAll)({ dryRun, skipConfirm });
125
- spinner.succeed(chalk_1.default.green('All GA plugins uninstalled.'));
126
- }
127
- catch (err) {
128
- spinner.fail(chalk_1.default.red('Uninstall failed'));
129
- throw err;
121
+ targetIds = (0, registry_js_1.getAllPluginIds)().filter((id) => isPluginInstalled(id));
122
+ if (targetIds.length === 0) {
123
+ console.log(chalk_1.default.dim('No GA plugins are currently installed.'));
124
+ return;
130
125
  }
131
126
  }
132
127
  else {
133
128
  requireValidPluginIds(plugins);
134
- console.log(chalk_1.default.bold(`\nUninstalling ${plugins.length} plugin(s): ${plugins.join(', ')}\n`));
135
- const spinner = (0, ora_1.default)({ text: 'Removing plugins...', isSilent: dryRun }).start();
136
- try {
137
- await (0, uninstaller_js_1.uninstall)(plugins, { dryRun });
138
- spinner.succeed(chalk_1.default.green(`${plugins.length} plugin(s) uninstalled.`));
129
+ targetIds = plugins;
130
+ }
131
+ // Confirmation prompt (no spinner running yet so text is visible)
132
+ if (plugins.length === 0 && !skipConfirm && !dryRun) {
133
+ console.log(chalk_1.default.yellow(`\nAbout to remove ALL GA plugins (${targetIds.length}):`));
134
+ for (const id of targetIds) {
135
+ console.log(chalk_1.default.dim(` - ${id}`));
139
136
  }
140
- catch (err) {
141
- spinner.fail(chalk_1.default.red('Uninstall failed'));
142
- throw err;
137
+ const confirmed = await new Promise((resolve) => {
138
+ const readline = require('readline');
139
+ const rl = readline.createInterface({ input: process.stdin, output: process.stdout, terminal: false });
140
+ process.stdout.write(chalk_1.default.yellow("\nType 'yes' to confirm: "));
141
+ rl.once('line', (answer) => { rl.close(); resolve(answer.trim().toLowerCase() === 'yes'); });
142
+ rl.once('close', () => { resolve(false); });
143
+ });
144
+ if (!confirmed) {
145
+ console.log(chalk_1.default.dim('Aborted. No plugins were removed.'));
146
+ return;
143
147
  }
144
148
  }
149
+ console.log(chalk_1.default.bold(`\nUninstalling ${targetIds.length} plugin(s): ${targetIds.join(', ')}\n`));
150
+ // Spinner only starts after confirmation
151
+ const spinner = (0, ora_1.default)({ text: 'Removing plugins...', isSilent: dryRun }).start();
152
+ try {
153
+ await (0, uninstaller_js_1.uninstall)(targetIds, { dryRun });
154
+ spinner.succeed(chalk_1.default.green(`${targetIds.length} plugin(s) uninstalled.`));
155
+ }
156
+ catch (err) {
157
+ spinner.fail(chalk_1.default.red('Uninstall failed'));
158
+ throw err;
159
+ }
145
160
  }));
146
161
  // ─── list ─────────────────────────────────────────────────────────────────────
147
162
  program
@@ -170,6 +185,44 @@ program
170
185
  console.log(chalk_1.default.dim(`\n${installedCount} of ${registry_js_1.PLUGINS.length} plugins installed.` +
171
186
  ` Install path: ${(0, config_patcher_js_1.getPluginsDir)()}\n`));
172
187
  }));
188
+ // ─── enable ───────────────────────────────────────────────────────────────────
189
+ program
190
+ .command('enable [plugin...]')
191
+ .description('Enable one or more installed GA plugins in ~/.claude/settings.json. ' +
192
+ 'If no plugin names are given, enables ALL installed plugins.')
193
+ .action(wrapAsync(async (plugins) => {
194
+ const targetIds = plugins.length > 0 ? plugins : (0, registry_js_1.getAllPluginIds)();
195
+ if (plugins.length > 0)
196
+ requireValidPluginIds(plugins);
197
+ for (const id of targetIds) {
198
+ if (!isPluginInstalled(id)) {
199
+ console.log(chalk_1.default.yellow(` ${id}: not installed — run "install ${id}" first`));
200
+ continue;
201
+ }
202
+ (0, config_patcher_js_1.setPluginEnabled)(id, true);
203
+ console.log(chalk_1.default.green(` ✓ ${id} enabled`));
204
+ }
205
+ }));
206
+ // ─── disable ──────────────────────────────────────────────────────────────────
207
+ program
208
+ .command('disable [plugin...]')
209
+ .description('Disable one or more GA plugins without uninstalling them. ' +
210
+ 'If no plugin names are given, disables ALL GA plugins.')
211
+ .action(wrapAsync(async (plugins) => {
212
+ const targetIds = plugins.length > 0 ? plugins : (0, registry_js_1.getAllPluginIds)();
213
+ if (plugins.length > 0)
214
+ requireValidPluginIds(plugins);
215
+ const settings = (0, config_patcher_js_1.readClaudeSettings)();
216
+ const enabledPlugins = (settings.enabledPlugins ?? {});
217
+ for (const id of targetIds) {
218
+ if (!enabledPlugins[(0, config_patcher_js_1.pluginKey)(id)]) {
219
+ console.log(chalk_1.default.dim(` ${id}: already disabled`));
220
+ continue;
221
+ }
222
+ (0, config_patcher_js_1.setPluginEnabled)(id, false);
223
+ console.log(chalk_1.default.green(` ✓ ${id} disabled`));
224
+ }
225
+ }));
173
226
  // ─── update ───────────────────────────────────────────────────────────────────
174
227
  program
175
228
  .command('update [plugin...]')
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,24 +1,6 @@
1
1
  export interface InstallOptions {
2
- /** When true, prints what would happen without actually doing it. */
3
2
  dryRun?: boolean;
4
3
  }
5
- /**
6
- * Installs the given plugin IDs to ~/.claude/plugins/ and registers them in ~/.claude.json.
7
- *
8
- * Each plugin:
9
- * 1. Gets its bundled source path resolved from the npm package
10
- * 2. Is copied to ~/.claude/plugins/<pluginId>/ (overwrites any existing version)
11
- * 3. Gets an entry added/updated in ~/.claude.json under the `plugins` array
12
- * 4. Gets its version recorded in ~/.claude/plugins/.ga-versions.json
13
- *
14
- * All actions are printed to stdout. In dry-run mode, no files are written.
15
- *
16
- * @throws if a bundled plugin source directory cannot be found
17
- */
18
4
  export declare function install(pluginIds: string[], options?: InstallOptions): Promise<void>;
19
- /**
20
- * Installs ALL known GA plugins.
21
- * Convenience wrapper around `install(getAllPluginIds(), options)`.
22
- */
23
5
  export declare function installAll(options?: InstallOptions): Promise<void>;
24
6
  //# sourceMappingURL=installer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"installer.d.ts","sourceRoot":"","sources":["../src/installer.ts"],"names":[],"mappings":"AAeA,MAAM,WAAW,cAAc;IAC7B,qEAAqE;IACrE,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AA2CD;;;;;;;;;;;;GAYG;AACH,wBAAsB,OAAO,CAC3B,SAAS,EAAE,MAAM,EAAE,EACnB,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,IAAI,CAAC,CA6Df;AAED;;;GAGG;AACH,wBAAsB,UAAU,CAAC,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAE5E"}
1
+ {"version":3,"file":"installer.d.ts","sourceRoot":"","sources":["../src/installer.ts"],"names":[],"mappings":"AAiBA,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAmCD,wBAAsB,OAAO,CAC3B,SAAS,EAAE,MAAM,EAAE,EACnB,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,IAAI,CAAC,CAiEf;AAED,wBAAsB,UAAU,CAAC,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAE5E"}