agents-pkg 0.6.1 → 0.8.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/README.md CHANGED
@@ -1,14 +1,11 @@
1
1
  # agents-pkg
2
2
 
3
- **Cursor-only** marketplace installer. Install plugins from a source (repo URL or local path) that contains `.cursor-plugin/marketplace.json`. Plugin content is copied to a store and **symlinked** into Cursor’s config dirs (agents, commands, skills, rules); hooks are merged into `.cursor/hooks.json`.
3
+ **Cursor-only** marketplace installer. Install plugins from a source (repo URL or local path) that contains `.cursor-plugin/marketplace.json`.
4
4
 
5
- - **Agents** — Agent `.md` files in `.cursor/agents` (global or project).
6
- - **Commands** — Slash commands in `.cursor/commands`.
7
- - **Skills** — Skill dirs (each with `SKILL.md`) in `.cursor/skills`.
8
- - **Rules** — Rule `.md`/`.mdc` files in `.cursor/rules`.
9
- - **Hooks** — Cursor lifecycle hooks merged into project `.cursor/hooks.json`.
5
+ - **Global (default)** — Full plugin trees sync to `~/.cursor/plugins/local/<plugin-name>/` for Cursor’s native plugin loader (skills, agents, commands, rules, hooks, MCP via each plugin’s `plugin.json`).
6
+ - **Project (`--project`)** — Plugin content is copied to a store and **symlinked** into the project’s `.cursor/` dirs; hooks and MCP are merged into project `.cursor/hooks.json` and `.cursor/mcp.json`.
10
7
 
11
- By default, symlinks are **global** (`~/.cursor/*`). Use `--project` to install into the current project’s `.cursor/` instead.
8
+ By default, installs are **global** (`~/.cursor/plugins/local/`). Use `--project` for the legacy flattened install into the current project’s `.cursor/`.
12
9
 
13
10
  ---
14
11
 
@@ -31,9 +28,10 @@ npx agents-pkg --help
31
28
  | Item | Location |
32
29
  |------|----------|
33
30
  | Lock file | `~/.agents/.agents-pkg-lock.json` |
34
- | Store | `~/.agents/agents-pkg/marketplace/<name>/<plugin-name>/` |
31
+ | Global plugins | `~/.cursor/plugins/local/<plugin-name>/` (or `$CURSOR_LOCAL_PLUGINS`) |
32
+ | Project store | `~/.agents/agents-pkg/marketplace/<name>/<plugin-name>/` (`--project` only) |
35
33
 
36
- Override home for tests: set `AGENTS_PKG_HOME` to a temp directory.
34
+ Override home for tests: set `AGENTS_PKG_HOME` to a temp directory. Override global plugin root: set `CURSOR_LOCAL_PLUGINS`.
37
35
 
38
36
  ---
39
37
 
@@ -47,8 +45,8 @@ agents-pkg add-plugin <source> [plugin-name] [--global | --project]
47
45
 
48
46
  - **source** — Repo URL (GitHub `owner/repo`, GitLab, or full URL) or local path.
49
47
  - **plugin-name** — Optional. Install only this plugin from the marketplace; otherwise all plugins are installed.
50
- - **--global** (default) — Symlink into `~/.cursor/agents`, `~/.cursor/commands`, `~/.cursor/skills`, `~/.cursor/rules`. Available in all projects.
51
- - **--project** — Symlink into the current project’s `.cursor/` so only this project sees the plugin.
48
+ - **--global** (default) — Sync each plugin to `~/.cursor/plugins/local/<plugin-name>/`. Enable in Cursor **Settings → Plugins**.
49
+ - **--project** — Symlink into the current project’s `.cursor/` (agents, commands, skills, rules); merge hooks/MCP into project `.cursor/`.
52
50
 
53
51
  Examples:
54
52
 
@@ -72,7 +70,7 @@ Shows each installed marketplace with its version, scope (global/project), sourc
72
70
  agents-pkg del-plugin <marketplace-name> <plugin-name>
73
71
  ```
74
72
 
75
- Removes that plugin’s symlinks and data; updates the lock. If it was the last plugin, the marketplace entry is removed. Use `agents-pkg list` to see marketplace and plugin names.
73
+ Removes that plugin and updates the lock. Global installs remove `~/.cursor/plugins/local/<plugin-name>/` entirely. Project installs remove symlinks, store copy, and merged hook entries.
76
74
 
77
75
  ### Remove an entire marketplace
78
76
 
@@ -88,7 +86,7 @@ Uninstalls the marketplace and all its plugins. `name` is the marketplace name (
88
86
  agents-pkg update
89
87
  ```
