agentinit 1.16.0 → 1.16.1

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/CHANGELOG.md CHANGED
@@ -1,3 +1,10 @@
1
+ ## [1.16.1](https://github.com/agentinit/agentinit/compare/v1.16.0...v1.16.1) (2026-04-01)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * align Claude native plugin installs with marketplace behavior ([bdfa280](https://github.com/agentinit/agentinit/commit/bdfa2801a9ad933727fd72327cd9b121dfe0a543))
7
+
1
8
  # [1.16.0](https://github.com/agentinit/agentinit/compare/v1.15.1...v1.16.0) (2026-04-01)
2
9
 
3
10
 
@@ -142,7 +149,7 @@
142
149
  * add OpenClaw as a skills target with shared project installs via `.agents/skills/` and dedicated global installs via `~/.openclaw/skills/`
143
150
  * add Hermes as a skills target with shared project installs via `.agents/skills/` and dedicated global installs via `~/.hermes/skills/`
144
151
  * warn and fall back to GitHub repos for marketplace misses, marking allowlisted repos like `openai/codex-plugin-cc` as verified
145
- * install Claude Code-native plugin payloads during `plugins install` when Claude-only components are detected and Claude Code is targeted
152
+ * install Claude Code-native plugin payloads during `plugins install` when Claude-only components are detected and Claude Code is targeted, registering native marketplace metadata under `~/.claude/plugins`
146
153
 
147
154
  ### Bug Fixes
148
155
 
@@ -152,7 +159,7 @@
152
159
  * update docs and onboarding to the `mcp add|verify`, `rules add`, and `skills add` command model
153
160
  * parse Claude Code marketplace bundle repos like `openai/codex-plugin-cc` when installing portable skills or plugins
154
161
  * keep interactive plugin target defaults on all detected agents, warn clearly when Claude-native payloads are skipped, and reuse the previewed remote source during install
155
- * enable Claude-native plugin payloads in `~/.claude/settings.json` so installed Claude plugins actually activate
162
+ * enable Claude-native plugin payloads in `~/.claude/settings.json`, register them in `known_marketplaces.json`, and migrate legacy `agentinit-*` Claude namespaces to native marketplace ids
156
163
 
157
164
  # [1.7.0](https://github.com/agentinit/agentinit/compare/v1.6.0...v1.7.0) (2025-10-17)
158
165
 
