@wowok/skills 3.0.4 → 3.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 +146 -122
- package/dist/cli.d.ts +6 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +223 -837
- package/dist/cli.js.map +1 -1
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +24 -1
- package/dist/index.js.map +1 -1
- package/dist/installer.d.ts +121 -0
- package/dist/installer.d.ts.map +1 -0
- package/dist/installer.js +802 -0
- package/dist/installer.js.map +1 -0
- package/dist/skills.d.ts +5 -2
- package/dist/skills.d.ts.map +1 -1
- package/dist/skills.js +86 -62
- package/dist/skills.js.map +1 -1
- package/dist/targets.d.ts +94 -0
- package/dist/targets.d.ts.map +1 -0
- package/dist/targets.js +421 -0
- package/dist/targets.js.map +1 -0
- package/dist/types.d.ts +5 -4
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +0 -32
- package/dist/types.js.map +1 -1
- package/package.json +5 -4
- package/scripts/install.js +21 -859
- package/wowok-arbitrator/SKILL.md +5 -12
- package/wowok-auditor/SKILL.md +5 -17
- package/wowok-collaborator/SKILL.md +5 -17
- package/wowok-governance/SKILL.md +10 -30
- package/wowok-machine/SKILL.md +5 -18
- package/wowok-market/SKILL.md +5 -21
- package/wowok-messenger/SKILL.md +32 -50
- package/wowok-onboard/SKILL.md +5 -22
- package/wowok-order/SKILL.md +6 -19
- package/wowok-output/SKILL.md +5 -10
- package/wowok-planner/SKILL.md +6 -20
- package/wowok-provider/SKILL.md +6 -18
- package/wowok-supplier/SKILL.md +5 -16
- package/examples/Insurance/Insurance.md +0 -1245
- package/examples/MyShop/MyShop.md +0 -2003
- package/examples/MyShop/myshop_machine_nodes.json +0 -93
- package/examples/MyShop_Advanced/MyShop_Advanced.md +0 -2880
- package/examples/ThreeBody_Signature/ThreeBody_Signature.md +0 -1831
- package/examples/Travel/Travel.md +0 -1849
- package/examples/Travel/calc-weather-timestamps.js +0 -12
package/dist/targets.js
ADDED
|
@@ -0,0 +1,421 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Single source of truth for everything related to WHERE things get installed.
|
|
4
|
+
*
|
|
5
|
+
* Both entry points consume this module:
|
|
6
|
+
* - the npm lifecycle hook (scripts/install.js → dist/installer.js)
|
|
7
|
+
* - the `wowok-skills` CLI (src/cli.ts)
|
|
8
|
+
*
|
|
9
|
+
* NEVER hardcode a skill name or a client directory anywhere else.
|
|
10
|
+
*
|
|
11
|
+
* Directory choices below are taken from each client's official documentation
|
|
12
|
+
* (verified 2026-09). Where a client only documents a UI flow (no on-disk
|
|
13
|
+
* path), no path is registered here — the CLI prints a manual hint instead.
|
|
14
|
+
*/
|
|
15
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
16
|
+
if (k2 === undefined) k2 = k;
|
|
17
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
18
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
19
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
20
|
+
}
|
|
21
|
+
Object.defineProperty(o, k2, desc);
|
|
22
|
+
}) : (function(o, m, k, k2) {
|
|
23
|
+
if (k2 === undefined) k2 = k;
|
|
24
|
+
o[k2] = m[k];
|
|
25
|
+
}));
|
|
26
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
27
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
28
|
+
}) : function(o, v) {
|
|
29
|
+
o["default"] = v;
|
|
30
|
+
});
|
|
31
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
32
|
+
var ownKeys = function(o) {
|
|
33
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
34
|
+
var ar = [];
|
|
35
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
36
|
+
return ar;
|
|
37
|
+
};
|
|
38
|
+
return ownKeys(o);
|
|
39
|
+
};
|
|
40
|
+
return function (mod) {
|
|
41
|
+
if (mod && mod.__esModule) return mod;
|
|
42
|
+
var result = {};
|
|
43
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
44
|
+
__setModuleDefault(result, mod);
|
|
45
|
+
return result;
|
|
46
|
+
};
|
|
47
|
+
})();
|
|
48
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
49
|
+
exports.DEFAULT_TARGET_IDS = exports.CLIENT_TARGETS = exports.COPILOT_SKILL_ROOT = exports.KILO_SKILL_ROOT = exports.CLINE_SKILL_ROOT = exports.ROO_SKILL_ROOT = exports.QODER_SKILL_ROOT = exports.TRAE_SKILL_ROOT = exports.CODEBUDDY_SKILL_ROOT = exports.WINDSURF_SKILL_ROOT = exports.CURSOR_SKILL_ROOT = exports.CODEX_SKILL_ROOT = exports.CLAUDE_SKILL_ROOT = exports.AGENTS_SKILL_ROOT = exports.MCP_PACKAGE = exports.MANIFEST_FILE = exports.SKILL_MIGRATION_TARGETS = exports.LEGACY_SKILL_NAMES = exports.SKILL_NAMES = void 0;
|
|
50
|
+
exports.getClientTarget = getClientTarget;
|
|
51
|
+
exports.expandHome = expandHome;
|
|
52
|
+
exports.resolveSkillRoots = resolveSkillRoots;
|
|
53
|
+
exports.resolveMcpSpecs = resolveMcpSpecs;
|
|
54
|
+
const os = __importStar(require("os"));
|
|
55
|
+
const path = __importStar(require("path"));
|
|
56
|
+
// =========================================================================
|
|
57
|
+
// Skills
|
|
58
|
+
// =========================================================================
|
|
59
|
+
/**
|
|
60
|
+
* Retained skills. Rule-reference skills (guard/tools/safety/scenario) were
|
|
61
|
+
* sunk into the MCP knowledge layer in v2.0 and MUST NOT be installed.
|
|
62
|
+
*/
|
|
63
|
+
exports.SKILL_NAMES = [
|
|
64
|
+
'wowok-provider',
|
|
65
|
+
'wowok-supplier',
|
|
66
|
+
'wowok-collaborator',
|
|
67
|
+
'wowok-arbitrator',
|
|
68
|
+
'wowok-machine',
|
|
69
|
+
'wowok-order',
|
|
70
|
+
'wowok-messenger',
|
|
71
|
+
'wowok-output',
|
|
72
|
+
'wowok-onboard',
|
|
73
|
+
'wowok-planner',
|
|
74
|
+
'wowok-auditor',
|
|
75
|
+
'wowok-market',
|
|
76
|
+
'wowok-governance',
|
|
77
|
+
];
|
|
78
|
+
/** Deprecated skill dirs — never installed, always cleaned up when found. */
|
|
79
|
+
exports.LEGACY_SKILL_NAMES = [
|
|
80
|
+
'wowok-guard',
|
|
81
|
+
'wowok-tools',
|
|
82
|
+
'wowok-safety',
|
|
83
|
+
'wowok-scenario',
|
|
84
|
+
];
|
|
85
|
+
/** Where each deprecated skill's content now lives (migration message). */
|
|
86
|
+
exports.SKILL_MIGRATION_TARGETS = {
|
|
87
|
+
'wowok-safety': "MCP schema_query action='get_safety_rules'",
|
|
88
|
+
'wowok-tools': "MCP schema_query action='get_tool_reference'",
|
|
89
|
+
'wowok-scenario': "MCP industry_pack_operation action='recommend_industry' / 'list_modes'",
|
|
90
|
+
'wowok-guard': "MCP schema_query action='get_guard_design_patterns'",
|
|
91
|
+
};
|
|
92
|
+
/** Per-root install manifest (freshness + ownership tracking). */
|
|
93
|
+
exports.MANIFEST_FILE = '.wowok-skills.json';
|
|
94
|
+
/** The MCP server npm package this tool installs and registers. */
|
|
95
|
+
exports.MCP_PACKAGE = '@wowok/agent-mcp';
|
|
96
|
+
// =========================================================================
|
|
97
|
+
// Skill roots (cross-client standard + per-client native)
|
|
98
|
+
// =========================================================================
|
|
99
|
+
/** Cross-client root read by Codex, Cursor, Windsurf, Roo, Kilo (+ Trae project). */
|
|
100
|
+
exports.AGENTS_SKILL_ROOT = '.agents/skills';
|
|
101
|
+
exports.CLAUDE_SKILL_ROOT = '.claude/skills';
|
|
102
|
+
exports.CODEX_SKILL_ROOT = '.agents/skills';
|
|
103
|
+
exports.CURSOR_SKILL_ROOT = '.cursor/skills';
|
|
104
|
+
exports.WINDSURF_SKILL_ROOT = '.windsurf/skills';
|
|
105
|
+
exports.CODEBUDDY_SKILL_ROOT = '.codebuddy/skills';
|
|
106
|
+
exports.TRAE_SKILL_ROOT = '.trae/skills';
|
|
107
|
+
exports.QODER_SKILL_ROOT = '.qoder/skills';
|
|
108
|
+
exports.ROO_SKILL_ROOT = '.roo/skills';
|
|
109
|
+
exports.CLINE_SKILL_ROOT = '.cline/skills';
|
|
110
|
+
exports.KILO_SKILL_ROOT = '.kilo/skills';
|
|
111
|
+
exports.COPILOT_SKILL_ROOT = '.github/skills';
|
|
112
|
+
const home = () => os.homedir();
|
|
113
|
+
/** Kilo Code new-platform config dir (XDG style). */
|
|
114
|
+
function kiloConfigDir() {
|
|
115
|
+
return path.join(process.env.XDG_CONFIG_HOME || path.join(home(), '.config'), 'kilo');
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Pre-3.1 installers registered Qoder's MCP server in an undocumented
|
|
119
|
+
* `mcp-settings.json` inside the app data dir. Qoder actually reads
|
|
120
|
+
* `~/.qoder/settings.json`, so that file only carries a stale entry.
|
|
121
|
+
*/
|
|
122
|
+
function qoderLegacyMcpFile() {
|
|
123
|
+
const base = process.platform === 'win32'
|
|
124
|
+
? process.env.APPDATA || path.join(home(), 'AppData', 'Roaming')
|
|
125
|
+
: process.platform === 'darwin'
|
|
126
|
+
? path.join(home(), 'Library', 'Application Support')
|
|
127
|
+
: process.env.XDG_CONFIG_HOME || path.join(home(), '.config');
|
|
128
|
+
return path.join(base, 'Qoder', 'mcp-settings.json');
|
|
129
|
+
}
|
|
130
|
+
/** Locale-independent Trae user data root: prefer the edition that exists. */
|
|
131
|
+
function traeSkillRoot() {
|
|
132
|
+
const cn = path.join(home(), '.trae-cn');
|
|
133
|
+
const intl = path.join(home(), '.trae');
|
|
134
|
+
if (existsDir(cn))
|
|
135
|
+
return path.join(cn, 'skills');
|
|
136
|
+
if (existsDir(intl))
|
|
137
|
+
return path.join(intl, 'skills');
|
|
138
|
+
// Neither edition detected — default to the CN edition (primary market).
|
|
139
|
+
return path.join(cn, 'skills');
|
|
140
|
+
}
|
|
141
|
+
/** Trae keeps user-level MCP config inside its Electron user-data dir. */
|
|
142
|
+
function traeMcpPaths() {
|
|
143
|
+
const roots = process.platform === 'win32'
|
|
144
|
+
? [process.env.APPDATA || path.join(home(), 'AppData', 'Roaming')]
|
|
145
|
+
: process.platform === 'darwin'
|
|
146
|
+
? [path.join(home(), 'Library', 'Application Support')]
|
|
147
|
+
: [process.env.XDG_CONFIG_HOME || path.join(home(), '.config')];
|
|
148
|
+
const editions = ['Trae CN', 'Trae', 'TRAE SOLO CN'];
|
|
149
|
+
const out = [];
|
|
150
|
+
for (const root of roots) {
|
|
151
|
+
for (const edition of editions) {
|
|
152
|
+
const userDir = path.join(root, edition, 'User');
|
|
153
|
+
if (existsDir(userDir))
|
|
154
|
+
out.push(path.join(userDir, 'mcp.json'));
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
return out;
|
|
158
|
+
}
|
|
159
|
+
/** VS Code & variants user dirs (extensions keep MCP settings in globalStorage). */
|
|
160
|
+
function vscodeUserDirs() {
|
|
161
|
+
const roots = process.platform === 'win32'
|
|
162
|
+
? [process.env.APPDATA || path.join(home(), 'AppData', 'Roaming')]
|
|
163
|
+
: process.platform === 'darwin'
|
|
164
|
+
? [path.join(home(), 'Library', 'Application Support')]
|
|
165
|
+
: [process.env.XDG_CONFIG_HOME || path.join(home(), '.config')];
|
|
166
|
+
const variants = ['Code', 'Code - Insiders', 'VSCodium', 'Cursor'];
|
|
167
|
+
const out = [];
|
|
168
|
+
for (const root of roots) {
|
|
169
|
+
for (const variant of variants) {
|
|
170
|
+
const dir = path.join(root, variant, 'User');
|
|
171
|
+
if (existsDir(dir))
|
|
172
|
+
out.push(dir);
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
return out;
|
|
176
|
+
}
|
|
177
|
+
/** MCP settings file used by a VS Code extension, for every installed variant. */
|
|
178
|
+
function vscodeGlobalStorageFiles(extensionId, fileName) {
|
|
179
|
+
return vscodeUserDirs().map((userDir) => path.join(userDir, 'globalStorage', extensionId, 'settings', fileName));
|
|
180
|
+
}
|
|
181
|
+
function existsDir(dir) {
|
|
182
|
+
try {
|
|
183
|
+
return require('fs').statSync(dir).isDirectory();
|
|
184
|
+
}
|
|
185
|
+
catch {
|
|
186
|
+
return false;
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
function fsExists(p) {
|
|
190
|
+
try {
|
|
191
|
+
return require('fs').existsSync(p);
|
|
192
|
+
}
|
|
193
|
+
catch {
|
|
194
|
+
return false;
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
exports.CLIENT_TARGETS = [
|
|
198
|
+
{
|
|
199
|
+
id: 'agents',
|
|
200
|
+
label: 'Cross-client (.agents/skills)',
|
|
201
|
+
userSkillDirs: [path.join(home(), exports.AGENTS_SKILL_ROOT)],
|
|
202
|
+
projectSkillDirs: [exports.AGENTS_SKILL_ROOT],
|
|
203
|
+
// Read by Codex, Cursor, Windsurf, Roo, Kilo (and Trae project-level,
|
|
204
|
+
// once "enable .agents skills directory" is turned on).
|
|
205
|
+
userMcp: [],
|
|
206
|
+
projectMcp: [],
|
|
207
|
+
},
|
|
208
|
+
{
|
|
209
|
+
id: 'claude',
|
|
210
|
+
label: 'Claude Code',
|
|
211
|
+
userSkillDirs: [path.join(home(), exports.CLAUDE_SKILL_ROOT)],
|
|
212
|
+
projectSkillDirs: [exports.CLAUDE_SKILL_ROOT],
|
|
213
|
+
// Official: user scope lives in ~/.claude.json, project scope in .mcp.json.
|
|
214
|
+
// ~/.claude/settings.json carries only approval flags — never MCP servers.
|
|
215
|
+
userMcp: [{ scope: 'user', path: path.join(home(), '.claude.json'), format: 'json' }],
|
|
216
|
+
projectMcp: [{ scope: 'project', path: '.mcp.json', format: 'json' }],
|
|
217
|
+
// settings.json never carried MCP servers — only approval flags.
|
|
218
|
+
legacyMcpFiles: [path.join(home(), '.claude', 'settings.json')],
|
|
219
|
+
},
|
|
220
|
+
{
|
|
221
|
+
id: 'codex',
|
|
222
|
+
label: 'OpenAI Codex CLI / ChatGPT Codex mode',
|
|
223
|
+
// Official docs list the cross-client .agents root. Codex ALSO keeps a user
|
|
224
|
+
// skill root at ~/.codex/skills (it ships bundled skills in
|
|
225
|
+
// ~/.codex/skills/.system with a .codex-system-skills.marker), so we write
|
|
226
|
+
// to both — one of the two is guaranteed to be read.
|
|
227
|
+
userSkillDirs: [path.join(home(), exports.AGENTS_SKILL_ROOT), path.join(home(), '.codex', 'skills')],
|
|
228
|
+
projectSkillDirs: [exports.AGENTS_SKILL_ROOT],
|
|
229
|
+
userMcp: [{ scope: 'user', path: path.join(home(), '.codex', 'config.toml'), format: 'toml' }],
|
|
230
|
+
projectMcp: [{ scope: 'project', path: '.codex/config.toml', format: 'toml' }],
|
|
231
|
+
},
|
|
232
|
+
{
|
|
233
|
+
id: 'cursor',
|
|
234
|
+
label: 'Cursor',
|
|
235
|
+
userSkillDirs: [path.join(home(), exports.CURSOR_SKILL_ROOT)],
|
|
236
|
+
projectSkillDirs: [exports.CURSOR_SKILL_ROOT],
|
|
237
|
+
userMcp: [{ scope: 'user', path: path.join(home(), '.cursor', 'mcp.json'), format: 'json' }],
|
|
238
|
+
projectMcp: [{ scope: 'project', path: '.cursor/mcp.json', format: 'json' }],
|
|
239
|
+
// Pre-3.1 installers wrote agent-requested `.mdc` rules instead of skills.
|
|
240
|
+
legacyUserDirs: [path.join(home(), '.cursor', 'rules')],
|
|
241
|
+
legacyProjectDirs: ['.cursor/rules'],
|
|
242
|
+
},
|
|
243
|
+
{
|
|
244
|
+
id: 'windsurf',
|
|
245
|
+
label: 'Windsurf (Cascade)',
|
|
246
|
+
userSkillDirs: [path.join(home(), '.codeium', 'windsurf', 'skills')],
|
|
247
|
+
projectSkillDirs: [exports.WINDSURF_SKILL_ROOT],
|
|
248
|
+
// Only the user-scope MCP file is documented for Windsurf.
|
|
249
|
+
userMcp: [
|
|
250
|
+
{
|
|
251
|
+
scope: 'user',
|
|
252
|
+
path: path.join(home(), '.codeium', 'windsurf', 'mcp_config.json'),
|
|
253
|
+
format: 'json',
|
|
254
|
+
},
|
|
255
|
+
],
|
|
256
|
+
projectMcp: [],
|
|
257
|
+
// ~/.windsurf/skills was never read by Windsurf (rules/workflows live there).
|
|
258
|
+
legacyUserDirs: [path.join(home(), '.windsurf', 'skills')],
|
|
259
|
+
},
|
|
260
|
+
{
|
|
261
|
+
id: 'codebuddy',
|
|
262
|
+
label: 'CodeBuddy',
|
|
263
|
+
userSkillDirs: [path.join(home(), '.codebuddy', 'skills')],
|
|
264
|
+
projectSkillDirs: [exports.CODEBUDDY_SKILL_ROOT],
|
|
265
|
+
// Priority 1 of the documented user-scope candidates.
|
|
266
|
+
userMcp: [{ scope: 'user', path: path.join(home(), '.codebuddy', '.mcp.json'), format: 'json' }],
|
|
267
|
+
// CodeBuddy project scope is <project>/.mcp.json — the same file Claude uses.
|
|
268
|
+
projectMcp: [{ scope: 'project', path: '.mcp.json', format: 'json' }],
|
|
269
|
+
},
|
|
270
|
+
{
|
|
271
|
+
id: 'trae',
|
|
272
|
+
label: 'Trae (CN & international)',
|
|
273
|
+
userSkillDirs: [traeSkillRoot()],
|
|
274
|
+
projectSkillDirs: [exports.TRAE_SKILL_ROOT],
|
|
275
|
+
userMcp: traeMcpPaths().map((p) => ({ scope: 'user', path: p, format: 'json' })),
|
|
276
|
+
projectMcp: [{ scope: 'project', path: '.trae/mcp.json', format: 'json' }],
|
|
277
|
+
},
|
|
278
|
+
{
|
|
279
|
+
id: 'qoder',
|
|
280
|
+
label: 'Qoder',
|
|
281
|
+
userSkillDirs: [path.join(home(), '.qoder', 'skills')],
|
|
282
|
+
projectSkillDirs: [exports.QODER_SKILL_ROOT],
|
|
283
|
+
userMcp: [{ scope: 'user', path: path.join(home(), '.qoder', 'settings.json'), format: 'json' }],
|
|
284
|
+
projectMcp: [{ scope: 'project', path: '.mcp.json', format: 'json' }],
|
|
285
|
+
legacyMcpFiles: [qoderLegacyMcpFile()],
|
|
286
|
+
},
|
|
287
|
+
{
|
|
288
|
+
id: 'roo',
|
|
289
|
+
label: 'Roo Code',
|
|
290
|
+
userSkillDirs: [path.join(home(), '.roo', 'skills')],
|
|
291
|
+
projectSkillDirs: [exports.ROO_SKILL_ROOT],
|
|
292
|
+
userMcp: vscodeGlobalStorageFiles('rooveterinaryinc.roo-cline', 'cline_mcp_settings.json').map((p) => ({ scope: 'user', path: p, format: 'json' })),
|
|
293
|
+
projectMcp: [{ scope: 'project', path: '.roo/mcp.json', format: 'json' }],
|
|
294
|
+
// Roo is a VS Code extension: its global MCP file is the globalStorage one.
|
|
295
|
+
legacyMcpFiles: [path.join(home(), '.roo', 'mcp_settings.json')],
|
|
296
|
+
},
|
|
297
|
+
{
|
|
298
|
+
id: 'cline',
|
|
299
|
+
label: 'Cline',
|
|
300
|
+
userSkillDirs: [path.join(home(), '.cline', 'skills')],
|
|
301
|
+
projectSkillDirs: [exports.CLINE_SKILL_ROOT],
|
|
302
|
+
userMcp: [
|
|
303
|
+
{ scope: 'user', path: path.join(home(), '.cline', 'mcp.json'), format: 'json' },
|
|
304
|
+
...vscodeGlobalStorageFiles('saoudrizwan.claude-dev', 'cline_mcp_settings.json').map((p) => ({ scope: 'user', path: p, format: 'json' })),
|
|
305
|
+
],
|
|
306
|
+
projectMcp: [],
|
|
307
|
+
},
|
|
308
|
+
{
|
|
309
|
+
id: 'kilo',
|
|
310
|
+
label: 'Kilo Code',
|
|
311
|
+
userSkillDirs: [path.join(home(), '.kilo', 'skills')],
|
|
312
|
+
projectSkillDirs: [exports.KILO_SKILL_ROOT],
|
|
313
|
+
userMcp: [
|
|
314
|
+
...vscodeGlobalStorageFiles('kilocode.kilo-code', 'mcp_settings.json').map((p) => ({
|
|
315
|
+
scope: 'user',
|
|
316
|
+
path: p,
|
|
317
|
+
format: 'json',
|
|
318
|
+
})),
|
|
319
|
+
{
|
|
320
|
+
scope: 'user',
|
|
321
|
+
path: path.join(home(), '.kilocode', 'cli', 'global', 'settings', 'mcp_settings.json'),
|
|
322
|
+
format: 'json',
|
|
323
|
+
},
|
|
324
|
+
// New platform: `mcp` key inside kilo.json. `kilo.jsonc` also works but is
|
|
325
|
+
// never rewritten — that would silently drop the user's comments.
|
|
326
|
+
...(fsExists(path.join(kiloConfigDir(), 'kilo.jsonc'))
|
|
327
|
+
? []
|
|
328
|
+
: [
|
|
329
|
+
{
|
|
330
|
+
scope: 'user',
|
|
331
|
+
path: path.join(kiloConfigDir(), 'kilo.json'),
|
|
332
|
+
format: 'kilo-json',
|
|
333
|
+
},
|
|
334
|
+
]),
|
|
335
|
+
],
|
|
336
|
+
projectMcp: [],
|
|
337
|
+
notes: fsExists(path.join(kiloConfigDir(), 'kilo.jsonc'))
|
|
338
|
+
? [
|
|
339
|
+
`Kilo Code uses ${path.join(kiloConfigDir(), 'kilo.jsonc')}, which this tool never rewrites (comments would be lost). ` +
|
|
340
|
+
'Add the server there manually under the "mcp" key.',
|
|
341
|
+
]
|
|
342
|
+
: [],
|
|
343
|
+
},
|
|
344
|
+
{
|
|
345
|
+
id: 'copilot',
|
|
346
|
+
label: 'GitHub Copilot (VS Code & CLI)',
|
|
347
|
+
userSkillDirs: [path.join(home(), '.copilot', 'skills')],
|
|
348
|
+
projectSkillDirs: [exports.COPILOT_SKILL_ROOT],
|
|
349
|
+
userMcp: [
|
|
350
|
+
{
|
|
351
|
+
scope: 'user',
|
|
352
|
+
path: path.join(home(), '.copilot', 'mcp-config.json'),
|
|
353
|
+
format: 'json',
|
|
354
|
+
extraEntry: { type: 'stdio', tools: ['*'] },
|
|
355
|
+
},
|
|
356
|
+
],
|
|
357
|
+
projectMcp: [
|
|
358
|
+
{
|
|
359
|
+
scope: 'project',
|
|
360
|
+
path: '.github/mcp.json',
|
|
361
|
+
format: 'json',
|
|
362
|
+
extraEntry: { type: 'stdio', tools: ['*'] },
|
|
363
|
+
},
|
|
364
|
+
],
|
|
365
|
+
// Pre-3.1 installers wrote `.prompt.md` files here (workspace-only path,
|
|
366
|
+
// never scanned for user-level prompts). Copilot reads skills now.
|
|
367
|
+
legacyUserDirs: [path.join(home(), '.github', 'prompts')],
|
|
368
|
+
legacyProjectDirs: ['.github/prompts'],
|
|
369
|
+
},
|
|
370
|
+
];
|
|
371
|
+
exports.DEFAULT_TARGET_IDS = exports.CLIENT_TARGETS.map((t) => t.id);
|
|
372
|
+
function getClientTarget(id) {
|
|
373
|
+
return exports.CLIENT_TARGETS.find((t) => t.id === id);
|
|
374
|
+
}
|
|
375
|
+
/** Expand a leading `~` and normalise separators. */
|
|
376
|
+
function expandHome(p) {
|
|
377
|
+
if (p === '~')
|
|
378
|
+
return home();
|
|
379
|
+
if (p.startsWith('~/') || p.startsWith('~\\'))
|
|
380
|
+
return path.join(home(), p.slice(2));
|
|
381
|
+
return p;
|
|
382
|
+
}
|
|
383
|
+
/**
|
|
384
|
+
* Resolve every (target × scope) skill root to a unique absolute directory.
|
|
385
|
+
* `~/.agents/skills` is shared by several targets and is written only once.
|
|
386
|
+
*/
|
|
387
|
+
function resolveSkillRoots(targetIds, scope, cwd) {
|
|
388
|
+
const roots = [];
|
|
389
|
+
for (const id of targetIds) {
|
|
390
|
+
const target = getClientTarget(id);
|
|
391
|
+
if (!target)
|
|
392
|
+
continue;
|
|
393
|
+
const dirs = scope === 'user' ? target.userSkillDirs : target.projectSkillDirs;
|
|
394
|
+
for (const dir of dirs) {
|
|
395
|
+
const abs = scope === 'user' ? expandHome(dir) : path.resolve(cwd, dir);
|
|
396
|
+
if (!roots.includes(abs))
|
|
397
|
+
roots.push(abs);
|
|
398
|
+
}
|
|
399
|
+
}
|
|
400
|
+
return roots;
|
|
401
|
+
}
|
|
402
|
+
/** Resolve every MCP config file for the given targets and scope. */
|
|
403
|
+
function resolveMcpSpecs(targetIds, scope, cwd) {
|
|
404
|
+
const specs = [];
|
|
405
|
+
const seen = new Set();
|
|
406
|
+
for (const id of targetIds) {
|
|
407
|
+
const target = getClientTarget(id);
|
|
408
|
+
if (!target)
|
|
409
|
+
continue;
|
|
410
|
+
const list = scope === 'user' ? target.userMcp : target.projectMcp;
|
|
411
|
+
for (const spec of list) {
|
|
412
|
+
const abs = scope === 'user' ? expandHome(spec.path) : path.resolve(cwd, spec.path);
|
|
413
|
+
if (seen.has(abs))
|
|
414
|
+
continue;
|
|
415
|
+
seen.add(abs);
|
|
416
|
+
specs.push({ ...spec, path: abs });
|
|
417
|
+
}
|
|
418
|
+
}
|
|
419
|
+
return specs;
|
|
420
|
+
}
|
|
421
|
+
//# sourceMappingURL=targets.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"targets.js","sourceRoot":"","sources":["../src/targets.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;GAYG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuZH,0CAEC;AAGD,gCAIC;AAMD,8CAgBC;AAGD,0CAmBC;AA1cD,uCAAyB;AACzB,2CAA6B;AAE7B,4EAA4E;AAC5E,SAAS;AACT,4EAA4E;AAE5E;;;GAGG;AACU,QAAA,WAAW,GAAsB;IAC5C,gBAAgB;IAChB,gBAAgB;IAChB,oBAAoB;IACpB,kBAAkB;IAClB,eAAe;IACf,aAAa;IACb,iBAAiB;IACjB,cAAc;IACd,eAAe;IACf,eAAe;IACf,eAAe;IACf,cAAc;IACd,kBAAkB;CACnB,CAAC;AAEF,6EAA6E;AAChE,QAAA,kBAAkB,GAAsB;IACnD,aAAa;IACb,aAAa;IACb,cAAc;IACd,gBAAgB;CACjB,CAAC;AAEF,2EAA2E;AAC9D,QAAA,uBAAuB,GAA2B;IAC7D,cAAc,EAAE,4CAA4C;IAC5D,aAAa,EAAE,8CAA8C;IAC7D,gBAAgB,EAAE,wEAAwE;IAC1F,aAAa,EAAE,qDAAqD;CACrE,CAAC;AAEF,kEAAkE;AACrD,QAAA,aAAa,GAAG,oBAAoB,CAAC;AAElD,mEAAmE;AACtD,QAAA,WAAW,GAAG,kBAAkB,CAAC;AAE9C,4EAA4E;AAC5E,0DAA0D;AAC1D,4EAA4E;AAE5E,qFAAqF;AACxE,QAAA,iBAAiB,GAAG,gBAAgB,CAAC;AAErC,QAAA,iBAAiB,GAAG,gBAAgB,CAAC;AACrC,QAAA,gBAAgB,GAAG,gBAAgB,CAAC;AACpC,QAAA,iBAAiB,GAAG,gBAAgB,CAAC;AACrC,QAAA,mBAAmB,GAAG,kBAAkB,CAAC;AACzC,QAAA,oBAAoB,GAAG,mBAAmB,CAAC;AAC3C,QAAA,eAAe,GAAG,cAAc,CAAC;AACjC,QAAA,gBAAgB,GAAG,eAAe,CAAC;AACnC,QAAA,cAAc,GAAG,aAAa,CAAC;AAC/B,QAAA,gBAAgB,GAAG,eAAe,CAAC;AACnC,QAAA,eAAe,GAAG,cAAc,CAAC;AACjC,QAAA,kBAAkB,GAAG,gBAAgB,CAAC;AAgEnD,MAAM,IAAI,GAAG,GAAW,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC;AAExC,qDAAqD;AACrD,SAAS,aAAa;IACpB,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,SAAS,CAAC,EAAE,MAAM,CAAC,CAAC;AACxF,CAAC;AAED;;;;GAIG;AACH,SAAS,kBAAkB;IACzB,MAAM,IAAI,GACR,OAAO,CAAC,QAAQ,KAAK,OAAO;QAC1B,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC;QAChE,CAAC,CAAC,OAAO,CAAC,QAAQ,KAAK,QAAQ;YAC7B,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,qBAAqB,CAAC;YACrD,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,SAAS,CAAC,CAAC;IACpE,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,mBAAmB,CAAC,CAAC;AACvD,CAAC;AAED,8EAA8E;AAC9E,SAAS,aAAa;IACpB,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,UAAU,CAAC,CAAC;IACzC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;IACxC,IAAI,SAAS,CAAC,EAAE,CAAC;QAAE,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;IAClD,IAAI,SAAS,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACtD,yEAAyE;IACzE,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;AACjC,CAAC;AAED,0EAA0E;AAC1E,SAAS,YAAY;IACnB,MAAM,KAAK,GACT,OAAO,CAAC,QAAQ,KAAK,OAAO;QAC1B,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;QAClE,CAAC,CAAC,OAAO,CAAC,QAAQ,KAAK,QAAQ;YAC7B,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,qBAAqB,CAAC,CAAC;YACvD,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC;IACtE,MAAM,QAAQ,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;IACrD,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YACjD,IAAI,SAAS,CAAC,OAAO,CAAC;gBAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,oFAAoF;AACpF,SAAS,cAAc;IACrB,MAAM,KAAK,GACT,OAAO,CAAC,QAAQ,KAAK,OAAO;QAC1B,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;QAClE,CAAC,CAAC,OAAO,CAAC,QAAQ,KAAK,QAAQ;YAC7B,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,qBAAqB,CAAC,CAAC;YACvD,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC;IACtE,MAAM,QAAQ,GAAG,CAAC,MAAM,EAAE,iBAAiB,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;IACnE,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YAC7C,IAAI,SAAS,CAAC,GAAG,CAAC;gBAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,kFAAkF;AAClF,SAAS,wBAAwB,CAAC,WAAmB,EAAE,QAAgB;IACrE,OAAO,cAAc,EAAE,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CACtC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,CAAC,CACvE,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,GAAW;IAC5B,IAAI,CAAC;QACH,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;IACnD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,CAAS;IACzB,IAAI,CAAC;QACH,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IACrC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAEY,QAAA,cAAc,GAA4B;IACrD;QACE,EAAE,EAAE,QAAQ;QACZ,KAAK,EAAE,+BAA+B;QACtC,aAAa,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,yBAAiB,CAAC,CAAC;QACrD,gBAAgB,EAAE,CAAC,yBAAiB,CAAC;QACrC,sEAAsE;QACtE,wDAAwD;QACxD,OAAO,EAAE,EAAE;QACX,UAAU,EAAE,EAAE;KACf;IACD;QACE,EAAE,EAAE,QAAQ;QACZ,KAAK,EAAE,aAAa;QACpB,aAAa,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,yBAAiB,CAAC,CAAC;QACrD,gBAAgB,EAAE,CAAC,yBAAiB,CAAC;QACrC,4EAA4E;QAC5E,2EAA2E;QAC3E,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,cAAc,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QACrF,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QACrE,iEAAiE;QACjE,cAAc,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;KAChE;IACD;QACE,EAAE,EAAE,OAAO;QACX,KAAK,EAAE,uCAAuC;QAC9C,4EAA4E;QAC5E,4DAA4D;QAC5D,2EAA2E;QAC3E,qDAAqD;QACrD,aAAa,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,yBAAiB,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC5F,gBAAgB,EAAE,CAAC,yBAAiB,CAAC;QACrC,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAC9F,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,oBAAoB,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;KAC/E;IACD;QACE,EAAE,EAAE,QAAQ;QACZ,KAAK,EAAE,QAAQ;QACf,aAAa,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,yBAAiB,CAAC,CAAC;QACrD,gBAAgB,EAAE,CAAC,yBAAiB,CAAC;QACrC,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAC5F,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAC5E,2EAA2E;QAC3E,cAAc,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QACvD,iBAAiB,EAAE,CAAC,eAAe,CAAC;KACrC;IACD;QACE,EAAE,EAAE,UAAU;QACd,KAAK,EAAE,oBAAoB;QAC3B,aAAa,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;QACpE,gBAAgB,EAAE,CAAC,2BAAmB,CAAC;QACvC,2DAA2D;QAC3D,OAAO,EAAE;YACP;gBACE,KAAK,EAAE,MAAM;gBACb,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,iBAAiB,CAAC;gBAClE,MAAM,EAAE,MAAM;aACf;SACF;QACD,UAAU,EAAE,EAAE;QACd,8EAA8E;QAC9E,cAAc,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;KAC3D;IACD;QACE,EAAE,EAAE,WAAW;QACf,KAAK,EAAE,WAAW;QAClB,aAAa,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;QAC1D,gBAAgB,EAAE,CAAC,4BAAoB,CAAC;QACxC,sDAAsD;QACtD,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,YAAY,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAChG,8EAA8E;QAC9E,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;KACtE;IACD;QACE,EAAE,EAAE,MAAM;QACV,KAAK,EAAE,2BAA2B;QAClC,aAAa,EAAE,CAAC,aAAa,EAAE,CAAC;QAChC,gBAAgB,EAAE,CAAC,uBAAe,CAAC;QACnC,OAAO,EAAE,YAAY,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,MAAe,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,MAAe,EAAE,CAAC,CAAC;QAClG,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;KAC3E;IACD;QACE,EAAE,EAAE,OAAO;QACX,KAAK,EAAE,OAAO;QACd,aAAa,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACtD,gBAAgB,EAAE,CAAC,wBAAgB,CAAC;QACpC,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,eAAe,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAChG,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QACrE,cAAc,EAAE,CAAC,kBAAkB,EAAE,CAAC;KACvC;IACD;QACE,EAAE,EAAE,KAAK;QACT,KAAK,EAAE,UAAU;QACjB,aAAa,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QACpD,gBAAgB,EAAE,CAAC,sBAAc,CAAC;QAClC,OAAO,EAAE,wBAAwB,CAC/B,4BAA4B,EAC5B,yBAAyB,CAC1B,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,MAAe,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,MAAe,EAAE,CAAC,CAAC;QAC5E,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QACzE,4EAA4E;QAC5E,cAAc,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,mBAAmB,CAAC,CAAC;KACjE;IACD;QACE,EAAE,EAAE,OAAO;QACX,KAAK,EAAE,OAAO;QACd,aAAa,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACtD,gBAAgB,EAAE,CAAC,wBAAgB,CAAC;QACpC,OAAO,EAAE;YACP,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE;YAChF,GAAG,wBAAwB,CAAC,wBAAwB,EAAE,yBAAyB,CAAC,CAAC,GAAG,CAClF,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,MAAe,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,MAAe,EAAE,CAAC,CACtE;SACF;QACD,UAAU,EAAE,EAAE;KACf;IACD;QACE,EAAE,EAAE,MAAM;QACV,KAAK,EAAE,WAAW;QAClB,aAAa,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;QACrD,gBAAgB,EAAE,CAAC,uBAAe,CAAC;QACnC,OAAO,EAAE;YACP,GAAG,wBAAwB,CAAC,oBAAoB,EAAE,mBAAmB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACjF,KAAK,EAAE,MAAe;gBACtB,IAAI,EAAE,CAAC;gBACP,MAAM,EAAE,MAAe;aACxB,CAAC,CAAC;YACH;gBACE,KAAK,EAAE,MAAM;gBACb,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,mBAAmB,CAAC;gBACtF,MAAM,EAAE,MAAM;aACf;YACD,2EAA2E;YAC3E,kEAAkE;YAClE,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,YAAY,CAAC,CAAC;gBACpD,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC;oBACE;wBACE,KAAK,EAAE,MAAe;wBACtB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,WAAW,CAAC;wBAC7C,MAAM,EAAE,WAAoB;qBAC7B;iBACF,CAAC;SACP;QACD,UAAU,EAAE,EAAE;QACd,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,YAAY,CAAC,CAAC;YACvD,CAAC,CAAC;gBACE,kBAAkB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,YAAY,CAAC,6DAA6D;oBACrH,oDAAoD;aACvD;YACH,CAAC,CAAC,EAAE;KACP;IACD;QACE,EAAE,EAAE,SAAS;QACb,KAAK,EAAE,gCAAgC;QACvC,aAAa,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;QACxD,gBAAgB,EAAE,CAAC,0BAAkB,CAAC;QACtC,OAAO,EAAE;YACP;gBACE,KAAK,EAAE,MAAM;gBACb,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,iBAAiB,CAAC;gBACtD,MAAM,EAAE,MAAM;gBACd,UAAU,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,EAAE;aAC5C;SACF;QACD,UAAU,EAAE;YACV;gBACE,KAAK,EAAE,SAAS;gBAChB,IAAI,EAAE,kBAAkB;gBACxB,MAAM,EAAE,MAAM;gBACd,UAAU,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,EAAE;aAC5C;SACF;QACD,yEAAyE;QACzE,mEAAmE;QACnE,cAAc,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;QACzD,iBAAiB,EAAE,CAAC,iBAAiB,CAAC;KACvC;CACF,CAAC;AAEW,QAAA,kBAAkB,GAA8B,sBAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAE7F,SAAgB,eAAe,CAAC,EAAU;IACxC,OAAO,sBAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;AACjD,CAAC;AAED,qDAAqD;AACrD,SAAgB,UAAU,CAAC,CAAS;IAClC,IAAI,CAAC,KAAK,GAAG;QAAE,OAAO,IAAI,EAAE,CAAC;IAC7B,IAAI,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACpF,OAAO,CAAC,CAAC;AACX,CAAC;AAED;;;GAGG;AACH,SAAgB,iBAAiB,CAC/B,SAA4B,EAC5B,KAAyB,EACzB,GAAW;IAEX,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,eAAe,CAAC,EAAE,CAAC,CAAC;QACnC,IAAI,CAAC,MAAM;YAAE,SAAS;QACtB,MAAM,IAAI,GAAG,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC;QAC/E,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,GAAG,GAAG,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACxE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,qEAAqE;AACrE,SAAgB,eAAe,CAC7B,SAA4B,EAC5B,KAAyB,EACzB,GAAW;IAEX,MAAM,KAAK,GAAc,EAAE,CAAC;IAC5B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,eAAe,CAAC,EAAE,CAAC,CAAC;QACnC,IAAI,CAAC,MAAM;YAAE,SAAS;QACtB,MAAM,IAAI,GAAG,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC;QACnE,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;YACxB,MAAM,GAAG,GAAG,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YACpF,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,SAAS;YAC5B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACd,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -8,10 +8,11 @@ export type SkillRole = 'customer' | 'provider' | 'supplier' | 'collaborator' |
|
|
|
8
8
|
* - 'on-demand': Loaded only when description matches task
|
|
9
9
|
*/
|
|
10
10
|
export type LoadingMode = 'always' | 'on-demand';
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
11
|
+
/**
|
|
12
|
+
* Client installation targets (directories + MCP config files) live in
|
|
13
|
+
* src/targets.ts — the single source of truth shared by the installer and the
|
|
14
|
+
* CLI. Keep this module free of any path knowledge.
|
|
15
|
+
*/
|
|
15
16
|
/**
|
|
16
17
|
* Skill definition
|
|
17
18
|
*/
|
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,UAAU,GAAG,cAAc,GAAG,YAAY,GAAG,QAAQ,CAAC;AAExG;;;;GAIG;AACH,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,WAAW,CAAC;AAEjD
|
|
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,UAAU,GAAG,cAAc,GAAG,YAAY,GAAG,QAAQ,CAAC;AAExG;;;;GAIG;AACH,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,WAAW,CAAC;AAEjD;;;;GAIG;AAEH;;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
|
@@ -1,35 +1,3 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ALL_CLIENT_TARGETS = exports.CLIENT_FILE_EXT = exports.CLIENT_SKILL_DIRS = void 0;
|
|
4
|
-
exports.CLIENT_SKILL_DIRS = {
|
|
5
|
-
claude: '.claude/skills',
|
|
6
|
-
cursor: '.cursor/rules',
|
|
7
|
-
windsurf: '.windsurf/skills',
|
|
8
|
-
codebuddy: '.codebuddy/skills',
|
|
9
|
-
codex: '.codex/skills',
|
|
10
|
-
trae: '.agents/skills',
|
|
11
|
-
qoder: '.qoder/skills',
|
|
12
|
-
roo: '.roo/skills',
|
|
13
|
-
cline: '.cline/skills',
|
|
14
|
-
kilo: '.kilo/skills',
|
|
15
|
-
agents: '.agents/skills',
|
|
16
|
-
copilot: '.github/prompts',
|
|
17
|
-
};
|
|
18
|
-
exports.CLIENT_FILE_EXT = {
|
|
19
|
-
claude: '.md',
|
|
20
|
-
cursor: '.mdc',
|
|
21
|
-
windsurf: '.md',
|
|
22
|
-
codebuddy: '.md',
|
|
23
|
-
codex: '.md',
|
|
24
|
-
trae: '.md',
|
|
25
|
-
qoder: '.md',
|
|
26
|
-
roo: '.md',
|
|
27
|
-
cline: '.md',
|
|
28
|
-
kilo: '.md',
|
|
29
|
-
agents: '.md',
|
|
30
|
-
copilot: '.prompt.md',
|
|
31
|
-
};
|
|
32
|
-
exports.ALL_CLIENT_TARGETS = [
|
|
33
|
-
'claude', 'cursor', 'windsurf', 'codebuddy', 'codex', 'trae', 'qoder', 'roo', 'cline', 'kilo', 'copilot',
|
|
34
|
-
];
|
|
35
3
|
//# 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":""}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wowok/skills",
|
|
3
|
-
"version": "3.
|
|
4
|
-
"description": "WoWok AI Skills for Claude and
|
|
3
|
+
"version": "3.1.1",
|
|
4
|
+
"description": "WoWok AI Skills for Claude Code, Codex, Cursor, Windsurf, Trae, CodeBuddy, Qoder, Roo Code, Cline, Kilo Code and GitHub Copilot - dialogue orchestration layer on top of the WoWok MCP server (rules/reference knowledge is served by MCP directly since v2.0.0)",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
7
7
|
"bin": {
|
|
@@ -22,7 +22,6 @@
|
|
|
22
22
|
"wowok-auditor/",
|
|
23
23
|
"wowok-governance/",
|
|
24
24
|
"wowok-market/",
|
|
25
|
-
"examples/",
|
|
26
25
|
"scripts/install.js",
|
|
27
26
|
"README.md",
|
|
28
27
|
"LICENSE"
|
|
@@ -32,7 +31,9 @@
|
|
|
32
31
|
"watch": "tsc --watch",
|
|
33
32
|
"prepublishOnly": "npm run build",
|
|
34
33
|
"postinstall": "node scripts/install.js",
|
|
35
|
-
"
|
|
34
|
+
"audit:skills": "node scripts/validate-skills.mjs",
|
|
35
|
+
"audit:length": "node scripts/check-skills-length.mjs",
|
|
36
|
+
"check": "npm run build && npm run audit:skills && npm run audit:length"
|
|
36
37
|
},
|
|
37
38
|
"keywords": [
|
|
38
39
|
"wowok",
|