agentloom 0.1.0 → 0.1.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/README.md +91 -72
- package/bin/cli.mjs +3 -2
- package/dist/cli.d.ts +1 -0
- package/dist/cli.js +149 -17
- package/dist/commands/add.d.ts +7 -0
- package/dist/commands/add.js +122 -31
- package/dist/commands/agent.d.ts +2 -0
- package/dist/commands/agent.js +85 -0
- package/dist/commands/command.d.ts +2 -0
- package/dist/commands/command.js +98 -0
- package/dist/commands/delete.d.ts +9 -0
- package/dist/commands/delete.js +444 -0
- package/dist/commands/entity-utils.d.ts +13 -0
- package/dist/commands/entity-utils.js +58 -0
- package/dist/commands/find.d.ts +21 -0
- package/dist/commands/find.js +944 -0
- package/dist/commands/mcp.js +133 -55
- package/dist/commands/skills.d.ts +2 -1
- package/dist/commands/skills.js +105 -9
- package/dist/commands/sync.d.ts +6 -0
- package/dist/commands/sync.js +12 -10
- package/dist/commands/update.d.ts +7 -0
- package/dist/commands/update.js +286 -21
- package/dist/core/argv.d.ts +2 -1
- package/dist/core/argv.js +42 -2
- package/dist/core/commands.d.ts +13 -0
- package/dist/core/commands.js +65 -0
- package/dist/core/copy.d.ts +6 -0
- package/dist/core/copy.js +126 -65
- package/dist/core/importer.d.ts +28 -1
- package/dist/core/importer.js +1104 -41
- package/dist/core/lockfile.js +86 -3
- package/dist/core/manage-agents-bootstrap.d.ts +10 -0
- package/dist/core/manage-agents-bootstrap.js +40 -0
- package/dist/core/manifest.js +7 -1
- package/dist/core/router.d.ts +16 -0
- package/dist/core/router.js +66 -0
- package/dist/core/scope.d.ts +1 -1
- package/dist/core/scope.js +12 -8
- package/dist/core/settings.d.ts +4 -3
- package/dist/core/settings.js +10 -8
- package/dist/core/skills.d.ts +23 -0
- package/dist/core/skills.js +328 -0
- package/dist/core/sources.d.ts +3 -1
- package/dist/core/sources.js +31 -1
- package/dist/core/telemetry.d.ts +26 -0
- package/dist/core/telemetry.js +124 -0
- package/dist/sync/index.d.ts +7 -1
- package/dist/sync/index.js +395 -131
- package/dist/types.d.ts +16 -1
- package/package.json +5 -4
package/dist/core/copy.js
CHANGED
|
@@ -1,17 +1,26 @@
|
|
|
1
1
|
const PROVIDERS_CSV = "cursor,claude,codex,opencode,gemini,copilot";
|
|
2
2
|
export function getRootHelpText() {
|
|
3
|
-
return `agentloom - unified agent
|
|
3
|
+
return `agentloom - unified canonical agent package manager
|
|
4
4
|
|
|
5
5
|
Usage:
|
|
6
|
-
agentloom <command> [options]
|
|
6
|
+
agentloom <aggregate-command> [options]
|
|
7
|
+
agentloom <entity> <verb> [options]
|
|
7
8
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
update
|
|
9
|
+
Aggregate commands:
|
|
10
|
+
add <source> Import agents/commands/mcp/skills from a source
|
|
11
|
+
find <query> Search remote + local entities
|
|
12
|
+
update [source] Refresh lockfile-managed imports
|
|
12
13
|
sync Generate provider-specific outputs
|
|
13
|
-
|
|
14
|
-
|
|
14
|
+
delete <source|name> Delete imported entities by source or name
|
|
15
|
+
|
|
16
|
+
Entity commands:
|
|
17
|
+
agent <add|list|delete|find|update|sync>
|
|
18
|
+
command <add|list|delete|find|update|sync>
|
|
19
|
+
mcp <add|list|delete|find|update|sync>
|
|
20
|
+
skill <add|list|delete|find|update|sync>
|
|
21
|
+
|
|
22
|
+
MCP manual server commands:
|
|
23
|
+
mcp server <add|list|delete>
|
|
15
24
|
|
|
16
25
|
Common options:
|
|
17
26
|
--local Use .agents from current workspace
|
|
@@ -20,18 +29,46 @@ Common options:
|
|
|
20
29
|
--no-sync Skip post-change sync (mutating commands)
|
|
21
30
|
--providers <csv> Limit sync providers (${PROVIDERS_CSV})
|
|
22
31
|
--dry-run Print planned sync changes without writing files
|
|
32
|
+
--agents <csv> Agent selectors for add/delete
|
|
33
|
+
--commands <csv> Command selectors for add/delete
|
|
34
|
+
--mcps <csv> MCP selectors for add/delete
|
|
35
|
+
--skills <csv> Skill selectors for add/delete
|
|
36
|
+
--selection-mode <mode> Add mode: all (default) or custom
|
|
37
|
+
--source <value> Explicit source filter for update/delete
|
|
38
|
+
--name <value> Explicit name filter for delete
|
|
39
|
+
--entity <type> Delete disambiguation for aggregate delete
|
|
23
40
|
|
|
24
41
|
Examples:
|
|
25
|
-
agentloom add
|
|
26
|
-
agentloom add /
|
|
27
|
-
agentloom
|
|
28
|
-
agentloom
|
|
29
|
-
agentloom
|
|
30
|
-
agentloom
|
|
42
|
+
agentloom add farnoodma/agents
|
|
43
|
+
agentloom agent add farnoodma/agents --agents issue-creator
|
|
44
|
+
agentloom command add farnoodma/agents --commands review
|
|
45
|
+
agentloom mcp add farnoodma/agents --mcps browser
|
|
46
|
+
agentloom skill add farnoodma/agents --skills pr-review
|
|
47
|
+
agentloom update
|
|
48
|
+
agentloom command update farnoodma/agents
|
|
49
|
+
agentloom delete farnoodma/agents
|
|
50
|
+
agentloom mcp server add browser --command npx --arg browser-tools-mcp
|
|
51
|
+
`;
|
|
52
|
+
}
|
|
53
|
+
export function getFindHelpText() {
|
|
54
|
+
return `Search remote repositories and local .agents entities.
|
|
55
|
+
|
|
56
|
+
Usage:
|
|
57
|
+
agentloom find <query>
|
|
58
|
+
agentloom <agent|command|mcp|skill> find <query>
|
|
59
|
+
|
|
60
|
+
Examples:
|
|
61
|
+
agentloom find reviewer
|
|
62
|
+
agentloom command find release
|
|
31
63
|
`;
|
|
32
64
|
}
|
|
33
65
|
export function getAddHelpText() {
|
|
34
|
-
return `Import canonical
|
|
66
|
+
return `Import canonical entities from a source repository.
|
|
67
|
+
|
|
68
|
+
Source discovery:
|
|
69
|
+
agents: .agents/agents -> agents
|
|
70
|
+
commands: .agents/commands -> commands -> prompts
|
|
71
|
+
skills: .agents/skills -> skills -> root SKILL.md
|
|
35
72
|
|
|
36
73
|
Usage:
|
|
37
74
|
agentloom add <source> [options]
|
|
@@ -39,116 +76,133 @@ Usage:
|
|
|
39
76
|
Options:
|
|
40
77
|
--ref <ref> Git ref (branch/tag/commit) for remote sources
|
|
41
78
|
--subdir <path> Subdirectory inside source repo
|
|
42
|
-
--
|
|
43
|
-
--
|
|
44
|
-
--
|
|
79
|
+
--agents <name> Import selected agents (repeatable/csv)
|
|
80
|
+
--commands <name> Import selected commands (repeatable/csv)
|
|
81
|
+
--mcps <name> Import selected MCP servers (repeatable/csv)
|
|
82
|
+
--skills <name> Import selected skills (repeatable/csv)
|
|
83
|
+
--selection-mode <mode> all|sync-all (include future items) or custom (pin selection)
|
|
84
|
+
--rename <name> Rename imported item for single-item add flows
|
|
85
|
+
--local | --global Choose destination scope (interactive prompts when omitted)
|
|
86
|
+
--yes Skip conflict prompts
|
|
45
87
|
--no-sync Do not run sync after import
|
|
46
88
|
--providers <csv> Providers for post-import sync (${PROVIDERS_CSV})
|
|
47
89
|
--dry-run Show sync plan without writing provider files
|
|
48
90
|
|
|
49
91
|
Example:
|
|
50
|
-
agentloom add
|
|
92
|
+
agentloom add farnoodma/agents --providers codex,claude
|
|
51
93
|
`;
|
|
52
94
|
}
|
|
53
95
|
export function getUpdateHelpText() {
|
|
54
96
|
return `Refresh lockfile-managed sources and re-import updated revisions.
|
|
55
97
|
|
|
56
98
|
Usage:
|
|
57
|
-
agentloom update [options]
|
|
99
|
+
agentloom update [source] [options]
|
|
100
|
+
agentloom <agent|command|mcp|skill> update [source] [options]
|
|
58
101
|
|
|
59
102
|
Options:
|
|
60
|
-
--
|
|
103
|
+
--source <value> Explicit source filter
|
|
104
|
+
--local | --global Choose lockfile scope (interactive prompts when omitted)
|
|
61
105
|
--yes Skip conflict prompts during re-import
|
|
62
106
|
--no-sync Do not run sync after updates
|
|
63
107
|
--providers <csv> Providers for post-update sync (${PROVIDERS_CSV})
|
|
64
108
|
--dry-run Show sync plan without writing provider files
|
|
65
109
|
|
|
66
110
|
Example:
|
|
67
|
-
agentloom update
|
|
111
|
+
agentloom update farnoodma/agents --providers codex,cursor
|
|
68
112
|
`;
|
|
69
113
|
}
|
|
70
114
|
export function getSyncHelpText() {
|
|
71
|
-
return `Generate provider-specific
|
|
115
|
+
return `Generate provider-specific files from canonical .agents data.
|
|
72
116
|
|
|
73
117
|
Usage:
|
|
74
118
|
agentloom sync [options]
|
|
119
|
+
agentloom <agent|command|mcp|skill> sync [options]
|
|
75
120
|
|
|
76
121
|
Options:
|
|
77
|
-
--local | --global Choose canonical scope
|
|
122
|
+
--local | --global Choose canonical scope (interactive prompts when omitted)
|
|
78
123
|
--providers <csv> Limit providers (${PROVIDERS_CSV})
|
|
79
124
|
--yes Auto-delete stale generated files
|
|
80
125
|
--dry-run Show file changes without writing
|
|
126
|
+
`;
|
|
127
|
+
}
|
|
128
|
+
export function getCommandHelpText() {
|
|
129
|
+
return `Manage canonical command entities.
|
|
81
130
|
|
|
82
|
-
|
|
83
|
-
agentloom sync
|
|
131
|
+
Usage:
|
|
132
|
+
agentloom command <add|list|delete|find|update|sync> [options]
|
|
84
133
|
`;
|
|
85
134
|
}
|
|
86
|
-
export function
|
|
87
|
-
return `
|
|
135
|
+
export function getCommandAddHelpText() {
|
|
136
|
+
return `Import canonical command files from a source repository.
|
|
137
|
+
|
|
138
|
+
Usage:
|
|
139
|
+
agentloom command add <source> [options]
|
|
140
|
+
|
|
141
|
+
Options:
|
|
142
|
+
--commands <name> Repeatable command selector (name or filename)
|
|
143
|
+
--ref <ref> Git ref (branch/tag/commit) for remote sources
|
|
144
|
+
--subdir <path> Subdirectory inside source repo
|
|
145
|
+
--rename <name> Rename imported command (single-command import only)
|
|
146
|
+
`;
|
|
147
|
+
}
|
|
148
|
+
export function getCommandListHelpText() {
|
|
149
|
+
return `List canonical command files.
|
|
88
150
|
|
|
89
151
|
Usage:
|
|
90
|
-
agentloom
|
|
152
|
+
agentloom command list [--json] [--local|--global]
|
|
153
|
+
`;
|
|
154
|
+
}
|
|
155
|
+
export function getCommandDeleteHelpText() {
|
|
156
|
+
return `Delete command imports by source or name.
|
|
91
157
|
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
158
|
+
Usage:
|
|
159
|
+
agentloom command delete <source|name> [options]
|
|
160
|
+
`;
|
|
161
|
+
}
|
|
162
|
+
export function getMcpHelpText() {
|
|
163
|
+
return `Manage MCP entities imported from sources.
|
|
96
164
|
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
165
|
+
Usage:
|
|
166
|
+
agentloom mcp <add|list|delete|find|update|sync> [options]
|
|
167
|
+
agentloom mcp server <add|list|delete> [options]
|
|
168
|
+
`;
|
|
169
|
+
}
|
|
170
|
+
export function getMcpServerHelpText() {
|
|
171
|
+
return `Manage manual MCP servers in canonical .agents/mcp.json.
|
|
172
|
+
|
|
173
|
+
Usage:
|
|
174
|
+
agentloom mcp server <add|list|delete> [options]
|
|
101
175
|
|
|
102
176
|
Examples:
|
|
103
|
-
agentloom mcp add browser --command npx --arg browser-tools-mcp
|
|
104
|
-
agentloom mcp list --json
|
|
105
|
-
agentloom mcp delete browser
|
|
177
|
+
agentloom mcp server add browser --command npx --arg browser-tools-mcp
|
|
178
|
+
agentloom mcp server list --json
|
|
179
|
+
agentloom mcp server delete browser
|
|
106
180
|
`;
|
|
107
181
|
}
|
|
108
182
|
export function getMcpAddHelpText() {
|
|
109
|
-
return `Add or update
|
|
183
|
+
return `Add or update a manual MCP server in canonical .agents/mcp.json.
|
|
110
184
|
|
|
111
185
|
Usage:
|
|
112
|
-
agentloom mcp add <name> (--url <url> | --command <cmd>) [options]
|
|
186
|
+
agentloom mcp server add <name> (--url <url> | --command <cmd>) [options]
|
|
113
187
|
|
|
114
188
|
Options:
|
|
115
189
|
--arg <value> Repeatable command argument
|
|
116
190
|
--env KEY=VALUE Repeatable environment variable
|
|
117
191
|
--providers <csv> Provider-specific server assignment (${PROVIDERS_CSV})
|
|
118
|
-
--local | --global Choose canonical scope
|
|
119
|
-
--no-sync Skip post-change sync
|
|
120
|
-
|
|
121
|
-
Examples:
|
|
122
|
-
agentloom mcp add browser --command npx --arg browser-tools-mcp
|
|
123
|
-
agentloom mcp add docs --url https://example.com/mcp --providers codex,claude
|
|
124
192
|
`;
|
|
125
193
|
}
|
|
126
194
|
export function getMcpListHelpText() {
|
|
127
195
|
return `List canonical MCP servers.
|
|
128
196
|
|
|
129
197
|
Usage:
|
|
130
|
-
agentloom mcp list [
|
|
131
|
-
|
|
132
|
-
Options:
|
|
133
|
-
--json Print raw JSON
|
|
134
|
-
--local | --global Choose canonical scope
|
|
135
|
-
|
|
136
|
-
Example:
|
|
137
|
-
agentloom mcp list --json
|
|
198
|
+
agentloom mcp server list [--json] [--local|--global]
|
|
138
199
|
`;
|
|
139
200
|
}
|
|
140
201
|
export function getMcpDeleteHelpText() {
|
|
141
|
-
return `Delete
|
|
202
|
+
return `Delete a manual MCP server from canonical .agents/mcp.json.
|
|
142
203
|
|
|
143
204
|
Usage:
|
|
144
|
-
agentloom mcp delete <name> [options]
|
|
145
|
-
|
|
146
|
-
Options:
|
|
147
|
-
--local | --global Choose canonical scope
|
|
148
|
-
--no-sync Skip post-change sync
|
|
149
|
-
|
|
150
|
-
Example:
|
|
151
|
-
agentloom mcp delete browser
|
|
205
|
+
agentloom mcp server delete <name> [options]
|
|
152
206
|
`;
|
|
153
207
|
}
|
|
154
208
|
export function formatUsageError(input) {
|
|
@@ -159,6 +213,13 @@ export function formatUsageError(input) {
|
|
|
159
213
|
return lines.join("\n");
|
|
160
214
|
}
|
|
161
215
|
export function formatUnknownCommandError(command) {
|
|
216
|
+
if (command === "skills") {
|
|
217
|
+
return formatUsageError({
|
|
218
|
+
issue: 'Command "skills" was removed.',
|
|
219
|
+
usage: "agentloom skill <add|list|delete|find|update|sync> [options]",
|
|
220
|
+
example: "agentloom skill find typescript",
|
|
221
|
+
});
|
|
222
|
+
}
|
|
162
223
|
return formatUsageError({
|
|
163
224
|
issue: `Unknown command "${command}".`,
|
|
164
225
|
usage: "agentloom --help",
|
package/dist/core/importer.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ScopePaths } from "../types.js";
|
|
1
|
+
import type { Provider, SelectionMode, ScopePaths } from "../types.js";
|
|
2
2
|
export declare class NonInteractiveConflictError extends Error {
|
|
3
3
|
constructor(message: string);
|
|
4
4
|
}
|
|
@@ -7,15 +7,42 @@ export interface ImportOptions {
|
|
|
7
7
|
ref?: string;
|
|
8
8
|
subdir?: string;
|
|
9
9
|
rename?: string;
|
|
10
|
+
agents?: string[];
|
|
11
|
+
promptForAgentSelection?: boolean;
|
|
10
12
|
yes?: boolean;
|
|
11
13
|
nonInteractive?: boolean;
|
|
12
14
|
paths: ScopePaths;
|
|
15
|
+
importAgents?: boolean;
|
|
16
|
+
requireAgents?: boolean;
|
|
17
|
+
importCommands?: boolean;
|
|
18
|
+
requireCommands?: boolean;
|
|
19
|
+
importMcp?: boolean;
|
|
20
|
+
requireMcp?: boolean;
|
|
21
|
+
mcpSelectors?: string[];
|
|
22
|
+
promptForMcp?: boolean;
|
|
23
|
+
importSkills?: boolean;
|
|
24
|
+
requireSkills?: boolean;
|
|
25
|
+
skillSelectors?: string[];
|
|
26
|
+
promptForSkills?: boolean;
|
|
27
|
+
skillsProviders?: Provider[];
|
|
28
|
+
resolveSkillsProviders?: () => Promise<Provider[] | undefined>;
|
|
29
|
+
skillRenameMap?: Record<string, string>;
|
|
30
|
+
selectionMode?: SelectionMode;
|
|
31
|
+
commandSelectors?: string[];
|
|
32
|
+
commandRenameMap?: Record<string, string>;
|
|
33
|
+
promptForCommands?: boolean;
|
|
13
34
|
}
|
|
14
35
|
export interface ImportSummary {
|
|
15
36
|
source: string;
|
|
16
37
|
sourceType: "local" | "github" | "git";
|
|
17
38
|
importedAgents: string[];
|
|
39
|
+
importedCommands: string[];
|
|
18
40
|
importedMcpServers: string[];
|
|
41
|
+
importedSkills: string[];
|
|
42
|
+
telemetrySkills?: Array<{
|
|
43
|
+
name: string;
|
|
44
|
+
filePath: string;
|
|
45
|
+
}>;
|
|
19
46
|
resolvedCommit: string;
|
|
20
47
|
}
|
|
21
48
|
export declare function importSource(options: ImportOptions): Promise<ImportSummary>;
|