package/README.md CHANGED
@@ -263,7 +263,7 @@ agentinit plugins remove code-review
263
263
  - Implemented marketplaces today include `claude` (Anthropic's Claude plugin marketplace) and `openai` (the OpenAI Codex skills catalog).
264
264
  - You can add your own marketplaces with `agentinit config marketplaces add <identifier> <repo-url>`.
265
265
  - If a marketplace lookup misses but the source still looks like `owner/repo`, AgentInit warns and tries that GitHub repository directly. Exact repos added with `agentinit config verified-repos add <owner/repo>` are labeled as verified during that fallback.
266
- - For Claude-format plugins, `plugins install` still installs portable skills and MCP servers for the selected agents. If Claude Code-native components are also present, AgentInit previews that compatibility before target selection. The native plugin payload installs only when `claude` is one of the selected targets; otherwise AgentInit warns that the Claude-only parts were skipped. When the native payload is installed, AgentInit reminds you to run `/reload-plugins`.
266
+ - For Claude-format plugins, `plugins install` installs portable skills and MCP servers for compatible selected agents. If a native Claude Code plugin bundle is also present, AgentInit installs that bundle into `~/.claude/plugins` when `claude` is selected, registers the corresponding Claude marketplace metadata, and skips portable skill fallback for any selected agents that share Claude Code's skills directory. Portable MCP installs still apply to other compatible agents.
267
267
  - Claude-native plugin payloads are user-scoped and stored under `~/.claude/plugins`, even when the AgentInit install itself is project-scoped.
268
268
 
269
269
  ### `agentinit config`
package/dist/cli.js CHANGED
@@ -17312,6 +17312,8 @@ class PluginManager {
17312
17312
  (async () => !!manifest.commands || await isDirectory(join4(pluginDir, "commands")))(),
17313
17313
  (async () => !!manifest.hooks || await isDirectory(join4(pluginDir, "hooks")))(),
17314
17314
  (async () => !!manifest.agents || await isDirectory(join4(pluginDir, "agents")))(),
17315
+ isDirectory(join4(pluginDir, "skills")),
17316
+ (async () => !!manifest.mcpServers || await fileExists(join4(pluginDir, ".mcp.json")))(),
17315
17317
  isDirectory(join4(pluginDir, "prompts")),
17316
17318
  isDirectory(join4(pluginDir, "schemas")),
17317
17319
  isDirectory(join4(pluginDir, "scripts")),
@@ -17321,10 +17323,12 @@ class PluginManager {
17321
17323
  ...featureChecks[0] ? ["commands"] : [],
17322
17324
  ...featureChecks[1] ? ["hooks"] : [],
17323
17325
  ...featureChecks[2] ? ["agents"] : [],
17324
- ...featureChecks[3] ? ["prompts"] : [],
17325
- ...featureChecks[4] ? ["schemas"] : [],
17326
- ...featureChecks[5] ? ["scripts"] : [],
17327
- ...featureChecks[6] ? ["templates"] : []
17326
+ ...featureChecks[3] ? ["skills"] : [],
17327
+ ...featureChecks[4] ? ["mcp servers"] : [],
17328
+ ...featureChecks[5] ? ["prompts"] : [],
17329
+ ...featureChecks[6] ? ["schemas"] : [],
17330
+ ...featureChecks[7] ? ["scripts"] : [],
17331
+ ...featureChecks[8] ? ["templates"] : []
17328
17332
  ];
17329
17333
  }
17330
17334
  async getClaudeNativeInstallTarget(plugin, pluginDir) {
@@ -17346,12 +17350,13 @@ class PluginManager {
17346
17350
  return null;
17347
17351
  }
17348
17352
  const baseNamespace = plugin.nativeClaudeBundle?.bundleName || plugin.source.marketplace || (plugin.source.owner && plugin.source.repo ? `${plugin.source.owner}-${plugin.source.repo}` : plugin.name);
17349
- const namespace = `agentinit-${this.slugifyPluginNamespace(baseNamespace)}`;
17353
+ const namespace = this.slugifyPluginNamespace(baseNamespace);
17350
17354
  const versionDir = this.slugifyPluginNamespace(plugin.version || "0.0.0");
17351
17355
  return {
17352
17356
  namespace,
17353
17357
  pluginKey: `${plugin.name}@${namespace}`,
17354
17358
  installPath: join4(homedir4(), ".claude", "plugins", "cache", namespace, plugin.name, versionDir),
17359
+ marketplacePath: getClaudeMarketplaceInstallPath(namespace),
17355
17360
  features
17356
17361
  };
17357
17362
  }
@@ -17374,6 +17379,24 @@ class PluginManager {
17374
17379
  async saveClaudeInstalledPlugins(state) {
17375
17380
  await writeFile(getClaudeInstalledPluginsPath(), JSON.stringify(state, null, 2));
17376
17381
  }
17382
+ async readClaudeKnownMarketplaces() {
17383
+ const content = await readFileIfExists(getClaudeKnownMarketplacesPath());
17384
+ if (!content) {
17385
+ return {};
17386
+ }
17387
+ try {
17388
+ const parsed = JSON.parse(content);
17389
+ if (!parsed || typeof parsed !== "object" || Array.isArray(parsed)) {
17390
+ return {};
17391
+ }
17392
+ return parsed;
17393
+ } catch {
17394
+ return {};
17395
+ }
17396
+ }
17397
+ async saveClaudeKnownMarketplaces(state) {
17398
+ await writeFile(getClaudeKnownMarketplacesPath(), JSON.stringify(state, null, 2));
17399
+ }
17377
17400
  async readClaudeSettings() {
17378
17401
  const content = await readFileIfExists(getClaudeSettingsPath());
17379
17402
  if (!content) {
@@ -17395,6 +17418,145 @@ class PluginManager {
17395
17418
  async saveClaudeSettings(state) {
17396
17419
  await writeFile(getClaudeSettingsPath(), JSON.stringify(state, null, 2));
17397
17420
  }
17421
+ async findClaudeMarketplaceRoot(pluginDir) {
17422
+ let currentDir = resolve7(pluginDir);
17423
+ while (true) {
17424
+ if (await fileExists(join4(currentDir, ".claude-plugin", "marketplace.json"))) {
17425
+ return currentDir;
17426
+ }
17427
+ const parentDir = dirname2(currentDir);
17428
+ if (parentDir === currentDir) {
17429
+ return null;
17430
+ }
17431
+ currentDir = parentDir;
17432
+ }
17433
+ }
17434
+ async readClaudeMarketplaceManifest(marketplaceDir) {
17435
+ const manifestContent = await readFileIfExists(join4(marketplaceDir, ".claude-plugin", "marketplace.json"));
17436
+ if (!manifestContent) {
17437
+ return null;
17438
+ }
17439
+ try {
17440
+ const parsed = JSON.parse(manifestContent);
17441
+ if (!parsed || typeof parsed !== "object" || Array.isArray(parsed)) {
17442
+ return null;
17443
+ }
17444
+ const plugins = Array.isArray(parsed.plugins) ? parsed.plugins.filter((entry) => !!entry && typeof entry === "object" && !Array.isArray(entry)) : [];
17445
+ return {
17446
+ ...parsed,
17447
+ plugins
17448
+ };
17449
+ } catch {
17450
+ return null;
17451
+ }
17452
+ }
17453
+ async saveClaudeMarketplaceManifest(marketplaceDir, manifest) {
17454
+ await fs22.mkdir(join4(marketplaceDir, ".claude-plugin"), { recursive: true });
17455
+ await writeFile(join4(marketplaceDir, ".claude-plugin", "marketplace.json"), JSON.stringify(manifest, null, 2));
17456
+ }
17457
+ resolveMarketplaceSourcePath(baseDir, relativePath) {
17458
+ const resolvedPath = resolve7(baseDir, relativePath);
17459
+ const relativePathFromBase = relative2(resolve7(baseDir), resolvedPath);
17460
+ if (relativePathFromBase.startsWith("..") || relativePathFromBase.includes("/../") || relativePathFromBase.includes("\\..\\")) {
17461
+ throw new Error(`Invalid marketplace source path "${relativePath}" in ${baseDir}`);
17462
+ }
17463
+ return resolvedPath;
17464
+ }
17465
+ async readClaudePluginMetadata(pluginDir) {
17466
+ const manifestContent = await readFileIfExists(join4(pluginDir, ".claude-plugin", "plugin.json"));
17467
+ if (!manifestContent) {
17468
+ return {};
17469
+ }
17470
+ try {
17471
+ const manifest = JSON.parse(manifestContent);
17472
+ return {
17473
+ ...typeof manifest.description === "string" ? { description: manifest.description } : {},
17474
+ ...typeof manifest.version === "string" ? { version: manifest.version } : {},
17475
+ ...manifest.author ? { author: manifest.author } : {}
17476
+ };
17477
+ } catch {
17478
+ return {};
17479
+ }
17480
+ }
17481
+ async copyClaudeMarketplacePlugin(sourcePluginDir, marketplacePath, pluginName) {
17482
+ const marketplacePluginPath = join4(marketplacePath, "plugins", pluginName);
17483
+ await fs22.mkdir(dirname2(marketplacePluginPath), { recursive: true });
17484
+ await fs22.rm(marketplacePluginPath, { recursive: true, force: true }).catch(() => {
17485
+ });
17486
+ await fs22.cp(sourcePluginDir, marketplacePluginPath, { recursive: true, dereference: true });
17487
+ return marketplacePluginPath;
17488
+ }
17489
+ getClaudeMarketplaceSource(plugin, marketplaceRoot, marketplacePath) {
17490
+ if (plugin.source.type === "github") {
17491
+ if (plugin.source.owner && plugin.source.repo) {
17492
+ return {
17493
+ source: "github",
17494
+ repo: `${plugin.source.owner}/${plugin.source.repo}`
17495
+ };
17496
+ }
17497
+ if (plugin.source.url) {
17498
+ return {
17499
+ source: "git",
17500
+ url: plugin.source.url
17501
+ };
17502
+ }
17503
+ }
17504
+ if (plugin.source.type === "local") {
17505
+ return {
17506
+ source: "directory",
17507
+ path: resolve7(marketplaceRoot || plugin.source.path || marketplacePath)
17508
+ };
17509
+ }
17510
+ return {
17511
+ source: "directory",
17512
+ path: marketplacePath
17513
+ };
17514
+ }
17515
+ async materializeClaudeMarketplace(plugin, pluginDir, target) {
17516
+ const marketplaceRoot = await this.findClaudeMarketplaceRoot(pluginDir);
17517
+ const marketplaceSource = this.getClaudeMarketplaceSource(plugin, marketplaceRoot, target.marketplacePath);
17518
+ await fs22.mkdir(target.marketplacePath, { recursive: true });
17519
+ const existingManifest = await this.readClaudeMarketplaceManifest(target.marketplacePath);
17520
+ const sourceManifest = marketplaceRoot ? await this.readClaudeMarketplaceManifest(marketplaceRoot) : null;
17521
+ const mergedManifest = {
17522
+ ...sourceManifest || {},
17523
+ ...existingManifest || {},
17524
+ name: target.namespace
17525
+ };
17526
+ const mergedEntries = new Map;
17527
+ for (const entry of existingManifest?.plugins || []) {
17528
+ if (typeof entry.name === "string" && entry.name) {
17529
+ mergedEntries.set(entry.name, entry);
17530
+ }
17531
+ }
17532
+ if (marketplaceRoot && sourceManifest) {
17533
+ for (const entry of sourceManifest.plugins || []) {
17534
+ if (typeof entry.name !== "string" || !entry.name || typeof entry.source !== "string" || !entry.source) {
17535
+ continue;
17536
+ }
17537
+ const sourcePluginDir = this.resolveMarketplaceSourcePath(marketplaceRoot, entry.source);
17538
+ await this.copyClaudeMarketplacePlugin(sourcePluginDir, target.marketplacePath, entry.name);
17539
+ mergedEntries.set(entry.name, {
17540
+ ...entry,
17541
+ source: `./plugins/${entry.name}`
17542
+ });
17543
+ }
17544
+ } else {
17545
+ await this.copyClaudeMarketplacePlugin(pluginDir, target.marketplacePath, plugin.name);
17546
+ const pluginMetadata = await this.readClaudePluginMetadata(pluginDir);
17547
+ mergedEntries.set(plugin.name, {
17548
+ ...mergedEntries.get(plugin.name) || {},
17549
+ name: plugin.name,
17550
+ source: `./plugins/${plugin.name}`,
17551
+ ...plugin.description ? { description: plugin.description } : {},
17552
+ ...plugin.version ? { version: plugin.version } : {},
17553
+ ...pluginMetadata
17554
+ });
17555
+ }
17556
+ mergedManifest.plugins = [...mergedEntries.values()].sort((left, right) => (left.name || "").localeCompare(right.name || ""));
17557
+ await this.saveClaudeMarketplaceManifest(target.marketplacePath, mergedManifest);
17558
+ return { source: marketplaceSource };
17559
+ }
17398
17560
  async installNativeClaudePlugin(plugin, pluginDir, agents) {
17399
17561
  const installed = [];
17400
17562
  const skipped = [];
@@ -17415,7 +17577,8 @@ class PluginManager {
17415
17577
  }
17416
17578
  warnings.push(`Claude Code-native plugin components detected (${featureLabel}); they will only work in Claude Code and install into ~/.claude/plugins.`);
17417
17579
  const claudeInstalled = await this.readClaudeInstalledPlugins();
17418
- const conflictingKey = Object.keys(claudeInstalled.plugins).find((key) => key !== nativeTarget.pluginKey && key.startsWith(`${plugin.name}@`));
17580
+ const legacyKeys = Object.keys(claudeInstalled.plugins).filter((key) => key !== nativeTarget.pluginKey && key.startsWith(`${plugin.name}@agentinit-`));
17581
+ const conflictingKey = Object.keys(claudeInstalled.plugins).find((key) => key !== nativeTarget.pluginKey && !legacyKeys.includes(key) && key.startsWith(`${plugin.name}@`));
17419
17582
  if (conflictingKey) {
17420
17583
  skipped.push({
17421
17584
  agent: "claude",
@@ -17428,6 +17591,7 @@ class PluginManager {
17428
17591
  });
17429
17592
  await fs22.mkdir(dirname2(nativeTarget.installPath), { recursive: true });
17430
17593
  await fs22.cp(pluginDir, nativeTarget.installPath, { recursive: true, dereference: true });
17594
+ const marketplace = await this.materializeClaudeMarketplace(plugin, pluginDir, nativeTarget);
17431
17595
  const now = new Date().toISOString();
17432
17596
  claudeInstalled.plugins[nativeTarget.pluginKey] = [{
17433
17597
  scope: "user",
@@ -17436,13 +17600,42 @@ class PluginManager {
17436
17600
  installedAt: now,
17437
17601
  lastUpdated: now
17438
17602
  }];
17603
+ const legacyEntries = legacyKeys.flatMap((key) => claudeInstalled.plugins[key] || []);
17604
+ for (const legacyKey of legacyKeys) {
17605
+ delete claudeInstalled.plugins[legacyKey];
17606
+ }
17439
17607
  await this.saveClaudeInstalledPlugins(claudeInstalled);
17440
17608
  const claudeSettings = await this.readClaudeSettings();
17441
17609
  claudeSettings.enabledPlugins = {
17442
17610
  ...claudeSettings.enabledPlugins || {},
17443
17611
  [nativeTarget.pluginKey]: true
17444
17612
  };
17613
+ claudeSettings.extraKnownMarketplaces = {
17614
+ ...claudeSettings.extraKnownMarketplaces || {},
17615
+ [nativeTarget.namespace]: {
17616
+ source: marketplace.source
17617
+ }
17618
+ };
17619
+ for (const legacyKey of legacyKeys) {
17620
+ if (claudeSettings.enabledPlugins && legacyKey in claudeSettings.enabledPlugins) {
17621
+ delete claudeSettings.enabledPlugins[legacyKey];
17622
+ }
17623
+ }
17445
17624
  await this.saveClaudeSettings(claudeSettings);
17625
+ const knownMarketplaces = await this.readClaudeKnownMarketplaces();
17626
+ knownMarketplaces[nativeTarget.namespace] = {
17627
+ source: marketplace.source,
17628
+ installLocation: nativeTarget.marketplacePath,
17629
+ lastUpdated: now
17630
+ };
17631
+ await this.saveClaudeKnownMarketplaces(knownMarketplaces);
17632
+ for (const entry of legacyEntries) {
17633
+ await fs22.rm(entry.installPath, { recursive: true, force: true }).catch(() => {
17634
+ });
17635
+ }
17636
+ for (const legacyKey of legacyKeys) {
17637
+ warnings.push(`Replaced legacy AgentInit Claude plugin install ${legacyKey} with ${nativeTarget.pluginKey}.`);
17638
+ }
17446
17639
  installed.push({
17447
17640
  agent: "claude",
17448
17641
  pluginKey: nativeTarget.pluginKey,
@@ -17463,6 +17656,7 @@ class PluginManager {
17463
17656
  const claudeInstalled = await this.readClaudeInstalledPlugins();
17464
17657
  const entries = claudeInstalled.plugins[component.pluginKey] || [];
17465
17658
  const remainingEntries = entries.filter((entry) => entry.installPath !== component.installPath);
17659
+ const marketplaceNamespace = component.pluginKey.includes("@") ? component.pluginKey.split("@").slice(1).join("@") : "";
17466
17660
  if (remainingEntries.length > 0) {
17467
17661
  claudeInstalled.plugins[component.pluginKey] = remainingEntries;
17468
17662
  } else {
@@ -17473,8 +17667,32 @@ class PluginManager {
17473
17667
  if (claudeSettings.enabledPlugins && component.pluginKey in claudeSettings.enabledPlugins) {
17474
17668
  const { [component.pluginKey]: _removed, ...remainingEnabledPlugins } = claudeSettings.enabledPlugins;
17475
17669
  claudeSettings.enabledPlugins = remainingEnabledPlugins;
17476
- await this.saveClaudeSettings(claudeSettings);
17477
17670
  }
17671
+ const namespaceStillInstalled = marketplaceNamespace ? Object.keys(claudeInstalled.plugins).some((pluginKey) => pluginKey.endsWith(`@${marketplaceNamespace}`)) : false;
17672
+ if (!namespaceStillInstalled && marketplaceNamespace) {
17673
+ if (claudeSettings.extraKnownMarketplaces && marketplaceNamespace in claudeSettings.extraKnownMarketplaces) {
17674
+ delete claudeSettings.extraKnownMarketplaces[marketplaceNamespace];
17675
+ }
17676
+ const knownMarketplaces = await this.readClaudeKnownMarketplaces();
17677
+ if (marketplaceNamespace in knownMarketplaces) {
17678
+ delete knownMarketplaces[marketplaceNamespace];
17679
+ await this.saveClaudeKnownMarketplaces(knownMarketplaces);
17680
+ }
17681
+ await fs22.rm(getClaudeMarketplaceInstallPath(marketplaceNamespace), { recursive: true, force: true }).catch(() => {
17682
+ });
17683
+ } else if (marketplaceNamespace) {
17684
+ const pluginName = component.pluginKey.split("@")[0] || "";
17685
+ const marketplacePath = getClaudeMarketplaceInstallPath(marketplaceNamespace);
17686
+ const manifest = await this.readClaudeMarketplaceManifest(marketplacePath);
17687
+ if (pluginName && manifest) {
17688
+ manifest.plugins = (manifest.plugins || []).filter((entry) => entry.name !== pluginName);
17689
+ const marketplacePluginPath = join4(marketplacePath, "plugins", pluginName);
17690
+ await fs22.rm(marketplacePluginPath, { recursive: true, force: true }).catch(() => {
17691
+ });
17692
+ await this.saveClaudeMarketplaceManifest(marketplacePath, manifest);
17693
+ }
17694
+ }
17695
+ await this.saveClaudeSettings(claudeSettings);
17478
17696
  await fs22.rm(component.installPath, { recursive: true, force: true }).catch(() => {
17479
17697
  });
17480
17698
  return true;
@@ -17915,8 +18133,11 @@ ${body.trim()}
17915
18133
  warnings: plugin.warnings
17916
18134
  };
17917
18135
  }
17918
- const skillResult = await this.installPluginSkills(plugin, projectPath, agents, options2);
17919
- const mcpResult = await this.applyPluginMcpServers(plugin, projectPath, agents, options2.global);
18136
+ const nativeClaudeTarget = await this.getClaudeNativeInstallTarget(plugin, plugin.resolvedPluginDir);
18137
+ const portableSkillAgents = nativeClaudeTarget ? this.getPortableSkillAgents(agents, projectPath, options2.global) : agents;
18138
+ const portableMcpAgents = nativeClaudeTarget ? agents.filter((agent) => agent.id !== "claude") : agents;
18139
+ const skillResult = await this.installPluginSkills(plugin, projectPath, portableSkillAgents, options2);
18140
+ const mcpResult = await this.applyPluginMcpServers(plugin, projectPath, portableMcpAgents, options2.global);
17920
18141
  const nativePluginResult = await this.installNativeClaudePlugin(plugin, plugin.resolvedPluginDir, agents);
17921
18142
  const installWarnings = [...plugin.warnings, ...nativePluginResult.warnings];
17922
18143
  if (skillResult.installed.length > 0 || mcpResult.applied.length > 0 || nativePluginResult.installed.length > 0) {
@@ -17981,6 +18202,25 @@ ${body.trim()}
17981
18202
  }
17982
18203
  return { installed, skipped };
17983
18204
  }
18205
+ getPortableSkillAgents(agents, projectPath, global3) {
18206
+ const claudeAgent = agents.find((agent) => agent.id === "claude");
18207
+ if (!claudeAgent || !claudeAgent.supportsSkills()) {
18208
+ return agents;
18209
+ }
18210
+ const claudeSkillsDir = claudeAgent.getSkillsDir(projectPath, global3);
18211
+ if (!claudeSkillsDir) {
18212
+ return agents.filter((agent) => agent.id !== "claude");
18213
+ }
18214
+ return agents.filter((agent) => {
18215
+ if (agent.id === "claude") {
18216
+ return false;
18217
+ }
18218
+ if (!agent.supportsSkills()) {
18219
+ return true;
18220
+ }
18221
+ return agent.getSkillsDir(projectPath, global3) !== claudeSkillsDir;
18222
+ });
18223
+ }
17984
18224
  async applyPluginMcpServers(plugin, projectPath, agents, global3) {
17985
18225
  const applied = [];
17986
18226
  const skipped = [];
@@ -18245,7 +18485,7 @@ ${body.trim()}
18245
18485
  return { removed: true, details };
18246
18486
  }
18247
18487
  }
18248
- var import_gray_matter, getMarketplaceCacheDir, getRegistryPath, getClaudeInstalledPluginsPath, getClaudeSettingsPath;
18488
+ var import_gray_matter, getMarketplaceCacheDir, getRegistryPath, getClaudeInstalledPluginsPath, getClaudeKnownMarketplacesPath, getClaudeMarketplaceInstallPath, getClaudeSettingsPath;
18249
18489
  var init_pluginManager = __esm(() => {
18250
18490
  import_gray_matter = __toESM(require_gray_matter(), 1);
18251
18491
  init_fs();
@@ -18266,6 +18506,12 @@ var init_pluginManager = __esm(() => {
18266
18506
  getClaudeInstalledPluginsPath = function() {
18267
18507
  return join4(homedir4(), ".claude", "plugins", "installed_plugins.json");
18268
18508
  };
18509
+ getClaudeKnownMarketplacesPath = function() {
18510
+ return join4(homedir4(), ".claude", "plugins", "known_marketplaces.json");
18511
+ };
18512
+ getClaudeMarketplaceInstallPath = function(namespace) {
18513
+ return join4(homedir4(), ".claude", "plugins", "marketplaces", namespace);
18514
+ };
18269
18515
  getClaudeSettingsPath = function() {
18270
18516
  return join4(homedir4(), ".claude", "settings.json");
18271
18517
  };
@@ -42,8 +42,18 @@ export declare class PluginManager {
42
42
  private getClaudeNativeInstallTarget;
43
43
  private readClaudeInstalledPlugins;
44
44
  private saveClaudeInstalledPlugins;
45
+ private readClaudeKnownMarketplaces;
46
+ private saveClaudeKnownMarketplaces;
45
47
  private readClaudeSettings;
46
48
  private saveClaudeSettings;
49
+ private findClaudeMarketplaceRoot;
50
+ private readClaudeMarketplaceManifest;
51
+ private saveClaudeMarketplaceManifest;
52
+ private resolveMarketplaceSourcePath;
53
+ private readClaudePluginMetadata;
54
+ private copyClaudeMarketplacePlugin;
55
+ private getClaudeMarketplaceSource;
56
+ private materializeClaudeMarketplace;
47
57
  private installNativeClaudePlugin;
48
58
  private toNativePluginPreview;
49
59
  private removeNativeClaudePlugin;
@@ -125,6 +135,7 @@ export declare class PluginManager {
125
135
  * Install skills from a plugin, deduplicating by shared directory
126
136
  */
127
137
  private installPluginSkills;
138
+ private getPortableSkillAgents;
128
139
  /**
129
140
  * Apply MCP servers from a plugin to each target agent
130
141
  */
@@ -1 +1 @@
1
- {"version":3,"file":"pluginManager.d.ts","sourceRoot":"","sources":["../../src/core/pluginManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pluginManager.d.ts","sourceRoot":"","sources":["../../src/core/pluginManager.ts"],"names":[],"mappings":"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"}
@@ -38,6 +38,12 @@ function getRegistryPath(projectPath, global) {
38
38
  function getClaudeInstalledPluginsPath() {
39
39
  return join(homedir(), '.claude', 'plugins', 'installed_plugins.json');
40
40
  }
41
+ function getClaudeKnownMarketplacesPath() {
42
+ return join(homedir(), '.claude', 'plugins', 'known_marketplaces.json');
43
+ }
44
+ function getClaudeMarketplaceInstallPath(namespace) {
45
+ return join(homedir(), '.claude', 'plugins', 'marketplaces', namespace);
46
+ }
41
47
  function getClaudeSettingsPath() {
42
48
  return join(homedir(), '.claude', 'settings.json');
43
49
  }
@@ -292,6 +298,8 @@ export class PluginManager {
292
298
  (async () => !!manifest.commands || await isDirectory(join(pluginDir, 'commands')))(),
293
299
  (async () => !!manifest.hooks || await isDirectory(join(pluginDir, 'hooks')))(),
294
300
  (async () => !!manifest.agents || await isDirectory(join(pluginDir, 'agents')))(),
301
+ isDirectory(join(pluginDir, 'skills')),
302
+ (async () => !!manifest.mcpServers || await fileExists(join(pluginDir, '.mcp.json')))(),
295
303
  isDirectory(join(pluginDir, 'prompts')),
296
304
  isDirectory(join(pluginDir, 'schemas')),
297
305
  isDirectory(join(pluginDir, 'scripts')),
@@ -301,10 +309,12 @@ export class PluginManager {
301
309
  ...(featureChecks[0] ? ['commands'] : []),
302
310
  ...(featureChecks[1] ? ['hooks'] : []),
303
311
  ...(featureChecks[2] ? ['agents'] : []),
304
- ...(featureChecks[3] ? ['prompts'] : []),
305
- ...(featureChecks[4] ? ['schemas'] : []),
306
- ...(featureChecks[5] ? ['scripts'] : []),
307
- ...(featureChecks[6] ? ['templates'] : []),
312
+ ...(featureChecks[3] ? ['skills'] : []),
313
+ ...(featureChecks[4] ? ['mcp servers'] : []),
314
+ ...(featureChecks[5] ? ['prompts'] : []),
315
+ ...(featureChecks[6] ? ['schemas'] : []),
316
+ ...(featureChecks[7] ? ['scripts'] : []),
317
+ ...(featureChecks[8] ? ['templates'] : []),
308
318
  ];
309
319
  }
310
320
  async getClaudeNativeInstallTarget(plugin, pluginDir) {
@@ -329,12 +339,13 @@ export class PluginManager {
329
339
  const baseNamespace = plugin.nativeClaudeBundle?.bundleName
330
340
  || plugin.source.marketplace
331
341
  || (plugin.source.owner && plugin.source.repo ? `${plugin.source.owner}-${plugin.source.repo}` : plugin.name);
332
- const namespace = `agentinit-${this.slugifyPluginNamespace(baseNamespace)}`;
342
+ const namespace = this.slugifyPluginNamespace(baseNamespace);
333
343
  const versionDir = this.slugifyPluginNamespace(plugin.version || '0.0.0');
334
344
  return {
335
345
  namespace,
336
346
  pluginKey: `${plugin.name}@${namespace}`,
337
347
  installPath: join(homedir(), '.claude', 'plugins', 'cache', namespace, plugin.name, versionDir),
348
+ marketplacePath: getClaudeMarketplaceInstallPath(namespace),
338
349
  features,
339
350
  };
340
351
  }
@@ -358,6 +369,25 @@ export class PluginManager {
358
369
  async saveClaudeInstalledPlugins(state) {
359
370
  await writeFile(getClaudeInstalledPluginsPath(), JSON.stringify(state, null, 2));
360
371
  }
372
+ async readClaudeKnownMarketplaces() {
373
+ const content = await readFileIfExists(getClaudeKnownMarketplacesPath());
374
+ if (!content) {
375
+ return {};
376
+ }
377
+ try {
378
+ const parsed = JSON.parse(content);
379
+ if (!parsed || typeof parsed !== 'object' || Array.isArray(parsed)) {
380
+ return {};
381
+ }
382
+ return parsed;
383
+ }
384
+ catch {
385
+ return {};
386
+ }
387
+ }
388
+ async saveClaudeKnownMarketplaces(state) {
389
+ await writeFile(getClaudeKnownMarketplacesPath(), JSON.stringify(state, null, 2));
390
+ }
361
391
  async readClaudeSettings() {
362
392
  const content = await readFileIfExists(getClaudeSettingsPath());
363
393
  if (!content) {
@@ -380,6 +410,154 @@ export class PluginManager {
380
410
  async saveClaudeSettings(state) {
381
411
  await writeFile(getClaudeSettingsPath(), JSON.stringify(state, null, 2));
382
412
  }
413
+ async findClaudeMarketplaceRoot(pluginDir) {
414
+ let currentDir = resolve(pluginDir);
415
+ while (true) {
416
+ if (await fileExists(join(currentDir, '.claude-plugin', 'marketplace.json'))) {
417
+ return currentDir;
418
+ }
419
+ const parentDir = dirname(currentDir);
420
+ if (parentDir === currentDir) {
421
+ return null;
422
+ }
423
+ currentDir = parentDir;
424
+ }
425
+ }
426
+ async readClaudeMarketplaceManifest(marketplaceDir) {
427
+ const manifestContent = await readFileIfExists(join(marketplaceDir, '.claude-plugin', 'marketplace.json'));
428
+ if (!manifestContent) {
429
+ return null;
430
+ }
431
+ try {
432
+ const parsed = JSON.parse(manifestContent);
433
+ if (!parsed || typeof parsed !== 'object' || Array.isArray(parsed)) {
434
+ return null;
435
+ }
436
+ const plugins = Array.isArray(parsed.plugins)
437
+ ? parsed.plugins.filter((entry) => !!entry && typeof entry === 'object' && !Array.isArray(entry))
438
+ : [];
439
+ return {
440
+ ...parsed,
441
+ plugins,
442
+ };
443
+ }
444
+ catch {
445
+ return null;
446
+ }
447
+ }
448
+ async saveClaudeMarketplaceManifest(marketplaceDir, manifest) {
449
+ await fs.mkdir(join(marketplaceDir, '.claude-plugin'), { recursive: true });
450
+ await writeFile(join(marketplaceDir, '.claude-plugin', 'marketplace.json'), JSON.stringify(manifest, null, 2));
451
+ }
452
+ resolveMarketplaceSourcePath(baseDir, relativePath) {
453
+ const resolvedPath = resolve(baseDir, relativePath);
454
+ const relativePathFromBase = relative(resolve(baseDir), resolvedPath);
455
+ if (relativePathFromBase.startsWith('..')
456
+ || relativePathFromBase.includes('/../')
457
+ || relativePathFromBase.includes('\\..\\')) {
458
+ throw new Error(`Invalid marketplace source path "${relativePath}" in ${baseDir}`);
459
+ }
460
+ return resolvedPath;
461
+ }
462
+ async readClaudePluginMetadata(pluginDir) {
463
+ const manifestContent = await readFileIfExists(join(pluginDir, '.claude-plugin', 'plugin.json'));
464
+ if (!manifestContent) {
465
+ return {};
466
+ }
467
+ try {
468
+ const manifest = JSON.parse(manifestContent);
469
+ return {
470
+ ...(typeof manifest.description === 'string' ? { description: manifest.description } : {}),
471
+ ...(typeof manifest.version === 'string' ? { version: manifest.version } : {}),
472
+ ...(manifest.author ? { author: manifest.author } : {}),
473
+ };
474
+ }
475
+ catch {
476
+ return {};
477
+ }
478
+ }
479
+ async copyClaudeMarketplacePlugin(sourcePluginDir, marketplacePath, pluginName) {
480
+ const marketplacePluginPath = join(marketplacePath, 'plugins', pluginName);
481
+ await fs.mkdir(dirname(marketplacePluginPath), { recursive: true });
482
+ await fs.rm(marketplacePluginPath, { recursive: true, force: true }).catch(() => { });
483
+ await fs.cp(sourcePluginDir, marketplacePluginPath, { recursive: true, dereference: true });
484
+ return marketplacePluginPath;
485
+ }
486
+ getClaudeMarketplaceSource(plugin, marketplaceRoot, marketplacePath) {
487
+ if (plugin.source.type === 'github') {
488
+ if (plugin.source.owner && plugin.source.repo) {
489
+ return {
490
+ source: 'github',
491
+ repo: `${plugin.source.owner}/${plugin.source.repo}`,
492
+ };
493
+ }
494
+ if (plugin.source.url) {
495
+ return {
496
+ source: 'git',
497
+ url: plugin.source.url,
498
+ };
499
+ }
500
+ }
501
+ if (plugin.source.type === 'local') {
502
+ return {
503
+ source: 'directory',
504
+ path: resolve(marketplaceRoot || plugin.source.path || marketplacePath),
505
+ };
506
+ }
507
+ return {
508
+ source: 'directory',
509
+ path: marketplacePath,
510
+ };
511
+ }
512
+ async materializeClaudeMarketplace(plugin, pluginDir, target) {
513
+ const marketplaceRoot = await this.findClaudeMarketplaceRoot(pluginDir);
514
+ const marketplaceSource = this.getClaudeMarketplaceSource(plugin, marketplaceRoot, target.marketplacePath);
515
+ await fs.mkdir(target.marketplacePath, { recursive: true });
516
+ const existingManifest = await this.readClaudeMarketplaceManifest(target.marketplacePath);
517
+ const sourceManifest = marketplaceRoot
518
+ ? await this.readClaudeMarketplaceManifest(marketplaceRoot)
519
+ : null;
520
+ const mergedManifest = {
521
+ ...(sourceManifest || {}),
522
+ ...(existingManifest || {}),
523
+ name: target.namespace,
524
+ };
525
+ const mergedEntries = new Map();
526
+ for (const entry of existingManifest?.plugins || []) {
527
+ if (typeof entry.name === 'string' && entry.name) {
528
+ mergedEntries.set(entry.name, entry);
529
+ }
530
+ }
531
+ if (marketplaceRoot && sourceManifest) {
532
+ for (const entry of sourceManifest.plugins || []) {
533
+ if (typeof entry.name !== 'string' || !entry.name || typeof entry.source !== 'string' || !entry.source) {
534
+ continue;
535
+ }
536
+ const sourcePluginDir = this.resolveMarketplaceSourcePath(marketplaceRoot, entry.source);
537
+ await this.copyClaudeMarketplacePlugin(sourcePluginDir, target.marketplacePath, entry.name);
538
+ mergedEntries.set(entry.name, {
539
+ ...entry,
540
+ source: `./plugins/${entry.name}`,
541
+ });
542
+ }
543
+ }
544
+ else {
545
+ await this.copyClaudeMarketplacePlugin(pluginDir, target.marketplacePath, plugin.name);
546
+ const pluginMetadata = await this.readClaudePluginMetadata(pluginDir);
547
+ mergedEntries.set(plugin.name, {
548
+ ...(mergedEntries.get(plugin.name) || {}),
549
+ name: plugin.name,
550
+ source: `./plugins/${plugin.name}`,
551
+ ...(plugin.description ? { description: plugin.description } : {}),
552
+ ...(plugin.version ? { version: plugin.version } : {}),
553
+ ...pluginMetadata,
554
+ });
555
+ }
556
+ mergedManifest.plugins = [...mergedEntries.values()]
557
+ .sort((left, right) => (left.name || '').localeCompare(right.name || ''));
558
+ await this.saveClaudeMarketplaceManifest(target.marketplacePath, mergedManifest);
559
+ return { source: marketplaceSource };
560
+ }
383
561
  async installNativeClaudePlugin(plugin, pluginDir, agents) {
384
562
  const installed = [];
385
563
  const skipped = [];
@@ -400,7 +578,10 @@ export class PluginManager {
400
578
  }
401
579
  warnings.push(`Claude Code-native plugin components detected (${featureLabel}); they will only work in Claude Code and install into ~/.claude/plugins.`);
402
580
  const claudeInstalled = await this.readClaudeInstalledPlugins();
403
- const conflictingKey = Object.keys(claudeInstalled.plugins).find(key => key !== nativeTarget.pluginKey && key.startsWith(`${plugin.name}@`));
581
+ const legacyKeys = Object.keys(claudeInstalled.plugins).filter(key => key !== nativeTarget.pluginKey && key.startsWith(`${plugin.name}@agentinit-`));
582
+ const conflictingKey = Object.keys(claudeInstalled.plugins).find(key => key !== nativeTarget.pluginKey
583
+ && !legacyKeys.includes(key)
584
+ && key.startsWith(`${plugin.name}@`));
404
585
  if (conflictingKey) {
405
586
  skipped.push({
406
587
  agent: 'claude',
@@ -412,6 +593,7 @@ export class PluginManager {
412
593
  await fs.rm(nativeTarget.installPath, { recursive: true, force: true }).catch(() => { });
413
594
  await fs.mkdir(dirname(nativeTarget.installPath), { recursive: true });
414
595
  await fs.cp(pluginDir, nativeTarget.installPath, { recursive: true, dereference: true });
596
+ const marketplace = await this.materializeClaudeMarketplace(plugin, pluginDir, nativeTarget);
415
597
  const now = new Date().toISOString();
416
598
  claudeInstalled.plugins[nativeTarget.pluginKey] = [{
417
599
  scope: 'user',
@@ -420,13 +602,41 @@ export class PluginManager {
420
602
  installedAt: now,
421
603
  lastUpdated: now,
422
604
  }];
605
+ const legacyEntries = legacyKeys.flatMap(key => claudeInstalled.plugins[key] || []);
606
+ for (const legacyKey of legacyKeys) {
607
+ delete claudeInstalled.plugins[legacyKey];
608
+ }
423
609
  await this.saveClaudeInstalledPlugins(claudeInstalled);
424
610
  const claudeSettings = await this.readClaudeSettings();
425
611
  claudeSettings.enabledPlugins = {
426
612
  ...(claudeSettings.enabledPlugins || {}),
427
613
  [nativeTarget.pluginKey]: true,
428
614
  };
615
+ claudeSettings.extraKnownMarketplaces = {
616
+ ...(claudeSettings.extraKnownMarketplaces || {}),
617
+ [nativeTarget.namespace]: {
618
+ source: marketplace.source,
619
+ },
620
+ };
621
+ for (const legacyKey of legacyKeys) {
622
+ if (claudeSettings.enabledPlugins && legacyKey in claudeSettings.enabledPlugins) {
623
+ delete claudeSettings.enabledPlugins[legacyKey];
624
+ }
625
+ }
429
626
  await this.saveClaudeSettings(claudeSettings);
627
+ const knownMarketplaces = await this.readClaudeKnownMarketplaces();
628
+ knownMarketplaces[nativeTarget.namespace] = {
629
+ source: marketplace.source,
630
+ installLocation: nativeTarget.marketplacePath,
631
+ lastUpdated: now,
632
+ };
633
+ await this.saveClaudeKnownMarketplaces(knownMarketplaces);
634
+ for (const entry of legacyEntries) {
635
+ await fs.rm(entry.installPath, { recursive: true, force: true }).catch(() => { });
636
+ }
637
+ for (const legacyKey of legacyKeys) {
638
+ warnings.push(`Replaced legacy AgentInit Claude plugin install ${legacyKey} with ${nativeTarget.pluginKey}.`);
639
+ }
430
640
  installed.push({
431
641
  agent: 'claude',
432
642
  pluginKey: nativeTarget.pluginKey,
@@ -447,6 +657,9 @@ export class PluginManager {
447
657
  const claudeInstalled = await this.readClaudeInstalledPlugins();
448
658
  const entries = claudeInstalled.plugins[component.pluginKey] || [];
449
659
  const remainingEntries = entries.filter(entry => entry.installPath !== component.installPath);
660
+ const marketplaceNamespace = component.pluginKey.includes('@')
661
+ ? component.pluginKey.split('@').slice(1).join('@')
662
+ : '';
450
663
  if (remainingEntries.length > 0) {
451
664
  claudeInstalled.plugins[component.pluginKey] = remainingEntries;
452
665
  }
@@ -458,8 +671,34 @@ export class PluginManager {
458
671
  if (claudeSettings.enabledPlugins && component.pluginKey in claudeSettings.enabledPlugins) {
459
672
  const { [component.pluginKey]: _removed, ...remainingEnabledPlugins } = claudeSettings.enabledPlugins;
460
673
  claudeSettings.enabledPlugins = remainingEnabledPlugins;
461
- await this.saveClaudeSettings(claudeSettings);
462
674
  }
675
+ const namespaceStillInstalled = marketplaceNamespace
676
+ ? Object.keys(claudeInstalled.plugins).some(pluginKey => pluginKey.endsWith(`@${marketplaceNamespace}`))
677
+ : false;
678
+ if (!namespaceStillInstalled && marketplaceNamespace) {
679
+ if (claudeSettings.extraKnownMarketplaces && marketplaceNamespace in claudeSettings.extraKnownMarketplaces) {
680
+ delete claudeSettings.extraKnownMarketplaces[marketplaceNamespace];
681
+ }
682
+ const knownMarketplaces = await this.readClaudeKnownMarketplaces();
683
+ if (marketplaceNamespace in knownMarketplaces) {
684
+ delete knownMarketplaces[marketplaceNamespace];
685
+ await this.saveClaudeKnownMarketplaces(knownMarketplaces);
686
+ }
687
+ await fs.rm(getClaudeMarketplaceInstallPath(marketplaceNamespace), { recursive: true, force: true }).catch(() => { });
688
+ }
689
+ else if (marketplaceNamespace) {
690
+ const pluginName = component.pluginKey.split('@')[0] || '';
691
+ const marketplacePath = getClaudeMarketplaceInstallPath(marketplaceNamespace);
692
+ const manifest = await this.readClaudeMarketplaceManifest(marketplacePath);
693
+ if (pluginName && manifest) {
694
+ manifest.plugins = (manifest.plugins || [])
695
+ .filter(entry => entry.name !== pluginName);
696
+ const marketplacePluginPath = join(marketplacePath, 'plugins', pluginName);
697
+ await fs.rm(marketplacePluginPath, { recursive: true, force: true }).catch(() => { });
698
+ await this.saveClaudeMarketplaceManifest(marketplacePath, manifest);
699
+ }
700
+ }
701
+ await this.saveClaudeSettings(claudeSettings);
463
702
  await fs.rm(component.installPath, { recursive: true, force: true }).catch(() => { });
464
703
  return true;
465
704
  }
@@ -1000,10 +1239,17 @@ ${body.trim()}
1000
1239
  warnings: plugin.warnings,
1001
1240
  };
1002
1241
  }
1242
+ const nativeClaudeTarget = await this.getClaudeNativeInstallTarget(plugin, plugin.resolvedPluginDir);
1243
+ const portableSkillAgents = nativeClaudeTarget
1244
+ ? this.getPortableSkillAgents(agents, projectPath, options.global)
1245
+ : agents;
1246
+ const portableMcpAgents = nativeClaudeTarget
1247
+ ? agents.filter(agent => agent.id !== 'claude')
1248
+ : agents;
1003
1249
  // 5. Install skills (deduplicated by shared directory)
1004
- const skillResult = await this.installPluginSkills(plugin, projectPath, agents, options);
1250
+ const skillResult = await this.installPluginSkills(plugin, projectPath, portableSkillAgents, options);
1005
1251
  // 6. Apply MCP servers per agent
1006
- const mcpResult = await this.applyPluginMcpServers(plugin, projectPath, agents, options.global);
1252
+ const mcpResult = await this.applyPluginMcpServers(plugin, projectPath, portableMcpAgents, options.global);
1007
1253
  // 7. Install agent-native plugin payloads when supported.
1008
1254
  const nativePluginResult = await this.installNativeClaudePlugin(plugin, plugin.resolvedPluginDir, agents);
1009
1255
  const installWarnings = [...plugin.warnings, ...nativePluginResult.warnings];
@@ -1077,6 +1323,25 @@ ${body.trim()}
1077
1323
  }
1078
1324
  return { installed, skipped };
1079
1325
  }
1326
+ getPortableSkillAgents(agents, projectPath, global) {
1327
+ const claudeAgent = agents.find(agent => agent.id === 'claude');
1328
+ if (!claudeAgent || !claudeAgent.supportsSkills()) {
1329
+ return agents;
1330
+ }
1331
+ const claudeSkillsDir = claudeAgent.getSkillsDir(projectPath, global);
1332
+ if (!claudeSkillsDir) {
1333
+ return agents.filter(agent => agent.id !== 'claude');
1334
+ }
1335
+ return agents.filter(agent => {
1336
+ if (agent.id === 'claude') {
1337
+ return false;
1338
+ }
1339
+ if (!agent.supportsSkills()) {
1340
+ return true;
1341
+ }
1342
+ return agent.getSkillsDir(projectPath, global) !== claudeSkillsDir;
1343
+ });
1344
+ }
1080
1345
  /**
1081
1346
  * Apply MCP servers from a plugin to each target agent
1082
1347
  */
@@ -1 +1 @@
1
- {"version":3,"file":"pluginManager.js","sourceRoot":"","sources":["../../src/core/pluginManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pluginManager.js","sourceRoot":"","sources":["../../src/core/pluginManager.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agentinit",
3
- "version": "1.16.0",
3
+ "version": "1.16.1",
4
4
  "description": "CLI tool and library for managing AI coding agents and verifying MCP servers",
5
5
  "repository": {
6
6
  "type": "git",