@patchen0518/agentbrew 1.1.0 β 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +79 -41
- package/dist/cli.js +111 -12
- package/dist/cli.js.map +1 -1
- package/dist/dispatcher.d.ts +18 -0
- package/dist/dispatcher.js +36 -3
- package/dist/dispatcher.js.map +1 -1
- package/dist/installer.js +4 -2
- package/dist/installer.js.map +1 -1
- package/dist/registry.d.ts +6 -1
- package/dist/registry.js +89 -9
- package/dist/registry.js.map +1 -1
- package/dist/router.js +21 -2
- package/dist/router.js.map +1 -1
- package/dist/state.d.ts +4 -2
- package/dist/state.js +9 -4
- package/dist/state.js.map +1 -1
- package/dist/sync.d.ts +81 -0
- package/dist/sync.js +517 -0
- package/dist/sync.js.map +1 -1
- package/dist/updater.js +2 -1
- package/dist/updater.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,51 +1,64 @@
|
|
|
1
1
|
# AgentBrew πΊ
|
|
2
2
|
**The Universal Hub for AI Agents.**
|
|
3
3
|
|
|
4
|
-
AgentBrew is a centralized Model Context Protocol (MCP) multiplexer.
|
|
4
|
+
AgentBrew is a centralized Model Context Protocol (MCP) multiplexer. Install your tools and skills once β every AI agent you use picks them up automatically.
|
|
5
5
|
|
|
6
6
|
## π‘ The Core Idea
|
|
7
7
|
AI developers today face a fragmentation problem: every agent (Claude Code, Gemini CLI, Cursor, etc.) has its own way of managing MCP servers, tools, and skills. Setting up your favorite tools in one agent doesn't mean you have them in another.
|
|
8
8
|
|
|
9
9
|
**AgentBrew** solves this by acting as a **Universal "USB Hub"** for MCP. You install your tools once in AgentBrew, and all your agents can instantly access that same consistent set of capabilities. If you switch agents, your entire "brew" of tools and skills comes with you.
|
|
10
10
|
|
|
11
|
-
###
|
|
11
|
+
### How Skills Work
|
|
12
|
+
|
|
13
|
+
AgentBrew exposes skills (packages containing a `SKILL.md` file) as **MCP tools**. This is the primary delivery mechanism β it works in every agent that supports MCP, with no extra setup beyond registering agentbrew as a server.
|
|
12
14
|
|
|
13
15
|
```
|
|
14
|
-
AI Agent (Claude, Gemini, Cursor)
|
|
15
|
-
β stdio
|
|
16
|
+
AI Agent (Claude, Gemini, Cursor, Windsurfβ¦)
|
|
17
|
+
β MCP (stdio)
|
|
16
18
|
βΌ
|
|
17
|
-
Router
|
|
19
|
+
AgentBrew Router
|
|
20
|
+
β
|
|
21
|
+
βββ Skills β MCP tools (universal, works in all agents automatically)
|
|
22
|
+
β Agent calls the tool β receives SKILL.md instructions β follows them
|
|
18
23
|
β
|
|
19
|
-
βββ
|
|
20
|
-
β Prefixes all names/URIs: "pkgName_serverName__toolName"
|
|
21
|
-
β Serves local prompts (Markdown files) and resources (CLAUDE.md / GEMINI.md)
|
|
24
|
+
βββ MCP Servers β proxied to child processes (lazy-spawned)
|
|
22
25
|
β
|
|
23
|
-
βββ
|
|
24
|
-
Lazy-spawned child process via stdio
|
|
25
|
-
Auto-retries on crash (3 attempts, exponential backoff)
|
|
26
|
+
βββ Instructions β MCP resources (CLAUDE.md, GEMINI.md, .cursorrulesβ¦)
|
|
26
27
|
```
|
|
27
28
|
|
|
29
|
+
Running `agentbrew sync` adds a second layer on top:
|
|
30
|
+
|
|
31
|
+
| Agent | After MCP registration | After `agentbrew sync` |
|
|
32
|
+
|---|---|---|
|
|
33
|
+
| **Claude Code** | Skills as MCP tools (AI-initiated) | + `/skill-name` slash commands (user-initiated) |
|
|
34
|
+
| **Gemini CLI** | Skills as MCP tools | + Extension slash commands |
|
|
35
|
+
| **Cursor** | Skills as MCP tools (auto-registered) | No change β Cursor uses MCP natively |
|
|
36
|
+
| **Windsurf** | Skills as MCP tools | + Native skill slash commands |
|
|
37
|
+
|
|
38
|
+
> **Claude Code note:** After sync, Claude Code has both interfaces simultaneously. They are complementary, not duplicates:
|
|
39
|
+
> - `/skill-name` β you or the AI explicitly invokes the skill; SKILL.md is injected as conversation context.
|
|
40
|
+
> - `pkg__skill-name` MCP tool β the AI calls this autonomously mid-task without user input.
|
|
41
|
+
> Both read the same SKILL.md file on disk (the sync creates symlinks, not copies).
|
|
42
|
+
|
|
28
43
|
## π Key Features
|
|
29
|
-
- **
|
|
44
|
+
- **Universal Skill Delivery:** Skills are immediately available as MCP tools in every connected agent β no sync required.
|
|
45
|
+
- **Lazy Loading:** Child MCP servers only start when a tool is actually called.
|
|
30
46
|
- **Auto-Discovery:** Automatically detects MCP servers in Node.js, Python, and Markdown projects.
|
|
31
|
-
- **Universal Migration:** Import your existing configurations from Gemini, Claude Code, Cursor, and Windsurf.
|
|
47
|
+
- **Universal Migration:** Import your existing configurations from Gemini, Claude Code, Cursor, Codex, and Windsurf.
|
|
32
48
|
- **Instruction Index:** Automatically exposes per-agent instruction files (`CLAUDE.md`, `GEMINI.md`, `AGENTS.md`, `.cursorrules`, etc.) shipped inside packages as MCP resources.
|
|
33
|
-
- **Shared Instructions:** Write agent instructions once in `~/.agentbrew/INSTRUCTIONS.md` and
|
|
49
|
+
- **Shared Instructions:** Write agent instructions once in `~/.agentbrew/INSTRUCTIONS.md` and push them to every agent's global config with `agentbrew sync`.
|
|
50
|
+
- **Native Slash Commands (optional):** `agentbrew sync` also registers skills as native slash commands in Claude Code, Gemini CLI, Windsurf, and Antigravity.
|
|
34
51
|
|
|
35
52
|
## π Installation
|
|
36
53
|
|
|
37
54
|
### π¦ Via npm Registry (Recommended)
|
|
38
55
|
|
|
39
|
-
You can install AgentBrew globally with a single command:
|
|
40
|
-
|
|
41
56
|
```bash
|
|
42
57
|
npm install -g @patchen0518/agentbrew
|
|
43
58
|
```
|
|
44
59
|
|
|
45
60
|
### π¨ Manual Development Setup
|
|
46
61
|
|
|
47
|
-
If you are developing or contributing to AgentBrew, you can clone and build the repository locally:
|
|
48
|
-
|
|
49
62
|
```bash
|
|
50
63
|
# Clone and enter the repo
|
|
51
64
|
git clone https://github.com/patchen0518/AgentBrew.git
|
|
@@ -59,25 +72,42 @@ npm run build
|
|
|
59
72
|
npm link
|
|
60
73
|
```
|
|
61
74
|
|
|
62
|
-
|
|
63
75
|
## π Usage
|
|
64
76
|
|
|
65
|
-
###
|
|
77
|
+
### First Steps
|
|
78
|
+
|
|
79
|
+
After installing AgentBrew, the recommended setup is:
|
|
80
|
+
|
|
66
81
|
```bash
|
|
67
|
-
# Install a
|
|
82
|
+
# 1. Install a package
|
|
68
83
|
agentbrew install <github-url>
|
|
84
|
+
|
|
85
|
+
# 2. Connect your agent (see "Connecting Agents" below)
|
|
86
|
+
# Skills and tools are now live in your agent as MCP capabilities.
|
|
87
|
+
|
|
88
|
+
# 3. Run sync to push shared instructions and enable native slash commands
|
|
89
|
+
agentbrew sync
|
|
69
90
|
```
|
|
70
91
|
|
|
92
|
+
Step 3 is optional but recommended β it unlocks slash command discoverability in Claude Code and Gemini CLI and lets you maintain shared instructions across all your agents.
|
|
93
|
+
|
|
94
|
+
### Installing Tools & Skills
|
|
71
95
|
```bash
|
|
96
|
+
# Install a tool or skill package from a Git URL
|
|
97
|
+
agentbrew install <github-url>
|
|
98
|
+
|
|
72
99
|
# Migrate from Gemini, Claude, or Cursor
|
|
73
100
|
agentbrew migrate
|
|
74
|
-
|
|
75
|
-
# Manually link a local command
|
|
76
|
-
# (Internal use or custom scripts)
|
|
77
101
|
```
|
|
78
102
|
|
|
103
|
+
> **Installation failed?** If `agentbrew install` fails (missing dependencies, build errors, etc.), ask your AI agent directly:
|
|
104
|
+
> > *"Install `<github-url>` to agentbrew for me."*
|
|
105
|
+
> The agent can run the install command, read any error output, and resolve issues autonomously.
|
|
106
|
+
|
|
107
|
+
> **API keys:** If a package requires credentials to start its MCP server, discovery may fail silently at install time. AgentBrew will warn you which servers need attention. Set the required environment variables and run `agentbrew refresh` to complete setup.
|
|
108
|
+
|
|
79
109
|
### π Dedicated Credentials
|
|
80
|
-
For servers requiring custom
|
|
110
|
+
For servers requiring custom credentials, configure them in the package's `agentbrew.toml` manifest file:
|
|
81
111
|
|
|
82
112
|
```toml
|
|
83
113
|
# ~/.agentbrew/packages/linked-custom-server/agentbrew.toml
|
|
@@ -90,37 +120,41 @@ API_TOKEN = "your-secret-token-here"
|
|
|
90
120
|
```
|
|
91
121
|
|
|
92
122
|
|
|
93
|
-
### π Shared Instructions
|
|
123
|
+
### π Shared Instructions & Skill Sync
|
|
94
124
|
|
|
95
|
-
|
|
125
|
+
`agentbrew sync` does two things:
|
|
96
126
|
|
|
97
|
-
**
|
|
127
|
+
1. **Injects shared instructions** from `~/.agentbrew/INSTRUCTIONS.md` into every agent's global config file.
|
|
128
|
+
2. **Registers skills as native slash commands** in Claude Code, Gemini CLI, Windsurf, and Antigravity (in addition to the MCP tools that are already active).
|
|
98
129
|
|
|
99
130
|
**Workflow:**
|
|
100
131
|
|
|
101
132
|
```bash
|
|
102
|
-
# 1. First run creates an example
|
|
133
|
+
# 1. First run creates an example INSTRUCTIONS.md β nothing is written yet
|
|
103
134
|
agentbrew sync
|
|
104
135
|
|
|
105
|
-
# 2. Edit
|
|
106
|
-
# (e.g. "always use Context7 before calling external APIs")
|
|
136
|
+
# 2. Edit with your shared rules (e.g. "always use Context7 before calling external APIs")
|
|
107
137
|
open ~/.agentbrew/INSTRUCTIONS.md
|
|
108
138
|
|
|
109
|
-
# 3. Push
|
|
139
|
+
# 3. Push instructions and register slash commands in all detected agents
|
|
110
140
|
agentbrew sync
|
|
111
141
|
```
|
|
112
142
|
|
|
113
|
-
After syncing
|
|
114
|
-
|
|
115
|
-
|
|
143
|
+
After syncing:
|
|
144
|
+
- A clearly-marked `AgentBrew Shared` section is injected into each agent's global config (`~/.claude/CLAUDE.md`, `~/.gemini/GEMINI.md`, `~/.codex/AGENTS.md`, etc.).
|
|
145
|
+
- Skills are registered as slash commands in **Claude Code** (`~/.claude/skills/`), **Gemini CLI**, **Windsurf**, and **Antigravity** via symlinks β no content is duplicated on disk.
|
|
146
|
+
- For **Cursor**, agentbrew is automatically registered as an MCP server in `~/.cursor/mcp.json` β no manual steps required.
|
|
116
147
|
|
|
117
148
|
```bash
|
|
149
|
+
# Remove all injected instructions and skill registrations
|
|
118
150
|
agentbrew unsync
|
|
119
151
|
```
|
|
120
152
|
|
|
121
153
|
> [!NOTE]
|
|
122
154
|
> `agentbrew sync` only writes to config files whose parent directory already exists (i.e. the agent is installed). It skips agents that aren't detected on your machine.
|
|
123
155
|
|
|
156
|
+
> **Advanced:** Claude Code users who prefer skills to be accessible only via slash commands (and not as AI-callable MCP tools) can set `"skillsAsMcpTools": false` in `~/.agentbrew/state.json`. The default is `true` β both interfaces are active.
|
|
157
|
+
|
|
124
158
|
### Managing the Hub
|
|
125
159
|
```bash
|
|
126
160
|
# List all tools, prompts, and resources
|
|
@@ -143,7 +177,7 @@ agentbrew uninstall <package-name> <capability>
|
|
|
143
177
|
agentbrew update <package-name>
|
|
144
178
|
agentbrew update --all
|
|
145
179
|
|
|
146
|
-
# Refresh capability cache (required after manual file changes)
|
|
180
|
+
# Refresh capability cache (required after manual file changes, or after setting API keys)
|
|
147
181
|
agentbrew refresh
|
|
148
182
|
|
|
149
183
|
# Refresh and re-run dependency installation (use after a manual git clone)
|
|
@@ -151,14 +185,18 @@ agentbrew refresh --install
|
|
|
151
185
|
```
|
|
152
186
|
|
|
153
187
|
## π€ Connecting Agents
|
|
154
|
-
Point your AI agent to launch `agentbrew` as its MCP server.
|
|
188
|
+
Point your AI agent to launch `agentbrew` as its MCP server. Once connected, all installed tools and skills are immediately available.
|
|
155
189
|
|
|
156
190
|
- **Gemini CLI:** `gemini mcp add agentbrew agentbrew`
|
|
157
191
|
- **Claude Code:** `/plugin add agentbrew agentbrew`
|
|
158
|
-
- **
|
|
192
|
+
- **Codex:** `codex mcp add agentbrew agentbrew`
|
|
193
|
+
- **Cursor:** Run `agentbrew sync` β agentbrew is automatically registered in `~/.cursor/mcp.json`. No manual steps required.
|
|
194
|
+
- **Windsurf / Antigravity:** Add agentbrew as an MCP server, then run `agentbrew sync` to also register slash commands.
|
|
195
|
+
|
|
196
|
+
After connecting, run `agentbrew sync` to enable native slash commands and shared instructions.
|
|
159
197
|
|
|
160
198
|
### Manual JSON Configuration
|
|
161
|
-
For agents that use a configuration file (like **Claude Desktop** or other MCP clients)
|
|
199
|
+
For agents that use a configuration file (like **Claude Desktop** or other MCP clients):
|
|
162
200
|
|
|
163
201
|
**File Paths:**
|
|
164
202
|
- **Claude Desktop (macOS):** `~/Library/Application Support/Claude/claude_desktop_config.json`
|
|
@@ -177,7 +215,7 @@ For agents that use a configuration file (like **Claude Desktop** or other MCP c
|
|
|
177
215
|
|
|
178
216
|
> [!TIP]
|
|
179
217
|
> **Path Resolution Fallback:**
|
|
180
|
-
> If your agent cannot resolve the global `agentbrew` command (e.g., throwing a "command not found"
|
|
218
|
+
> If your agent cannot resolve the global `agentbrew` command (e.g., throwing a "command not found" error during startup), run via `node` directly:
|
|
181
219
|
>
|
|
182
220
|
> ```json
|
|
183
221
|
> {
|
|
@@ -191,7 +229,7 @@ For agents that use a configuration file (like **Claude Desktop** or other MCP c
|
|
|
191
229
|
> ```
|
|
192
230
|
|
|
193
231
|
## π Architecture
|
|
194
|
-
AgentBrew uses an `mcp-manifest.json` cache in each package directory
|
|
232
|
+
AgentBrew uses an `mcp-manifest.json` cache in each package directory for instant startup. The **Router** acts as a dynamic proxy, spawning child MCP processes on-demand and routing requests using a scoped naming convention: `{packageName}_{serverName}__{toolName}`. The `__` (double-underscore) is the reserved routing delimiter β package and server names must never contain it.
|
|
195
233
|
|
|
196
234
|
## π License
|
|
197
235
|
MIT
|
package/dist/cli.js
CHANGED
|
@@ -93,7 +93,8 @@ exports.program
|
|
|
93
93
|
logger_1.Logger.info(`Refreshing cache for ${pkg.packageName}...`);
|
|
94
94
|
const manifests = (0, registry_1.findManifests)(pkg.path, 2);
|
|
95
95
|
for (const m of manifests) {
|
|
96
|
-
await (0, registry_1.generateMcpManifest)(m.path, m.manifest);
|
|
96
|
+
const cache = await (0, registry_1.generateMcpManifest)(m.path, m.manifest);
|
|
97
|
+
(0, registry_1.warnIfDiscoveryFailed)(m.manifest, cache);
|
|
97
98
|
}
|
|
98
99
|
refreshedPaths.add(pkg.path);
|
|
99
100
|
}
|
|
@@ -120,6 +121,21 @@ exports.program
|
|
|
120
121
|
return answer.toLowerCase() === 'y';
|
|
121
122
|
});
|
|
122
123
|
logger_1.Logger.info(`Successfully installed package from ${url}`);
|
|
124
|
+
// Sync newly installed skills to all agents
|
|
125
|
+
const packages = (0, registry_1.discoverPackages)();
|
|
126
|
+
const skills = (0, sync_1.extractSkillEntries)(packages);
|
|
127
|
+
const allSkillResults = [
|
|
128
|
+
...(0, sync_1.syncSkillsToClaudeCode)(skills),
|
|
129
|
+
...(0, sync_1.syncSkillsToGeminiCLI)(skills),
|
|
130
|
+
...(0, sync_1.syncSkillsToWindsurf)(skills),
|
|
131
|
+
...(0, sync_1.syncSkillsToAntigravityCLI)(skills),
|
|
132
|
+
...(0, sync_1.syncSkillsToCursor)(skills),
|
|
133
|
+
];
|
|
134
|
+
const linked = allSkillResults.filter(r => r.status === 'linked');
|
|
135
|
+
if (linked.length > 0) {
|
|
136
|
+
logger_1.Logger.info(`Registered ${linked.length} skill(s) with agents:`);
|
|
137
|
+
linked.forEach(r => logger_1.Logger.info(` + ${r.entryName}`));
|
|
138
|
+
}
|
|
123
139
|
}
|
|
124
140
|
catch (error) {
|
|
125
141
|
logger_1.Logger.error(`Failed to install package: ${error.message}`);
|
|
@@ -216,7 +232,7 @@ exports.program
|
|
|
216
232
|
.argument('[capability]', 'Optional: specific capability name')
|
|
217
233
|
.action((name, capability) => {
|
|
218
234
|
const id = capability ? `${name}:${capability}` : name;
|
|
219
|
-
if ((0, state_1.enablePackage)(id)) {
|
|
235
|
+
if ((0, state_1.enablePackage)(id) === 'changed') {
|
|
220
236
|
logger_1.Logger.info(`Enabled ${capability ? `capability '${capability}' in ` : ''}package '${name}'`);
|
|
221
237
|
}
|
|
222
238
|
else {
|
|
@@ -230,7 +246,7 @@ exports.program
|
|
|
230
246
|
.argument('[capability]', 'Optional: specific capability name')
|
|
231
247
|
.action((name, capability) => {
|
|
232
248
|
const id = capability ? `${name}:${capability}` : name;
|
|
233
|
-
if ((0, state_1.disablePackage)(id)) {
|
|
249
|
+
if ((0, state_1.disablePackage)(id) === 'changed') {
|
|
234
250
|
logger_1.Logger.info(`Disabled ${capability ? `capability '${capability}' in ` : ''}package '${name}'`);
|
|
235
251
|
}
|
|
236
252
|
else {
|
|
@@ -253,6 +269,12 @@ exports.program
|
|
|
253
269
|
try {
|
|
254
270
|
logger_1.Logger.info(`Uninstalling ${name} from ${target.path}...`);
|
|
255
271
|
fs_1.default.rmSync(target.path, { recursive: true, force: true });
|
|
272
|
+
const orphans = (0, sync_1.cleanOrphanSkills)();
|
|
273
|
+
if (orphans.length > 0) {
|
|
274
|
+
logger_1.Logger.info(`Removed ${orphans.length} stale skill link(s).`);
|
|
275
|
+
}
|
|
276
|
+
// Regenerate Cursor index with remaining skills (cleanOrphanSkills can't regenerate it)
|
|
277
|
+
(0, sync_1.syncSkillsToCursor)((0, sync_1.extractSkillEntries)((0, registry_1.discoverPackages)()));
|
|
256
278
|
logger_1.Logger.info(`Successfully uninstalled package '${name}'`);
|
|
257
279
|
}
|
|
258
280
|
catch (error) {
|
|
@@ -318,7 +340,8 @@ exports.program
|
|
|
318
340
|
// Regenerate cache from the updated manifest
|
|
319
341
|
const manifests = (0, registry_1.findManifests)(target.path, 2);
|
|
320
342
|
for (const m of manifests) {
|
|
321
|
-
await (0, registry_1.generateMcpManifest)(m.path, m.manifest);
|
|
343
|
+
const cache = await (0, registry_1.generateMcpManifest)(m.path, m.manifest);
|
|
344
|
+
(0, registry_1.warnIfDiscoveryFailed)(m.manifest, cache);
|
|
322
345
|
}
|
|
323
346
|
logger_1.Logger.info(`Successfully uninstalled capability '${capability}' from package '${name}'`);
|
|
324
347
|
}
|
|
@@ -367,9 +390,16 @@ exports.program
|
|
|
367
390
|
logger_1.Logger.info(" /plugin add agentbrew agentbrew");
|
|
368
391
|
}
|
|
369
392
|
if (sources.has('Cursor')) {
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
393
|
+
const cursorMcpResults = (0, sync_1.syncMcpServerToCursor)();
|
|
394
|
+
const registered = cursorMcpResults.find(r => r.status === 'linked' || r.status === 'already_exists');
|
|
395
|
+
if (registered) {
|
|
396
|
+
logger_1.Logger.info(`\nβ
Cursor: agentbrew registered in ${registered.path}`);
|
|
397
|
+
}
|
|
398
|
+
else {
|
|
399
|
+
logger_1.Logger.info("\nFor Cursor:");
|
|
400
|
+
logger_1.Logger.info(" Open Cursor Settings > MCP and add a new server:");
|
|
401
|
+
logger_1.Logger.info(" Name: agentbrew | Type: command | Command: agentbrew");
|
|
402
|
+
}
|
|
373
403
|
}
|
|
374
404
|
if (sources.has('Windsurf')) {
|
|
375
405
|
logger_1.Logger.info("\nFor Windsurf:");
|
|
@@ -387,11 +417,11 @@ exports.program
|
|
|
387
417
|
});
|
|
388
418
|
exports.program
|
|
389
419
|
.command('sync')
|
|
390
|
-
.description('Inject shared instructions
|
|
420
|
+
.description('Inject shared instructions into agent configs and register skills with Claude Code')
|
|
391
421
|
.action(() => {
|
|
392
422
|
const instructionsPath = (0, sync_1.getInstructionsPath)();
|
|
393
|
-
logger_1.Logger.info('AgentBrew
|
|
394
|
-
logger_1.Logger.info('
|
|
423
|
+
logger_1.Logger.info('AgentBrew Sync');
|
|
424
|
+
logger_1.Logger.info('==============');
|
|
395
425
|
logger_1.Logger.info('β οΈ agentbrew sync will add an "AgentBrew Shared" section to your agent');
|
|
396
426
|
logger_1.Logger.info(' config files (e.g. CLAUDE.md, GEMINI.md, AGENTS.md). The section is clearly marked');
|
|
397
427
|
logger_1.Logger.info(' and can be removed at any time with: agentbrew unsync\n');
|
|
@@ -401,7 +431,7 @@ exports.program
|
|
|
401
431
|
logger_1.Logger.info('\nEdit it, then run agentbrew sync again.');
|
|
402
432
|
return;
|
|
403
433
|
}
|
|
404
|
-
logger_1.Logger.info(`Syncing from: ${instructionsPath}\n`);
|
|
434
|
+
logger_1.Logger.info(`Syncing instructions from: ${instructionsPath}\n`);
|
|
405
435
|
const statusIcon = {
|
|
406
436
|
created: 'β
',
|
|
407
437
|
updated: 'β
',
|
|
@@ -427,11 +457,61 @@ exports.program
|
|
|
427
457
|
logger_1.Logger.info('\nManual steps required:');
|
|
428
458
|
manualNotes.forEach(n => logger_1.Logger.info(n));
|
|
429
459
|
}
|
|
460
|
+
// Sync skills to each agent
|
|
461
|
+
logger_1.Logger.info('\nSyncing skills...');
|
|
462
|
+
const packages = (0, registry_1.discoverPackages)();
|
|
463
|
+
const skills = (0, sync_1.extractSkillEntries)(packages);
|
|
464
|
+
const skillStatusIcon = {
|
|
465
|
+
linked: 'β
',
|
|
466
|
+
already_exists: 'βοΈ ',
|
|
467
|
+
skipped: 'β«',
|
|
468
|
+
error: 'β',
|
|
469
|
+
removed: 'ποΈ ',
|
|
470
|
+
};
|
|
471
|
+
function printSkillResults(label, results) {
|
|
472
|
+
if (results.length === 0) {
|
|
473
|
+
logger_1.Logger.info(` ${label}: not installed, skipped`);
|
|
474
|
+
return;
|
|
475
|
+
}
|
|
476
|
+
for (const r of results) {
|
|
477
|
+
const icon = skillStatusIcon[r.status] ?? ' ';
|
|
478
|
+
const detail = r.note ? ` (${r.note})` : '';
|
|
479
|
+
logger_1.Logger.info(`${icon} [${label}] ${r.entryName}${detail}`);
|
|
480
|
+
}
|
|
481
|
+
}
|
|
482
|
+
const claudeSkills = (0, sync_1.syncSkillsToClaudeCode)(skills);
|
|
483
|
+
const geminiSkills = (0, sync_1.syncSkillsToGeminiCLI)(skills);
|
|
484
|
+
const windsurfSkills = (0, sync_1.syncSkillsToWindsurf)(skills);
|
|
485
|
+
const antigravitySkills = (0, sync_1.syncSkillsToAntigravityCLI)(skills);
|
|
486
|
+
// Register agentbrew as an MCP server in Cursor β this exposes all skills as MCP tools.
|
|
487
|
+
// Only fall back to the markdown index if MCP registration failed or Cursor isn't installed.
|
|
488
|
+
const cursorMcpResults = (0, sync_1.syncMcpServerToCursor)();
|
|
489
|
+
const cursorMcpOk = cursorMcpResults.some(r => r.status === 'linked' || r.status === 'already_exists');
|
|
490
|
+
const cursorSkills = cursorMcpOk
|
|
491
|
+
? (0, sync_1.unsyncSkillsFromCursor)() // remove stale index β MCP tools supersede it
|
|
492
|
+
: (0, sync_1.syncSkillsToCursor)(skills); // fallback: markdown index for non-MCP discovery
|
|
493
|
+
if (skills.length === 0) {
|
|
494
|
+
logger_1.Logger.info(' No skills found in installed packages.');
|
|
495
|
+
}
|
|
496
|
+
else {
|
|
497
|
+
printSkillResults('Claude Code', claudeSkills);
|
|
498
|
+
printSkillResults('Gemini CLI', geminiSkills);
|
|
499
|
+
printSkillResults('Windsurf', windsurfSkills);
|
|
500
|
+
printSkillResults('Antigravity CLI', antigravitySkills);
|
|
501
|
+
printSkillResults('Cursor MCP', cursorMcpResults);
|
|
502
|
+
if (!cursorMcpOk)
|
|
503
|
+
printSkillResults('Cursor (fallback index)', cursorSkills);
|
|
504
|
+
const totalLinked = [...claudeSkills, ...geminiSkills, ...windsurfSkills, ...antigravitySkills, ...cursorMcpResults]
|
|
505
|
+
.filter(r => r.status === 'linked').length;
|
|
506
|
+
if (totalLinked > 0) {
|
|
507
|
+
logger_1.Logger.info(`\n Restart your agents to pick up ${totalLinked} new skill(s).`);
|
|
508
|
+
}
|
|
509
|
+
}
|
|
430
510
|
logger_1.Logger.info(`\nDone. ${synced} agent config(s) updated.`);
|
|
431
511
|
});
|
|
432
512
|
exports.program
|
|
433
513
|
.command('unsync')
|
|
434
|
-
.description('Remove the AgentBrew shared section from all agent config files')
|
|
514
|
+
.description('Remove the AgentBrew shared section from all agent config files and unlink skills')
|
|
435
515
|
.action(() => {
|
|
436
516
|
logger_1.Logger.info('Removing AgentBrew shared section from agent config files...\n');
|
|
437
517
|
const results = (0, sync_1.unsyncInstructions)();
|
|
@@ -440,6 +520,25 @@ exports.program
|
|
|
440
520
|
const detail = r.path ? ` (${r.path})` : r.note ? ` (${r.note})` : '';
|
|
441
521
|
logger_1.Logger.info(`${icon} ${r.agent.padEnd(18)} β ${r.status}${detail}`);
|
|
442
522
|
}
|
|
523
|
+
logger_1.Logger.info('\nRemoving skill links from agents...');
|
|
524
|
+
const allUnsyncResults = [
|
|
525
|
+
...(0, sync_1.unsyncSkillsFromClaudeCode)(),
|
|
526
|
+
...(0, sync_1.unsyncSkillsFromGeminiCLI)(),
|
|
527
|
+
...(0, sync_1.unsyncSkillsFromWindsurf)(),
|
|
528
|
+
...(0, sync_1.unsyncSkillsFromAntigravityCLI)(),
|
|
529
|
+
...(0, sync_1.unsyncSkillsFromCursor)(),
|
|
530
|
+
...(0, sync_1.unsyncMcpServerFromCursor)(),
|
|
531
|
+
];
|
|
532
|
+
if (allUnsyncResults.length === 0) {
|
|
533
|
+
logger_1.Logger.info(' No skill links to remove.');
|
|
534
|
+
}
|
|
535
|
+
else {
|
|
536
|
+
for (const r of allUnsyncResults) {
|
|
537
|
+
const icon = r.status === 'removed' ? 'ποΈ ' : 'β«';
|
|
538
|
+
const detail = r.note ? ` (${r.note})` : r.path ? ` (${r.path})` : '';
|
|
539
|
+
logger_1.Logger.info(`${icon} ${r.entryName}${detail}`);
|
|
540
|
+
}
|
|
541
|
+
}
|
|
443
542
|
logger_1.Logger.info('\nDone. Run agentbrew sync to re-inject.');
|
|
444
543
|
});
|
|
445
544
|
function runCLI() {
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/dispatcher.d.ts
CHANGED
|
@@ -11,11 +11,18 @@ export interface LocalResource {
|
|
|
11
11
|
pkgPath: string;
|
|
12
12
|
file: string;
|
|
13
13
|
}
|
|
14
|
+
export interface LocalSkillTool {
|
|
15
|
+
/** Absolute path to the directory containing SKILL.md */
|
|
16
|
+
skillDir: string;
|
|
17
|
+
skillName: string;
|
|
18
|
+
description?: string;
|
|
19
|
+
}
|
|
14
20
|
export declare class CapabilityDispatch {
|
|
15
21
|
private managedClients;
|
|
16
22
|
private localPrompts;
|
|
17
23
|
private resourceToClient;
|
|
18
24
|
private localResources;
|
|
25
|
+
private localSkillTools;
|
|
19
26
|
constructor(managedClients: Map<string, ManagedClient>, localPrompts: Map<string, LocalPrompt>);
|
|
20
27
|
scopeName(prefix: string, name: string): string;
|
|
21
28
|
parseName(fullName: string): {
|
|
@@ -28,6 +35,17 @@ export declare class CapabilityDispatch {
|
|
|
28
35
|
originalUri: string;
|
|
29
36
|
} | null;
|
|
30
37
|
getClient(prefix: string): Promise<Client>;
|
|
38
|
+
addSkillTool(fullName: string, skill: LocalSkillTool): void;
|
|
39
|
+
/**
|
|
40
|
+
* If fullName is a registered skill tool, reads and returns its SKILL.md content.
|
|
41
|
+
* Returns null if the name is not a skill tool (caller should dispatch normally).
|
|
42
|
+
*/
|
|
43
|
+
callSkillTool(fullName: string): {
|
|
44
|
+
content: Array<{
|
|
45
|
+
type: string;
|
|
46
|
+
text: string;
|
|
47
|
+
}>;
|
|
48
|
+
} | null;
|
|
31
49
|
listAllTools(cachedTools: Map<string, Tool[]>): Tool[];
|
|
32
50
|
listAllPrompts(cachedPrompts: Map<string, Prompt[]>): Prompt[];
|
|
33
51
|
getPrompt(fullName: string, args?: Record<string, any>): Promise<any>;
|
package/dist/dispatcher.js
CHANGED
|
@@ -11,6 +11,7 @@ class CapabilityDispatch {
|
|
|
11
11
|
localPrompts;
|
|
12
12
|
resourceToClient = new Map();
|
|
13
13
|
localResources = new Map();
|
|
14
|
+
localSkillTools = new Map();
|
|
14
15
|
constructor(managedClients, localPrompts) {
|
|
15
16
|
this.managedClients = managedClients;
|
|
16
17
|
this.localPrompts = localPrompts;
|
|
@@ -74,8 +75,38 @@ class CapabilityDispatch {
|
|
|
74
75
|
}
|
|
75
76
|
return await managed.getClient();
|
|
76
77
|
}
|
|
78
|
+
addSkillTool(fullName, skill) {
|
|
79
|
+
this.localSkillTools.set(fullName, skill);
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* If fullName is a registered skill tool, reads and returns its SKILL.md content.
|
|
83
|
+
* Returns null if the name is not a skill tool (caller should dispatch normally).
|
|
84
|
+
*/
|
|
85
|
+
callSkillTool(fullName) {
|
|
86
|
+
const skill = this.localSkillTools.get(fullName);
|
|
87
|
+
if (!skill)
|
|
88
|
+
return null;
|
|
89
|
+
const skillMdPath = path_1.default.join(skill.skillDir, 'SKILL.md');
|
|
90
|
+
try {
|
|
91
|
+
const text = fs_1.default.readFileSync(skillMdPath, 'utf-8');
|
|
92
|
+
return { content: [{ type: 'text', text }] };
|
|
93
|
+
}
|
|
94
|
+
catch (e) {
|
|
95
|
+
return { content: [{ type: 'text', text: `Error reading skill: ${e.message}` }] };
|
|
96
|
+
}
|
|
97
|
+
}
|
|
77
98
|
listAllTools(cachedTools) {
|
|
78
99
|
const allTools = [];
|
|
100
|
+
// Skill tools are served locally β no child process needed
|
|
101
|
+
for (const [name, skill] of this.localSkillTools.entries()) {
|
|
102
|
+
allTools.push({
|
|
103
|
+
name,
|
|
104
|
+
description: skill.description
|
|
105
|
+
? `${skill.description} (AgentBrew skill β returns instructions)`
|
|
106
|
+
: `AgentBrew skill: ${skill.skillName}. Returns the SKILL.md instructions.`,
|
|
107
|
+
inputSchema: { type: 'object', properties: {} },
|
|
108
|
+
});
|
|
109
|
+
}
|
|
79
110
|
for (const [prefix, tools] of cachedTools.entries()) {
|
|
80
111
|
allTools.push(...tools.map(tool => ({
|
|
81
112
|
...tool,
|
|
@@ -93,10 +124,12 @@ class CapabilityDispatch {
|
|
|
93
124
|
description: 'Index of agent instruction files (CLAUDE.md, GEMINI.md, AGENTS.md, .cursorrules, .windsurfrules, .clinerules) for all installed packages.'
|
|
94
125
|
});
|
|
95
126
|
}
|
|
96
|
-
// Add local prompts
|
|
97
|
-
for (const [
|
|
127
|
+
// Add local prompts (skip skills already exposed as tools)
|
|
128
|
+
for (const [fullName, local] of this.localPrompts.entries()) {
|
|
129
|
+
if (this.localSkillTools.has(fullName))
|
|
130
|
+
continue;
|
|
98
131
|
allPrompts.push({
|
|
99
|
-
name:
|
|
132
|
+
name: fullName,
|
|
100
133
|
description: local.description
|
|
101
134
|
});
|
|
102
135
|
}
|