agentinit 1.20.2 → 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 +14 -0
- package/README.md +81 -27
- package/dist/cli.js +141 -22
- package/dist/commands/skills.d.ts.map +1 -1
- package/dist/commands/skills.js +155 -21
- package/dist/commands/skills.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,17 @@
|
|
|
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
|
+
|
|
8
|
+
# [1.21.0](https://github.com/agentinit/agentinit/compare/v1.20.2...v1.21.0) (2026-04-26)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Features
|
|
12
|
+
|
|
13
|
+
* **cli:** add 'skill' alias to skills command ([130757f](https://github.com/agentinit/agentinit/commit/130757fa7ea923b451c5c2d0d2cbc950a36dfe8b))
|
|
14
|
+
|
|
1
15
|
## [1.20.2](https://github.com/agentinit/agentinit/compare/v1.20.1...v1.20.2) (2026-04-25)
|
|
2
16
|
|
|
3
17
|
|
package/README.md
CHANGED
|
@@ -1,19 +1,60 @@
|
|
|
1
1
|
# AgentInit
|
|
2
2
|
|
|
3
|
-
>
|
|
3
|
+
> Keep your AI coding agents in sync from one `agents.md` file.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
[](https://www.npmjs.com/package/agentinit)
|
|
6
|
+
[](LICENSE)
|
|
7
|
+
[](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
|
-
- **
|
|
10
|
-
- **
|
|
11
|
-
- **
|
|
12
|
-
- **
|
|
13
|
-
- **
|
|
14
|
-
- **
|
|
15
|
-
|
|
16
|
-
|
|
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
|
|
71
|
+
# Initialize a shared agent configuration
|
|
31
72
|
agentinit init
|
|
32
73
|
|
|
33
|
-
#
|
|
74
|
+
# Review what AgentInit detects in the current repo
|
|
34
75
|
agentinit detect
|
|
35
76
|
|
|
36
|
-
# Sync agents.md
|
|
77
|
+
# Sync agents.md into agent-specific files
|
|
37
78
|
agentinit sync
|
|
38
79
|
|
|
39
|
-
# Apply project-owned
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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
|
|
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
|
|
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/
|
|
575
|
+
node dist/cli.js --help
|
|
519
576
|
```
|
|
520
577
|
|
|
521
|
-
###
|
|
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
|
-
|
|
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
|
|
42331
|
-
|
|
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
|
|
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
|
-
const skills3 = program2.command("skills").description("Manage agent skills");
|
|
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,
|
|
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,
|
|
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,
|
|
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
|
|
42500
|
+
if (error instanceof MultipleBundlePluginsError) {
|
|
42394
42501
|
verifySpinner.stop();
|
|
42395
|
-
const
|
|
42396
|
-
|
|
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 =
|
|
42519
|
+
selectedPluginNames = pluginSelection;
|
|
42400
42520
|
const retrySpinner = ora("Verifying skill source...").start();
|
|
42401
42521
|
try {
|
|
42402
|
-
const prepared = await skillsManager5.prepareSource(source,
|
|
42522
|
+
const prepared = await skillsManager5.prepareSource(source, projectPath, {
|
|
42403
42523
|
from: options2.from,
|
|
42404
42524
|
...selectedPluginNames[0] ? { pluginName: selectedPluginNames[0] } : {}
|
|
42405
42525
|
});
|
|
42406
|
-
preparedSkills =
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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;
|
|
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"}
|
package/dist/commands/skills.js
CHANGED
|
@@ -16,20 +16,130 @@ 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
|
|
20
|
-
|
|
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
|
|
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(', ');
|
|
31
140
|
const skills = program
|
|
32
141
|
.command('skills')
|
|
142
|
+
.alias('skill')
|
|
33
143
|
.description('Manage agent skills');
|
|
34
144
|
// --- skills add <source> ---
|
|
35
145
|
skills
|
|
@@ -48,13 +158,18 @@ export function registerSkillsCommand(program) {
|
|
|
48
158
|
.option('-y, --yes', 'Skip prompts, auto-detect project-configured agents, and apply available skill updates')
|
|
49
159
|
.action(async (source, options) => {
|
|
50
160
|
logger.titleBox('AgentInit Skills');
|
|
161
|
+
const projectPath = process.cwd();
|
|
51
162
|
const agentManager = new AgentManager();
|
|
52
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;
|
|
53
168
|
// If --list, discover and display skills from source, then return
|
|
54
169
|
if (options.list) {
|
|
55
170
|
const spinner = ora('Discovering skills...').start();
|
|
56
171
|
try {
|
|
57
|
-
const result = await skillsManager.discoverFromSource(source,
|
|
172
|
+
const result = await skillsManager.discoverFromSource(source, projectPath, {
|
|
58
173
|
from: options.from,
|
|
59
174
|
});
|
|
60
175
|
spinner.stop();
|
|
@@ -70,7 +185,7 @@ export function registerSkillsCommand(program) {
|
|
|
70
185
|
for (const pluginName of selected) {
|
|
71
186
|
const retrySpinner = ora(`Discovering skills from ${pluginName}...`).start();
|
|
72
187
|
try {
|
|
73
|
-
const result = await skillsManager.discoverFromSource(source,
|
|
188
|
+
const result = await skillsManager.discoverFromSource(source, projectPath, {
|
|
74
189
|
from: options.from,
|
|
75
190
|
pluginName,
|
|
76
191
|
});
|
|
@@ -94,27 +209,50 @@ export function registerSkillsCommand(program) {
|
|
|
94
209
|
let selectedPluginNames;
|
|
95
210
|
let preparedSkills = [];
|
|
96
211
|
try {
|
|
97
|
-
const prepared = await skillsManager.prepareSource(source,
|
|
212
|
+
const prepared = await skillsManager.prepareSource(source, projectPath, {
|
|
98
213
|
from: options.from,
|
|
99
214
|
});
|
|
100
215
|
preparedSkills = prepared.skills;
|
|
101
216
|
verifySpinner.stop();
|
|
102
217
|
}
|
|
103
218
|
catch (error) {
|
|
104
|
-
if (error instanceof MultipleBundlePluginsError
|
|
219
|
+
if (error instanceof MultipleBundlePluginsError) {
|
|
105
220
|
verifySpinner.stop();
|
|
106
|
-
const
|
|
107
|
-
|
|
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
|
+
}
|
|
108
239
|
return;
|
|
109
240
|
}
|
|
110
|
-
selectedPluginNames =
|
|
241
|
+
selectedPluginNames = pluginSelection;
|
|
111
242
|
const retrySpinner = ora('Verifying skill source...').start();
|
|
112
243
|
try {
|
|
113
|
-
const prepared = await skillsManager.prepareSource(source,
|
|
244
|
+
const prepared = await skillsManager.prepareSource(source, projectPath, {
|
|
114
245
|
from: options.from,
|
|
115
246
|
...(selectedPluginNames[0] ? { pluginName: selectedPluginNames[0] } : {}),
|
|
116
247
|
});
|
|
117
|
-
preparedSkills =
|
|
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;
|
|
118
256
|
retrySpinner.stop();
|
|
119
257
|
}
|
|
120
258
|
catch (retryError) {
|
|
@@ -129,10 +267,6 @@ export function registerSkillsCommand(program) {
|
|
|
129
267
|
return;
|
|
130
268
|
}
|
|
131
269
|
}
|
|
132
|
-
let targetAgents = options.agent;
|
|
133
|
-
let targetGlobal = options.global;
|
|
134
|
-
let selectedSkillNames = options.skill;
|
|
135
|
-
let installPrefix = options.prefix;
|
|
136
270
|
if (!options.yes && (!selectedSkillNames || selectedSkillNames.length === 0) && preparedSkills.length > 1) {
|
|
137
271
|
if (selectedPluginNames && selectedPluginNames.length > 1) {
|
|
138
272
|
logger.info('Multiple bundled plugins selected; installing all skills from each selected plugin. Use --skill to filter by skill name.');
|
|
@@ -140,7 +274,7 @@ export function registerSkillsCommand(program) {
|
|
|
140
274
|
else {
|
|
141
275
|
const skillSelection = await resolveInteractiveSkillSelection(preparedSkills, installPrefix);
|
|
142
276
|
if (skillSelection.aborted) {
|
|
143
|
-
await skillsManager.discardPreparedSource(source,
|
|
277
|
+
await skillsManager.discardPreparedSource(source, projectPath, {
|
|
144
278
|
from: options.from,
|
|
145
279
|
});
|
|
146
280
|
return;
|
|
@@ -156,14 +290,14 @@ export function registerSkillsCommand(program) {
|
|
|
156
290
|
const filteredPreviewSkills = selectedSkillNameSet
|
|
157
291
|
? preparedSkills.filter(skill => matchesSelectedSkillName(skill.name, selectedSkillNameSet, installPrefix))
|
|
158
292
|
: preparedSkills;
|
|
159
|
-
const selection = await resolveInteractiveSkillTargets(skillsManager, agentManager, source,
|
|
293
|
+
const selection = await resolveInteractiveSkillTargets(skillsManager, agentManager, source, projectPath, {
|
|
160
294
|
from: options.from,
|
|
161
295
|
global: options.global,
|
|
162
296
|
copy: options.copy,
|
|
163
297
|
skills: filteredPreviewSkills,
|
|
164
298
|
});
|
|
165
299
|
if (selection?.aborted) {
|
|
166
|
-
await skillsManager.discardPreparedSource(source,
|
|
300
|
+
await skillsManager.discardPreparedSource(source, projectPath, {
|
|
167
301
|
from: options.from,
|
|
168
302
|
});
|
|
169
303
|
return;
|
|
@@ -206,7 +340,7 @@ export function registerSkillsCommand(program) {
|
|
|
206
340
|
const spinner = ora(pluginName ? `Installing skills from ${pluginName}...` : 'Installing skills...').start();
|
|
207
341
|
try {
|
|
208
342
|
if (pluginName && pluginName !== selectedPluginNames?.[0]) {
|
|
209
|
-
await skillsManager.prepareSource(source,
|
|
343
|
+
await skillsManager.prepareSource(source, projectPath, {
|
|
210
344
|
from: options.from,
|
|
211
345
|
pluginName,
|
|
212
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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"}
|