agentinit 1.21.0 → 1.22.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/CHANGELOG.md CHANGED
@@ -1,3 +1,10 @@
1
+ # [1.22.0](https://github.com/agentinit/agentinit/compare/v1.21.0...v1.22.0) (2026-04-28)
2
+
3
+
4
+ ### Features
5
+
6
+ * **skills:** resolve bundled plugins from skill names ([74a8698](https://github.com/agentinit/agentinit/commit/74a8698021b70bbfa602c0c39283b6dfd46276d4))
7
+
1
8
  # [1.21.0](https://github.com/agentinit/agentinit/compare/v1.20.2...v1.21.0) (2026-04-26)
2
9
 
3
10
 
package/README.md CHANGED
@@ -1,19 +1,60 @@
1
1
  # AgentInit
2
2
 
3
- > A CLI tool for managing and configuring AI coding agents
3
+ > Keep your AI coding agents in sync from one `agents.md` file.
4
4
 
5
- Unified CLI for configuring AI coding agents across editors and tools.
5
+ [![npm version](https://img.shields.io/npm/v/agentinit)](https://www.npmjs.com/package/agentinit)
6
+ [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)
7
+ [![Node >=18](https://img.shields.io/badge/node-%3E%3D18.0.0-brightgreen)](package.json)
8
+
9
+ AgentInit is a CLI for teams and solo developers who use more than one coding agent and are tired of repeating the same setup in different formats. Define your standards once in `agents.md`, generate the files each tool expects, install shared skills and MCPs, and keep the whole setup manageable over time.
10
+
11
+ It works with Claude Code, Cursor, Windsurf, Copilot, Codex CLI, Gemini CLI, RooCode, Zed, Droid, and more.
12
+
13
+ ## Why AgentInit?
14
+
15
+ Most agent setups drift fast.
16
+
17
+ You tweak `CLAUDE.md`, forget to update `.cursorrules`, install a skill in one tool but not another, and a week later every environment behaves a little differently. AgentInit gives you one source of truth for instructions, one CLI for setup, and one place to manage skills, rules, and MCP servers.
18
+
19
+ Use it when you want to:
20
+
21
+ - keep multiple agent tools aligned without manual copy-paste
22
+ - bootstrap new projects with stack-aware guidance
23
+ - install shared skills and MCP servers in a consistent way
24
+ - apply changes safely with previews, backups, and reverts
25
+ - make your agent setup easier to onboard, review, and maintain
26
+
27
+ ## Table of Contents
28
+
29
+ - [Features](#features)
30
+ - [Quick Start](#quick-start)
31
+ - [Commands](#commands)
32
+ - [How It Works](#how-it-works)
33
+ - [Project Structure](#project-structure)
34
+ - [Configuration](#configuration)
35
+ - [Stack Detection](#stack-detection)
36
+ - [MCP Registry](#mcp-registry)
37
+ - [Library API](#library-api)
38
+ - [Development](#development)
39
+ - [Contributing](#contributing)
40
+ - [License](#license)
6
41
 
7
42
  ## Features
8
43
 
9
- - **Universal Agent Configuration**: Unified `agents.md` file that syncs with all major AI coding agents
10
- - **Smart Stack Detection**: Automatically detects project language, framework, and tools
11
- - **Bidirectional Sync**: Keep agent configurations in sync across Claude, Cursor, Windsurf, and more
12
- - **MCP Management**: Configure, inspect, and verify Model Context Protocol servers
13
- - **Rules Templates**: Apply coding best practices with predefined rule templates (Git, testing, docs, linting)
14
- - **Plugin Marketplace**: Install portable skills and MCP bundles from built-in or custom marketplaces
15
- - **Project Templates**: Pre-built templates for web apps, CLI tools, libraries, and more
16
- - **Stack-Aware Guidance**: Customized instructions based on your technology stack
44
+ - **One source of truth**: Write and maintain shared instructions in `agents.md`
45
+ - **Multi-agent sync**: Generate the right files for Claude, Cursor, Windsurf, Copilot, Codex CLI, and other supported tools
46
+ - **Stack-aware project setup**: Detect your language, framework, package manager, and test tooling to generate more useful defaults
47
+ - **Skills, plugins, and MCPs**: Install reusable capabilities from local paths, Git repositories, or marketplaces
48
+ - **Operational safety**: Preview changes, create backups, revert managed files, and track installs with a lockfile
49
+ - **Shared standards support**: Use `AGENTS.md` where supported and alias `CLAUDE.md` when you want a shared canonical rules file
50
+
51
+ ## How It Works
52
+
53
+ 1. Run `agentinit init` to generate an `agents.md` file for your project.
54
+ 2. Customize the instructions, standards, and sub-agent roles you want all tools to follow.
55
+ 3. Run `agentinit sync` or `agentinit apply` to write tool-specific files, install project-owned skills, and keep generated artifacts in sync.
56
+
57
+ If you already have agent files in a repo, start with `agentinit detect` to inspect what AgentInit can work with before you standardize it.
17
58
 
18
59
  ## Quick Start
19
60
 
@@ -27,16 +68,16 @@ npm install -g agentinit
27
68
  ### Basic Usage
28
69
 
29
70
  ```bash
30
- # Initialize agent configuration for your project
71
+ # Initialize a shared agent configuration
31
72
  agentinit init
32
73
 
33
- # Detect current project stack and existing configurations
74
+ # Review what AgentInit detects in the current repo
34
75
  agentinit detect
35
76
 
36
- # Sync agents.md with agent-specific files
77
+ # Sync agents.md into agent-specific files
37
78
  agentinit sync
38
79
 
39
- # Apply project-owned agent files, skills, and ignore management
80
+ # Apply synced files, project-owned skills, and managed ignore entries
40
81
  agentinit apply
41
82
 
42
83
  # Add and verify an MCP server
@@ -44,6 +85,22 @@ agentinit mcp add --verify \
44
85
  --mcp-stdio everything "npx -y @modelcontextprotocol/server-everything"
45
86
  ```
46
87
 
88
+ ### A Typical Flow
89
+
90
+ ```bash
91
+ # 1. Generate a starting point
92
+ agentinit init --template cli
93
+
94
+ # 2. Edit agents.md with your standards
95
+
96
+ # 3. Write the files each agent expects
97
+ agentinit apply
98
+
99
+ # 4. Add shared skills or MCP servers
100
+ agentinit skills add openai-docs --agent claude
101
+ agentinit mcp verify --all
102
+ ```
103
+
47
104
  ### Output Controls
48
105
 
49
106
  ```bash
@@ -233,13 +290,13 @@ agentinit skills update openai-docs --everywhere
233
290
  agentinit skills remove openai-docs
234
291
  ```
235
292
 
236
- If a GitHub or local Claude bundle contains multiple plugins, `agentinit skills add` prompts you to choose one or more bundled plugins to inspect or install. Press `Space` to select, `A` to select or deselect all, and `Enter` to confirm. Use `--all` to skip the prompt and install or inspect every bundled plugin. In non-interactive `--yes` mode, ambiguous multi-plugin bundles still fail unless `--all` is provided.
293
+ Skills are installed into a canonical store (`.agents/skills/` for project, `~/.agents/skills/` for global) with agent-specific paths symlinked automatically. Bare skill names resolve from your default marketplace or fall back to the public catalog at `vercel-labs/agent-skills`. Supports GitHub, GitLab, Bitbucket, local paths, and marketplace sources.
237
294
 
238
- Skills are installed into a canonical store by default (`.agents/skills/` for project, `~/.agents/skills/` for global), with agent-specific paths symlinked automatically. Bare skill names resolve from your configured default marketplace, falling back to the public catalog at `vercel-labs/agent-skills`. Use `./name` for local paths, `owner/repo` for GitHub repos, `gitlab:group/repo` for GitLab repos, `gitlab:group/repo//path/to/skill` for GitLab subdirectories, `bitbucket:workspace/repo` for Bitbucket, or `--from <marketplace>` for explicit marketplace sources.
295
+ If a GitHub or local Claude bundle contains multiple plugins, `agentinit skills add` prompts you to choose one or more bundled plugins to inspect or install. Use `--all` to skip the prompt and install or inspect every bundled plugin. In non-interactive `--yes` mode, AgentInit can also auto-resolve bundled plugins from `--skill` when those skill names map uniquely; ambiguous selections still fail with guidance.
239
296
 
240
- When you re-run `agentinit skills add`, AgentInit compares the installed skill payload with the source before overwriting anything. Unchanged skills are reported as already up to date. If an installed skill has changed, interactive runs ask for confirmation before replacing it, while `--yes` applies the update automatically. Use `--prefix <text>` to prepend installed skill names for grouping, or press `P` during the interactive skill picker to set it on the fly. Installs are security-scanned by default; risky helper scripts are blocked, while risky Markdown guidance is surfaced as a warning. Use `--no-scan` to skip scanning or `--allow-risky` to proceed when high-risk executable patterns are detected.
297
+ Re-running `agentinit skills add` compares the source with the installed version and asks for confirmation before overwriting changed skills. Installs are security-scanned by default; use `--no-scan` to skip or `--allow-risky` to proceed with high-risk patterns.
241
298
 
242
- `agentinit skills update [name]` replays tracked project-scoped installs from their original source in the current project. Use `agentinit skills update <name> --everywhere` to update that skill across every tracked target, including global installs.
299
+ `agentinit skills update [name]` replays tracked installs from their original source. Use `agentinit skills update <name> --everywhere` to update that skill across every tracked target in the global lockfile.
243
300
 
244
301
  ### `agentinit lock`
245
302
 
@@ -297,9 +354,9 @@ agentinit plugins list
297
354
  agentinit plugins remove code-review
298
355
  ```
299
356
 
300
- Bare plugin names resolve through your configured default marketplace. Built-in marketplaces include `claude` and `openai`; add custom ones with `agentinit config marketplaces add`. For Claude-format plugins, native bundles are installed into `~/.claude/plugins` alongside portable skill and MCP installs.
357
+ Plugins install into `~/.claude/plugins` (for Claude-format bundles) or the canonical skill store. Built-in marketplaces include `claude` and `openai`.
301
358
 
302
- If a GitHub or local Claude bundle contains multiple plugins, `agentinit plugins install` prompts you to choose one or more bundled plugins to inspect or install. Press `Space` to select, `A` to select or deselect all, and `Enter` to confirm. Use `--all` to skip the prompt and install or inspect every bundled plugin. In non-interactive `--yes` mode, ambiguous multi-plugin bundles still fail unless `--all` is provided.
359
+ If a GitHub or local Claude bundle contains multiple plugins, `agentinit plugins install` prompts you to choose which bundled plugins to inspect or install. Use `--all` to skip the prompt. In non-interactive `--yes` mode, ambiguous multi-plugin bundles still fail unless `--all` is provided.
303
360
 
304
361
  ### `agentinit config`
305
362
 
@@ -377,7 +434,7 @@ This is a TypeScript project using Next.js...
377
434
  - Write clean, maintainable code...
378
435
 
379
436
  ### Testing Strategy
380
- - Write unit tests using Jest...
437
+ - Write unit tests using vitest...
381
438
 
382
439
  ## Agent Instructions
383
440
  ### General Behavior
@@ -515,10 +572,10 @@ bun install
515
572
  bun run build
516
573
 
517
574
  # Run locally
518
- node dist/index.js --help
575
+ node dist/cli.js --help
519
576
  ```
520
577
 
521
- ### Project Structure
578
+ ### Source Structure
522
579
 
523
580
  ```
524
581
  src/
@@ -535,14 +592,13 @@ src/
535
592
  │ ├── installLock.ts # Global install lock state
536
593
  │ ├── templateEngine.ts # Template processing
537
594
  │ └── propagator.ts # Config sync engine
538
- ├── registry/ # MCP registry
539
595
  ├── utils/ # Utilities
540
596
  └── types/ # TypeScript definitions
541
597
  ```
542
598
 
543
599
  ## Contributing
544
600
 
545
- We welcome contributions! Please see our [contributing guidelines](CONTRIBUTING.md) for details.
601
+ Issues and pull requests are welcome. Open an issue if you want to discuss a new agent, marketplace behavior, or MCP workflow before making a larger change.
546
602
 
547
603
  ## License
548
604
 
@@ -550,6 +606,4 @@ MIT License - see [LICENSE](LICENSE) file for details.
550
606
 
551
607
  ## Links
552
608
 
553
- - [Documentation](https://docs.agentinit.dev)
554
- - [MCP Registry](https://registry.agentinit.dev)
555
609
  - [GitHub Issues](https://github.com/agentinit/agentinit/issues)
package/dist/cli.js CHANGED
@@ -42327,27 +42327,134 @@ init_skills();
42327
42327
  var normalizeSkillPrefix = function(prefix) {
42328
42328
  return prefix?.trim() ?? "";
42329
42329
  };
42330
- var matchesSelectedSkillName = function(skillName, selectedNames, prefix) {
42331
- if (selectedNames.has(skillName.toLowerCase())) {
42330
+ var matchesSelectedSkillValue = function(skillName, selectedName, prefix) {
42331
+ const normalizedSkillName = skillName.trim().toLowerCase();
42332
+ const normalizedSelectedName = selectedName.trim().toLowerCase();
42333
+ if (!normalizedSelectedName) {
42334
+ return false;
42335
+ }
42336
+ if (normalizedSelectedName === normalizedSkillName) {
42332
42337
  return true;
42333
42338
  }
42334
- const normalizedPrefix = normalizeSkillPrefix(prefix);
42339
+ const normalizedPrefix = normalizeSkillPrefix(prefix).toLowerCase();
42335
42340
  if (!normalizedPrefix) {
42336
42341
  return false;
42337
42342
  }
42338
- return selectedNames.has(`${normalizedPrefix}${skillName}`.toLowerCase());
42343
+ return normalizedSelectedName === `${normalizedPrefix}${normalizedSkillName}`;
42344
+ };
42345
+ var matchesSelectedSkillName = function(skillName, selectedNames, prefix) {
42346
+ return [...selectedNames].some((selectedName) => matchesSelectedSkillValue(skillName, selectedName, prefix));
42347
+ };
42348
+ async function resolveBundlePluginsForSelectedSkills(skillsManager5, source, projectPath, entries, selectedSkillNames, prefix, options2 = {}) {
42349
+ const requestedSkillNames = Array.from(new Set(selectedSkillNames.map((name) => name.trim().toLowerCase()).filter(Boolean)));
42350
+ if (requestedSkillNames.length === 0) {
42351
+ return {
42352
+ pluginNames: null,
42353
+ ambiguousSkillNames: [],
42354
+ unresolvedSkillNames: [],
42355
+ hadDiscoveryError: false
42356
+ };
42357
+ }
42358
+ const matchedPluginNamesBySkill = new Map;
42359
+ const matchedSkills = new Map;
42360
+ const prioritizedEntries = [
42361
+ ...entries.filter((entry) => requestedSkillNames.some((skillName) => matchesSelectedSkillValue(entry.name, skillName, prefix))),
42362
+ ...entries.filter((entry) => !requestedSkillNames.some((skillName) => matchesSelectedSkillValue(entry.name, skillName, prefix)))
42363
+ ];
42364
+ for (const entry of prioritizedEntries) {
42365
+ let discoveredSkills;
42366
+ try {
42367
+ const discovered = await skillsManager5.discoverFromSource(source, projectPath, {
42368
+ ...options2.from !== undefined ? { from: options2.from } : {},
42369
+ pluginName: entry.name
42370
+ });
42371
+ discoveredSkills = discovered.skills;
42372
+ } catch {
42373
+ return {
42374
+ pluginNames: null,
42375
+ ambiguousSkillNames: [],
42376
+ unresolvedSkillNames: requestedSkillNames,
42377
+ hadDiscoveryError: true
42378
+ };
42379
+ }
42380
+ for (const skill of discoveredSkills) {
42381
+ for (const requestedSkillName of requestedSkillNames) {
42382
+ if (!matchesSelectedSkillValue(skill.name, requestedSkillName, prefix)) {
42383
+ continue;
42384
+ }
42385
+ const existingPluginNames = matchedPluginNamesBySkill.get(requestedSkillName) || new Set;
42386
+ existingPluginNames.add(entry.name);
42387
+ matchedPluginNamesBySkill.set(requestedSkillName, existingPluginNames);
42388
+ matchedSkills.set(`${entry.name}:${skill.path}:${skill.name}`, skill);
42389
+ }
42390
+ }
42391
+ }
42392
+ const unresolvedSkillNames = requestedSkillNames.filter((skillName) => !matchedPluginNamesBySkill.has(skillName));
42393
+ const ambiguousSkillNames = requestedSkillNames.filter((skillName) => {
42394
+ const pluginNames = matchedPluginNamesBySkill.get(skillName);
42395
+ return !!pluginNames && pluginNames.size > 1;
42396
+ });
42397
+ if (unresolvedSkillNames.length > 0 || ambiguousSkillNames.length > 0) {
42398
+ return {
42399
+ pluginNames: null,
42400
+ ambiguousSkillNames,
42401
+ unresolvedSkillNames,
42402
+ hadDiscoveryError: false
42403
+ };
42404
+ }
42405
+ const selectedPluginNames = new Set;
42406
+ for (const requestedSkillName of requestedSkillNames) {
42407
+ for (const pluginName of matchedPluginNamesBySkill.get(requestedSkillName) || []) {
42408
+ selectedPluginNames.add(pluginName);
42409
+ }
42410
+ }
42411
+ return {
42412
+ pluginNames: entries.filter((entry) => selectedPluginNames.has(entry.name)).map((entry) => entry.name),
42413
+ ambiguousSkillNames: [],
42414
+ unresolvedSkillNames: [],
42415
+ hadDiscoveryError: false
42416
+ };
42417
+ }
42418
+ async function collectBundlePluginSkills(skillsManager5, source, projectPath, pluginNames, options2 = {}, preparedPlugin) {
42419
+ const collectedSkills = new Map;
42420
+ for (const pluginName of pluginNames) {
42421
+ const pluginSkills = preparedPlugin?.name === pluginName ? preparedPlugin.skills : (await skillsManager5.discoverFromSource(source, projectPath, {
42422
+ ...options2.from !== undefined ? { from: options2.from } : {},
42423
+ pluginName
42424
+ })).skills;
42425
+ for (const skill of pluginSkills) {
42426
+ collectedSkills.set(`${pluginName}:${skill.path}:${skill.name}`, skill);
42427
+ }
42428
+ }
42429
+ return [...collectedSkills.values()];
42430
+ }
42431
+ var formatBundlePluginResolutionError = function(resolution) {
42432
+ const details = [];
42433
+ if (resolution.ambiguousSkillNames.length > 0) {
42434
+ details.push(`ambiguous skill name${resolution.ambiguousSkillNames.length === 1 ? "" : "s"}: ${resolution.ambiguousSkillNames.join(", ")}`);
42435
+ }
42436
+ if (resolution.unresolvedSkillNames.length > 0) {
42437
+ details.push(`unknown skill name${resolution.unresolvedSkillNames.length === 1 ? "" : "s"}: ${resolution.unresolvedSkillNames.join(", ")}`);
42438
+ }
42439
+ const suffix = details.length > 0 ? ` (${details.join("; ")})` : "";
42440
+ return `Error: Could not resolve bundled plugins from --skill in non-interactive mode${suffix}. Use --all, remove --yes to choose plugins interactively, or provide skill names that map to a unique bundled plugin.`;
42339
42441
  };
42340
42442
  function registerSkillsCommand(program2) {
42341
42443
  const marketplaceHelp = getMarketplaceIds().join(", ");
42342
42444
  const skills3 = program2.command("skills").alias("skill").description("Manage agent skills");
42343
42445
  skills3.command("add <source>").description("Add skills from a marketplace, hosted Git repo, or local path").option("--from <marketplace>", `Marketplace source override (available: ${marketplaceHelp})`).option("-g, --global", "Install skills globally").option("-a, --agent <agents...>", "Target specific agent(s)").option("-s, --skill <names...>", "Install only specific skills by name").option("-l, --list", "List available skills from the source without installing").option("--all", "Select all bundled plugins when the source contains multiple plugins").option("--copy", "Copy skill files instead of symlinking").option("--prefix <prefix>", "Prefix installed skill names").option("--no-scan", "Skip security scanning before installation").option("--allow-risky", "Install even if scanning finds high-risk patterns").option("-y, --yes", "Skip prompts, auto-detect project-configured agents, and apply available skill updates").action(async (source, options2) => {
42344
42446
  logger.titleBox("AgentInit Skills");
42447
+ const projectPath = process.cwd();
42345
42448
  const agentManager9 = new AgentManager;
42346
42449
  const skillsManager5 = new SkillsManager(agentManager9);
42450
+ let targetAgents = options2.agent;
42451
+ let targetGlobal = options2.global;
42452
+ let selectedSkillNames = options2.skill;
42453
+ let installPrefix = options2.prefix;
42347
42454
  if (options2.list) {
42348
42455
  const spinner = ora("Discovering skills...").start();
42349
42456
  try {
42350
- const result = await skillsManager5.discoverFromSource(source, process.cwd(), {
42457
+ const result = await skillsManager5.discoverFromSource(source, projectPath, {
42351
42458
  from: options2.from
42352
42459
  });
42353
42460
  spinner.stop();
@@ -42362,7 +42469,7 @@ function registerSkillsCommand(program2) {
42362
42469
  for (const pluginName of selected) {
42363
42470
  const retrySpinner = ora(`Discovering skills from ${pluginName}...`).start();
42364
42471
  try {
42365
- const result = await skillsManager5.discoverFromSource(source, process.cwd(), {
42472
+ const result = await skillsManager5.discoverFromSource(source, projectPath, {
42366
42473
  from: options2.from,
42367
42474
  pluginName
42368
42475
  });
@@ -42384,26 +42491,42 @@ function registerSkillsCommand(program2) {
42384
42491
  let selectedPluginNames;
42385
42492
  let preparedSkills = [];
42386
42493
  try {
42387
- const prepared = await skillsManager5.prepareSource(source, process.cwd(), {
42494
+ const prepared = await skillsManager5.prepareSource(source, projectPath, {
42388
42495
  from: options2.from
42389
42496
  });
42390
42497
  preparedSkills = prepared.skills;
42391
42498
  verifySpinner.stop();
42392
42499
  } catch (error) {
42393
- if (error instanceof MultipleBundlePluginsError && (options2.all || !options2.yes)) {
42500
+ if (error instanceof MultipleBundlePluginsError) {
42394
42501
  verifySpinner.stop();
42395
- const selected = await selectBundlePlugins(error.entries, "install", { selectAll: options2.all });
42396
- if (!selected) {
42502
+ const bundleResolution = selectedSkillNames && selectedSkillNames.length > 0 ? await resolveBundlePluginsForSelectedSkills(skillsManager5, source, projectPath, error.entries, selectedSkillNames, installPrefix, { from: options2.from }) : null;
42503
+ let pluginSelection = bundleResolution?.pluginNames ?? null;
42504
+ if (!pluginSelection && (options2.all || !options2.yes)) {
42505
+ pluginSelection = await selectBundlePlugins(error.entries, "install", { selectAll: options2.all });
42506
+ if (!pluginSelection) {
42507
+ return;
42508
+ }
42509
+ }
42510
+ if (!pluginSelection) {
42511
+ verifySpinner.fail("Failed to verify skill source");
42512
+ if (options2.yes && bundleResolution && !bundleResolution.hadDiscoveryError) {
42513
+ logger.error(formatBundlePluginResolutionError(bundleResolution));
42514
+ } else {
42515
+ logger.error(`Error: ${error.message}`);
42516
+ }
42397
42517
  return;
42398
42518
  }
42399
- selectedPluginNames = selected;
42519
+ selectedPluginNames = pluginSelection;
42400
42520
  const retrySpinner = ora("Verifying skill source...").start();
42401
42521
  try {
42402
- const prepared = await skillsManager5.prepareSource(source, process.cwd(), {
42522
+ const prepared = await skillsManager5.prepareSource(source, projectPath, {
42403
42523
  from: options2.from,
42404
42524
  ...selectedPluginNames[0] ? { pluginName: selectedPluginNames[0] } : {}
42405
42525
  });
42406
- preparedSkills = prepared.skills;
42526
+ preparedSkills = selectedPluginNames.length > 1 ? await collectBundlePluginSkills(skillsManager5, source, projectPath, selectedPluginNames, { from: options2.from }, selectedPluginNames[0] ? {
42527
+ name: selectedPluginNames[0],
42528
+ skills: prepared.skills
42529
+ } : undefined) : prepared.skills;
42407
42530
  retrySpinner.stop();
42408
42531
  } catch (retryError) {
42409
42532
  retrySpinner.fail("Failed to verify skill source");
@@ -42416,17 +42539,13 @@ function registerSkillsCommand(program2) {
42416
42539
  return;
42417
42540
  }
42418
42541
  }
42419
- let targetAgents = options2.agent;
42420
- let targetGlobal = options2.global;
42421
- let selectedSkillNames = options2.skill;
42422
- let installPrefix = options2.prefix;
42423
42542
  if (!options2.yes && (!selectedSkillNames || selectedSkillNames.length === 0) && preparedSkills.length > 1) {
42424
42543
  if (selectedPluginNames && selectedPluginNames.length > 1) {
42425
42544
  logger.info("Multiple bundled plugins selected; installing all skills from each selected plugin. Use --skill to filter by skill name.");
42426
42545
  } else {
42427
42546
  const skillSelection = await resolveInteractiveSkillSelection(preparedSkills, installPrefix);
42428
42547
  if (skillSelection.aborted) {
42429
- await skillsManager5.discardPreparedSource(source, process.cwd(), {
42548
+ await skillsManager5.discardPreparedSource(source, projectPath, {
42430
42549
  from: options2.from
42431
42550
  });
42432
42551
  return;
@@ -42438,14 +42557,14 @@ function registerSkillsCommand(program2) {
42438
42557
  if (!targetAgents && !options2.yes) {
42439
42558
  const selectedSkillNameSet = selectedSkillNames && selectedSkillNames.length > 0 ? new Set(selectedSkillNames.map((name) => name.toLowerCase())) : undefined;
42440
42559
  const filteredPreviewSkills = selectedSkillNameSet ? preparedSkills.filter((skill) => matchesSelectedSkillName(skill.name, selectedSkillNameSet, installPrefix)) : preparedSkills;
42441
- const selection = await resolveInteractiveSkillTargets(skillsManager5, agentManager9, source, process.cwd(), {
42560
+ const selection = await resolveInteractiveSkillTargets(skillsManager5, agentManager9, source, projectPath, {
42442
42561
  from: options2.from,
42443
42562
  global: options2.global,
42444
42563
  copy: options2.copy,
42445
42564
  skills: filteredPreviewSkills
42446
42565
  });
42447
42566
  if (selection?.aborted) {
42448
- await skillsManager5.discardPreparedSource(source, process.cwd(), {
42567
+ await skillsManager5.discardPreparedSource(source, projectPath, {
42449
42568
  from: options2.from
42450
42569
  });
42451
42570
  return;
@@ -42483,7 +42602,7 @@ function registerSkillsCommand(program2) {
42483
42602
  const spinner = ora(pluginName ? `Installing skills from ${pluginName}...` : "Installing skills...").start();
42484
42603
  try {
42485
42604
  if (pluginName && pluginName !== selectedPluginNames?.[0]) {
42486
- await skillsManager5.prepareSource(source, process.cwd(), {
42605
+ await skillsManager5.prepareSource(source, projectPath, {
42487
42606
  from: options2.from,
42488
42607
  pluginName
42489
42608
  });
@@ -1 +1 @@
1
- {"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../../src/commands/skills.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAgEpC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAsjB5D"}
1
+ {"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../../src/commands/skills.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA8NpC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA6lB5D"}
@@ -16,15 +16,124 @@ import { SHARED_SKILLS_TARGET_ID, SHARED_SKILLS_TARGET_NAME } from '../types/ski
16
16
  function normalizeSkillPrefix(prefix) {
17
17
  return prefix?.trim() ?? '';
18
18
  }
19
- function matchesSelectedSkillName(skillName, selectedNames, prefix) {
20
- if (selectedNames.has(skillName.toLowerCase())) {
19
+ function matchesSelectedSkillValue(skillName, selectedName, prefix) {
20
+ const normalizedSkillName = skillName.trim().toLowerCase();
21
+ const normalizedSelectedName = selectedName.trim().toLowerCase();
22
+ if (!normalizedSelectedName) {
23
+ return false;
24
+ }
25
+ if (normalizedSelectedName === normalizedSkillName) {
21
26
  return true;
22
27
  }
23
- const normalizedPrefix = normalizeSkillPrefix(prefix);
28
+ const normalizedPrefix = normalizeSkillPrefix(prefix).toLowerCase();
24
29
  if (!normalizedPrefix) {
25
30
  return false;
26
31
  }
27
- return selectedNames.has(`${normalizedPrefix}${skillName}`.toLowerCase());
32
+ return normalizedSelectedName === `${normalizedPrefix}${normalizedSkillName}`;
33
+ }
34
+ function matchesSelectedSkillName(skillName, selectedNames, prefix) {
35
+ return [...selectedNames].some(selectedName => matchesSelectedSkillValue(skillName, selectedName, prefix));
36
+ }
37
+ async function resolveBundlePluginsForSelectedSkills(skillsManager, source, projectPath, entries, selectedSkillNames, prefix, options = {}) {
38
+ const requestedSkillNames = Array.from(new Set(selectedSkillNames
39
+ .map(name => name.trim().toLowerCase())
40
+ .filter(Boolean)));
41
+ if (requestedSkillNames.length === 0) {
42
+ return {
43
+ pluginNames: null,
44
+ ambiguousSkillNames: [],
45
+ unresolvedSkillNames: [],
46
+ hadDiscoveryError: false,
47
+ };
48
+ }
49
+ const matchedPluginNamesBySkill = new Map();
50
+ const matchedSkills = new Map();
51
+ const prioritizedEntries = [
52
+ ...entries.filter(entry => requestedSkillNames.some(skillName => matchesSelectedSkillValue(entry.name, skillName, prefix))),
53
+ ...entries.filter(entry => !requestedSkillNames.some(skillName => matchesSelectedSkillValue(entry.name, skillName, prefix))),
54
+ ];
55
+ for (const entry of prioritizedEntries) {
56
+ let discoveredSkills;
57
+ try {
58
+ const discovered = await skillsManager.discoverFromSource(source, projectPath, {
59
+ ...(options.from !== undefined ? { from: options.from } : {}),
60
+ pluginName: entry.name,
61
+ });
62
+ discoveredSkills = discovered.skills;
63
+ }
64
+ catch {
65
+ return {
66
+ pluginNames: null,
67
+ ambiguousSkillNames: [],
68
+ unresolvedSkillNames: requestedSkillNames,
69
+ hadDiscoveryError: true,
70
+ };
71
+ }
72
+ for (const skill of discoveredSkills) {
73
+ for (const requestedSkillName of requestedSkillNames) {
74
+ if (!matchesSelectedSkillValue(skill.name, requestedSkillName, prefix)) {
75
+ continue;
76
+ }
77
+ const existingPluginNames = matchedPluginNamesBySkill.get(requestedSkillName) || new Set();
78
+ existingPluginNames.add(entry.name);
79
+ matchedPluginNamesBySkill.set(requestedSkillName, existingPluginNames);
80
+ matchedSkills.set(`${entry.name}:${skill.path}:${skill.name}`, skill);
81
+ }
82
+ }
83
+ }
84
+ const unresolvedSkillNames = requestedSkillNames.filter(skillName => !matchedPluginNamesBySkill.has(skillName));
85
+ const ambiguousSkillNames = requestedSkillNames.filter(skillName => {
86
+ const pluginNames = matchedPluginNamesBySkill.get(skillName);
87
+ return !!pluginNames && pluginNames.size > 1;
88
+ });
89
+ if (unresolvedSkillNames.length > 0 || ambiguousSkillNames.length > 0) {
90
+ return {
91
+ pluginNames: null,
92
+ ambiguousSkillNames,
93
+ unresolvedSkillNames,
94
+ hadDiscoveryError: false,
95
+ };
96
+ }
97
+ const selectedPluginNames = new Set();
98
+ for (const requestedSkillName of requestedSkillNames) {
99
+ for (const pluginName of matchedPluginNamesBySkill.get(requestedSkillName) || []) {
100
+ selectedPluginNames.add(pluginName);
101
+ }
102
+ }
103
+ return {
104
+ pluginNames: entries
105
+ .filter(entry => selectedPluginNames.has(entry.name))
106
+ .map(entry => entry.name),
107
+ ambiguousSkillNames: [],
108
+ unresolvedSkillNames: [],
109
+ hadDiscoveryError: false,
110
+ };
111
+ }
112
+ async function collectBundlePluginSkills(skillsManager, source, projectPath, pluginNames, options = {}, preparedPlugin) {
113
+ const collectedSkills = new Map();
114
+ for (const pluginName of pluginNames) {
115
+ const pluginSkills = preparedPlugin?.name === pluginName
116
+ ? preparedPlugin.skills
117
+ : (await skillsManager.discoverFromSource(source, projectPath, {
118
+ ...(options.from !== undefined ? { from: options.from } : {}),
119
+ pluginName,
120
+ })).skills;
121
+ for (const skill of pluginSkills) {
122
+ collectedSkills.set(`${pluginName}:${skill.path}:${skill.name}`, skill);
123
+ }
124
+ }
125
+ return [...collectedSkills.values()];
126
+ }
127
+ function formatBundlePluginResolutionError(resolution) {
128
+ const details = [];
129
+ if (resolution.ambiguousSkillNames.length > 0) {
130
+ details.push(`ambiguous skill name${resolution.ambiguousSkillNames.length === 1 ? '' : 's'}: ${resolution.ambiguousSkillNames.join(', ')}`);
131
+ }
132
+ if (resolution.unresolvedSkillNames.length > 0) {
133
+ details.push(`unknown skill name${resolution.unresolvedSkillNames.length === 1 ? '' : 's'}: ${resolution.unresolvedSkillNames.join(', ')}`);
134
+ }
135
+ const suffix = details.length > 0 ? ` (${details.join('; ')})` : '';
136
+ return `Error: Could not resolve bundled plugins from --skill in non-interactive mode${suffix}. Use --all, remove --yes to choose plugins interactively, or provide skill names that map to a unique bundled plugin.`;
28
137
  }
29
138
  export function registerSkillsCommand(program) {
30
139
  const marketplaceHelp = getMarketplaceIds().join(', ');
@@ -49,13 +158,18 @@ export function registerSkillsCommand(program) {
49
158
  .option('-y, --yes', 'Skip prompts, auto-detect project-configured agents, and apply available skill updates')
50
159
  .action(async (source, options) => {
51
160
  logger.titleBox('AgentInit Skills');
161
+ const projectPath = process.cwd();
52
162
  const agentManager = new AgentManager();
53
163
  const skillsManager = new SkillsManager(agentManager);
164
+ let targetAgents = options.agent;
165
+ let targetGlobal = options.global;
166
+ let selectedSkillNames = options.skill;
167
+ let installPrefix = options.prefix;
54
168
  // If --list, discover and display skills from source, then return
55
169
  if (options.list) {
56
170
  const spinner = ora('Discovering skills...').start();
57
171
  try {
58
- const result = await skillsManager.discoverFromSource(source, process.cwd(), {
172
+ const result = await skillsManager.discoverFromSource(source, projectPath, {
59
173
  from: options.from,
60
174
  });
61
175
  spinner.stop();
@@ -71,7 +185,7 @@ export function registerSkillsCommand(program) {
71
185
  for (const pluginName of selected) {
72
186
  const retrySpinner = ora(`Discovering skills from ${pluginName}...`).start();
73
187
  try {
74
- const result = await skillsManager.discoverFromSource(source, process.cwd(), {
188
+ const result = await skillsManager.discoverFromSource(source, projectPath, {
75
189
  from: options.from,
76
190
  pluginName,
77
191
  });
@@ -95,27 +209,50 @@ export function registerSkillsCommand(program) {
95
209
  let selectedPluginNames;
96
210
  let preparedSkills = [];
97
211
  try {
98
- const prepared = await skillsManager.prepareSource(source, process.cwd(), {
212
+ const prepared = await skillsManager.prepareSource(source, projectPath, {
99
213
  from: options.from,
100
214
  });
101
215
  preparedSkills = prepared.skills;
102
216
  verifySpinner.stop();
103
217
  }
104
218
  catch (error) {
105
- if (error instanceof MultipleBundlePluginsError && (options.all || !options.yes)) {
219
+ if (error instanceof MultipleBundlePluginsError) {
106
220
  verifySpinner.stop();
107
- const selected = await selectBundlePlugins(error.entries, 'install', { selectAll: options.all });
108
- if (!selected) {
221
+ const bundleResolution = selectedSkillNames && selectedSkillNames.length > 0
222
+ ? await resolveBundlePluginsForSelectedSkills(skillsManager, source, projectPath, error.entries, selectedSkillNames, installPrefix, { from: options.from })
223
+ : null;
224
+ let pluginSelection = bundleResolution?.pluginNames ?? null;
225
+ if (!pluginSelection && (options.all || !options.yes)) {
226
+ pluginSelection = await selectBundlePlugins(error.entries, 'install', { selectAll: options.all });
227
+ if (!pluginSelection) {
228
+ return;
229
+ }
230
+ }
231
+ if (!pluginSelection) {
232
+ verifySpinner.fail('Failed to verify skill source');
233
+ if (options.yes && bundleResolution && !bundleResolution.hadDiscoveryError) {
234
+ logger.error(formatBundlePluginResolutionError(bundleResolution));
235
+ }
236
+ else {
237
+ logger.error(`Error: ${error.message}`);
238
+ }
109
239
  return;
110
240
  }
111
- selectedPluginNames = selected;
241
+ selectedPluginNames = pluginSelection;
112
242
  const retrySpinner = ora('Verifying skill source...').start();
113
243
  try {
114
- const prepared = await skillsManager.prepareSource(source, process.cwd(), {
244
+ const prepared = await skillsManager.prepareSource(source, projectPath, {
115
245
  from: options.from,
116
246
  ...(selectedPluginNames[0] ? { pluginName: selectedPluginNames[0] } : {}),
117
247
  });
118
- preparedSkills = prepared.skills;
248
+ preparedSkills = selectedPluginNames.length > 1
249
+ ? await collectBundlePluginSkills(skillsManager, source, projectPath, selectedPluginNames, { from: options.from }, selectedPluginNames[0]
250
+ ? {
251
+ name: selectedPluginNames[0],
252
+ skills: prepared.skills,
253
+ }
254
+ : undefined)
255
+ : prepared.skills;
119
256
  retrySpinner.stop();
120
257
  }
121
258
  catch (retryError) {
@@ -130,10 +267,6 @@ export function registerSkillsCommand(program) {
130
267
  return;
131
268
  }
132
269
  }
133
- let targetAgents = options.agent;
134
- let targetGlobal = options.global;
135
- let selectedSkillNames = options.skill;
136
- let installPrefix = options.prefix;
137
270
  if (!options.yes && (!selectedSkillNames || selectedSkillNames.length === 0) && preparedSkills.length > 1) {
138
271
  if (selectedPluginNames && selectedPluginNames.length > 1) {
139
272
  logger.info('Multiple bundled plugins selected; installing all skills from each selected plugin. Use --skill to filter by skill name.');
@@ -141,7 +274,7 @@ export function registerSkillsCommand(program) {
141
274
  else {
142
275
  const skillSelection = await resolveInteractiveSkillSelection(preparedSkills, installPrefix);
143
276
  if (skillSelection.aborted) {
144
- await skillsManager.discardPreparedSource(source, process.cwd(), {
277
+ await skillsManager.discardPreparedSource(source, projectPath, {
145
278
  from: options.from,
146
279
  });
147
280
  return;
@@ -157,14 +290,14 @@ export function registerSkillsCommand(program) {
157
290
  const filteredPreviewSkills = selectedSkillNameSet
158
291
  ? preparedSkills.filter(skill => matchesSelectedSkillName(skill.name, selectedSkillNameSet, installPrefix))
159
292
  : preparedSkills;
160
- const selection = await resolveInteractiveSkillTargets(skillsManager, agentManager, source, process.cwd(), {
293
+ const selection = await resolveInteractiveSkillTargets(skillsManager, agentManager, source, projectPath, {
161
294
  from: options.from,
162
295
  global: options.global,
163
296
  copy: options.copy,
164
297
  skills: filteredPreviewSkills,
165
298
  });
166
299
  if (selection?.aborted) {
167
- await skillsManager.discardPreparedSource(source, process.cwd(), {
300
+ await skillsManager.discardPreparedSource(source, projectPath, {
168
301
  from: options.from,
169
302
  });
170
303
  return;
@@ -207,7 +340,7 @@ export function registerSkillsCommand(program) {
207
340
  const spinner = ora(pluginName ? `Installing skills from ${pluginName}...` : 'Installing skills...').start();
208
341
  try {
209
342
  if (pluginName && pluginName !== selectedPluginNames?.[0]) {
210
- await skillsManager.prepareSource(source, process.cwd(), {
343
+ await skillsManager.prepareSource(source, projectPath, {
211
344
  from: options.from,
212
345
  pluginName,
213
346
  });
@@ -1 +1 @@
1
- {"version":3,"file":"skills.js","sourceRoot":"","sources":["../../src/commands/skills.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skills.js","sourceRoot":"","sources":["../../src/commands/skills.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agentinit",
3
- "version": "1.21.0",
3
+ "version": "1.22.0",
4
4
  "description": "CLI tool and library for managing AI coding agents and verifying MCP servers",
5
5
  "repository": {
6
6
  "type": "git",