90
88
 
91
- Re-fetches each installed marketplace source, reads `.cursor-plugin/marketplace.json`, and reinstalls if the manifest `metadata.version` changed. Symlinks are recreated in the same place (global or project) as when the marketplace was first installed.
89
+ Re-fetches each installed marketplace source, reads `.cursor-plugin/marketplace.json`, and reinstalls if the manifest `metadata.version` changed. Global installs re-sync `plugins/local/`; project installs recreate symlinks from the store.
92
90
 
93
91
  ---
94
92
 
@@ -123,9 +121,9 @@ Inside each plugin directory (e.g. `./global`), use this layout:
123
121
  | Commands | `commands/` | One `.md` file per command. |
124
122
  | Skills | `skills/` | One subdir per skill; each must contain `SKILL.md`. |
125
123
  | Rules | `rules/` | Top-level `.md` or `.mdc` rule files. |
126
- | Hooks | `hooks/hooks.json` | Cursor-style `{ "version": 1, "hooks": { ... } }`. Merged into project `.cursor/hooks.json` only. |
124
+ | Hooks | `hooks/hooks.json` | Cursor-style `{ "version": 1, "hooks": { ... } }`. Global: loaded from plugin package; project: merged into `.cursor/hooks.json`. |
127
125
 
128
- Missing dirs are skipped. Hooks are always merged into the **project** `.cursor/hooks.json` (not global).
126
+ Missing dirs are skipped.
129
127
 
130
128
  ---
131
129
 
@@ -135,11 +133,9 @@ With **--global** (default):
135
133
 
136
134
  | Kind | Location |
137
135
  |------|----------|
138
- | Agents | `~/.cursor/agents/` |
139
- | Commands | `~/.cursor/commands/` |
140
- | Skills | `~/.cursor/skills/` |
141
- | Rules | `~/.cursor/rules/` |
142
- | Hooks | Project `.cursor/hooks.json` (merged) |
136
+ | Full plugin package | `~/.cursor/plugins/local/<plugin-name>/` |
137
+
138
+ Hooks, MCP, skills, agents, and commands are declared in each plugin’s `.cursor-plugin/plugin.json` and loaded by Cursor when the plugin is enabled.
143
139
 
144
140
  With **--project**:
145
141
 
@@ -1,11 +1,11 @@
1
1
  /**
2
2
  * add-plugin — Cursor only. Install marketplace from source.
3
- * Reads .cursor-plugin/marketplace.json inside the source; copies plugin dirs to store and symlinks into .cursor/*.
3
+ * Global (default): sync full plugin trees to ~/.cursor/plugins/local/<plugin-name>/.
4
+ * Project (--project): copy to store and symlink/copy into project .cursor/*.
4
5
  */
5
6
  import { type MarketplaceManifest } from './lib/marketplace.js';
6
7
  /**
7
8
  * Install marketplace from an already-resolved source dir. Used by add-plugin and update.
8
- * Returns { installed, pluginHooks, pluginMcpKeys } so caller can write lock.
9
9
  */
