@calibrate-ds/cli 0.1.13 → 0.1.15

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 (52) hide show
  1. package/README.md +33 -70
  2. package/dist/commands/dev.d.ts +4 -0
  3. package/dist/commands/dev.d.ts.map +1 -0
  4. package/dist/commands/dev.js +143 -0
  5. package/dist/commands/dev.js.map +1 -0
  6. package/dist/commands/implement.d.ts.map +1 -1
  7. package/dist/commands/implement.js +56 -16
  8. package/dist/commands/implement.js.map +1 -1
  9. package/dist/commands/init.d.ts.map +1 -1
  10. package/dist/commands/init.js +76 -37
  11. package/dist/commands/init.js.map +1 -1
  12. package/dist/commands/mcp.d.ts +1 -0
  13. package/dist/commands/mcp.d.ts.map +1 -1
  14. package/dist/commands/mcp.js +36 -0
  15. package/dist/commands/mcp.js.map +1 -1
  16. package/dist/commands/status.d.ts +1 -0
  17. package/dist/commands/status.d.ts.map +1 -1
  18. package/dist/commands/status.js +144 -60
  19. package/dist/commands/status.js.map +1 -1
  20. package/dist/commands/verify.d.ts.map +1 -1
  21. package/dist/commands/verify.js +29 -251
  22. package/dist/commands/verify.js.map +1 -1
  23. package/dist/index.js +16 -4
  24. package/dist/index.js.map +1 -1
  25. package/dist/mcp/server.d.ts +1 -0
  26. package/dist/mcp/server.d.ts.map +1 -1
  27. package/dist/mcp/server.js +1 -1
  28. package/dist/mcp/server.js.map +1 -1
  29. package/dist/mcp/tools/action-tools.d.ts.map +1 -1
  30. package/dist/mcp/tools/action-tools.js +289 -22
  31. package/dist/mcp/tools/action-tools.js.map +1 -1
  32. package/dist/mcp/tools/governance-tools.d.ts.map +1 -1
  33. package/dist/mcp/tools/governance-tools.js +290 -0
  34. package/dist/mcp/tools/governance-tools.js.map +1 -1
  35. package/dist/mcp/tools/info-tools.d.ts.map +1 -1
  36. package/dist/mcp/tools/info-tools.js +6 -4
  37. package/dist/mcp/tools/info-tools.js.map +1 -1
  38. package/dist/mcp/tools/setup-mcp-tool.d.ts +22 -0
  39. package/dist/mcp/tools/setup-mcp-tool.d.ts.map +1 -0
  40. package/dist/mcp/tools/setup-mcp-tool.js +150 -0
  41. package/dist/mcp/tools/setup-mcp-tool.js.map +1 -0
  42. package/dist/mcp/tools/verify-tool.d.ts.map +1 -1
  43. package/dist/mcp/tools/verify-tool.js +71 -3
  44. package/dist/mcp/tools/verify-tool.js.map +1 -1
  45. package/dist/utils/storybook-setup.d.ts.map +1 -1
  46. package/dist/utils/storybook-setup.js +7 -2
  47. package/dist/utils/storybook-setup.js.map +1 -1
  48. package/dist/verify/run-verify.d.ts +16 -0
  49. package/dist/verify/run-verify.d.ts.map +1 -0
  50. package/dist/verify/run-verify.js +217 -0
  51. package/dist/verify/run-verify.js.map +1 -0
  52. package/package.json +5 -5
@@ -1,9 +1,21 @@
1
1
  import * as fs from "node:fs/promises";
2
2
  import * as path from "node:path";
3
+ import { execSync } from "node:child_process";
3
4
  import { z } from "zod";
5
+ import { computeDesignDiff, loadPreviousSnapshot } from "@calibrate-ds/core";
4
6
  function toSlug(name) {
5
7
  return name.toLowerCase().trim().replace(/[^a-z0-9]+/g, "-").replace(/^-+|-+$/g, "");
6
8
  }
