@cg3/equip 0.6.1 → 0.9.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.
Files changed (44) hide show
  1. package/bin/equip.js +11 -65
  2. package/demo/setup.js +85 -12
  3. package/dist/index.d.ts +26 -1
  4. package/dist/index.d.ts.map +1 -1
  5. package/dist/index.js +77 -0
  6. package/dist/index.js.map +1 -1
  7. package/dist/lib/commands/doctor.d.ts.map +1 -1
  8. package/dist/lib/commands/doctor.js +14 -1
  9. package/dist/lib/commands/doctor.js.map +1 -1
  10. package/dist/lib/commands/update.d.ts.map +1 -1
  11. package/dist/lib/commands/update.js +2 -9
  12. package/dist/lib/commands/update.js.map +1 -1
  13. package/dist/lib/detect.d.ts.map +1 -1
  14. package/dist/lib/detect.js +2 -0
  15. package/dist/lib/detect.js.map +1 -1
  16. package/dist/lib/fs.d.ts +36 -0
  17. package/dist/lib/fs.d.ts.map +1 -0
  18. package/dist/lib/fs.js +137 -0
  19. package/dist/lib/fs.js.map +1 -0
  20. package/dist/lib/mcp.d.ts +2 -0
  21. package/dist/lib/mcp.d.ts.map +1 -1
  22. package/dist/lib/mcp.js +37 -55
  23. package/dist/lib/mcp.js.map +1 -1
  24. package/dist/lib/platforms.d.ts +2 -0
  25. package/dist/lib/platforms.d.ts.map +1 -1
  26. package/dist/lib/platforms.js +12 -0
  27. package/dist/lib/platforms.js.map +1 -1
  28. package/dist/lib/reconcile.d.ts +16 -0
  29. package/dist/lib/reconcile.d.ts.map +1 -0
  30. package/dist/lib/reconcile.js +126 -0
  31. package/dist/lib/reconcile.js.map +1 -0
  32. package/dist/lib/rules.d.ts.map +1 -1
  33. package/dist/lib/rules.js +4 -6
  34. package/dist/lib/rules.js.map +1 -1
  35. package/dist/lib/skills.d.ts +36 -0
  36. package/dist/lib/skills.d.ts.map +1 -0
  37. package/dist/lib/skills.js +125 -0
  38. package/dist/lib/skills.js.map +1 -0
  39. package/dist/lib/state.d.ts +6 -0
  40. package/dist/lib/state.d.ts.map +1 -1
  41. package/dist/lib/state.js +4 -12
  42. package/dist/lib/state.js.map +1 -1
  43. package/package.json +1 -1
  44. package/registry.json +5 -2