10
10
  export declare function installMarketplaceFromDir(manifest: MarketplaceManifest, sourceDir: string, options?: {
11
11
  pluginNames?: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"add-plugin.d.ts","sourceRoot":"","sources":["../src/add-plugin.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,EAIL,KAAK,mBAAmB,EACzB,MAAM,sBAAsB,CAAC;AAsK9B;;;GAGG;AACH,wBAAsB,yBAAyB,CAC7C,QAAQ,EAAE,mBAAmB,EAC7B,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE;IAAE,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAO,GAC7E,OAAO,CAAC;IAAE,SAAS,EAAE,MAAM,EAAE,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;CAAE,CAAC,CAuDtJ;AAsBD,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAqDhE"}
1
+ {"version":3,"file":"add-plugin.d.ts","sourceRoot":"","sources":["../src/add-plugin.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,EAIL,KAAK,mBAAmB,EACzB,MAAM,sBAAsB,CAAC;AA2K9B;;GAEG;AACH,wBAAsB,yBAAyB,CAC7C,QAAQ,EAAE,mBAAmB,EAC7B,SAAS,EAAE,MAAM,EACjB,OAAO,GAAE;IAAE,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAO,GAC7E,OAAO,CAAC;IAAE,SAAS,EAAE,MAAM,EAAE,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;CAAE,CAAC,CA8DtJ;AAsBD,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA+EhE"}
@@ -1,18 +1,21 @@
1
1
  /**
2
2
  * add-plugin — Cursor only. Install marketplace from source.
3
- * Reads .cursor-plugin/marketplace.json inside the source; copies plugin dirs to store and symlinks into .cursor/*.
3
+ * Global (default): sync full plugin trees to ~/.cursor/plugins/local/<plugin-name>/.
4
+ * Project (--project): copy to store and symlink/copy into project .cursor/*.
4
5
  */
5
6
  import { join, resolve, sep } from 'path';
6
- import { readdir, readFile, stat, cp } from 'fs/promises';
7
+ import { readdir, readFile, stat, cp, mkdir } from 'fs/promises';
7
8
  import { resolveSourceToDir } from './lib/source-dir.js';
8
9
  import { readMarketplaceManifest, getPluginStorePath, getPluginVersionFromSource, } from './lib/marketplace.js';
9
10
  import { REPO_SKILLS_DIR, REPO_COMMANDS_DIR, REPO_HOOKS_FILE, REPO_MCP_FILE, REPO_RULES_DIR, } from './lib/constants.js';
10
- import { getCursorAgentsDir, getCursorCommandsDir, getCursorSkillsDir, getCursorRulesDir, getCursorMcpPath } from './lib/paths.js';
11
+ import { getCursorAgentsDir, getCursorCommandsDir, getCursorSkillsDir, getCursorRulesDir, getCursorMcpPath, } from './lib/paths.js';
12
+ import { syncPluginToLocal } from './lib/plugin-local.js';
11
13
  import { createSymlink } from './lib/symlink.js';
12
14
  import { copyAgentsFromPluginStore } from './lib/agents-copy.js';
13
15
  import { mergeHooksInto } from './lib/hooks.js';
14
16
  import { mergeMcpIntoCursor, readMcpJson, updateMcpServersInCursor, } from './lib/mcp.js';
15
17
  import { readLock, writeLock } from './lib/lock.js';
18
+ import { uninstallPluginFromCursor } from './lib/uninstall-plugin.js';
16
19
  import { fatal } from './lib/errors.js';
17
20
  function isContainedIn(childPath, parentPath) {
18
21
  const normalizedParent = resolve(parentPath) + sep;
@@ -71,14 +74,12 @@ async function listRuleFiles(rulesDir) {
71
74
  }
72
75
  }
73
76
  /**
74
- * Copy plugin dir to store, then create symlinks for agents, commands, skills, rules; merge hooks and mcp.
75
- * Returns { done, hookEntries, mcpKeysAdded } so caller can store pluginHooks and pluginMcpKeys in lock.
77
+ * Project install: copy plugin dir to store, then symlink/copy into project .cursor/*; merge hooks and mcp.
76
78
  */
77
- async function installPlugin(pluginStorePath, cursorAgentsDir, cursorCommandsDir, cursorSkillsDir, cursorRulesDir, cwd, global, pluginName, isUpdate) {
79
+ async function installPluginProject(pluginStorePath, cursorAgentsDir, cursorCommandsDir, cursorSkillsDir, cursorRulesDir, cwd, global, isUpdate) {
78
80
  const done = [];
79
81
  let hookEntries = [];
80
82
  const mcpKeysAdded = [];
81
- // Agents are copied (not symlinked) so Cursor recognizes subagents
82
83
  const agentNames = await copyAgentsFromPluginStore(pluginStorePath, cursorAgentsDir);
83
84
  if (agentNames.length > 0)
84
85
  done.push('agents');
@@ -153,7 +154,6 @@ async function installPlugin(pluginStorePath, cursorAgentsDir, cursorCommandsDir
153
154
  }
154
155
  /**
155
156
  * Install marketplace from an already-resolved source dir. Used by add-plugin and update.
156
- * Returns { installed, pluginHooks, pluginMcpKeys } so caller can write lock.
157
157
  */
158
158
  export async function installMarketplaceFromDir(manifest, sourceDir, options = {}) {
159
159
  let pluginsToInstall = manifest.plugins;
@@ -183,11 +183,15 @@ export async function installMarketplaceFromDir(manifest, sourceDir, options = {
183
183
  if (!isContainedIn(absPluginDir, absSourceDir)) {
184
184
  fatal(`Plugin source "${plugin.source}" is outside the marketplace directory.`);
185
185
  }
186
+ if (global) {
187
+ await syncPluginToLocal(pluginDir, plugin.name);
188
+ installed.push(plugin.name);
189
+ continue;
190
+ }
186
191
  const storePath = getPluginStorePath(manifest.name, plugin.name);
187
- const { mkdir } = await import('fs/promises');
188
192
  await mkdir(storePath, { recursive: true });
189
193
  await cp(pluginDir, storePath, { recursive: true });
190
- const { done, hookEntries, mcpKeysAdded } = await installPlugin(storePath, cursorAgentsDir, cursorCommandsDir, cursorSkillsDir, cursorRulesDir, cwd, global, plugin.name, isUpdate);
194
+ const { done, hookEntries, mcpKeysAdded } = await installPluginProject(storePath, cursorAgentsDir, cursorCommandsDir, cursorSkillsDir, cursorRulesDir, cwd, global, isUpdate);
191
195
  if (done.length > 0) {
192
196
  installed.push(plugin.name);
193
197
  if (hookEntries.length > 0)
@@ -222,7 +226,7 @@ function parseAddPluginArgs(args) {
222
226
  export async function runAddPlugin(args) {
223
227
  const { source, pluginNames, global } = parseAddPluginArgs(args);
224
228
  if (!source) {
225
- fatal('Usage: agents-pkg add-plugin <source> [plugin-name...] [--global | --project]\n source = repo URL or local path; optional plugin names = install only those plugins (default: all).\n --global (default) = symlinks in ~/.cursor/*; --project = symlinks in project .cursor/*.');
229
+ fatal('Usage: agents-pkg add-plugin <source> [plugin-name...] [--global | --project]\n source = repo URL or local path; optional plugin names = install only those plugins (default: all).\n --global (default) = sync into ~/.cursor/plugins/local/<plugin-name>/; --project = symlinks in project .cursor/*.');
226
230
  }
227
231
  const { path: sourceDir, cleanup } = await resolveSourceToDir(source).catch((e) => {
228
232
  fatal(e instanceof Error ? e.message : String(e));
@@ -231,6 +235,27 @@ export async function runAddPlugin(args) {
231
235
  const manifest = await readMarketplaceManifest(sourceDir);
232
236
  const version = manifest.metadata?.version ?? '0.0.0';
233
237
  const lock = await readLock();
238
+ if (pluginNames && pluginNames.length > 0) {
239
+ const available = new Set(manifest.plugins.map((p) => p.name));
240
+ const missing = pluginNames.filter((name) => !available.has(name));
241
+ if (missing.length > 0) {
242
+ fatal(`Plugin(s) not found in marketplace: ${missing.join(', ')}. Available: ${manifest.plugins.map((p) => p.name).join(', ')}`);
243
+ }
244
+ }
245
+ if (global) {
246
+ const previousEntry = lock.marketplaces[manifest.name];
247
+ if (previousEntry) {
248
+ for (const pluginName of previousEntry.pluginNames ?? []) {
249
+ await uninstallPluginFromCursor({
250
+ marketplaceName: manifest.name,
251
+ pluginName,
252
+ global: true,
253
+ cwd: process.cwd(),
254
+ pluginHooks: previousEntry.pluginHooks?.[pluginName],
255
+ });
256
+ }
257
+ }
258
+ }
234
259
  const { installed, pluginHooks, pluginMcpKeys } = await installMarketplaceFromDir(manifest, sourceDir, {
235
260
  pluginNames,
236
261
  global,
@@ -1 +1 @@
1
- {"version":3,"file":"add-plugin.js","sourceRoot":"","sources":["../src/add-plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"add-plugin.js","sourceRoot":"","sources":["../src/add-plugin.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * del-marketplace — Uninstall a marketplace by name (remove symlinks, delete store, update lock).
2
+ * del-marketplace — Uninstall a marketplace by name.
3
3
  */
4
4
  export declare function runDelMarketplace(args: string[]): Promise<void>;
5
5
  //# sourceMappingURL=del-marketplace.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"del-marketplace.d.ts","sourceRoot":"","sources":["../src/del-marketplace.ts"],"names":[],"mappings":"AAAA;;GAEG;AAWH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA4CrE"}
1
+ {"version":3,"file":"del-marketplace.d.ts","sourceRoot":"","sources":["../src/del-marketplace.ts"],"names":[],"mappings":"AAAA;;GAEG;AAQH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAmCrE"}
@@ -1,12 +1,9 @@
1
1
  /**
2
- * del-marketplace — Uninstall a marketplace by name (remove symlinks, delete store, update lock).
2
+ * del-marketplace — Uninstall a marketplace by name.
3
3
  */
4
4
  import { rm } from 'fs/promises';
5
- import { getCursorAgentsDir, getCursorCommandsDir, getCursorSkillsDir, getCursorRulesDir } from './lib/paths.js';
6
- import { getMarketplaceStorePath, getPluginStorePath } from './lib/marketplace.js';
7
- import { removeSymlinksInDirPointingUnder } from './lib/symlink.js';
8
- import { removeCopiedAgentsForPlugin } from './lib/agents-copy.js';
9
- import { removeHookEntries } from './lib/hooks.js';
5
+ import { getMarketplaceStorePath } from './lib/marketplace.js';
6
+ import { uninstallPluginFromCursor } from './lib/uninstall-plugin.js';
10
7
  import { readLock, writeLock } from './lib/lock.js';
11
8
  import { fatal } from './lib/errors.js';
12
9
  export async function runDelMarketplace(args) {
@@ -19,31 +16,22 @@ export async function runDelMarketplace(args) {
19
16
  if (!entry) {
20
17
  fatal(`Marketplace "${name}" is not installed.`);
21
18
  }
22
- const storeRoot = getMarketplaceStorePath(name);
23
19
  const cwd = process.cwd();
24
20
  const global = entry.global !== false;
25
- const cursorAgentsDir = getCursorAgentsDir(global, cwd);
26
- const cursorCommandsDir = getCursorCommandsDir(global, cwd);
27
- const cursorSkillsDir = getCursorSkillsDir(global, cwd);
28
- const cursorRulesDir = getCursorRulesDir(global, cwd);
29
21
  for (const pluginName of entry.pluginNames ?? []) {
30
- if (entry.pluginHooks?.[pluginName]?.length) {
31
- await removeHookEntries(entry.pluginHooks[pluginName], global, cwd);
32
- }
22
+ await uninstallPluginFromCursor({
23
+ marketplaceName: name,
24
+ pluginName,
25
+ global,
26
+ cwd,
27
+ pluginHooks: entry.pluginHooks?.[pluginName],
28
+ });
33
29
  }
34
- for (const pluginName of entry.pluginNames ?? []) {
35
- const pluginStorePath = getPluginStorePath(name, pluginName);
36
- await removeCopiedAgentsForPlugin(pluginStorePath, cursorAgentsDir);
37
- }
38
- await removeSymlinksInDirPointingUnder(cursorAgentsDir, storeRoot);
39
- await removeSymlinksInDirPointingUnder(cursorCommandsDir, storeRoot);
40
- await removeSymlinksInDirPointingUnder(cursorSkillsDir, storeRoot);
41
- await removeSymlinksInDirPointingUnder(cursorRulesDir, storeRoot);
42
- try {
43
- await rm(storeRoot, { recursive: true, force: true });
44
- }
45
- catch (e) {
46
- console.warn(`Could not remove store at ${storeRoot}:`, e instanceof Error ? e.message : String(e));
30
+ if (!global) {
31
+ const storeRoot = getMarketplaceStorePath(name);
32
+ await rm(storeRoot, { recursive: true, force: true }).catch((e) => {
33
+ console.warn(`Could not remove store at ${storeRoot}:`, e instanceof Error ? e.message : String(e));
34
+ });
47
35
  }
48
36
  delete lock.marketplaces[name];
49
37
  await writeLock(lock);
@@ -1 +1 @@
1
- {"version":3,"file":"del-marketplace.js","sourceRoot":"","sources":["../src/del-marketplace.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACjH,OAAO,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACnF,OAAO,EAAE,gCAAgC,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAExC,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,IAAc;IACpD,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;IAC7B,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,KAAK,CAAC,gGAAgG,CAAC,CAAC;IAC1G,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,QAAQ,EAAE,CAAC;IAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IACtC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,KAAK,CAAC,gBAAgB,IAAI,qBAAqB,CAAC,CAAC;IACnD,CAAC;IAED,MAAM,SAAS,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAChD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC;IACtC,MAAM,eAAe,GAAG,kBAAkB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACxD,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC5D,MAAM,eAAe,GAAG,kBAAkB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACxD,MAAM,cAAc,GAAG,iBAAiB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAEtD,KAAK,MAAM,UAAU,IAAI,KAAK,CAAC,WAAW,IAAI,EAAE,EAAE,CAAC;QACjD,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;YAC5C,MAAM,iBAAiB,CAAC,KAAK,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;IAED,KAAK,MAAM,UAAU,IAAI,KAAK,CAAC,WAAW,IAAI,EAAE,EAAE,CAAC;QACjD,MAAM,eAAe,GAAG,kBAAkB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAC7D,MAAM,2BAA2B,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;IACtE,CAAC;IACD,MAAM,gCAAgC,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;IACnE,MAAM,gCAAgC,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC;IACrE,MAAM,gCAAgC,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;IACnE,MAAM,gCAAgC,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;IAElE,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACxD,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,IAAI,CAAC,6BAA6B,SAAS,GAAG,EAAE,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACtG,CAAC;IAED,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC;IACtB,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,IAAI,CAAC,CAAC;AAChD,CAAC"}
1
+ {"version":3,"file":"del-marketplace.js","sourceRoot":"","sources":["../src/del-marketplace.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAExC,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,IAAc;IACpD,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;IAC7B,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,KAAK,CAAC,gGAAgG,CAAC,CAAC;IAC1G,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,QAAQ,EAAE,CAAC;IAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IACtC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,KAAK,CAAC,gBAAgB,IAAI,qBAAqB,CAAC,CAAC;IACnD,CAAC;IAED,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC;IAEtC,KAAK,MAAM,UAAU,IAAI,KAAK,CAAC,WAAW,IAAI,EAAE,EAAE,CAAC;QACjD,MAAM,yBAAyB,CAAC;YAC9B,eAAe,EAAE,IAAI;YACrB,UAAU;YACV,MAAM;YACN,GAAG;YACH,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC;SAC7C,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,SAAS,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC;QAChD,MAAM,EAAE,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;YAChE,OAAO,CAAC,IAAI,CAAC,6BAA6B,SAAS,GAAG,EAAE,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACtG,CAAC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC;IACtB,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,IAAI,CAAC,CAAC;AAChD,CAAC"}
@@ -1,6 +1,5 @@
1
1
  /**
2
2
  * del-plugin — Remove a single plugin from an installed marketplace.
3
- * Removes that plugin's symlinks and store dir; updates lock. If the last plugin is removed, the marketplace entry is removed.
4
3
  */
5
4
  export declare function runDelPlugin(args: string[]): Promise<void>;
6
5
  //# sourceMappingURL=del-plugin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"del-plugin.d.ts","sourceRoot":"","sources":["../src/del-plugin.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAWH,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAiDhE"}
1
+ {"version":3,"file":"del-plugin.d.ts","sourceRoot":"","sources":["../src/del-plugin.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,wBAAsB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAoChE"}
@@ -1,14 +1,8 @@
1
1
  /**
2
2
  * del-plugin — Remove a single plugin from an installed marketplace.
3
- * Removes that plugin's symlinks and store dir; updates lock. If the last plugin is removed, the marketplace entry is removed.
4
3
  */
5
- import { rm } from 'fs/promises';
6
- import { getCursorAgentsDir, getCursorCommandsDir, getCursorSkillsDir, getCursorRulesDir } from './lib/paths.js';
7
- import { getPluginStorePath } from './lib/marketplace.js';
8
- import { removeSymlinksInDirPointingUnder } from './lib/symlink.js';
9
- import { removeCopiedAgentsForPlugin } from './lib/agents-copy.js';
10
- import { removeHookEntries } from './lib/hooks.js';
11
4
  import { readLock, writeLock } from './lib/lock.js';
5
+ import { uninstallPluginFromCursor } from './lib/uninstall-plugin.js';
12
6
  import { fatal } from './lib/errors.js';
13
7
  export async function runDelPlugin(args) {
14
8
  const marketplaceName = args[0]?.trim();
@@ -24,27 +18,15 @@ export async function runDelPlugin(args) {
24
18
  if (!entry.pluginNames?.includes(pluginName)) {
25
19
  fatal(`Plugin "${pluginName}" is not installed from marketplace "${marketplaceName}". Installed: ${entry.pluginNames?.join(', ') ?? '(none)'}.`);
26
20
  }
27
- const pluginStorePath = getPluginStorePath(marketplaceName, pluginName);
28
21
  const cwd = process.cwd();
29
22
  const global = entry.global !== false;
30
- const cursorAgentsDir = getCursorAgentsDir(global, cwd);
31
- const cursorCommandsDir = getCursorCommandsDir(global, cwd);
32
- const cursorSkillsDir = getCursorSkillsDir(global, cwd);
33
- const cursorRulesDir = getCursorRulesDir(global, cwd);
34
- if (entry.pluginHooks?.[pluginName]?.length) {
35
- await removeHookEntries(entry.pluginHooks[pluginName], global, cwd);
36
- }
37
- await removeCopiedAgentsForPlugin(pluginStorePath, cursorAgentsDir);
38
- await removeSymlinksInDirPointingUnder(cursorAgentsDir, pluginStorePath);
39
- await removeSymlinksInDirPointingUnder(cursorCommandsDir, pluginStorePath);
40
- await removeSymlinksInDirPointingUnder(cursorSkillsDir, pluginStorePath);
41
- await removeSymlinksInDirPointingUnder(cursorRulesDir, pluginStorePath);
42
- try {
43
- await rm(pluginStorePath, { recursive: true, force: true });
44
- }
45
- catch (e) {
46
- console.warn(`Could not remove store at ${pluginStorePath}:`, e instanceof Error ? e.message : String(e));
47
- }
23
+ await uninstallPluginFromCursor({
24
+ marketplaceName,
25
+ pluginName,
26
+ global,
27
+ cwd,
28
+ pluginHooks: entry.pluginHooks?.[pluginName],
29
+ });
48
30
  entry.pluginNames = entry.pluginNames.filter((n) => n !== pluginName);
49
31
  if (entry.pluginHooks)
50
32
  delete entry.pluginHooks[pluginName];
@@ -1 +1 @@
1
- {"version":3,"file":"del-plugin.js","sourceRoot":"","sources":["../src/del-plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"del-plugin.js","sourceRoot":"","sources":["../src/del-plugin.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAExC,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,IAAc;IAC/C,MAAM,eAAe,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;IACxC,MAAM,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;IACnC,IAAI,CAAC,eAAe,IAAI,CAAC,UAAU,EAAE,CAAC;QACpC,KAAK,CAAC,wJAAwJ,CAAC,CAAC;IAClK,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,QAAQ,EAAE,CAAC;IAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;IACjD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,KAAK,CAAC,gBAAgB,eAAe,qBAAqB,CAAC,CAAC;IAC9D,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QAC7C,KAAK,CAAC,WAAW,UAAU,wCAAwC,eAAe,iBAAiB,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ,GAAG,CAAC,CAAC;IACnJ,CAAC;IAED,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC;IAEtC,MAAM,yBAAyB,CAAC;QAC9B,eAAe;QACf,UAAU;QACV,MAAM;QACN,GAAG;QACH,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC;KAC7C,CAAC,CAAC;IAEH,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC;IACtE,IAAI,KAAK,CAAC,WAAW;QAAE,OAAO,KAAK,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IAC5D,IAAI,KAAK,CAAC,aAAa;QAAE,OAAO,KAAK,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IAChE,IAAI,KAAK,CAAC,cAAc;QAAE,OAAO,KAAK,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;IAClE,IAAI,KAAK,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnC,OAAO,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;IAC5C,CAAC;IACD,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC;IACtB,OAAO,CAAC,GAAG,CAAC,mBAAmB,UAAU,uBAAuB,eAAe,IAAI,CAAC,CAAC;AACvF,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Sync marketplace plugins into Cursor's local plugin directory (~/.cursor/plugins/local).
3
+ */
4
+ /** Root for Cursor local plugins (override in tests via CURSOR_LOCAL_PLUGINS). */
5
+ export declare function getCursorLocalPluginsDir(): string;
6
+ export declare function getCursorLocalPluginPath(pluginName: string): string;
7
+ /** Replace plugins/local/<name>/ with a fresh copy of the plugin source tree. */
8
+ export declare function syncPluginToLocal(sourceDir: string, pluginName: string): Promise<void>;
9
+ export declare function removeLocalPlugin(pluginName: string): Promise<void>;
10
+ //# sourceMappingURL=plugin-local.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-local.d.ts","sourceRoot":"","sources":["../../src/lib/plugin-local.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,kFAAkF;AAClF,wBAAgB,wBAAwB,IAAI,MAAM,CAIjD;AAED,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAEnE;AAED,iFAAiF;AACjF,wBAAsB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAK5F;AAED,wBAAsB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEzE"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Sync marketplace plugins into Cursor's local plugin directory (~/.cursor/plugins/local).
3
+ */
4
+ import { cp, mkdir, rm } from 'fs/promises';
5
+ import { join } from 'path';
6
+ import { homedir } from 'os';
7
+ /** Root for Cursor local plugins (override in tests via CURSOR_LOCAL_PLUGINS). */
8
+ export function getCursorLocalPluginsDir() {
9
+ const override = process.env.CURSOR_LOCAL_PLUGINS?.trim();
10
+ if (override)
11
+ return override;
12
+ return join(homedir(), '.cursor', 'plugins', 'local');
13
+ }
14
+ export function getCursorLocalPluginPath(pluginName) {
15
+ return join(getCursorLocalPluginsDir(), pluginName);
16
+ }
17
+ /** Replace plugins/local/<name>/ with a fresh copy of the plugin source tree. */
18
+ export async function syncPluginToLocal(sourceDir, pluginName) {
19
+ const dest = getCursorLocalPluginPath(pluginName);
20
+ await mkdir(getCursorLocalPluginsDir(), { recursive: true });
21
+ await rm(dest, { recursive: true, force: true });
22
+ await cp(sourceDir, dest, { recursive: true });
23
+ }
24
+ export async function removeLocalPlugin(pluginName) {
25
+ await rm(getCursorLocalPluginPath(pluginName), { recursive: true, force: true });
26
+ }
27
+ //# sourceMappingURL=plugin-local.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-local.js","sourceRoot":"","sources":["../../src/lib/plugin-local.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAE7B,kFAAkF;AAClF,MAAM,UAAU,wBAAwB;IACtC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,IAAI,EAAE,CAAC;IAC1D,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC9B,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,UAAkB;IACzD,OAAO,IAAI,CAAC,wBAAwB,EAAE,EAAE,UAAU,CAAC,CAAC;AACtD,CAAC;AAED,iFAAiF;AACjF,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,SAAiB,EAAE,UAAkB;IAC3E,MAAM,IAAI,GAAG,wBAAwB,CAAC,UAAU,CAAC,CAAC;IAClD,MAAM,KAAK,CAAC,wBAAwB,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7D,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACjD,MAAM,EAAE,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,UAAkB;IACxD,MAAM,EAAE,CAAC,wBAAwB,CAAC,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AACnF,CAAC"}
@@ -1,12 +1,20 @@
1
1
  /**
2
2
  * Resolve a source (GitHub owner/repo, git URL, or local path) to a local directory path.
3
3
  * For remote sources, clones to a temp directory; caller must call cleanup() when done.
4
+ *
5
+ * Parsing of `source` (local vs. git, ref extraction) lives in `source-parser.ts`; this
6
+ * module only does filesystem/network work (stat a local path, or clone a git remote).
4
7
  */
5
8
  export interface ResolveSourceToDirResult {
6
9
  path: string;
7
10
  /** Call when done to remove temp dir (only set when we cloned). */
8
11
  cleanup?: () => Promise<void>;
9
12
  }
13
+ /**
14
+ * Clone `url` (optionally at `ref`) into a fresh temp directory and return its path.
15
+ * Caller owns the returned directory and should remove it when done.
16
+ */
17
+ export declare function cloneRepo(url: string, ref?: string): Promise<string>;
10
18
  /**
11
19
  * Resolve source to a local directory. For remote sources, clones to a temp dir.
12
20
  * Call cleanup() when finished to remove the temp dir.
@@ -1 +1 @@
1
- {"version":3,"file":"source-dir.d.ts","sourceRoot":"","sources":["../../src/lib/source-dir.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAkEH,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,mEAAmE;IACnE,OAAO,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/B;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAkD1F"}
1
+ {"version":3,"file":"source-dir.d.ts","sourceRoot":"","sources":["../../src/lib/source-dir.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAQH,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,mEAAmE;IACnE,OAAO,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/B;AAWD;;;GAGG;AACH,wBAAsB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA8C1E;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,wBAAwB,CAAC,CA6B1F"}