9
+ function getGitIdentity() {
10
+ try {
11
+ const n = execSync("git config user.name", { encoding: "utf-8" }).trim();
12
+ const e = execSync("git config user.email", { encoding: "utf-8" }).trim();
13
+ return n && e ? `${n} <${e}>` : n || e || "unknown";
14
+ }
15
+ catch {
16
+ return "unknown";
17
+ }
18
+ }
7
19
  async function loadLock(workspaceRoot) {
8
20
  try {
9
21
  const raw = await fs.readFile(path.join(workspaceRoot, "ptb.lock"), "utf-8");
@@ -13,6 +25,22 @@ async function loadLock(workspaceRoot) {
13
25
  return null;
14
26
  }
15
27
  }
28
+ function parseSinceCutoff(since) {
29
+ if (!since)
30
+ return new Date(Date.now() - 24 * 60 * 60 * 1000);
31
+ const match = since.match(/^(\d+)(h|d)$/i);
32
+ if (match) {
33
+ const n = parseInt(match[1], 10);
34
+ const ms = match[2].toLowerCase() === "h" ? n * 3_600_000 : n * 86_400_000;
35
+ return new Date(Date.now() - ms);
36
+ }
37
+ const parsed = new Date(since);
38
+ return isNaN(parsed.getTime()) ? new Date(Date.now() - 24 * 60 * 60 * 1000) : parsed;
39
+ }
40
+ const PRIORITY_ORDER = { p0: 0, p1: 1, p2: 2, p3: 3 };
41
+ function priorityRank(p) {
42
+ return p !== undefined ? (PRIORITY_ORDER[p] ?? 4) : 4;
43
+ }
16
44
  export const governanceTools = {
17
45
  name: "governance",
18
46
  register(server, getContext) {
@@ -175,6 +203,268 @@ export const governanceTools = {
175
203
  }
176
204
  return { content: [{ type: "text", text: JSON.stringify({ tokenName, affectedComponents: affected }, null, 2) }] };
177
205
  });
206
+ server.tool("run_diff", "Get a diff of design system changes: what components and tokens were added, modified, or removed since the last scan or stamp. Call this when the user asks what changed in the design system, what's new from Figma, which components need re-implementation, or anything equivalent to 'ptb diff'.", async () => {
207
+ let ctx;
208
+ try {
209
+ ctx = await getContext();
210
+ }
211
+ catch (e) {
212
+ return { content: [{ type: "text", text: e.message }] };
213
+ }
214
+ const { workspaceRoot, metadataDir } = ctx;
215
+ const historyDir = path.join(metadataDir, "history");
216
+ const currentModel = ctx.snapshot;
217
+ let previousModel;
218
+ let previousLabel = "unknown";
219
+ // 1. ptb.lock: stale components with a stampedSnapshotFile → compare from that stamp
220
+ const lock = await loadLock(workspaceRoot);
221
+ if (lock) {
222
+ const staleEntries = Object.entries(lock.components).filter(([, e]) => e.stampedHash && e.stampedHash !== e.designHash);
223
+ if (staleEntries.length > 0) {
224
+ const withFile = staleEntries
225
+ .filter(([, e]) => e.stampedSnapshotFile)
226
+ .map(([, e]) => e.stampedSnapshotFile);
227
+ if (withFile.length > 0) {
228
+ const baselineFile = withFile.sort()[0];
229
+ try {
230
+ const raw = await fs.readFile(path.join(historyDir, baselineFile), "utf-8");
231
+ previousModel = JSON.parse(raw);
232
+ previousLabel = `history/${baselineFile}`;
233
+ }
234
+ catch { /* fall through */ }
235
+ }
236
+ }
237
+ }
238
+ // 2. Explicit baseline written by `ptb diff clear`
239
+ if (!previousModel) {
240
+ try {
241
+ const raw = await fs.readFile(path.join(metadataDir, "diff-baseline.json"), "utf-8");
242
+ previousModel = JSON.parse(raw);
243
+ previousLabel = "diff-baseline.json";
244
+ }
245
+ catch { /* fall through */ }
246
+ }
247
+ // 3. Most recent distinct snapshot in history
248
+ if (!previousModel) {
249
+ const prev = await loadPreviousSnapshot(ctx.config);
250
+ if (prev) {
251
+ previousModel = prev.model;
252
+ previousLabel = `history/${prev.filename}`;
253
+ }
254
+ }
255
+ if (!previousModel) {
256
+ return { content: [{ type: "text", text: "No previous snapshot found. This appears to be the first scan — run 'ptb scan' again after the next design update to see what changed." }] };
257
+ }
258
+ const diff = computeDesignDiff(previousModel, currentModel);
259
+ if (diff.addedCount === 0 && diff.modifiedCount === 0 && diff.deletedCount === 0) {
260
+ return { content: [{ type: "text", text: JSON.stringify({ comparing: { current: "latest.json", previous: previousLabel }, totalChanges: 0, message: "No design system changes detected." }, null, 2) }] };
261
+ }
262
+ const componentChanges = diff.changes.filter(c => c.entityType === "component");
263
+ const tokenChanges = diff.changes.filter(c => c.entityType !== "component");
264
+ const result = {
265
+ comparing: { current: "latest.json", previous: previousLabel },
266
+ totalChanges: diff.addedCount + diff.modifiedCount + diff.deletedCount,
267
+ components: {
268
+ added: componentChanges
269
+ .filter(c => c.changeType === "added")
270
+ .map(c => ({ name: c.newValue?.name || c.entityId, id: c.entityId })),
271
+ modified: componentChanges
272
+ .filter(c => c.changeType === "modified")
273
+ .map(c => ({
274
+ name: c.newValue?.name || c.previousValue?.name || c.entityId,
275
+ id: c.entityId,
276
+ changes: c.details || [],
277
+ })),
278
+ removed: componentChanges
279
+ .filter(c => c.changeType === "deleted")
280
+ .map(c => ({ name: c.previousValue?.name || c.entityId, id: c.entityId })),
281
+ },
282
+ tokens: tokenChanges.map(c => ({
283
+ name: c.newValue?.name || c.previousValue?.name || c.entityId,
284
+ changeType: c.changeType,
285
+ changes: c.details || [],
286
+ })),
287
+ };
288
+ return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
289
+ });
290
+ server.tool("my_queue", `Get your assigned implementation work queue — what to work on, in priority order.
291
+
292
+ Returns components assigned to you (or a specified user) sorted by urgency:
293
+ 1. Stale assignments (you implemented it but design changed — fix first)
294
+ 2. In-progress work (already started)
295
+ 3. Ready-to-start, sorted by priority (p0→p3) then dueAt
296
+ 4. Blocked (unbuilt dependencies) — shown last with blocker details
297
+
298
+ Each entry includes a startCommand to begin immediately.`, { user: z.string().optional().describe("Git identity to query (e.g. 'Alice <alice@co.com>'). Defaults to current git user.") }, async ({ user }) => {
299
+ let ctx;
300
+ try {
301
+ ctx = await getContext();
302
+ }
303
+ catch (e) {
304
+ return { content: [{ type: "text", text: e.message }] };
305
+ }
306
+ const lock = await loadLock(ctx.workspaceRoot);
307
+ if (!lock) {
308
+ return { content: [{ type: "text", text: "No ptb.lock found. Run export_context first." }] };
309
+ }
310
+ const identity = user ?? getGitIdentity();
311
+ const assigned = Object.entries(lock.components).filter(([, e]) => e.assignedTo && (e.assignedTo === identity || e.assignedTo.includes(identity.split(" ")[0])));
312
+ if (assigned.length === 0) {
313
+ return { content: [{ type: "text", text: `No components assigned to '${identity}'.` }] };
314
+ }
315
+ const queue = assigned.map(([slug, entry]) => {
316
+ // Determine implementation status
317
+ const isStale = !!(entry.stampedHash && entry.stampedHash !== entry.designHash);
318
+ const isStamped = !!(entry.stampedHash && entry.stampedHash === entry.designHash);
319
+ const designStatus = isStale ? "stale" : isStamped ? "stamped" : "unstamped";
320
+ // Check dependencies
321
+ const comp = ctx.snapshot.components.find((c) => toSlug(c.name) === slug);
322
+ let blockedBy = [];
323
+ if (comp) {
324
+ const depIds = new Set([
325
+ ...(comp.dependencies ?? []),
326
+ ...(comp.dependencyInstances ?? [])
327
+ .map((di) => di.componentId)
328
+ .filter(Boolean),
329
+ ]);
330
+ depIds.delete(comp.id);
331
+ const depComponents = ctx.snapshot.components.filter((c) => depIds.has(c.id));
332
+ blockedBy = depComponents
333
+ .map((dep) => {
334
+ const depSlug = toSlug(dep.name);
335
+ const depEntry = lock.components[depSlug];
336
+ const ready = !!(depEntry?.stampedHash && depEntry.stampedHash === depEntry.designHash);
337
+ return ready ? null : { name: dep.name, slug: depSlug, status: depEntry?.stampedHash ? "stale" : "unbuilt" };
338
+ })
339
+ .filter(Boolean);
340
+ }
341
+ const isBlocked = blockedBy.length > 0;
342
+ const workStatus = entry.workStatus ?? "assigned";
343
+ // Sort tier: stale=0, started=1, assigned=2, blocked=3, stamped=4
344
+ let tier;
345
+ if (isStale && workStatus !== "stamped")
346
+ tier = 0;
347
+ else if (workStatus === "started")
348
+ tier = 1;
349
+ else if (isBlocked)
350
+ tier = 3;
351
+ else if (workStatus === "stamped")
352
+ tier = 4;
353
+ else
354
+ tier = 2;
355
+ return {
356
+ name: entry.displayName,
357
+ slug,
358
+ designStatus,
359
+ workStatus,
360
+ priority: entry.priority ?? null,
361
+ dueAt: entry.dueAt ?? null,
362
+ assignedBy: entry.assignedBy ?? null,
363
+ note: entry.assignedNote ?? null,
364
+ acceptanceCriteria: entry.acceptanceCriteria ?? [],
365
+ blockedBy,
366
+ startCommand: `start_work("${entry.displayName}")`,
367
+ _tier: tier,
368
+ };
369
+ });
370
+ queue.sort((a, b) => {
371
+ if (a._tier !== b._tier)
372
+ return a._tier - b._tier;
373
+ const pDiff = priorityRank(a.priority ?? undefined) - priorityRank(b.priority ?? undefined);
374
+ if (pDiff !== 0)
375
+ return pDiff;
376
+ if (a.dueAt && b.dueAt)
377
+ return a.dueAt.localeCompare(b.dueAt);
378
+ if (a.dueAt)
379
+ return -1;
380
+ if (b.dueAt)
381
+ return 1;
382
+ return a.name.localeCompare(b.name);
383
+ });
384
+ const items = queue.map(({ _tier: _t, ...rest }) => rest);
385
+ return { content: [{ type: "text", text: JSON.stringify({ user: identity, queue: items }, null, 2) }] };
386
+ });
387
+ server.tool("whats_new", `Show what changed in the design system since a given point in time.
388
+
389
+ Returns:
390
+ - newComponents: components first added to ptb.lock since the cutoff
391
+ - becameStale: components whose stamp is older than the cutoff and design has changed
392
+ - recentlyStamped: components stamped since the cutoff
393
+ - recentlyAssigned: components assigned since the cutoff
394
+
395
+ Use since='24h', '7d', '30d', or an ISO date string. Defaults to 24h.`, { since: z.string().optional().describe("Cutoff: '24h', '7d', '30d', or ISO date. Defaults to '24h'.") }, async ({ since }) => {
396
+ let ctx;
397
+ try {
398
+ ctx = await getContext();
399
+ }
400
+ catch (e) {
401
+ return { content: [{ type: "text", text: e.message }] };
402
+ }
403
+ const lock = await loadLock(ctx.workspaceRoot);
404
+ if (!lock) {
405
+ return { content: [{ type: "text", text: "No ptb.lock found. Run export_context first." }] };
406
+ }
407
+ const cutoff = parseSinceCutoff(since);
408
+ const cutoffISO = cutoff.toISOString();
409
+ const newComponents = [];
410
+ const becameStale = [];
411
+ const recentlyStamped = [];
412
+ const recentlyAssigned = [];
413
+ for (const [slug, entry] of Object.entries(lock.components)) {
414
+ if (entry.addedAt && entry.addedAt >= cutoffISO) {
415
+ newComponents.push({
416
+ name: entry.displayName,
417
+ slug,
418
+ addedAt: entry.addedAt,
419
+ assignedTo: entry.assignedTo ?? null,
420
+ });
421
+ }
422
+ if (entry.stampedHash && entry.stampedHash !== entry.designHash) {
423
+ const stampedAt = entry.stampedAt;
424
+ if (!stampedAt || stampedAt < cutoffISO) {
425
+ becameStale.push({
426
+ name: entry.displayName,
427
+ slug,
428
+ stampedAt: stampedAt ?? null,
429
+ stampedBy: entry.stampedBy ?? null,
430
+ assignedTo: entry.assignedTo ?? null,
431
+ });
432
+ }
433
+ }
434
+ if (entry.stampedAt && entry.stampedAt >= cutoffISO) {
435
+ recentlyStamped.push({
436
+ name: entry.displayName,
437
+ slug,
438
+ stampedAt: entry.stampedAt,
439
+ stampedBy: entry.stampedBy ?? null,
440
+ });
441
+ }
442
+ if (entry.assignedAt && entry.assignedAt >= cutoffISO) {
443
+ recentlyAssigned.push({
444
+ name: entry.displayName,
445
+ slug,
446
+ assignedTo: entry.assignedTo ?? null,
447
+ assignedBy: entry.assignedBy ?? null,
448
+ assignedAt: entry.assignedAt,
449
+ priority: entry.priority ?? null,
450
+ });
451
+ }
452
+ }
453
+ const total = newComponents.length + becameStale.length + recentlyStamped.length + recentlyAssigned.length;
454
+ return {
455
+ content: [{
456
+ type: "text",
457
+ text: JSON.stringify({
458
+ since: cutoffISO,
459
+ totalEvents: total,
460
+ newComponents,
461
+ becameStale,
462
+ recentlyStamped,
463
+ recentlyAssigned,
464
+ }, null, 2),
465
+ }],
466
+ };
467
+ });
178
468
  },
