@wowok/skills 1.2.8 → 1.3.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 +34 -17
- package/dist/cli.js +316 -10
- package/dist/cli.js.map +1 -1
- package/dist/types.d.ts +1 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +15 -5
- package/dist/types.js.map +1 -1
- package/examples/MyShop/MyShop.md +2 -2
- package/package.json +1 -1
- package/scripts/install.js +342 -5
package/README.md
CHANGED
|
@@ -1,19 +1,25 @@
|
|
|
1
1
|
# WoWok Skills
|
|
2
2
|
|
|
3
|
-
WoWok AI Skills for Claude Code, OpenAI Codex, Trae IDE, CodeBuddy, Cursor, and GitHub Copilot — Helping AI use WoWok MCP tools correctly.
|
|
3
|
+
WoWok AI Skills for Claude Code, OpenAI Codex, ChatGPT Desktop (Codex Mode), Trae IDE, CodeBuddy, Cursor, Windsurf, Qoder, Roo Code, and GitHub Copilot — Helping AI use WoWok MCP tools correctly.
|
|
4
4
|
|
|
5
5
|
## Supported AI Clients
|
|
6
6
|
|
|
7
|
-
| Client | Skills Directory | Format |
|
|
8
|
-
|
|
9
|
-
| **Claude Code** | `.claude/skills/` | SKILL.md (native) |
|
|
10
|
-
| **OpenAI Codex** | `.codex/skills/` | SKILL.md (native) |
|
|
11
|
-
| **
|
|
12
|
-
| **
|
|
13
|
-
| **
|
|
14
|
-
| **
|
|
7
|
+
| Client | Skills Directory | Format | MCP Support |
|
|
8
|
+
|--------|-----------------|--------|-------------|
|
|
9
|
+
| **Claude Code** | `.claude/skills/` | SKILL.md (native) | ✅ `~/.claude/settings.json` |
|
|
10
|
+
| **OpenAI Codex CLI** | `.codex/skills/` | SKILL.md (native) | ✅ `~/.codex/config.toml` |
|
|
11
|
+
| **ChatGPT Desktop (Codex Mode)** | `.codex/skills/` | SKILL.md (native) | ✅ Shares Codex CLI config (`~/.codex/config.toml`) |
|
|
12
|
+
| **Trae IDE** | `.agents/skills/` | SKILL.md (native) | ⚙️ IDE-managed via `~/.trae-cn/mcps/` |
|
|
13
|
+
| **CodeBuddy** | `.codebuddy/skills/` | SKILL.md (native) | ✅ `~/.codebuddy/mcp.json` |
|
|
14
|
+
| **Cursor IDE** | `.cursor/rules/` | `.mdc` (frontmatter adapted) | ✅ Project-level `.cursor/mcp.json` |
|
|
15
|
+
| **Windsurf** | `.windsurf/skills/` | SKILL.md (native) | ✅ `~/.codeium/windsurf/mcp_config.json` |
|
|
16
|
+
| **Qoder** | `.qoder/skills/` | SKILL.md (native) | ✅ `~/.qoder/mcp-settings.json` (project: `.qoder/mcp.json`) |
|
|
17
|
+
| **Roo Code** | `.roo/skills/` | SKILL.md (native) | ✅ `~/.roo/mcp_settings.json` (project: `.roo/mcp.json`) |
|
|
18
|
+
| **GitHub Copilot** | `.github/prompts/` | `.prompt.md` (plain markdown) | ✅ `~/.copilot/mcp-config.json` |
|
|
15
19
|
|
|
16
20
|
> **Format notes**: For Cursor, the YAML frontmatter is adapted to `description` + `alwaysApply`. For Copilot, frontmatter is stripped — pure Markdown instructions. Codex follows the [Agent Skills](https://agentskills.io) open standard natively. All other clients use the native SKILL.md format directly.
|
|
21
|
+
>
|
|
22
|
+
> **ChatGPT Desktop (Chat Mode)** does **not** support local skills or stdio MCP. Only the **Codex Mode** (built into ChatGPT Desktop) inherits Codex CLI's skills and MCP configuration. Full MCP (write operations) in ChatGPT Desktop requires **Business, Enterprise, or Edu** plans (beta).
|
|
17
23
|
|
|
18
24
|
|
|
19
25
|
## How It Works
|
|
@@ -23,13 +29,17 @@ Each skill is a `SKILL.md` file with YAML frontmatter. AI clients discover them
|
|
|
23
29
|
```
|
|
24
30
|
npm install -g @wowok/skills
|
|
25
31
|
│
|
|
26
|
-
|
|
27
|
-
|
|
32
|
+
├── postinstall ──→ Copies SKILL.md to ~/.claude/skills/wowok-*/
|
|
33
|
+
└── auto MCP ──→ Installs/upgrades @wowok/agent-mcp
|
|
34
|
+
Registers MCP in client config
|
|
35
|
+
Restarts MCP server process
|
|
36
|
+
AI discovers on next session ✅
|
|
28
37
|
|
|
29
38
|
# For other clients, set the WOWOK_SKILLS_TARGETS env var:
|
|
30
39
|
WOWOK_SKILLS_TARGETS=claude,agents npm install -g @wowok/skills
|
|
31
40
|
│
|
|
32
|
-
|
|
41
|
+
├── postinstall ──→ Copies to ~/.claude/skills/ AND ~/.agents/skills/
|
|
42
|
+
└── auto MCP ──→ Same MCP install/register/restart for each client
|
|
33
43
|
```
|
|
34
44
|
|
|
35
45
|
**Two loading modes:**
|
|
@@ -43,7 +53,9 @@ WOWOK_SKILLS_TARGETS=claude,agents npm install -g @wowok/skills
|
|
|
43
53
|
|
|
44
54
|
### 1. Prerequisites
|
|
45
55
|
|
|
46
|
-
|
|
56
|
+
The `@wowok/skills` package will **automatically install and configure** the `@wowok/agent-mcp` MCP server for you. No manual setup needed.
|
|
57
|
+
|
|
58
|
+
To configure MCP manually for a specific client, see the [MCP Support](#supported-ai-clients) table above. The standard WoWok MCP server entry is:
|
|
47
59
|
|
|
48
60
|
```json
|
|
49
61
|
{
|
|
@@ -68,7 +80,7 @@ npm install -g @wowok/skills
|
|
|
68
80
|
WOWOK_SKILLS_TARGETS=claude,agents npm install -g @wowok/skills
|
|
69
81
|
|
|
70
82
|
# All supported clients:
|
|
71
|
-
WOWOK_SKILLS_TARGETS=claude,codex,agents,codebuddy,cursor,copilot npm install -g @wowok/skills
|
|
83
|
+
WOWOK_SKILLS_TARGETS=claude,codex,agents,codebuddy,cursor,windsurf,qoder,roo,copilot npm install -g @wowok/skills
|
|
72
84
|
```
|
|
73
85
|
|
|
74
86
|
This copies skills to the respective `~/.*/skills/` directories. They will be available in your next session.
|
|
@@ -82,7 +94,7 @@ cd your-project
|
|
|
82
94
|
# Claude Code (default):
|
|
83
95
|
wowok-skills init
|
|
84
96
|
|
|
85
|
-
# OpenAI Codex:
|
|
97
|
+
# OpenAI Codex / ChatGPT Desktop (Codex Mode):
|
|
86
98
|
wowok-skills init --target codex
|
|
87
99
|
|
|
88
100
|
# Trae IDE:
|
|
@@ -145,15 +157,20 @@ wowok-skills uninit
|
|
|
145
157
|
| `wowok-skills role <role>` | — | List skills by role |
|
|
146
158
|
| `wowok-skills recommend <intent>` | — | Recommend skills by intent |
|
|
147
159
|
| `wowok-skills init` | Project | Install to `.claude/skills/` (default) |
|
|
148
|
-
| `wowok-skills init --target codex` | Project | Install to `.codex/skills/` (Codex) |
|
|
160
|
+
| `wowok-skills init --target codex` | Project | Install to `.codex/skills/` (Codex / ChatGPT Desktop) |
|
|
149
161
|
| `wowok-skills init --target agents` | Project | Install to `.agents/skills/` (Trae) |
|
|
150
162
|
| `wowok-skills init --target cursor` | Project | Install to `.cursor/rules/` (Cursor) |
|
|
151
163
|
| `wowok-skills init --target copilot` | Project | Install to `.github/prompts/` (Copilot) |
|
|
152
|
-
| `wowok-skills init --target
|
|
164
|
+
| `wowok-skills init --target windsurf` | Project | Install to `.windsurf/skills/` (Windsurf) |
|
|
165
|
+
| `wowok-skills init --target qoder` | Project | Install to `.qoder/skills/` (Qoder) |
|
|
166
|
+
| `wowok-skills init --target roo` | Project | Install to `.roo/skills/` (Roo Code) |
|
|
167
|
+
| `wowok-skills init --target all` | Project | Install to all 10 clients |
|
|
153
168
|
| `wowok-skills uninit` | Project | Remove from `.claude/skills/` (default) |
|
|
154
169
|
| `wowok-skills uninit --target all` | Project | Remove from all clients |
|
|
155
170
|
|
|
156
171
|
> **Note**: `init` / `uninit` require `@wowok/skills` to be globally installed first.
|
|
172
|
+
>
|
|
173
|
+
> **MCP auto-install**: `npm install -g @wowok/skills` (postinstall) and `wowok-skills init` automatically install/upgrade the `@wowok/agent-mcp` MCP server and register it in each client's config. Set `WOWOK_SKILLS_NO_MCP=1` to skip MCP management.
|
|
157
174
|
|
|
158
175
|
## Programmatic API
|
|
159
176
|
|
package/dist/cli.js
CHANGED
|
@@ -36,6 +36,8 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
36
36
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
37
37
|
const fs = __importStar(require("fs"));
|
|
38
38
|
const path = __importStar(require("path"));
|
|
39
|
+
const child_process_1 = require("child_process");
|
|
40
|
+
const os = __importStar(require("os"));
|
|
39
41
|
const skills_1 = require("./skills");
|
|
40
42
|
const types_1 = require("./types");
|
|
41
43
|
/**
|
|
@@ -166,6 +168,280 @@ function convertSkillContent(content, target, skillDir) {
|
|
|
166
168
|
return convertToCopilot(content);
|
|
167
169
|
return content;
|
|
168
170
|
}
|
|
171
|
+
// =========================================================================
|
|
172
|
+
// MCP Server Management — shared by postinstall and `wowok-skills init`
|
|
173
|
+
// =========================================================================
|
|
174
|
+
const MCP_PACKAGE = '@wowok/agent-mcp';
|
|
175
|
+
const MCP_TARGET_CONFIGS = {
|
|
176
|
+
claude: {
|
|
177
|
+
configPath: path.join(os.homedir(), '.claude', 'settings.json'),
|
|
178
|
+
merge: (config) => {
|
|
179
|
+
config.mcpServers = config.mcpServers || {};
|
|
180
|
+
config.mcpServers.wowok = { command: 'npx', args: ['-y', '@wowok/agent-mcp'] };
|
|
181
|
+
return config;
|
|
182
|
+
},
|
|
183
|
+
},
|
|
184
|
+
codebuddy: {
|
|
185
|
+
configPath: path.join(os.homedir(), '.codebuddy', 'mcp.json'),
|
|
186
|
+
merge: (config) => {
|
|
187
|
+
config.mcpServers = config.mcpServers || {};
|
|
188
|
+
config.mcpServers.wowok = { command: 'npx', args: ['-y', '@wowok/agent-mcp'] };
|
|
189
|
+
return config;
|
|
190
|
+
},
|
|
191
|
+
},
|
|
192
|
+
windsurf: {
|
|
193
|
+
configPath: path.join(os.homedir(), '.codeium', 'windsurf', 'mcp_config.json'),
|
|
194
|
+
merge: (config) => {
|
|
195
|
+
config.mcpServers = config.mcpServers || {};
|
|
196
|
+
config.mcpServers.wowok = { command: 'npx', args: ['-y', '@wowok/agent-mcp'] };
|
|
197
|
+
return config;
|
|
198
|
+
},
|
|
199
|
+
},
|
|
200
|
+
qoder: {
|
|
201
|
+
configPath: process.platform === 'win32'
|
|
202
|
+
? path.join(process.env.APPDATA || path.join(os.homedir(), 'AppData', 'Roaming'), 'Qoder', 'mcp-settings.json')
|
|
203
|
+
: path.join(os.homedir(), '.config', 'qoder', 'mcp-settings.json'),
|
|
204
|
+
merge: (config) => {
|
|
205
|
+
config.mcpServers = config.mcpServers || {};
|
|
206
|
+
config.mcpServers.wowok = { command: 'npx', args: ['-y', '@wowok/agent-mcp'] };
|
|
207
|
+
return config;
|
|
208
|
+
},
|
|
209
|
+
},
|
|
210
|
+
roo: {
|
|
211
|
+
configPath: path.join(os.homedir(), '.roo', 'mcp_settings.json'),
|
|
212
|
+
merge: (config) => {
|
|
213
|
+
config.mcpServers = config.mcpServers || {};
|
|
214
|
+
config.mcpServers.wowok = { command: 'npx', args: ['-y', '@wowok/agent-mcp'] };
|
|
215
|
+
return config;
|
|
216
|
+
},
|
|
217
|
+
},
|
|
218
|
+
// trae / agents: IDE-managed MCP via ~/.trae-cn/mcps/ directory structure
|
|
219
|
+
trae: null,
|
|
220
|
+
agents: null,
|
|
221
|
+
// cursor: project-level only
|
|
222
|
+
cursor: null,
|
|
223
|
+
// copilot: user-level MCP config (Copilot CLI)
|
|
224
|
+
copilot: {
|
|
225
|
+
configPath: path.join(os.homedir(), '.copilot', 'mcp-config.json'),
|
|
226
|
+
merge: (config) => {
|
|
227
|
+
config.mcpServers = config.mcpServers || {};
|
|
228
|
+
config.mcpServers.wowok = { type: 'local', command: 'npx', args: ['-y', '@wowok/agent-mcp'] };
|
|
229
|
+
return config;
|
|
230
|
+
},
|
|
231
|
+
},
|
|
232
|
+
// codex: global TOML config (~/.codex/config.toml)
|
|
233
|
+
codex: {
|
|
234
|
+
configPath: path.join(os.homedir(), '.codex', 'config.toml'),
|
|
235
|
+
format: 'toml',
|
|
236
|
+
},
|
|
237
|
+
};
|
|
238
|
+
/** Project-level MCP configs (written relative to cwd). */
|
|
239
|
+
const MCP_PROJECT_CONFIGS = {
|
|
240
|
+
cursor: {
|
|
241
|
+
configPath: '.cursor/mcp.json',
|
|
242
|
+
merge: (config) => {
|
|
243
|
+
config.mcpServers = config.mcpServers || {};
|
|
244
|
+
config.mcpServers.wowok = { command: 'npx', args: ['-y', '@wowok/agent-mcp'] };
|
|
245
|
+
return config;
|
|
246
|
+
},
|
|
247
|
+
},
|
|
248
|
+
windsurf: {
|
|
249
|
+
configPath: '.windsurf/mcp.json',
|
|
250
|
+
merge: (config) => {
|
|
251
|
+
config.mcpServers = config.mcpServers || {};
|
|
252
|
+
config.mcpServers.wowok = { command: 'npx', args: ['-y', '@wowok/agent-mcp'] };
|
|
253
|
+
return config;
|
|
254
|
+
},
|
|
255
|
+
},
|
|
256
|
+
trae: {
|
|
257
|
+
configPath: '.trae/mcp.json',
|
|
258
|
+
merge: (config) => {
|
|
259
|
+
config.mcpServers = config.mcpServers || {};
|
|
260
|
+
config.mcpServers.wowok = { command: 'npx', args: ['-y', '@wowok/agent-mcp'] };
|
|
261
|
+
return config;
|
|
262
|
+
},
|
|
263
|
+
},
|
|
264
|
+
agents: {
|
|
265
|
+
configPath: '.trae/mcp.json',
|
|
266
|
+
merge: (config) => {
|
|
267
|
+
config.mcpServers = config.mcpServers || {};
|
|
268
|
+
config.mcpServers.wowok = { command: 'npx', args: ['-y', '@wowok/agent-mcp'] };
|
|
269
|
+
return config;
|
|
270
|
+
},
|
|
271
|
+
},
|
|
272
|
+
qoder: {
|
|
273
|
+
configPath: '.qoder/mcp.json',
|
|
274
|
+
merge: (config) => {
|
|
275
|
+
config.mcpServers = config.mcpServers || {};
|
|
276
|
+
config.mcpServers.wowok = { command: 'npx', args: ['-y', '@wowok/agent-mcp'] };
|
|
277
|
+
return config;
|
|
278
|
+
},
|
|
279
|
+
},
|
|
280
|
+
roo: {
|
|
281
|
+
configPath: '.roo/mcp.json',
|
|
282
|
+
merge: (config) => {
|
|
283
|
+
config.mcpServers = config.mcpServers || {};
|
|
284
|
+
config.mcpServers.wowok = { command: 'npx', args: ['-y', '@wowok/agent-mcp'] };
|
|
285
|
+
return config;
|
|
286
|
+
},
|
|
287
|
+
},
|
|
288
|
+
};
|
|
289
|
+
function getInstalledMcpVersion() {
|
|
290
|
+
try {
|
|
291
|
+
const output = (0, child_process_1.execSync)(`npm ls -g ${MCP_PACKAGE} --depth=0 --json`, {
|
|
292
|
+
encoding: 'utf-8',
|
|
293
|
+
stdio: 'pipe',
|
|
294
|
+
timeout: 15000,
|
|
295
|
+
});
|
|
296
|
+
const parsed = JSON.parse(output);
|
|
297
|
+
const pkg = parsed.dependencies?.[MCP_PACKAGE] || parsed[MCP_PACKAGE];
|
|
298
|
+
return pkg?.version || null;
|
|
299
|
+
}
|
|
300
|
+
catch {
|
|
301
|
+
return null;
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
function getLatestMcpVersion() {
|
|
305
|
+
try {
|
|
306
|
+
const output = (0, child_process_1.execSync)(`npm view ${MCP_PACKAGE} version`, {
|
|
307
|
+
encoding: 'utf-8',
|
|
308
|
+
stdio: 'pipe',
|
|
309
|
+
timeout: 15000,
|
|
310
|
+
});
|
|
311
|
+
return output.trim();
|
|
312
|
+
}
|
|
313
|
+
catch {
|
|
314
|
+
return null;
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
function semverMajor(version) {
|
|
318
|
+
if (!version)
|
|
319
|
+
return 0;
|
|
320
|
+
const parts = version.split('.');
|
|
321
|
+
return parseInt(parts[0], 10) || 0;
|
|
322
|
+
}
|
|
323
|
+
function npmInstallGlobal(pkg, retries = 2) {
|
|
324
|
+
for (let attempt = 1; attempt <= retries; attempt++) {
|
|
325
|
+
try {
|
|
326
|
+
(0, child_process_1.execSync)(`npm install -g ${pkg}`, { stdio: 'inherit', timeout: 120000 });
|
|
327
|
+
return true;
|
|
328
|
+
}
|
|
329
|
+
catch (err) {
|
|
330
|
+
if (attempt < retries) {
|
|
331
|
+
console.log(`[wowok-skills] npm install attempt ${attempt} failed, retrying...`);
|
|
332
|
+
const waitCmd = process.platform === 'win32'
|
|
333
|
+
? 'ping -n 3 127.0.0.1 >nul'
|
|
334
|
+
: 'sleep 2';
|
|
335
|
+
(0, child_process_1.execSync)(waitCmd, { stdio: 'pipe', timeout: 5000 });
|
|
336
|
+
}
|
|
337
|
+
else {
|
|
338
|
+
console.error(`[wowok-skills] npm install failed after ${retries} attempts: ${err.message}`);
|
|
339
|
+
return false;
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
}
|
|
343
|
+
return false;
|
|
344
|
+
}
|
|
345
|
+
function ensureMcpServer() {
|
|
346
|
+
const currentVersion = getInstalledMcpVersion();
|
|
347
|
+
const latestVersion = getLatestMcpVersion();
|
|
348
|
+
if (currentVersion) {
|
|
349
|
+
console.log(`[wowok-skills] MCP server ${MCP_PACKAGE} v${currentVersion} found.`);
|
|
350
|
+
if (!latestVersion) {
|
|
351
|
+
console.log(`[wowok-skills] Cannot check latest version (offline or registry unreachable). Keeping v${currentVersion}.`);
|
|
352
|
+
return false;
|
|
353
|
+
}
|
|
354
|
+
if (currentVersion === latestVersion) {
|
|
355
|
+
console.log(`[wowok-skills] MCP server is up to date (v${currentVersion}).`);
|
|
356
|
+
return false;
|
|
357
|
+
}
|
|
358
|
+
const currentMajor = semverMajor(currentVersion);
|
|
359
|
+
const latestMajor = semverMajor(latestVersion);
|
|
360
|
+
if (latestMajor > currentMajor) {
|
|
361
|
+
console.warn(`[wowok-skills] ⚠ WARNING: Major version bump detected v${currentVersion} → v${latestVersion}.`);
|
|
362
|
+
console.warn(`[wowok-skills] Skipping auto-upgrade to avoid breaking changes.`);
|
|
363
|
+
console.warn(`[wowok-skills] To upgrade manually: npm install -g ${MCP_PACKAGE}@latest`);
|
|
364
|
+
return false;
|
|
365
|
+
}
|
|
366
|
+
console.log(`[wowok-skills] Upgrading MCP server v${currentVersion} → v${latestVersion}...`);
|
|
367
|
+
if (npmInstallGlobal(`${MCP_PACKAGE}@latest`)) {
|
|
368
|
+
console.log(`[wowok-skills] MCP server upgraded to v${latestVersion}.`);
|
|
369
|
+
return true;
|
|
370
|
+
}
|
|
371
|
+
console.error(`[wowok-skills] MCP server upgrade FAILED. Keeping v${currentVersion}.`);
|
|
372
|
+
return false;
|
|
373
|
+
}
|
|
374
|
+
console.log(`[wowok-skills] Installing MCP server ${MCP_PACKAGE}...`);
|
|
375
|
+
if (npmInstallGlobal(MCP_PACKAGE)) {
|
|
376
|
+
console.log(`[wowok-skills] MCP server installed.`);
|
|
377
|
+
return true;
|
|
378
|
+
}
|
|
379
|
+
console.error(`[wowok-skills] MCP server installation FAILED.`);
|
|
380
|
+
return false;
|
|
381
|
+
}
|
|
382
|
+
function writeMcpConfig(target, configMap, cwd) {
|
|
383
|
+
const cfg = configMap[target];
|
|
384
|
+
if (!cfg) {
|
|
385
|
+
console.log(`[wowok-skills] MCP config: ${target} does not support external MCP registration (skipped).`);
|
|
386
|
+
return false;
|
|
387
|
+
}
|
|
388
|
+
try {
|
|
389
|
+
const configPath = cwd ? path.join(cwd, cfg.configPath) : cfg.configPath;
|
|
390
|
+
// ── TOML format (Codex CLI uses ~/.codex/config.toml) ──────────────
|
|
391
|
+
if (cfg.format === 'toml') {
|
|
392
|
+
const tomlEntry = '\n[mcp_servers.wowok]\ncommand = "npx"\nargs = ["-y", "@wowok/agent-mcp"]\n';
|
|
393
|
+
let content = '';
|
|
394
|
+
if (fs.existsSync(configPath)) {
|
|
395
|
+
content = fs.readFileSync(configPath, 'utf-8');
|
|
396
|
+
}
|
|
397
|
+
if (content.includes('[mcp_servers.wowok]')) {
|
|
398
|
+
console.log(`[wowok-skills] MCP config already up to date: ${configPath}`);
|
|
399
|
+
return false;
|
|
400
|
+
}
|
|
401
|
+
fs.mkdirSync(path.dirname(configPath), { recursive: true });
|
|
402
|
+
fs.writeFileSync(configPath, content + tomlEntry, 'utf-8');
|
|
403
|
+
console.log(`[wowok-skills] MCP config written: ${configPath}`);
|
|
404
|
+
return true;
|
|
405
|
+
}
|
|
406
|
+
// ── JSON format (all other clients) ────────────────────────────────
|
|
407
|
+
let config = {};
|
|
408
|
+
if (fs.existsSync(configPath)) {
|
|
409
|
+
config = JSON.parse(fs.readFileSync(configPath, 'utf-8'));
|
|
410
|
+
}
|
|
411
|
+
const before = JSON.stringify(config);
|
|
412
|
+
config = cfg.merge(config);
|
|
413
|
+
const after = JSON.stringify(config);
|
|
414
|
+
if (before !== after) {
|
|
415
|
+
fs.mkdirSync(path.dirname(configPath), { recursive: true });
|
|
416
|
+
fs.writeFileSync(configPath, JSON.stringify(config, null, 2), 'utf-8');
|
|
417
|
+
console.log(`[wowok-skills] MCP config written: ${configPath}`);
|
|
418
|
+
return true;
|
|
419
|
+
}
|
|
420
|
+
console.log(`[wowok-skills] MCP config already up to date: ${configPath}`);
|
|
421
|
+
return false;
|
|
422
|
+
}
|
|
423
|
+
catch (err) {
|
|
424
|
+
console.error(`[wowok-skills] ERROR writing MCP config for ${target}: ${err.message}`);
|
|
425
|
+
return false;
|
|
426
|
+
}
|
|
427
|
+
}
|
|
428
|
+
function restartMcpServer() {
|
|
429
|
+
try {
|
|
430
|
+
if (process.platform === 'win32') {
|
|
431
|
+
const psScript = 'Get-CimInstance Win32_Process -Filter "Name=\'node.exe\' AND CommandLine LIKE \'%wowok%agent-mcp%\'" | ' +
|
|
432
|
+
'ForEach-Object { Stop-Process -Id $_.ProcessId -Force -ErrorAction SilentlyContinue }';
|
|
433
|
+
const encoded = Buffer.from(psScript, 'utf16le').toString('base64');
|
|
434
|
+
(0, child_process_1.execSync)(`powershell -NoProfile -EncodedCommand ${encoded}`, { stdio: 'pipe', timeout: 10000 });
|
|
435
|
+
}
|
|
436
|
+
else {
|
|
437
|
+
(0, child_process_1.execSync)('pkill -f "wowok.*agent-mcp" 2>/dev/null || true', { stdio: 'pipe', timeout: 5000 });
|
|
438
|
+
}
|
|
439
|
+
console.log('[wowok-skills] MCP server process terminated (IDE will auto-restart).');
|
|
440
|
+
}
|
|
441
|
+
catch {
|
|
442
|
+
console.log('[wowok-skills] No running MCP server process found. Start your IDE to launch it.');
|
|
443
|
+
}
|
|
444
|
+
}
|
|
169
445
|
function getTargets(targetArg) {
|
|
170
446
|
if (!targetArg || targetArg === 'claude') {
|
|
171
447
|
return ['claude'];
|
|
@@ -177,10 +453,10 @@ function getTargets(targetArg) {
|
|
|
177
453
|
return [targetArg];
|
|
178
454
|
}
|
|
179
455
|
console.error(`Invalid target: ${targetArg}`);
|
|
180
|
-
console.error(`Valid targets: claude,
|
|
456
|
+
console.error(`Valid targets: claude, cursor, windsurf, codebuddy, codex, trae, qoder, roo, copilot, all`);
|
|
181
457
|
process.exit(1);
|
|
182
458
|
}
|
|
183
|
-
function cmdInit(targetArg) {
|
|
459
|
+
function cmdInit(targetArg, withMcp) {
|
|
184
460
|
const cwd = process.cwd();
|
|
185
461
|
const pkgRoot = getPackageRoot();
|
|
186
462
|
const targets = getTargets(targetArg);
|
|
@@ -215,6 +491,28 @@ function cmdInit(targetArg) {
|
|
|
215
491
|
if (targets.length > 1) {
|
|
216
492
|
console.log(`[wowok-skills] Total: ${totalCount} skills across ${targets.length} clients.`);
|
|
217
493
|
}
|
|
494
|
+
// ─── MCP setup (default: enabled, use --no-mcp to skip) ────────────
|
|
495
|
+
if (withMcp) {
|
|
496
|
+
console.log('');
|
|
497
|
+
console.log('[wowok-skills] Setting up MCP server (use --no-mcp to skip)...');
|
|
498
|
+
const mcpChanged = ensureMcpServer();
|
|
499
|
+
console.log('[wowok-skills] Registering MCP server in client config...');
|
|
500
|
+
for (const target of targets) {
|
|
501
|
+
// Global-level config (Claude, CodeBuddy, Windsurf, Qoder, Roo)
|
|
502
|
+
writeMcpConfig(target, MCP_TARGET_CONFIGS);
|
|
503
|
+
// Project-level config (Cursor, Windsurf, Trae, Qoder, Roo)
|
|
504
|
+
writeMcpConfig(target, MCP_PROJECT_CONFIGS, cwd);
|
|
505
|
+
}
|
|
506
|
+
if (mcpChanged) {
|
|
507
|
+
console.log('[wowok-skills] Restarting MCP server...');
|
|
508
|
+
restartMcpServer();
|
|
509
|
+
}
|
|
510
|
+
console.log('[wowok-skills] MCP server setup complete.');
|
|
511
|
+
}
|
|
512
|
+
else {
|
|
513
|
+
console.log('');
|
|
514
|
+
console.log('[wowok-skills] --no-mcp: MCP server setup skipped (skills only).');
|
|
515
|
+
}
|
|
218
516
|
}
|
|
219
517
|
function cmdUninit(targetArg) {
|
|
220
518
|
const cwd = process.cwd();
|
|
@@ -316,16 +614,20 @@ function printUsage() {
|
|
|
316
614
|
console.log(' get <name> Show skill details');
|
|
317
615
|
console.log(' role <role> List skills for a role (customer|provider|arbitrator|shared)');
|
|
318
616
|
console.log(' recommend <intent> Recommend skills based on user intent');
|
|
319
|
-
console.log(' init [--target <t>] Install skills to project (default: .claude/skills/)');
|
|
617
|
+
console.log(' init [--target <t>] [--no-mcp] Install skills to project (default: .claude/skills/ with MCP)');
|
|
618
|
+
console.log(' --no-mcp Skip MCP server setup (skills only)');
|
|
320
619
|
console.log(' uninit [--target <t>] Remove skills from project');
|
|
321
620
|
console.log('');
|
|
322
621
|
console.log('Targets:');
|
|
323
|
-
console.log(' claude .claude/skills/ (Claude Code
|
|
324
|
-
console.log(' codex .codex/skills/ (OpenAI Codex)');
|
|
325
|
-
console.log(' agents .agents/skills/ (Trae IDE)');
|
|
326
|
-
console.log(' codebuddy .codebuddy/skills/ (CodeBuddy)');
|
|
622
|
+
console.log(' claude .claude/skills/ (Claude Code)');
|
|
327
623
|
console.log(' cursor .cursor/rules/ (Cursor IDE)');
|
|
328
|
-
console.log('
|
|
624
|
+
console.log(' windsurf .windsurf/skills/ (Windsurf / Codeium)');
|
|
625
|
+
console.log(' codebuddy .codebuddy/skills/ (CodeBuddy)');
|
|
626
|
+
console.log(' codex .codex/skills/ (OpenAI Codex, no MCP)');
|
|
627
|
+
console.log(' trae .agents/skills/ (Trae CN & Trae Work)');
|
|
628
|
+
console.log(' qoder .qoder/skills/ (Qoder / Qoder CN)');
|
|
629
|
+
console.log(' roo .roo/skills/ (Roo Code)');
|
|
630
|
+
console.log(' copilot .github/prompts/ (GitHub Copilot, no MCP)');
|
|
329
631
|
console.log(' all All of the above');
|
|
330
632
|
console.log('');
|
|
331
633
|
console.log('Examples:');
|
|
@@ -336,6 +638,8 @@ function printUsage() {
|
|
|
336
638
|
console.log(' wowok-skills init');
|
|
337
639
|
console.log(' wowok-skills init --target agents');
|
|
338
640
|
console.log(' wowok-skills init --target all');
|
|
641
|
+
console.log(' wowok-skills init --no-mcp');
|
|
642
|
+
console.log(' wowok-skills init --target cursor --no-mcp');
|
|
339
643
|
}
|
|
340
644
|
function main() {
|
|
341
645
|
const args = process.argv.slice(2);
|
|
@@ -369,9 +673,11 @@ function main() {
|
|
|
369
673
|
}
|
|
370
674
|
cmdRecommend(args.slice(1).join(' '));
|
|
371
675
|
break;
|
|
372
|
-
case 'init':
|
|
373
|
-
|
|
676
|
+
case 'init': {
|
|
677
|
+
const withMcp = !args.includes('--no-mcp');
|
|
678
|
+
cmdInit(parseTargetArg(args.slice(1)), withMcp);
|
|
374
679
|
break;
|
|
680
|
+
}
|
|
375
681
|
case 'uninit':
|
|
376
682
|
cmdUninit(parseTargetArg(args.slice(1)));
|
|
377
683
|
break;
|
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/types.d.ts
CHANGED
|
@@ -8,7 +8,7 @@ export type SkillRole = 'customer' | 'provider' | 'arbitrator' | 'shared';
|
|
|
8
8
|
* - 'on-demand': Loaded only when description matches task
|
|
9
9
|
*/
|
|
10
10
|
export type LoadingMode = 'always' | 'on-demand';
|
|
11
|
-
export type ClientTarget = 'claude' | '
|
|
11
|
+
export type ClientTarget = 'claude' | 'cursor' | 'windsurf' | 'codebuddy' | 'codex' | 'trae' | 'qoder' | 'roo' | 'agents' | 'copilot' | 'all';
|
|
12
12
|
export declare const CLIENT_SKILL_DIRS: Record<Exclude<ClientTarget, 'all'>, string>;
|
|
13
13
|
export declare const CLIENT_FILE_EXT: Record<Exclude<ClientTarget, 'all'>, string>;
|
|
14
14
|
export declare const ALL_CLIENT_TARGETS: Exclude<ClientTarget, 'all'>[];
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,UAAU,GAAG,UAAU,GAAG,YAAY,GAAG,QAAQ,CAAC;AAE1E;;;;GAIG;AACH,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,WAAW,CAAC;AAEjD,MAAM,MAAM,YAAY,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,UAAU,GAAG,UAAU,GAAG,YAAY,GAAG,QAAQ,CAAC;AAE1E;;;;GAIG;AACH,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,WAAW,CAAC;AAEjD,MAAM,MAAM,YAAY,GACpB,QAAQ,GACR,QAAQ,GACR,UAAU,GACV,WAAW,GACX,OAAO,GACP,MAAM,GACN,OAAO,GACP,KAAK,GACL,QAAQ,GACR,SAAS,GACT,KAAK,CAAC;AAEV,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,OAAO,CAAC,YAAY,EAAE,KAAK,CAAC,EAAE,MAAM,CAW1E,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,OAAO,CAAC,YAAY,EAAE,KAAK,CAAC,EAAE,MAAM,CAWxE,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,OAAO,CAAC,YAAY,EAAE,KAAK,CAAC,EAE5D,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,KAAK;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,6BAA6B;IAC7B,IAAI,EAAE,SAAS,CAAC;IAChB,mBAAmB;IACnB,OAAO,EAAE,WAAW,CAAC;IACrB,iDAAiD;IACjD,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;;;;;GAMG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,aAAa,GAAG,QAAQ,CAAC;AAE1D;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,KAAK,EAAE,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,SAAS,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,KAAK,EAAE,CAAC;CACjB"}
|
package/dist/types.js
CHANGED
|
@@ -3,19 +3,29 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.ALL_CLIENT_TARGETS = exports.CLIENT_FILE_EXT = exports.CLIENT_SKILL_DIRS = void 0;
|
|
4
4
|
exports.CLIENT_SKILL_DIRS = {
|
|
5
5
|
claude: '.claude/skills',
|
|
6
|
+
cursor: '.cursor/rules',
|
|
7
|
+
windsurf: '.windsurf/skills',
|
|
8
|
+
codebuddy: '.codebuddy/skills',
|
|
6
9
|
codex: '.codex/skills',
|
|
10
|
+
trae: '.agents/skills',
|
|
11
|
+
qoder: '.qoder/skills',
|
|
12
|
+
roo: '.roo/skills',
|
|
7
13
|
agents: '.agents/skills',
|
|
8
|
-
codebuddy: '.codebuddy/skills',
|
|
9
|
-
cursor: '.cursor/rules',
|
|
10
14
|
copilot: '.github/prompts',
|
|
11
15
|
};
|
|
12
16
|
exports.CLIENT_FILE_EXT = {
|
|
13
17
|
claude: '.md',
|
|
18
|
+
cursor: '.mdc',
|
|
19
|
+
windsurf: '.md',
|
|
20
|
+
codebuddy: '.md',
|
|
14
21
|
codex: '.md',
|
|
22
|
+
trae: '.md',
|
|
23
|
+
qoder: '.md',
|
|
24
|
+
roo: '.md',
|
|
15
25
|
agents: '.md',
|
|
16
|
-
codebuddy: '.md',
|
|
17
|
-
cursor: '.mdc',
|
|
18
26
|
copilot: '.prompt.md',
|
|
19
27
|
};
|
|
20
|
-
exports.ALL_CLIENT_TARGETS = [
|
|
28
|
+
exports.ALL_CLIENT_TARGETS = [
|
|
29
|
+
'claude', 'cursor', 'windsurf', 'codebuddy', 'codex', 'trae', 'qoder', 'roo', 'copilot',
|
|
30
|
+
];
|
|
21
31
|
//# sourceMappingURL=types.js.map
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AAyBa,QAAA,iBAAiB,GAAiD;IAC7E,MAAM,EAAE,gBAAgB;IACxB,MAAM,EAAE,eAAe;IACvB,QAAQ,EAAE,kBAAkB;IAC5B,SAAS,EAAE,mBAAmB;IAC9B,KAAK,EAAE,eAAe;IACtB,IAAI,EAAE,gBAAgB;IACtB,KAAK,EAAE,eAAe;IACtB,GAAG,EAAE,aAAa;IAClB,MAAM,EAAE,gBAAgB;IACxB,OAAO,EAAE,iBAAiB;CAC3B,CAAC;AAEW,QAAA,eAAe,GAAiD;IAC3E,MAAM,EAAE,KAAK;IACb,MAAM,EAAE,MAAM;IACd,QAAQ,EAAE,KAAK;IACf,SAAS,EAAE,KAAK;IAChB,KAAK,EAAE,KAAK;IACZ,IAAI,EAAE,KAAK;IACX,KAAK,EAAE,KAAK;IACZ,GAAG,EAAE,KAAK;IACV,MAAM,EAAE,KAAK;IACb,OAAO,EAAE,YAAY;CACtB,CAAC;AAEW,QAAA,kBAAkB,GAAmC;IAChE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS;CACxF,CAAC"}
|
|
@@ -420,7 +420,7 @@ Create a Contact object to enable encrypted communication between customers and
|
|
|
420
420
|
"tool": "messenger_operation",
|
|
421
421
|
"data": {
|
|
422
422
|
"messenger": {
|
|
423
|
-
"
|
|
423
|
+
"enabled": true,
|
|
424
424
|
"name_or_account": "myshop_merchant"
|
|
425
425
|
}
|
|
426
426
|
}
|
|
@@ -1050,7 +1050,7 @@ After creating the order, the customer sends their shipping address and contact
|
|
|
1050
1050
|
"tool": "messenger_operation",
|
|
1051
1051
|
"data": {
|
|
1052
1052
|
"messenger": {
|
|
1053
|
-
"
|
|
1053
|
+
"enabled": true,
|
|
1054
1054
|
"name_or_account": "myshop_customer"
|
|
1055
1055
|
}
|
|
1056
1056
|
}
|
package/package.json
CHANGED
package/scripts/install.js
CHANGED
|
@@ -6,13 +6,15 @@
|
|
|
6
6
|
* preuninstall → remove SKILL.md folders from all installed client dirs
|
|
7
7
|
*
|
|
8
8
|
* Environment variables:
|
|
9
|
-
* WOWOK_SKILLS_TARGETS Comma-separated client targets (claude,
|
|
10
|
-
* Defaults to "claude". Example: "claude,
|
|
9
|
+
* WOWOK_SKILLS_TARGETS Comma-separated client targets (claude,cursor,windsurf,codebuddy,codex,trae,qoder,roo,copilot)
|
|
10
|
+
* Defaults to "claude". Example: "claude,cursor,trae"
|
|
11
|
+
* WOWOK_SKILLS_NO_MCP Set to "1" or "true" to skip MCP server management (default: auto-install MCP)
|
|
11
12
|
*/
|
|
12
13
|
|
|
13
14
|
const fs = require('fs');
|
|
14
15
|
const path = require('path');
|
|
15
16
|
const os = require('os');
|
|
17
|
+
const { execSync } = require('child_process');
|
|
16
18
|
|
|
17
19
|
const SKILL_DIRS = [
|
|
18
20
|
'wowok-provider',
|
|
@@ -32,10 +34,14 @@ const SKILL_DIRS = [
|
|
|
32
34
|
|
|
33
35
|
const CLIENT_DIRS = {
|
|
34
36
|
claude: path.join(os.homedir(), '.claude', 'skills'),
|
|
35
|
-
codex: path.join(os.homedir(), '.codex', 'skills'),
|
|
36
|
-
agents: path.join(os.homedir(), '.agents', 'skills'),
|
|
37
|
-
codebuddy: path.join(os.homedir(), '.codebuddy', 'skills'),
|
|
38
37
|
cursor: path.join(os.homedir(), '.cursor', 'rules'),
|
|
38
|
+
windsurf: path.join(os.homedir(), '.windsurf', 'skills'),
|
|
39
|
+
codebuddy: path.join(os.homedir(), '.codebuddy', 'skills'),
|
|
40
|
+
codex: path.join(os.homedir(), '.codex', 'skills'),
|
|
41
|
+
trae: path.join(os.homedir(), '.agents', 'skills'),
|
|
42
|
+
qoder: path.join(os.homedir(), '.qoder', 'skills'),
|
|
43
|
+
roo: path.join(os.homedir(), '.roo', 'skills'),
|
|
44
|
+
agents: path.join(os.homedir(), '.agents', 'skills'), // deprecated alias
|
|
39
45
|
copilot: path.join(os.homedir(), '.github', 'prompts'),
|
|
40
46
|
};
|
|
41
47
|
|
|
@@ -188,6 +194,7 @@ function getTargets() {
|
|
|
188
194
|
|
|
189
195
|
function main() {
|
|
190
196
|
const event = process.env.npm_lifecycle_event || '';
|
|
197
|
+
const skipMcp = process.env.WOWOK_SKILLS_NO_MCP === '1' || process.env.WOWOK_SKILLS_NO_MCP === 'true';
|
|
191
198
|
|
|
192
199
|
if (event === 'postinstall') {
|
|
193
200
|
const targets = getTargets();
|
|
@@ -202,6 +209,34 @@ function main() {
|
|
|
202
209
|
}
|
|
203
210
|
|
|
204
211
|
console.log(`[wowok-skills] Done — ${total} skills installed across ${targets.length} client(s).`);
|
|
212
|
+
|
|
213
|
+
// ─── MCP Server Management ───────────────────────────────────────
|
|
214
|
+
console.log('');
|
|
215
|
+
|
|
216
|
+
if (skipMcp) {
|
|
217
|
+
console.log('[wowok-skills] WOWOK_SKILLS_NO_MCP=1 — skipping MCP server management.');
|
|
218
|
+
} else {
|
|
219
|
+
console.log('[wowok-skills] Checking MCP server...');
|
|
220
|
+
|
|
221
|
+
// Step 1: Install or upgrade the MCP server
|
|
222
|
+
const mcpChanged = ensureMcpServer();
|
|
223
|
+
|
|
224
|
+
// Step 2: Write MCP config for each target client
|
|
225
|
+
console.log('[wowok-skills] Registering MCP server in client config...');
|
|
226
|
+
for (const target of targets) {
|
|
227
|
+
writeMcpConfig(target);
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
// Step 3: Restart MCP server so the new version takes effect
|
|
231
|
+
if (mcpChanged) {
|
|
232
|
+
console.log('[wowok-skills] Restarting MCP server (so IDE picks up the new version)...');
|
|
233
|
+
restartMcpServer();
|
|
234
|
+
} else {
|
|
235
|
+
console.log('[wowok-skills] MCP server unchanged — no restart needed.');
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
console.log('[wowok-skills] MCP server setup complete.');
|
|
239
|
+
}
|
|
205
240
|
} else if (event === 'preuninstall') {
|
|
206
241
|
const targets = Object.keys(CLIENT_DIRS);
|
|
207
242
|
console.log('[wowok-skills] Removing skills from all client dirs...');
|
|
@@ -229,4 +264,306 @@ function countExisting(targetDir) {
|
|
|
229
264
|
return count;
|
|
230
265
|
}
|
|
231
266
|
|
|
267
|
+
// =========================================================================
|
|
268
|
+
// MCP Server Management — auto-install, upgrade, config, and restart
|
|
269
|
+
// =========================================================================
|
|
270
|
+
|
|
271
|
+
/** MCP server npm package name */
|
|
272
|
+
const MCP_PACKAGE = '@wowok/agent-mcp';
|
|
273
|
+
|
|
274
|
+
/**
|
|
275
|
+
* MCP config entries per client target.
|
|
276
|
+
* null means the client does not support MCP or manages it internally.
|
|
277
|
+
*/
|
|
278
|
+
const MCP_TARGET_CONFIGS = {
|
|
279
|
+
claude: {
|
|
280
|
+
configPath: path.join(os.homedir(), '.claude', 'settings.json'),
|
|
281
|
+
merge: (config) => {
|
|
282
|
+
config.mcpServers = config.mcpServers || {};
|
|
283
|
+
config.mcpServers.wowok = { command: 'npx', args: ['-y', '@wowok/agent-mcp'] };
|
|
284
|
+
return config;
|
|
285
|
+
}
|
|
286
|
+
},
|
|
287
|
+
codebuddy: {
|
|
288
|
+
configPath: path.join(os.homedir(), '.codebuddy', 'mcp.json'),
|
|
289
|
+
merge: (config) => {
|
|
290
|
+
config.mcpServers = config.mcpServers || {};
|
|
291
|
+
config.mcpServers.wowok = { command: 'npx', args: ['-y', '@wowok/agent-mcp'] };
|
|
292
|
+
return config;
|
|
293
|
+
}
|
|
294
|
+
},
|
|
295
|
+
windsurf: {
|
|
296
|
+
configPath: path.join(os.homedir(), '.codeium', 'windsurf', 'mcp_config.json'),
|
|
297
|
+
merge: (config) => {
|
|
298
|
+
config.mcpServers = config.mcpServers || {};
|
|
299
|
+
config.mcpServers.wowok = { command: 'npx', args: ['-y', '@wowok/agent-mcp'] };
|
|
300
|
+
return config;
|
|
301
|
+
}
|
|
302
|
+
},
|
|
303
|
+
qoder: {
|
|
304
|
+
configPath: process.platform === 'win32'
|
|
305
|
+
? path.join(process.env.APPDATA || path.join(os.homedir(), 'AppData', 'Roaming'), 'Qoder', 'mcp-settings.json')
|
|
306
|
+
: path.join(os.homedir(), '.config', 'qoder', 'mcp-settings.json'),
|
|
307
|
+
merge: (config) => {
|
|
308
|
+
config.mcpServers = config.mcpServers || {};
|
|
309
|
+
config.mcpServers.wowok = { command: 'npx', args: ['-y', '@wowok/agent-mcp'] };
|
|
310
|
+
return config;
|
|
311
|
+
}
|
|
312
|
+
},
|
|
313
|
+
roo: {
|
|
314
|
+
configPath: path.join(os.homedir(), '.roo', 'mcp_settings.json'),
|
|
315
|
+
merge: (config) => {
|
|
316
|
+
config.mcpServers = config.mcpServers || {};
|
|
317
|
+
config.mcpServers.wowok = { command: 'npx', args: ['-y', '@wowok/agent-mcp'] };
|
|
318
|
+
return config;
|
|
319
|
+
}
|
|
320
|
+
},
|
|
321
|
+
// trae / agents: IDE-managed MCP via ~/.trae-cn/mcps/ directory structure — skip global config
|
|
322
|
+
trae: null,
|
|
323
|
+
agents: null,
|
|
324
|
+
// cursor: MCP config is project-level, handled by `wowok-skills init` in project dir
|
|
325
|
+
cursor: null,
|
|
326
|
+
// copilot: user-level MCP config (Copilot CLI)
|
|
327
|
+
copilot: {
|
|
328
|
+
configPath: path.join(os.homedir(), '.copilot', 'mcp-config.json'),
|
|
329
|
+
merge: (config) => {
|
|
330
|
+
config.mcpServers = config.mcpServers || {};
|
|
331
|
+
config.mcpServers.wowok = { type: 'local', command: 'npx', args: ['-y', '@wowok/agent-mcp'] };
|
|
332
|
+
return config;
|
|
333
|
+
}
|
|
334
|
+
},
|
|
335
|
+
// codex: global TOML config (~/.codex/config.toml)
|
|
336
|
+
codex: {
|
|
337
|
+
configPath: path.join(os.homedir(), '.codex', 'config.toml'),
|
|
338
|
+
format: 'toml',
|
|
339
|
+
},
|
|
340
|
+
};
|
|
341
|
+
|
|
342
|
+
/**
|
|
343
|
+
* Parse a semver string to its major version number.
|
|
344
|
+
* Returns 0 for invalid/missing versions.
|
|
345
|
+
*/
|
|
346
|
+
function semverMajor(version) {
|
|
347
|
+
if (!version) return 0;
|
|
348
|
+
const parts = version.split('.');
|
|
349
|
+
return parseInt(parts[0], 10) || 0;
|
|
350
|
+
}
|
|
351
|
+
|
|
352
|
+
/**
|
|
353
|
+
* Get the currently installed global version of the MCP server.
|
|
354
|
+
* Uses `npm ls -g <package>` (targeted, no tree scan) for speed.
|
|
355
|
+
* Returns null if not installed.
|
|
356
|
+
*/
|
|
357
|
+
function getInstalledMcpVersion() {
|
|
358
|
+
try {
|
|
359
|
+
// npm ls -g <pkg> is faster than npm list -g because it skips
|
|
360
|
+
// scanning unrelated packages in the global node_modules.
|
|
361
|
+
const output = execSync(`npm ls -g ${MCP_PACKAGE} --depth=0 --json`, {
|
|
362
|
+
encoding: 'utf-8',
|
|
363
|
+
stdio: 'pipe',
|
|
364
|
+
timeout: 15000,
|
|
365
|
+
});
|
|
366
|
+
const parsed = JSON.parse(output);
|
|
367
|
+
// npm ls output has the package as a top-level key, not under dependencies
|
|
368
|
+
const pkg = parsed.dependencies?.[MCP_PACKAGE] || parsed[MCP_PACKAGE];
|
|
369
|
+
return pkg?.version || null;
|
|
370
|
+
} catch {
|
|
371
|
+
return null;
|
|
372
|
+
}
|
|
373
|
+
}
|
|
374
|
+
|
|
375
|
+
/**
|
|
376
|
+
* Get the latest available version from the npm registry.
|
|
377
|
+
* Returns null on failure (offline, registry unreachable, etc.).
|
|
378
|
+
*/
|
|
379
|
+
function getLatestMcpVersion() {
|
|
380
|
+
try {
|
|
381
|
+
const output = execSync(`npm view ${MCP_PACKAGE} version`, {
|
|
382
|
+
encoding: 'utf-8',
|
|
383
|
+
stdio: 'pipe',
|
|
384
|
+
timeout: 15000,
|
|
385
|
+
});
|
|
386
|
+
return output.trim();
|
|
387
|
+
} catch {
|
|
388
|
+
return null;
|
|
389
|
+
}
|
|
390
|
+
}
|
|
391
|
+
|
|
392
|
+
/**
|
|
393
|
+
* Install an npm package globally with retry logic.
|
|
394
|
+
* Retries up to 2 times on failure (covers transient network errors).
|
|
395
|
+
*/
|
|
396
|
+
function npmInstallGlobal(pkg, retries = 2) {
|
|
397
|
+
for (let attempt = 1; attempt <= retries; attempt++) {
|
|
398
|
+
try {
|
|
399
|
+
execSync(`npm install -g ${pkg}`, { stdio: 'inherit', timeout: 120000 });
|
|
400
|
+
return true;
|
|
401
|
+
} catch (err) {
|
|
402
|
+
if (attempt < retries) {
|
|
403
|
+
console.log(`[wowok-skills] npm install attempt ${attempt} failed, retrying...`);
|
|
404
|
+
// Wait 2s before retry to let network recover
|
|
405
|
+
execSync('ping -n 3 127.0.0.1 >nul', { stdio: 'pipe', timeout: 5000 });
|
|
406
|
+
} else {
|
|
407
|
+
console.error(`[wowok-skills] npm install failed after ${retries} attempts: ${err.message}`);
|
|
408
|
+
return false;
|
|
409
|
+
}
|
|
410
|
+
}
|
|
411
|
+
}
|
|
412
|
+
return false;
|
|
413
|
+
}
|
|
414
|
+
|
|
415
|
+
/**
|
|
416
|
+
* Ensure the MCP server is installed and up to date.
|
|
417
|
+
*
|
|
418
|
+
* - Not installed → install latest
|
|
419
|
+
* - Outdated (same major) → upgrade to latest
|
|
420
|
+
* - Major version bump → warn user, skip auto-upgrade
|
|
421
|
+
* - Up to date → skip
|
|
422
|
+
*
|
|
423
|
+
* Returns true if the package was installed or upgraded (changed).
|
|
424
|
+
*/
|
|
425
|
+
function ensureMcpServer() {
|
|
426
|
+
const currentVersion = getInstalledMcpVersion();
|
|
427
|
+
const latestVersion = getLatestMcpVersion();
|
|
428
|
+
|
|
429
|
+
if (currentVersion) {
|
|
430
|
+
console.log(`[wowok-skills] MCP server ${MCP_PACKAGE} v${currentVersion} found.`);
|
|
431
|
+
|
|
432
|
+
if (!latestVersion) {
|
|
433
|
+
console.log(`[wowok-skills] Cannot check latest version (offline or registry unreachable). Keeping v${currentVersion}.`);
|
|
434
|
+
return false;
|
|
435
|
+
}
|
|
436
|
+
|
|
437
|
+
if (currentVersion === latestVersion) {
|
|
438
|
+
console.log(`[wowok-skills] MCP server is up to date (v${currentVersion}).`);
|
|
439
|
+
return false;
|
|
440
|
+
}
|
|
441
|
+
|
|
442
|
+
// Major version guard: warn if the latest version has a different major
|
|
443
|
+
const currentMajor = semverMajor(currentVersion);
|
|
444
|
+
const latestMajor = semverMajor(latestVersion);
|
|
445
|
+
|
|
446
|
+
if (latestMajor > currentMajor) {
|
|
447
|
+
console.warn(`[wowok-skills] ⚠ WARNING: Major version bump detected v${currentVersion} → v${latestVersion}.`);
|
|
448
|
+
console.warn(`[wowok-skills] Skipping auto-upgrade to avoid breaking changes.`);
|
|
449
|
+
console.warn(`[wowok-skills] To upgrade manually: npm install -g ${MCP_PACKAGE}@latest`);
|
|
450
|
+
return false;
|
|
451
|
+
}
|
|
452
|
+
|
|
453
|
+
console.log(`[wowok-skills] Upgrading MCP server v${currentVersion} → v${latestVersion}...`);
|
|
454
|
+
if (npmInstallGlobal(`${MCP_PACKAGE}@latest`)) {
|
|
455
|
+
console.log(`[wowok-skills] MCP server upgraded to v${latestVersion}.`);
|
|
456
|
+
return true;
|
|
457
|
+
}
|
|
458
|
+
console.error(`[wowok-skills] MCP server upgrade FAILED. Keeping v${currentVersion}.`);
|
|
459
|
+
return false;
|
|
460
|
+
}
|
|
461
|
+
|
|
462
|
+
console.log(`[wowok-skills] Installing MCP server ${MCP_PACKAGE}...`);
|
|
463
|
+
if (npmInstallGlobal(MCP_PACKAGE)) {
|
|
464
|
+
console.log(`[wowok-skills] MCP server installed.`);
|
|
465
|
+
return true;
|
|
466
|
+
}
|
|
467
|
+
console.error(`[wowok-skills] MCP server installation FAILED.`);
|
|
468
|
+
return false;
|
|
469
|
+
}
|
|
470
|
+
|
|
471
|
+
/**
|
|
472
|
+
* Write MCP server config entry for a given client target.
|
|
473
|
+
* Safely merges with any existing MCP configuration.
|
|
474
|
+
* Supports JSON format (most clients) and TOML format (Codex).
|
|
475
|
+
*/
|
|
476
|
+
function writeMcpConfig(target) {
|
|
477
|
+
const cfg = MCP_TARGET_CONFIGS[target];
|
|
478
|
+
if (!cfg) {
|
|
479
|
+
console.log(`[wowok-skills] MCP config: ${target} does not support external MCP registration (skipped).`);
|
|
480
|
+
return false;
|
|
481
|
+
}
|
|
482
|
+
|
|
483
|
+
// ── TOML format (Codex CLI uses ~/.codex/config.toml) ──────────────
|
|
484
|
+
if (cfg.format === 'toml') {
|
|
485
|
+
try {
|
|
486
|
+
const tomlEntry = '\n[mcp_servers.wowok]\ncommand = "npx"\nargs = ["-y", "@wowok/agent-mcp"]\n';
|
|
487
|
+
let content = '';
|
|
488
|
+
if (fs.existsSync(cfg.configPath)) {
|
|
489
|
+
content = fs.readFileSync(cfg.configPath, 'utf-8');
|
|
490
|
+
}
|
|
491
|
+
if (content.includes('[mcp_servers.wowok]')) {
|
|
492
|
+
console.log(`[wowok-skills] MCP config already up to date: ${cfg.configPath}`);
|
|
493
|
+
return false;
|
|
494
|
+
}
|
|
495
|
+
fs.mkdirSync(path.dirname(cfg.configPath), { recursive: true });
|
|
496
|
+
fs.writeFileSync(cfg.configPath, content + tomlEntry, 'utf-8');
|
|
497
|
+
console.log(`[wowok-skills] MCP config written: ${cfg.configPath}`);
|
|
498
|
+
return true;
|
|
499
|
+
} catch (err) {
|
|
500
|
+
console.error(`[wowok-skills] ERROR writing MCP config for ${target}: ${err.message}`);
|
|
501
|
+
return false;
|
|
502
|
+
}
|
|
503
|
+
}
|
|
504
|
+
|
|
505
|
+
// ── JSON format (all other clients) ────────────────────────────────
|
|
506
|
+
try {
|
|
507
|
+
let config = {};
|
|
508
|
+
const dir = path.dirname(cfg.configPath);
|
|
509
|
+
if (fs.existsSync(cfg.configPath)) {
|
|
510
|
+
config = JSON.parse(fs.readFileSync(cfg.configPath, 'utf-8'));
|
|
511
|
+
}
|
|
512
|
+
|
|
513
|
+
const before = JSON.stringify(config);
|
|
514
|
+
config = cfg.merge(config);
|
|
515
|
+
const after = JSON.stringify(config);
|
|
516
|
+
|
|
517
|
+
if (before !== after) {
|
|
518
|
+
fs.mkdirSync(dir, { recursive: true });
|
|
519
|
+
fs.writeFileSync(cfg.configPath, JSON.stringify(config, null, 2), 'utf-8');
|
|
520
|
+
console.log(`[wowok-skills] MCP config written: ${cfg.configPath}`);
|
|
521
|
+
return true;
|
|
522
|
+
}
|
|
523
|
+
|
|
524
|
+
console.log(`[wowok-skills] MCP config already up to date: ${cfg.configPath}`);
|
|
525
|
+
return false;
|
|
526
|
+
} catch (err) {
|
|
527
|
+
console.error(`[wowok-skills] ERROR writing MCP config for ${target}: ${err.message}`);
|
|
528
|
+
return false;
|
|
529
|
+
}
|
|
530
|
+
}
|
|
531
|
+
|
|
532
|
+
/**
|
|
533
|
+
* Attempt to restart the running MCP server process.
|
|
534
|
+
*
|
|
535
|
+
* The MCP server is a child process of the IDE (Claude Code, Trae, etc.).
|
|
536
|
+
* We cannot directly "start" it — only kill the existing process so the IDE
|
|
537
|
+
* detects the exit and auto-restarts it with the new version.
|
|
538
|
+
*
|
|
539
|
+
* Best-effort: if the kill fails (no process running), it's harmless.
|
|
540
|
+
*/
|
|
541
|
+
function restartMcpServer() {
|
|
542
|
+
try {
|
|
543
|
+
if (process.platform === 'win32') {
|
|
544
|
+
// Windows: use PowerShell (via -EncodedCommand to avoid quoting hell)
|
|
545
|
+
const psScript =
|
|
546
|
+
'Get-CimInstance Win32_Process -Filter "Name=\'node.exe\' AND CommandLine LIKE \'%wowok%agent-mcp%\'" | ' +
|
|
547
|
+
'ForEach-Object { Stop-Process -Id $_.ProcessId -Force -ErrorAction SilentlyContinue }';
|
|
548
|
+
const encoded = Buffer.from(psScript, 'utf16le').toString('base64');
|
|
549
|
+
execSync(`powershell -NoProfile -EncodedCommand ${encoded}`, {
|
|
550
|
+
stdio: 'pipe',
|
|
551
|
+
timeout: 10000,
|
|
552
|
+
});
|
|
553
|
+
} else {
|
|
554
|
+
// Unix: pkill by command-line pattern
|
|
555
|
+
execSync('pkill -f "wowok.*agent-mcp" 2>/dev/null || true', {
|
|
556
|
+
stdio: 'pipe',
|
|
557
|
+
timeout: 5000,
|
|
558
|
+
shell: true,
|
|
559
|
+
});
|
|
560
|
+
}
|
|
561
|
+
console.log('[wowok-skills] MCP server process terminated (IDE will auto-restart).');
|
|
562
|
+
return true;
|
|
563
|
+
} catch (e) {
|
|
564
|
+
console.log('[wowok-skills] No running MCP server process found. Start your IDE to launch it.');
|
|
565
|
+
return false;
|
|
566
|
+
}
|
|
567
|
+
}
|
|
568
|
+
|
|
232
569
|
main();
|