package/bin/equip.js CHANGED
@@ -169,7 +169,17 @@ function spawnTool(pkg, command, extraArgs, toolName) {
169
169
  // the tool exited non-zero (e.g. user cancelled a post-install prompt)
170
170
  if (toolName) {
171
171
  try {
172
- const changed = reconcileState(toolName, pkg);
172
+ const { reconcileState } = require("../dist/lib/reconcile");
173
+ const toolMeta = TOOLS[toolName] || {};
174
+ const hookDir = toolMeta.hookDir
175
+ ? toolMeta.hookDir.replace(/^~/, require("os").homedir())
176
+ : undefined;
177
+ const changed = reconcileState({
178
+ toolName,
179
+ package: pkg,
180
+ marker: toolMeta.marker || toolName,
181
+ hookDir,
182
+ });
173
183
  if (changed > 0) {
174
184
  process.stderr.write(`\n equip: tracked ${toolName} on ${changed} platform${changed === 1 ? "" : "s"}\n`);
175
185
  }
@@ -185,70 +195,6 @@ function spawnTool(pkg, command, extraArgs, toolName) {
185
195
  });
186
196
  }
187
197
 
188
- /**
189
- * After a tool finishes, scan platform configs and update state
190
- * based on what's actually on disk. This ensures state is always
191
- * accurate regardless of which equip version the tool used internally.
192
- */
193
- function reconcileState(toolName, pkg) {
194
- const { PLATFORM_REGISTRY } = require("../dist/lib/platforms");
195
- const { readMcpEntry } = require("../dist/lib/mcp");
196
- const { trackInstall } = require("../dist/lib/state");
197
- const { dirExists, fileExists } = require("../dist/lib/detect");
198
- const _fs = require("fs");
199
- const _path = require("path");
200
-
201
- let count = 0;
202
-
203
- for (const [id, def] of PLATFORM_REGISTRY) {
204
- // Quick check: is this platform present?
205
- const dirFound = def.detection.dirs.some(fn => dirExists(fn()));
206
- const fileFound = def.detection.files.some(fn => fileExists(fn()));
207
- const configPath = def.configPath();
208
- if (!dirFound && !fileFound && !fileExists(configPath)) continue;
209
-
210
- // Check if tool has an MCP entry on this platform
211
- const entry = readMcpEntry(configPath, def.rootKey, toolName, def.configFormat);
212
- if (!entry) continue;
213
-
214
- // Build state record from what's on disk
215
- const record = {
216
- configPath,
217
- transport: entry.command ? "stdio" : "http",
218
- };
219
-
220
- // Check for rules (only on platforms that support writable rules)
221
- if (def.rulesPath) {
222
- const rulesPath = def.rulesPath();
223
- try {
224
- const content = _fs.readFileSync(rulesPath, "utf-8");
225
- const versionMatch = content.match(new RegExp(`<!-- ${toolName}:v([0-9.]+) -->`));
226
- if (versionMatch) {
227
- record.rulesPath = rulesPath;
228
- record.rulesVersion = versionMatch[1];
229
- }
230
- } catch {}
231
- }
232
-
233
- // Check for hooks (only on platforms that support hooks)
234
- if (def.hooks) {
235
- const hookDir = _path.join(require("os").homedir(), `.${toolName}`, "hooks");
236
- try {
237
- const hookFiles = _fs.readdirSync(hookDir).filter(f => f.endsWith(".js"));
238
- if (hookFiles.length > 0) {
239
- record.hookDir = hookDir;
240
- record.hookScripts = hookFiles;
241
- }
242
- } catch {}
243
- }
244
-
245
- trackInstall(toolName, pkg, id, record);
246
- count++;
247
- }
248
-
249
- return count;
250
- }
251
-
252
198
  // ─── Main ───────────────────────────────────────────────────
253
199
 
254
200
  const cmd = process.argv[2];
package/demo/setup.js CHANGED
@@ -14,9 +14,10 @@
14
14
  // 1. Platform detection (which AI tools are installed?)
15
15
  // 2. MCP server configuration (HTTP or stdio transport)
16
16
  // 3. Behavioral rules installation (versioned, marker-based)
17
- // 4. Lifecycle hooks (optional, platform-dependent)
18
- // 5. Uninstallation (clean removal of everything it installed)
19
- // 6. CLI output helpers (colors, prompts, clipboard)
17
+ // 4. Skills installation (SKILL.md files for agent discovery)
18
+ // 5. Lifecycle hooks (optional, platform-dependent)
19
+ // 6. Uninstallation (clean removal of everything it installed)
20
+ // 7. CLI output helpers (colors, prompts, clipboard)
20
21
  //
21
22
  // Everything is inline-documented. Copy this file as a starting
22
23
  // point for your own tool's setup script.
@@ -120,6 +121,40 @@ const equip = new Equip({
120
121
  // `,
121
122
  // },
122
123
  // ],
124
+
125
+ // Skills are optional. A skill is a SKILL.md file (Agent Skills
126
+ // spec) that agents auto-discover. Unlike MCP config and rules,
127
+ // the skill format is universal — same file works on all platforms.
128
+ skill: {
129
+ name: "lookup",
130
+ files: [
131
+ {
132
+ path: "SKILL.md",
133
+ content: `---
134
+ name: lookup
135
+ description: Look up Acme API docs for the current project's dependency version.
136
+ metadata:
137
+ author: acme-docs-demo
138
+ version: "${RULES_VERSION}"
139
+ ---
140
+
141
+ # Acme Docs Lookup
142
+
143
+ Use this skill when working with Acme APIs or libraries.
144
+
145
+ ## When to Use
146
+ - Before writing code that calls an Acme API
147
+ - When you see a deprecation warning from Acme
148
+ - When the user asks about Acme API signatures
149
+
150
+ ## How to Use
151
+ 1. Call the acme-docs MCP tool with the function name
152
+ 2. The tool returns versioned docs matching the project's dependency
153
+ 3. Use the returned signatures, not training data
154
+ `,
155
+ },
156
+ ],
157
+ },
123
158
  });
124
159
 
125
160
  // ─── 5. Detect platforms (shared by install and uninstall) ───
@@ -155,7 +190,7 @@ function detectTargetPlatforms() {
155
190
  async function runUninstall() {
156
191
  cli.log(`\n${cli.BOLD}@cg3/equip demo — uninstall${cli.RESET}\n`);
157
192
 
158
- cli.step(1, 3, "Detecting platforms");
193
+ cli.step(1, 4, "Detecting platforms");
159
194
  const platforms = detectTargetPlatforms();
160
195
 
161
196
  for (const p of platforms) {
@@ -163,7 +198,7 @@ async function runUninstall() {
163
198
  }
164
199
 
165
200
  // ── Remove MCP config ────────────────────────────────────
166
- cli.step(2, 3, "Removing MCP config");
201
+ cli.step(2, 4, "Removing MCP config");
167
202
 
168
203
  for (const p of platforms) {
169
204
  const removed = equip.uninstallMcp(p);
@@ -175,7 +210,7 @@ async function runUninstall() {
175
210
  }
176
211
 
177
212
  // ── Remove behavioral rules ──────────────────────────────
178
- cli.step(3, 3, "Removing behavioral rules");
213
+ cli.step(3, 4, "Removing behavioral rules");
179
214
 
180
215
  for (const p of platforms) {
181
216
  const removed = equip.uninstallRules(p);
@@ -186,6 +221,18 @@ async function runUninstall() {
186
221
  }
187
222
  }
188
223
 
224
+ // ── Remove skills ──────────────────────────────────────
225
+ cli.step(4, 4, "Removing skills");
226
+
227
+ for (const p of platforms) {
228
+ const removed = equip.uninstallSkill(p);
229
+ if (removed) {
230
+ cli.ok(`${platformName(p.platform)} → skill removed`);
231
+ } else {
232
+ cli.info(`${platformName(p.platform)} → no skill found`);
233
+ }
234
+ }
235
+
189
236
  cli.log(`\n${cli.GREEN}${cli.BOLD}✓ Uninstall complete${cli.RESET}`);
190
237
  cli.log(` Demo config for "${TOOL_NAME}" has been cleaned up.\n`);
191
238
  }
@@ -215,7 +262,7 @@ async function runInstall() {
215
262
  //
216
263
  // You can also force a specific platform with createManualPlatform().
217
264
 
218
- cli.step(1, 4, "Detecting platforms");
265
+ cli.step(1, 5, "Detecting platforms");
219
266
 
220
267
  const platforms = detectTargetPlatforms();
221
268
 
@@ -229,7 +276,7 @@ async function runInstall() {
229
276
  // In a real setup script, you'd prompt for or generate an
230
277
  // API key here. For the demo, we use a placeholder.
231
278
 
232
- cli.step(2, 4, "API key");
279
+ cli.step(2, 5, "API key");
233
280
 
234
281
  // Real example:
235
282
  // const apiKey = await cli.prompt(" Enter your API key: ");
@@ -243,11 +290,11 @@ async function runInstall() {
243
290
  // installMcp() handles all platform differences:
244
291
  // - JSON vs TOML config formats
245
292
  // - Different root keys (mcpServers vs servers vs mcp_servers)
246
- // - CLI-first installation (claude mcp add, cursor --add-mcp)
247
- // - Fallback to direct file write with backup
293
+ // - Different URL fields (url vs serverUrl vs httpUrl)
294
+ // - Atomic file writes with crash safety
248
295
  // - Windows path handling (cmd /c wrapper for stdio)
249
296
 
250
- cli.step(3, 4, "Installing MCP config");
297
+ cli.step(3, 5, "Installing MCP config");
251
298
 
252
299
  for (const p of platforms) {
253
300
  const result = equip.installMcp(p, apiKey, { dryRun });
@@ -272,7 +319,7 @@ async function runInstall() {
272
319
  // Platforms without a rules file (Cursor, VS Code) get the
273
320
  // content copied to clipboard instead.
274
321
 
275
- cli.step(4, 4, "Installing behavioral rules");
322
+ cli.step(4, 5, "Installing behavioral rules");
276
323
 
277
324
  for (const p of platforms) {
278
325
  const result = equip.installRules(p, { dryRun });
@@ -300,6 +347,32 @@ async function runInstall() {
300
347
  }
301
348
  }
302
349
 
350
+ // ── Step 5: Install skills ──────────────────────────────
351
+ //
352
+ // Skills are SKILL.md files (Agent Skills spec) that agents
353
+ // auto-discover from standard directories. Unlike MCP config,
354
+ // the skill format is universal — same file works on all
355
+ // platforms. Equip installs to each platform's native skill
356
+ // directory, or ~/.agents/skills/ for platforms without one.
357
+
358
+ cli.step(5, 5, "Installing skills");
359
+
360
+ for (const p of platforms) {
361
+ const result = equip.installSkill(p, { dryRun });
362
+ switch (result.action) {
363
+ case "created":
364
+ cli.ok(`${platformName(p.platform)} → skill installed`);
365
+ break;
366
+ case "skipped":
367
+ if (p.skillsPath) {
368
+ cli.info(`${platformName(p.platform)} → skill already current`);
369
+ } else {
370
+ cli.info(`${platformName(p.platform)} → no skills support`);
371
+ }
372
+ break;
373
+ }
374
+ }
375
+
303
376
  // ── Done ──────────────────────────────────────────────────
304
377
 
305
378
  cli.log(`\n${cli.GREEN}${cli.BOLD}✓ Setup complete${cli.RESET}`);
package/dist/index.d.ts CHANGED
@@ -2,6 +2,7 @@ import { parseRulesVersion, markerPatterns } from "./lib/rules";
2
2
  import { type HookDefinition } from "./lib/hooks";
3
3
  import { createManualPlatform, platformName, resolvePlatformId, KNOWN_PLATFORMS, PLATFORM_REGISTRY, getPlatform, type DetectedPlatform, type PlatformDefinition, type PlatformHttpShape, type PlatformHookCapabilities } from "./lib/platforms";
4
4
  import * as cli from "./lib/cli";
5
+ import { type SkillConfig, type SkillFile } from "./lib/skills";
5
6
  export interface EquipConfig {
6
7
  name: string;
7
8
  serverUrl?: string;
@@ -19,6 +20,7 @@ export interface EquipConfig {
19
20
  };
20
21
  hooks?: HookDefinition[];
21
22
  hookDir?: string;
23
+ skill?: SkillConfig;
22
24
  }
23
25
  /**
24
26
  * Equip — configure AI coding tools with your MCP server and behavioral rules.
@@ -30,6 +32,7 @@ declare class Equip {
30
32
  stdio: EquipConfig["stdio"] | null;
31
33
  hookDefs: HookDefinition[] | null;
32
34
  hookDir: string;
35
+ skill: SkillConfig | null;
33
36
  constructor(config: EquipConfig);
34
37
  detect(): DetectedPlatform[];
35
38
  buildConfig(platformId: string, apiKey: string, transport?: string): Record<string, unknown>;
@@ -68,7 +71,29 @@ declare class Equip {
68
71
  hookDir?: string;
69
72
  }): boolean;
70
73
  supportsHooks(platform: DetectedPlatform): boolean;
74
+ installSkill(platform: DetectedPlatform, options?: {
75
+ dryRun?: boolean;
76
+ }): {
77
+ action: string;
78
+ };
79
+ uninstallSkill(platform: DetectedPlatform, dryRun?: boolean): boolean;
80
+ hasSkill(platform: DetectedPlatform): boolean;
81
+ /**
82
+ * Verify that a tool is correctly installed on a platform.
83
+ * Returns a structured result with per-check status.
84
+ */
85
+ verify(platform: DetectedPlatform): VerifyResult;
86
+ }
87
+ export interface VerifyCheck {
88
+ name: string;
89
+ ok: boolean;
90
+ detail: string;
91
+ }
92
+ export interface VerifyResult {
93
+ platform: string;
94
+ ok: boolean;
95
+ checks: VerifyCheck[];
71
96
  }
72
97
  export { Equip, createManualPlatform, platformName, resolvePlatformId, KNOWN_PLATFORMS, PLATFORM_REGISTRY, getPlatform, parseRulesVersion, markerPatterns, cli, };
73
- export type { DetectedPlatform, PlatformDefinition, PlatformHttpShape, PlatformHookCapabilities, HookDefinition };
98
+ export type { DetectedPlatform, PlatformDefinition, PlatformHttpShape, PlatformHookCapabilities, HookDefinition, SkillConfig, SkillFile };
74
99
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -43,6 +43,7 @@ const mcp_1 = require("./lib/mcp");
43
43
  const rules_1 = require("./lib/rules");
44
44
  Object.defineProperty(exports, "parseRulesVersion", { enumerable: true, get: function () { return rules_1.parseRulesVersion; } });
45
45
  Object.defineProperty(exports, "markerPatterns", { enumerable: true, get: function () { return rules_1.markerPatterns; } });
46
+ const fs = __importStar(require("fs"));
46
47
  const hooks_1 = require("./lib/hooks");
47
48
  const platforms_1 = require("./lib/platforms");
48
49
  Object.defineProperty(exports, "createManualPlatform", { enumerable: true, get: function () { return platforms_1.createManualPlatform; } });
@@ -53,6 +54,7 @@ Object.defineProperty(exports, "PLATFORM_REGISTRY", { enumerable: true, get: fun
53
54
  Object.defineProperty(exports, "getPlatform", { enumerable: true, get: function () { return platforms_1.getPlatform; } });
54
55
  const cli = __importStar(require("./lib/cli"));
55
56
  exports.cli = cli;
57
+ const skills_1 = require("./lib/skills");
56
58
  /**
57
59
  * Equip — configure AI coding tools with your MCP server and behavioral rules.
58
60
  */
@@ -63,6 +65,7 @@ class Equip {
63
65
  stdio;
64
66
  hookDefs;
65
67
  hookDir;
68
+ skill;
66
69
  constructor(config) {
67
70
  if (!config.name)
68
71
  throw new Error("Equip: name is required");
@@ -74,6 +77,7 @@ class Equip {
74
77
  this.stdio = config.stdio || null;
75
78
  this.hookDefs = config.hooks || null;
76
79
  this.hookDir = config.hookDir || path.join(os.homedir(), `.${config.name}`, "hooks");
80
+ this.skill = config.skill || null;
77
81
  }
78
82
  detect() {
79
83
  return (0, detect_1.detectPlatforms)(this.name);
@@ -141,6 +145,79 @@ class Equip {
141
145
  supportsHooks(platform) {
142
146
  return !!this.hookDefs && this.hookDefs.length > 0 && !!(0, hooks_1.getHookCapabilities)(platform.platform);
143
147
  }
148
+ installSkill(platform, options = {}) {
149
+ if (!this.skill)
150
+ return { action: "skipped" };
151
+ return (0, skills_1.installSkill)(platform, this.name, this.skill, options);
152
+ }
153
+ uninstallSkill(platform, dryRun = false) {
154
+ if (!this.skill)
155
+ return false;
156
+ return (0, skills_1.uninstallSkill)(platform, this.name, this.skill.name, dryRun);
157
+ }
158
+ hasSkill(platform) {
159
+ if (!this.skill)
160
+ return false;
161
+ return (0, skills_1.hasSkill)(platform, this.name, this.skill.name);
162
+ }
163
+ /**
164
+ * Verify that a tool is correctly installed on a platform.
165
+ * Returns a structured result with per-check status.
166
+ */
167
+ verify(platform) {
168
+ const checks = [];
169
+ // Check MCP config entry
170
+ const mcpEntry = this.readMcp(platform);
171
+ checks.push({
172
+ name: "mcp",
173
+ ok: !!mcpEntry,
174
+ detail: mcpEntry ? "MCP config entry present" : "MCP config entry missing",
175
+ });
176
+ // Check rules (if configured and platform supports them)
177
+ if (this.rules && platform.rulesPath) {
178
+ let rulesOk = false;
179
+ let rulesDetail = "Rules file not found";
180
+ try {
181
+ const content = fs.readFileSync(platform.rulesPath, "utf-8");
182
+ const version = (0, rules_1.parseRulesVersion)(content, this.rules.marker);
183
+ if (version === this.rules.version) {
184
+ rulesOk = true;
185
+ rulesDetail = `Rules v${version} present`;
186
+ }
187
+ else if (version) {
188
+ rulesDetail = `Rules version mismatch: installed v${version}, expected v${this.rules.version}`;
189
+ }
190
+ else {
191
+ rulesDetail = "Rules marker block not found";
192
+ }
193
+ }
194
+ catch { /* file not readable */ }
195
+ checks.push({ name: "rules", ok: rulesOk, detail: rulesDetail });
196
+ }
197
+ // Check hooks (if configured and platform supports them)
198
+ if (this.hookDefs && this.hookDefs.length > 0 && this.supportsHooks(platform)) {
199
+ const hooksInstalled = this.hasHooks(platform);
200
+ checks.push({
201
+ name: "hooks",
202
+ ok: hooksInstalled,
203
+ detail: hooksInstalled ? `${this.hookDefs.length} hook${this.hookDefs.length === 1 ? "" : "s"} registered` : "Hooks not registered",
204
+ });
205
+ }
206
+ // Check skills (if configured and platform supports them)
207
+ if (this.skill && platform.skillsPath) {
208
+ const skillInstalled = this.hasSkill(platform);
209
+ checks.push({
210
+ name: "skills",
211
+ ok: skillInstalled,
212
+ detail: skillInstalled ? `Skill "${this.skill.name}" installed` : `Skill "${this.skill.name}" not found`,
213
+ });
214
+ }
215
+ return {
216
+ platform: platform.platform,
217
+ ok: checks.every(c => c.ok),
218
+ checks,
219
+ };
220
+ }
144
221
  }
145
222
  exports.Equip = Equip;
146
223
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../../src/lib/commands/doctor.ts"],"names":[],"mappings":"AASA,wBAAgB,SAAS,IAAI,IAAI,CAiJhC"}
1
+ {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../../src/lib/commands/doctor.ts"],"names":[],"mappings":"AASA,wBAAgB,SAAS,IAAI,IAAI,CA8JhC"}
@@ -139,13 +139,26 @@ function runDoctor() {
139
139
  }
140
140
  }
141
141
  }
142
+ // Check skills if tracked
143
+ let skillsOk = true;
144
+ if (record.skillsPath && record.skillName) {
145
+ checks++;
146
+ const skillMd = require("path").join(record.skillsPath, record.skillName, "SKILL.md");
147
+ if (!(0, detect_1.fileExists)(skillMd)) {
148
+ cli.warn(` ${def.name}: skill "${record.skillName}" missing (${sanitizePath(skillMd)})`);
149
+ issues++;
150
+ skillsOk = false;
151
+ }
152
+ }
142
153
  // Summary line for this platform
143
154
  const parts = ["config"];
144
155
  if (record.rulesVersion && rulesOk)
145
156
  parts.push(`rules v${record.rulesVersion}`);
146
157
  if (record.hookScripts && record.hookScripts.length > 0 && hooksOk)
147
158
  parts.push(`${record.hookScripts.length} hook${record.hookScripts.length === 1 ? "" : "s"}`);
148
- if (rulesOk && hooksOk) {
159
+ if (record.skillName && skillsOk)
160
+ parts.push(`skill "${record.skillName}"`);
161
+ if (rulesOk && hooksOk && skillsOk) {
149
162
  cli.ok(` ${def.name}: ${parts.join(" + ")}`);
150
163
  }
151
164
  }
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../../src/lib/commands/doctor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../../src/lib/commands/doctor.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../src/lib/commands/update.ts"],"names":[],"mappings":"AAQA,wBAAgB,SAAS,IAAI,IAAI,CA2ChC"}
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../../src/lib/commands/update.ts"],"names":[],"mappings":"AAOA,wBAAgB,SAAS,IAAI,IAAI,CA2ChC"}
@@ -36,9 +36,8 @@ var __importStar = (this && this.__importStar) || (function () {
36
36
  Object.defineProperty(exports, "__esModule", { value: true });
37
37
  exports.runUpdate = runUpdate;
38
38
  const child_process_1 = require("child_process");
39
- const fs = __importStar(require("fs"));
40
- const path = __importStar(require("path"));
41
39
  const state_1 = require("../state");
40
+ const fs_1 = require("../fs");
42
41
  const cli = __importStar(require("../cli"));
43
42
  function runUpdate() {
44
43
  cli.log(`\n${cli.BOLD}equip update${cli.RESET}\n`);
@@ -82,13 +81,7 @@ function runUpdate() {
82
81
  cli.log(`\n${cli.GREEN}${cli.BOLD}Update complete${cli.RESET}\n`);
83
82
  }
84
83
  function getInstalledVersion() {
85
- try {
86
- const pkg = JSON.parse(fs.readFileSync(path.join(__dirname, "..", "..", "..", "package.json"), "utf-8"));
87
- return pkg.version;
88
- }
89
- catch {
90
- return "unknown";
91
- }
84
+ return (0, fs_1.resolvePackageVersion)(__dirname);
92
85
  }
93
86
  function getGlobalVersion() {
94
87
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/lib/commands/update.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../../src/lib/commands/update.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"detect.d.ts","sourceRoot":"","sources":["../../src/lib/detect.ts"],"names":[],"mappings":"AAOA,OAAO,EAAqB,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAKvE,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAKpD;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAE5C;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAE7C;AAID;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,gBAAgB,EAAE,CA6BvE"}
1
+ {"version":3,"file":"detect.d.ts","sourceRoot":"","sources":["../../src/lib/detect.ts"],"names":[],"mappings":"AAOA,OAAO,EAAqB,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAKvE,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAKpD;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAE5C;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAE7C;AAID;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,gBAAgB,EAAE,CA+BvE"}
@@ -93,10 +93,12 @@ function detectPlatforms(serverName) {
93
93
  continue;
94
94
  const configPath = def.configPath();
95
95
  const rulesPath = def.rulesPath ? def.rulesPath() : null;
96
+ const skillsPath = def.skillsPath ? def.skillsPath() : null;
96
97
  platforms.push({
97
98
  platform: def.id,
98
99
  configPath,
99
100
  rulesPath,
101
+ skillsPath,
100
102
  existingMcp: serverName ? (0, mcp_1.readMcpEntry)(configPath, def.rootKey, serverName, def.configFormat) : null,
101
103
  rootKey: def.rootKey,
102
104
  configFormat: def.configFormat,
@@ -1 +1 @@
1
- {"version":3,"file":"detect.js","sourceRoot":"","sources":["../../src/lib/detect.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"detect.js","sourceRoot":"","sources":["../../src/lib/detect.ts"],"names":[],"mappings":"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"}