179
469
  };
180
470
  //# sourceMappingURL=governance-tools.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"governance-tools.js","sourceRoot":"","sources":["../../../src/mcp/tools/governance-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"governance-tools.js","sourceRoot":"","sources":["../../../src/mcp/tools/governance-tools.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"info-tools.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/info-tools.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAsEnD,eAAO,MAAM,SAAS,EAAE,YAkLvB,CAAC"}
1
+ {"version":3,"file":"info-tools.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/info-tools.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAsEnD,eAAO,MAAM,SAAS,EAAE,YAoLvB,CAAC"}
@@ -132,7 +132,7 @@ Call this after ptb init to drive the full guided setup without the user needing
132
132
  canAutoRun: false,
133
133
  action: tokenSet
134
134
  ? null
135
- : `The MCP server needs the token in its own environment (not just your terminal).\nMac: run in terminal: launchctl setenv ${tokenEnv} your_token\nThen fully quit and relaunch your IDE.\nGet your token: Figma → Account Settings → Security → Generate New Token`,
135
+ : `The MCP server needs the token in its own environment (not just your terminal).\n\nMac (dock-launched IDEs): run in terminal:\n launchctl setenv ${tokenEnv} your_token\nThen FULLY QUIT and relaunch your IDE — not just reload the window.\nIf you already ran launchctl setenv but still see this error, the MCP server started before the token was set. A full IDE quit-and-relaunch is required.\n\nAlternatively, launch your IDE from the terminal so it inherits your shell env:\n export ${tokenEnv}=your_token && cursor . (or code .)\n\nGet your token: Figma → Account Settings → Security → Generate New Token`,
136
136
  });
137
137
  // Step 3 — snapshot exists
138
138
  const snapshotPath = path.join(workspaceRoot, ".ptb", "latest.json");
@@ -148,11 +148,13 @@ Call this after ptb init to drive the full guided setup without the user needing
148
148
  action: hasSnapshot ? null : "Call run_scan",
149
149
  });
150
150
  // Step 4 — context exported
151
- const contextDir = path.join(workspaceRoot, ".ptb", "context");
151
+ // Files are written to .ptb/context/components/ (not the flat .ptb/context/ dir).
152
+ const contextDir = path.join(workspaceRoot, ".ptb", "context", "components");
152
153
  let contextCount = 0;
153
154
  try {
154
155
  const files = await fs.readdir(contextDir);
155
- contextCount = files.filter((f) => f.endsWith(".json")).length;
156
+ // Exclude index.json which is always present after export
157
+ contextCount = files.filter((f) => f.endsWith(".json") && f !== "index.json").length;
156
158
  }
157
159
  catch { /* not yet */ }
158
160
  steps.push({
@@ -160,7 +162,7 @@ Call this after ptb init to drive the full guided setup without the user needing
160
162
  name: "Export component context files",
161
163
  status: contextCount > 0 ? "done" : hasSnapshot ? "pending" : "blocked",
162
164
  blockedReason: !hasSnapshot ? "Complete step 3 first" : undefined,
163
- details: contextCount > 0 ? `${contextCount} context files in .ptb/context/` : null,
165
+ details: contextCount > 0 ? `${contextCount} context files in .ptb/context/components/` : null,
164
166
  canAutoRun: hasSnapshot,
165
167
  mcpTool: "export_context",
166
168
  action: contextCount > 0 ? null : "Call export_context",
@@ -1 +1 @@
1
- {"version":3,"file":"info-tools.js","sourceRoot":"","sources":["../../../src/mcp/tools/info-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"info-tools.js","sourceRoot":"","sources":["../../../src/mcp/tools/info-tools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import type { MCPToolGroup } from "../registry.js";
2
+ export type IdeId = "claude-code" | "cursor" | "windsurf" | "antigravity" | "vscode";
3
+ export declare const VALID_IDE_IDS: IdeId[];
4
+ export declare function detectInstalledIDEs(workspaceRoot: string): Promise<IdeId[]>;
5
+ export type SetupIdeResult = {
6
+ ide: IdeId;
7
+ label: string;
8
+ filePath: string;
9
+ action: "created" | "updated";
10
+ };
11
+ export type SetupMcpResult = {
12
+ configured: SetupIdeResult[];
13
+ errors: Array<{
14
+ ide: IdeId;
15
+ label: string;
16
+ error: string;
17
+ }>;
18
+ };
19
+ export declare function setupIde(ide: IdeId, workspaceRoot: string): Promise<SetupIdeResult>;
20
+ export declare function runMcpSetup(workspaceRoot: string, ides?: IdeId[]): Promise<SetupMcpResult>;
21
+ export declare const setupMcpTool: MCPToolGroup;
22
+ //# sourceMappingURL=setup-mcp-tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup-mcp-tool.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/setup-mcp-tool.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAc,MAAM,gBAAgB,CAAC;AAI/D,MAAM,MAAM,KAAK,GAAG,aAAa,GAAG,QAAQ,GAAG,UAAU,GAAG,aAAa,GAAG,QAAQ,CAAC;AAErF,eAAO,MAAM,aAAa,EAAE,KAAK,EAAmE,CAAC;AAwDrG,wBAAsB,mBAAmB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CAQjF;AAED,MAAM,MAAM,cAAc,GAAG;IACzB,GAAG,EAAE,KAAK,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,SAAS,GAAG,SAAS,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IACzB,UAAU,EAAE,cAAc,EAAE,CAAC;IAC7B,MAAM,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,KAAK,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC/D,CAAC;AAEF,wBAAsB,QAAQ,CAAC,GAAG,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAmBzF;AAED,wBAAsB,WAAW,CAC7B,aAAa,EAAE,MAAM,EACrB,IAAI,CAAC,EAAE,KAAK,EAAE,GACf,OAAO,CAAC,cAAc,CAAC,CAazB;AAED,eAAO,MAAM,YAAY,EAAE,YAqE1B,CAAC"}
@@ -0,0 +1,150 @@
1
+ import * as fs from "node:fs/promises";
2
+ import * as path from "node:path";
3
+ import * as os from "node:os";
4
+ import { z } from "zod";
5
+ const HOME = os.homedir();
6
+ export const VALID_IDE_IDS = ["claude-code", "cursor", "windsurf", "antigravity", "vscode"];
7
+ const IDES = {
8
+ "claude-code": {
9
+ label: "Claude Code",
10
+ configFilePath: () => path.join(HOME, ".claude", "mcp.json"),
11
+ buildEntry: (cwd) => ({ command: "ptb", args: ["mcp", "--cwd", cwd] }),
12
+ mergeKey: "mcpServers",
13
+ detectionPath: () => path.join(HOME, ".claude"),
14
+ },
15
+ "cursor": {
16
+ label: "Cursor",
17
+ configFilePath: () => path.join(HOME, ".cursor", "mcp.json"),
18
+ buildEntry: (cwd) => ({ command: "ptb", args: ["mcp", "--cwd", cwd] }),
19
+ mergeKey: "mcpServers",
20
+ detectionPath: () => path.join(HOME, ".cursor"),
21
+ },
22
+ "windsurf": {
23
+ label: "Windsurf",
24
+ configFilePath: () => path.join(HOME, ".codeium", "windsurf", "mcp_config.json"),
25
+ buildEntry: (cwd) => ({ command: "ptb", args: ["mcp", "--cwd", cwd] }),
26
+ mergeKey: "mcpServers",
27
+ detectionPath: () => path.join(HOME, ".codeium", "windsurf"),
28
+ },
29
+ "antigravity": {
30
+ label: "Gemini / Antigravity",
31
+ configFilePath: () => path.join(HOME, ".gemini", "antigravity", "mcp_config.json"),
32
+ buildEntry: (cwd) => ({ command: "ptb", args: ["mcp", "--cwd", cwd] }),
33
+ mergeKey: "mcpServers",
34
+ detectionPath: () => path.join(HOME, ".gemini", "antigravity"),
35
+ },
36
+ "vscode": {
37
+ label: "VS Code (GitHub Copilot)",
38
+ configFilePath: (workspaceRoot) => path.join(workspaceRoot, ".vscode", "mcp.json"),
39
+ buildEntry: () => ({
40
+ type: "stdio",
41
+ command: "ptb",
42
+ args: ["mcp", "--cwd", "${workspaceFolder}"],
43
+ }),
44
+ mergeKey: "servers",
45
+ detectionPath: (workspaceRoot) => path.join(workspaceRoot, ".vscode"),
46
+ },
47
+ };
48
+ async function pathExists(p) {
49
+ return fs.access(p).then(() => true).catch(() => false);
50
+ }
51
+ export async function detectInstalledIDEs(workspaceRoot) {
52
+ const detected = [];
53
+ for (const [id, def] of Object.entries(IDES)) {
54
+ if (await pathExists(def.detectionPath(workspaceRoot))) {
55
+ detected.push(id);
56
+ }
57
+ }
58
+ return detected;
59
+ }
60
+ export async function setupIde(ide, workspaceRoot) {
61
+ const def = IDES[ide];
62
+ const filePath = def.configFilePath(workspaceRoot);
63
+ const entry = def.buildEntry(workspaceRoot);
64
+ await fs.mkdir(path.dirname(filePath), { recursive: true });
65
+ let existing = {};
66
+ let action = "created";
67
+ try {
68
+ existing = JSON.parse(await fs.readFile(filePath, "utf-8"));
69
+ action = "updated";
70
+ }
71
+ catch { /* new file */ }
72
+ existing[def.mergeKey] = existing[def.mergeKey] ?? {};
73
+ existing[def.mergeKey]["ptb"] = entry;
74
+ await fs.writeFile(filePath, JSON.stringify(existing, null, 2) + "\n", "utf-8");
75
+ return { ide, label: def.label, filePath, action };
76
+ }
77
+ export async function runMcpSetup(workspaceRoot, ides) {
78
+ const targets = ides ?? await detectInstalledIDEs(workspaceRoot);
79
+ const result = { configured: [], errors: [] };
80
+ for (const ide of targets) {
81
+ try {
82
+ result.configured.push(await setupIde(ide, workspaceRoot));
83
+ }
84
+ catch (e) {
85
+ result.errors.push({ ide, label: IDES[ide].label, error: e.message });
86
+ }
87
+ }
88
+ return result;
89
+ }
90
+ export const setupMcpTool = {
91
+ name: "setup-mcp",
92
+ register(server, getContext) {
93
+ server.tool("setup_mcp", `Configure the PTB MCP server for one or more AI IDEs.
94
+
95
+ Writes (or merges into) the MCP config file for each IDE using this project as the workspace.
96
+ Auto-detects installed IDEs when no ide is specified.
97
+
98
+ For Cursor, Windsurf, Antigravity, and Claude Code (user-level), writes to a global user config
99
+ and supports one active PTB project at a time — re-running replaces the previous project path.
100
+ For VS Code, writes to .vscode/mcp.json at the project root (committed with the repo).
101
+
102
+ After this tool runs, restart the target IDE to pick up the new config.
103
+
104
+ Supported: claude-code, cursor, windsurf, antigravity, vscode`, {
105
+ ide: z.enum(["claude-code", "cursor", "windsurf", "antigravity", "vscode", "all"])
106
+ .optional()
107
+ .describe("Which IDE to configure. Omit to auto-detect all installed IDEs."),
108
+ }, async ({ ide }) => {
109
+ let ctx;
110
+ try {
111
+ ctx = await getContext();
112
+ }
113
+ catch (e) {
114
+ return { content: [{ type: "text", text: e.message }] };
115
+ }
116
+ try {
117
+ const targets = !ide || ide === "all"
118
+ ? undefined
119
+ : [ide];
120
+ const result = await runMcpSetup(ctx.workspaceRoot, targets);
121
+ const lines = [];
122
+ if (result.configured.length > 0) {
123
+ lines.push("MCP configured:\n");
124
+ for (const entry of result.configured) {
125
+ const verb = entry.action === "created" ? "Created" : "Updated";
126
+ lines.push(` ${verb}: ${entry.label}`);
127
+ lines.push(` File: ${entry.filePath}\n`);
128
+ }
129
+ lines.push("Restart each IDE to pick up the new config.");
130
+ }
131
+ if (result.errors.length > 0) {
132
+ if (lines.length)
133
+ lines.push("");
134
+ lines.push("Errors:");
135
+ for (const e of result.errors) {
136
+ lines.push(` ${e.label}: ${e.error}`);
137
+ }
138
+ }
139
+ if (result.configured.length === 0 && result.errors.length === 0) {
140
+ lines.push("No IDEs detected automatically.", "Pass the 'ide' parameter to configure a specific one.", "Supported: claude-code, cursor, windsurf, antigravity, vscode");
141
+ }
142
+ return { content: [{ type: "text", text: lines.join("\n") }] };
143
+ }
144
+ catch (e) {
145
+ return { content: [{ type: "text", text: `setup_mcp failed: ${e.message}` }] };
146
+ }
147
+ });
148
+ },
149
+ };
150
+ //# sourceMappingURL=setup-mcp-tool.js.map