@inspecto-dev/cli 0.3.9 → 0.3.11

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/CHANGELOG.md CHANGED
@@ -1,5 +1,21 @@
1
1
  # @inspecto-dev/cli
2
2
 
3
+ ## 0.3.11
4
+
5
+ ### Patch Changes
6
+
7
+ - release 0.3.11
8
+ - Updated dependencies
9
+ - @inspecto-dev/types@0.3.11
10
+
11
+ ## 0.3.10
12
+
13
+ ### Patch Changes
14
+
15
+ - release 0.3.10
16
+ - Updated dependencies
17
+ - @inspecto-dev/types@0.3.10
18
+
3
19
  ## 0.3.9
4
20
 
5
21
  ### Patch Changes
package/dist/bin.js CHANGED
@@ -15,7 +15,7 @@ import {
15
15
  reportCommandError,
16
16
  startMcpServer,
17
17
  teardown
18
- } from "./chunk-T46P6RD7.js";
18
+ } from "./chunk-IV7RZXZJ.js";
19
19
 
20
20
  // src/bin.ts
21
21
  import { cac } from "cac";
@@ -2497,7 +2497,7 @@ function buildUmiMountSnippet() {
2497
2497
  " if (process.env.NODE_ENV !== 'production') {",
2498
2498
  " import('@inspecto-dev/core').then(({ mountInspector }) => {",
2499
2499
  " mountInspector({",
2500
- " serverUrl: 'http://0.0.0.0:' + ((window as { __AI_INSPECTOR_PORT__?: number }).__AI_INSPECTOR_PORT__ || 5678),",
2500
+ " serverUrl: 'http://127.0.0.1:' + ((window as { __AI_INSPECTOR_PORT__?: number }).__AI_INSPECTOR_PORT__ || 5678),",
2501
2501
  " })",
2502
2502
  " })",
2503
2503
  " }",
@@ -3576,7 +3576,7 @@ function printNextJsManualInstructions() {
3576
3576
  " useEffect(() => {",
3577
3577
  " if (process.env.NODE_ENV !== 'production') {",
3578
3578
  " import('@inspecto-dev/core').then(({ mountInspector }) => {",
3579
- " mountInspector({ serverUrl: 'http://0.0.0.0:5678' })",
3579
+ " mountInspector({ serverUrl: 'http://127.0.0.1:5678' })",
3580
3580
  " })",
3581
3581
  " }",
3582
3582
  " }, [])",
@@ -4498,7 +4498,7 @@ function createInspectoMcpRuntime(baseUrl) {
4498
4498
  function resolveInspectoServerBaseUrl(cwd) {
4499
4499
  const ports = resolveServerPorts(cwd);
4500
4500
  const port = ports[0];
4501
- return port ? `http://0.0.0.0:${port}` : null;
4501
+ return port ? `http://127.0.0.1:${port}` : null;
4502
4502
  }
4503
4503
  function resolveServerPorts(cwd) {
4504
4504
  const prioritized = readProjectScopedPorts(cwd);
@@ -4786,8 +4786,12 @@ function buildConfirmation(plan2, summary, session, options) {
4786
4786
  };
4787
4787
  }
4788
4788
  async function buildDailyUsageHandoff(projectRoot) {
4789
- const localSettings = await readJSON(path18.join(projectRoot, ".inspecto", "settings.local.json")) ?? {};
4790
- const sharedSettings = await readJSON(path18.join(projectRoot, ".inspecto", "settings.json")) ?? {};
4789
+ const localSettings = await readJSON(
4790
+ path18.join(projectRoot, ".inspecto", "settings.local.json")
4791
+ ) ?? {};
4792
+ const sharedSettings = await readJSON(
4793
+ path18.join(projectRoot, ".inspecto", "settings.json")
4794
+ ) ?? {};
4791
4795
  const annotateDeliveryMode = localSettings["annotate.deliveryMode"] ?? sharedSettings["annotate.deliveryMode"];
4792
4796
  if (annotateDeliveryMode !== "agent") {
4793
4797
  return void 0;
@@ -6044,7 +6048,7 @@ async function persistProjectOnboardingDefaults(assistant, options) {
6044
6048
  }
6045
6049
  function resolveAnnotateDefaultDeliveryForAssistant(assistant) {
6046
6050
  void assistant;
6047
- return "both";
6051
+ return "agent";
6048
6052
  }
6049
6053
  function shouldSkipAutomationForInstall(options) {
6050
6054
  return options.scope === "user" && !options.preview;
@@ -6096,9 +6100,14 @@ function resolveInstallPlan(assistant, options) {
6096
6100
  source: `${REPO_RAW_BASE}/skills/inspecto-onboarding-gemini/SKILL.md`,
6097
6101
  target: ".gemini/skills/inspecto-onboarding/SKILL.md",
6098
6102
  localSource: "skills/inspecto-onboarding-gemini/SKILL.md"
6103
+ },
6104
+ {
6105
+ source: `${REPO_RAW_BASE}/skills/inspecto-agent/SKILL.md`,
6106
+ target: ".gemini/skills/inspecto-agent/SKILL.md",
6107
+ localSource: "skills/inspecto-agent/SKILL.md"
6099
6108
  }
6100
6109
  ],
6101
- successMessage: "Installed Gemini skill to .gemini/skills/inspecto-onboarding/SKILL.md",
6110
+ successMessage: "Installed Gemini skills to .gemini/skills/inspecto-onboarding and .gemini/skills/inspecto-agent",
6102
6111
  nextStep: "Start a new Gemini CLI session and use /skills list to verify."
6103
6112
  };
6104
6113
  case "trae":
@@ -6114,10 +6123,15 @@ function resolveInstallPlan(assistant, options) {
6114
6123
  target: ".trae/skills/inspecto-onboarding/scripts/run-inspecto.sh",
6115
6124
  localSource: "skills/inspecto-onboarding-trae/scripts/run-inspecto.sh",
6116
6125
  executable: true
6126
+ },
6127
+ {
6128
+ source: `${REPO_RAW_BASE}/skills/inspecto-agent/SKILL.md`,
6129
+ target: ".trae/skills/inspecto-agent/SKILL.md",
6130
+ localSource: "skills/inspecto-agent/SKILL.md"
6117
6131
  }
6118
6132
  ],
6119
- successMessage: "Installed Trae skill to .trae/skills/inspecto-onboarding/SKILL.md",
6120
- nextStep: "Open a new Trae chat and verify the inspecto-onboarding skill is available."
6133
+ successMessage: "Installed Trae skills to .trae/skills/inspecto-onboarding and .trae/skills/inspecto-agent",
6134
+ nextStep: "Open a new Trae chat and verify the skills are available."
6121
6135
  };
6122
6136
  case "coco":
6123
6137
  return {
@@ -6132,9 +6146,14 @@ function resolveInstallPlan(assistant, options) {
6132
6146
  target: ".trae/skills/inspecto-onboarding/scripts/run-inspecto.sh",
6133
6147
  localSource: "skills/inspecto-onboarding-trae/scripts/run-inspecto.sh",
6134
6148
  executable: true
6149
+ },
6150
+ {
6151
+ source: `${REPO_RAW_BASE}/skills/inspecto-agent/SKILL.md`,
6152
+ target: ".trae/skills/inspecto-agent/SKILL.md",
6153
+ localSource: "skills/inspecto-agent/SKILL.md"
6135
6154
  }
6136
6155
  ],
6137
- successMessage: "Installed Coco skill to .trae/skills/inspecto-onboarding/SKILL.md",
6156
+ successMessage: "Installed Coco skills to .trae/skills/inspecto-onboarding and .trae/skills/inspecto-agent",
6138
6157
  nextStep: "Start a new Coco session."
6139
6158
  };
6140
6159
  case "codebuddy":
@@ -6150,10 +6169,15 @@ function resolveInstallPlan(assistant, options) {
6150
6169
  target: ".codebuddy/skills/inspecto-onboarding/scripts/run-inspecto.sh",
6151
6170
  localSource: "skills/inspecto-onboarding-codebuddy/scripts/run-inspecto.sh",
6152
6171
  executable: true
6172
+ },
6173
+ {
6174
+ source: `${REPO_RAW_BASE}/skills/inspecto-agent/SKILL.md`,
6175
+ target: ".codebuddy/skills/inspecto-agent/SKILL.md",
6176
+ localSource: "skills/inspecto-agent/SKILL.md"
6153
6177
  }
6154
6178
  ],
6155
- successMessage: "Installed CodeBuddy skill to .codebuddy/skills/inspecto-onboarding/SKILL.md",
6156
- nextStep: "Open a new CodeBuddy chat and verify the inspecto-onboarding skill is available."
6179
+ successMessage: "Installed CodeBuddy skills to .codebuddy/skills/inspecto-onboarding and .codebuddy/skills/inspecto-agent",
6180
+ nextStep: "Open a new CodeBuddy chat and verify the skills are available."
6157
6181
  };
6158
6182
  default:
6159
6183
  throw new Error(`Unknown assistant: ${assistant}`);
@@ -6243,6 +6267,7 @@ function resolveClaudeCodePlan(options) {
6243
6267
  throw new Error(`Unknown Claude Code scope: ${scope}`);
6244
6268
  }
6245
6269
  const baseDir = scope === "user" ? path22.join(homedir2(), ".claude/skills/inspecto-onboarding-claude-code") : ".claude/skills/inspecto-onboarding-claude-code";
6270
+ const agentDir = scope === "user" ? path22.join(homedir2(), ".claude/skills/inspecto-agent") : ".claude/skills/inspecto-agent";
6246
6271
  return {
6247
6272
  assets: [
6248
6273
  {
@@ -6260,10 +6285,15 @@ function resolveClaudeCodePlan(options) {
6260
6285
  target: path22.join(baseDir, "scripts/run-inspecto.sh"),
6261
6286
  executable: true,
6262
6287
  localSource: "skills/inspecto-onboarding-claude-code/scripts/run-inspecto.sh"
6288
+ },
6289
+ {
6290
+ source: `${REPO_RAW_BASE}/skills/inspecto-agent/SKILL.md`,
6291
+ target: path22.join(agentDir, "SKILL.md"),
6292
+ localSource: "skills/inspecto-agent/SKILL.md"
6263
6293
  }
6264
6294
  ],
6265
- successMessage: `Installed Claude Code skill to ${baseDir}`,
6266
- nextStep: "Restart Claude Code to load the new skill."
6295
+ successMessage: `Installed Claude Code skills to ${baseDir} and ${agentDir}`,
6296
+ nextStep: "Restart Claude Code to load the new skills."
6267
6297
  };
6268
6298
  }
6269
6299
  function resolveCopilotPlan(options) {
@@ -6284,9 +6314,14 @@ function resolveCopilotPlan(options) {
6284
6314
  source: `${REPO_RAW_BASE}/skills/inspecto-onboarding-copilot/SKILL.md`,
6285
6315
  target: ".github/skills/inspecto-onboarding/SKILL.md",
6286
6316
  localSource: "skills/inspecto-onboarding-copilot/SKILL.md"
6317
+ },
6318
+ {
6319
+ source: `${REPO_RAW_BASE}/skills/inspecto-agent/SKILL.md`,
6320
+ target: ".github/skills/inspecto-agent/SKILL.md",
6321
+ localSource: "skills/inspecto-agent/SKILL.md"
6287
6322
  }
6288
6323
  ],
6289
- successMessage: "Installed Copilot skill to .github/skills/inspecto-onboarding/SKILL.md",
6324
+ successMessage: "Installed Copilot skills to .github/skills/inspecto-onboarding and .github/skills/inspecto-agent",
6290
6325
  nextStep: "Open a new Copilot chat or agent session."
6291
6326
  };
6292
6327
  default:
@@ -6309,9 +6344,14 @@ function resolveCursorPlan(options) {
6309
6344
  source: `${REPO_RAW_BASE}/skills/inspecto-onboarding-cursor/SKILL.md`,
6310
6345
  target: ".cursor/skills/inspecto-onboarding/SKILL.md",
6311
6346
  localSource: "skills/inspecto-onboarding-cursor/SKILL.md"
6347
+ },
6348
+ {
6349
+ source: `${REPO_RAW_BASE}/skills/inspecto-agent/SKILL.md`,
6350
+ target: ".cursor/skills/inspecto-agent/SKILL.md",
6351
+ localSource: "skills/inspecto-agent/SKILL.md"
6312
6352
  }
6313
6353
  ],
6314
- successMessage: "Installed Cursor skill to .cursor/skills/inspecto-onboarding/SKILL.md",
6354
+ successMessage: "Installed Cursor skills to .cursor/skills/inspecto-onboarding and .cursor/skills/inspecto-agent",
6315
6355
  nextStep: "Open a new Cursor chat."
6316
6356
  };
6317
6357
  default:
package/dist/index.js CHANGED
@@ -17,7 +17,7 @@ import {
17
17
  startMcpServer,
18
18
  teardown,
19
19
  writeCommandOutput
20
- } from "./chunk-T46P6RD7.js";
20
+ } from "./chunk-IV7RZXZJ.js";
21
21
  export {
22
22
  apply,
23
23
  collectDoctorResult,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inspecto-dev/cli",
3
- "version": "0.3.9",
3
+ "version": "0.3.11",
4
4
  "description": "CLI tools for Inspecto onboarding and lifecycle management",
5
5
  "keywords": [
6
6
  "inspecto",
@@ -22,7 +22,7 @@
22
22
  "picocolors": "^1.0.0",
23
23
  "prompts": "^2.4.2",
24
24
  "zod": "^4.1.12",
25
- "@inspecto-dev/types": "0.3.9"
25
+ "@inspecto-dev/types": "0.3.11"
26
26
  },
27
27
  "devDependencies": {
28
28
  "@types/node": "^20.19.39",
@@ -75,7 +75,7 @@ interface InstallPlan {
75
75
  interface InspectoSettingsShape {
76
76
  ide?: string
77
77
  'provider.default'?: string
78
- 'annotate.deliveryMode'?: 'ide' | 'agent' | 'both'
78
+ 'annotate.deliveryMode'?: 'ide' | 'agent'
79
79
  [key: string]: unknown
80
80
  }
81
81
 
@@ -395,11 +395,9 @@ async function persistProjectOnboardingDefaults(
395
395
  await writeJSON(settingsPath, mergedSettings)
396
396
  }
397
397
 
398
- function resolveAnnotateDefaultDeliveryForAssistant(
399
- assistant: AssistantId,
400
- ): 'ide' | 'agent' | 'both' {
398
+ function resolveAnnotateDefaultDeliveryForAssistant(assistant: AssistantId): 'ide' | 'agent' {
401
399
  void assistant
402
- return 'both'
400
+ return 'agent'
403
401
  }
404
402
 
405
403
  function shouldSkipAutomationForInstall(options: InstallIntegrationOptions): boolean {
@@ -473,8 +471,14 @@ function resolveInstallPlan(assistant: string, options: InstallIntegrationOption
473
471
  target: '.gemini/skills/inspecto-onboarding/SKILL.md',
474
472
  localSource: 'skills/inspecto-onboarding-gemini/SKILL.md',
475
473
  },
474
+ {
475
+ source: `${REPO_RAW_BASE}/skills/inspecto-agent/SKILL.md`,
476
+ target: '.gemini/skills/inspecto-agent/SKILL.md',
477
+ localSource: 'skills/inspecto-agent/SKILL.md',
478
+ },
476
479
  ],
477
- successMessage: 'Installed Gemini skill to .gemini/skills/inspecto-onboarding/SKILL.md',
480
+ successMessage:
481
+ 'Installed Gemini skills to .gemini/skills/inspecto-onboarding and .gemini/skills/inspecto-agent',
478
482
  nextStep: 'Start a new Gemini CLI session and use /skills list to verify.',
479
483
  }
480
484
  case 'trae':
@@ -491,9 +495,15 @@ function resolveInstallPlan(assistant: string, options: InstallIntegrationOption
491
495
  localSource: 'skills/inspecto-onboarding-trae/scripts/run-inspecto.sh',
492
496
  executable: true,
493
497
  },
498
+ {
499
+ source: `${REPO_RAW_BASE}/skills/inspecto-agent/SKILL.md`,
500
+ target: '.trae/skills/inspecto-agent/SKILL.md',
501
+ localSource: 'skills/inspecto-agent/SKILL.md',
502
+ },
494
503
  ],
495
- successMessage: 'Installed Trae skill to .trae/skills/inspecto-onboarding/SKILL.md',
496
- nextStep: 'Open a new Trae chat and verify the inspecto-onboarding skill is available.',
504
+ successMessage:
505
+ 'Installed Trae skills to .trae/skills/inspecto-onboarding and .trae/skills/inspecto-agent',
506
+ nextStep: 'Open a new Trae chat and verify the skills are available.',
497
507
  }
498
508
  case 'coco':
499
509
  return {
@@ -509,8 +519,14 @@ function resolveInstallPlan(assistant: string, options: InstallIntegrationOption
509
519
  localSource: 'skills/inspecto-onboarding-trae/scripts/run-inspecto.sh',
510
520
  executable: true,
511
521
  },
522
+ {
523
+ source: `${REPO_RAW_BASE}/skills/inspecto-agent/SKILL.md`,
524
+ target: '.trae/skills/inspecto-agent/SKILL.md',
525
+ localSource: 'skills/inspecto-agent/SKILL.md',
526
+ },
512
527
  ],
513
- successMessage: 'Installed Coco skill to .trae/skills/inspecto-onboarding/SKILL.md',
528
+ successMessage:
529
+ 'Installed Coco skills to .trae/skills/inspecto-onboarding and .trae/skills/inspecto-agent',
514
530
  nextStep: 'Start a new Coco session.',
515
531
  }
516
532
  case 'codebuddy':
@@ -527,11 +543,15 @@ function resolveInstallPlan(assistant: string, options: InstallIntegrationOption
527
543
  localSource: 'skills/inspecto-onboarding-codebuddy/scripts/run-inspecto.sh',
528
544
  executable: true,
529
545
  },
546
+ {
547
+ source: `${REPO_RAW_BASE}/skills/inspecto-agent/SKILL.md`,
548
+ target: '.codebuddy/skills/inspecto-agent/SKILL.md',
549
+ localSource: 'skills/inspecto-agent/SKILL.md',
550
+ },
530
551
  ],
531
552
  successMessage:
532
- 'Installed CodeBuddy skill to .codebuddy/skills/inspecto-onboarding/SKILL.md',
533
- nextStep:
534
- 'Open a new CodeBuddy chat and verify the inspecto-onboarding skill is available.',
553
+ 'Installed CodeBuddy skills to .codebuddy/skills/inspecto-onboarding and .codebuddy/skills/inspecto-agent',
554
+ nextStep: 'Open a new CodeBuddy chat and verify the skills are available.',
535
555
  }
536
556
  default:
537
557
  throw new Error(`Unknown assistant: ${assistant}`)
@@ -644,6 +664,10 @@ function resolveClaudeCodePlan(options: InstallIntegrationOptions): InstallPlan
644
664
  scope === 'user'
645
665
  ? path.join(homedir(), '.claude/skills/inspecto-onboarding-claude-code')
646
666
  : '.claude/skills/inspecto-onboarding-claude-code'
667
+ const agentDir =
668
+ scope === 'user'
669
+ ? path.join(homedir(), '.claude/skills/inspecto-agent')
670
+ : '.claude/skills/inspecto-agent'
647
671
 
648
672
  return {
649
673
  assets: [
@@ -663,9 +687,14 @@ function resolveClaudeCodePlan(options: InstallIntegrationOptions): InstallPlan
663
687
  executable: true,
664
688
  localSource: 'skills/inspecto-onboarding-claude-code/scripts/run-inspecto.sh',
665
689
  },
690
+ {
691
+ source: `${REPO_RAW_BASE}/skills/inspecto-agent/SKILL.md`,
692
+ target: path.join(agentDir, 'SKILL.md'),
693
+ localSource: 'skills/inspecto-agent/SKILL.md',
694
+ },
666
695
  ],
667
- successMessage: `Installed Claude Code skill to ${baseDir}`,
668
- nextStep: 'Restart Claude Code to load the new skill.',
696
+ successMessage: `Installed Claude Code skills to ${baseDir} and ${agentDir}`,
697
+ nextStep: 'Restart Claude Code to load the new skills.',
669
698
  }
670
699
  }
671
700
 
@@ -689,8 +718,14 @@ function resolveCopilotPlan(options: InstallIntegrationOptions): InstallPlan {
689
718
  target: '.github/skills/inspecto-onboarding/SKILL.md',
690
719
  localSource: 'skills/inspecto-onboarding-copilot/SKILL.md',
691
720
  },
721
+ {
722
+ source: `${REPO_RAW_BASE}/skills/inspecto-agent/SKILL.md`,
723
+ target: '.github/skills/inspecto-agent/SKILL.md',
724
+ localSource: 'skills/inspecto-agent/SKILL.md',
725
+ },
692
726
  ],
693
- successMessage: 'Installed Copilot skill to .github/skills/inspecto-onboarding/SKILL.md',
727
+ successMessage:
728
+ 'Installed Copilot skills to .github/skills/inspecto-onboarding and .github/skills/inspecto-agent',
694
729
  nextStep: 'Open a new Copilot chat or agent session.',
695
730
  }
696
731
  default:
@@ -716,8 +751,14 @@ function resolveCursorPlan(options: InstallIntegrationOptions): InstallPlan {
716
751
  target: '.cursor/skills/inspecto-onboarding/SKILL.md',
717
752
  localSource: 'skills/inspecto-onboarding-cursor/SKILL.md',
718
753
  },
754
+ {
755
+ source: `${REPO_RAW_BASE}/skills/inspecto-agent/SKILL.md`,
756
+ target: '.cursor/skills/inspecto-agent/SKILL.md',
757
+ localSource: 'skills/inspecto-agent/SKILL.md',
758
+ },
719
759
  ],
720
- successMessage: 'Installed Cursor skill to .cursor/skills/inspecto-onboarding/SKILL.md',
760
+ successMessage:
761
+ 'Installed Cursor skills to .cursor/skills/inspecto-onboarding and .cursor/skills/inspecto-agent',
721
762
  nextStep: 'Open a new Cursor chat.',
722
763
  }
723
764
  default:
@@ -241,7 +241,7 @@ export function createInspectoMcpRuntime(baseUrl: string): InspectoMcpRuntime {
241
241
  export function resolveInspectoServerBaseUrl(cwd: string): string | null {
242
242
  const ports = resolveServerPorts(cwd)
243
243
  const port = ports[0]
244
- return port ? `http://0.0.0.0:${port}` : null
244
+ return port ? `http://127.0.0.1:${port}` : null
245
245
  }
246
246
 
247
247
  export function resolveServerPorts(cwd: string): number[] {
@@ -83,7 +83,7 @@ export function printNextJsManualInstructions() {
83
83
  ' useEffect(() => {',
84
84
  " if (process.env.NODE_ENV !== 'production') {",
85
85
  " import('@inspecto-dev/core').then(({ mountInspector }) => {",
86
- " mountInspector({ serverUrl: 'http://0.0.0.0:5678' })",
86
+ " mountInspector({ serverUrl: 'http://127.0.0.1:5678' })",
87
87
  ' })',
88
88
  ' }',
89
89
  ' }, [])',
@@ -261,10 +261,13 @@ async function buildDailyUsageHandoff(
261
261
  projectRoot: string,
262
262
  ): Promise<OnboardingDailyUsageHandoff | undefined> {
263
263
  const localSettings =
264
- (await readJSON<Record<string, unknown>>(path.join(projectRoot, '.inspecto', 'settings.local.json'))) ??
265
- {}
264
+ (await readJSON<Record<string, unknown>>(
265
+ path.join(projectRoot, '.inspecto', 'settings.local.json'),
266
+ )) ?? {}
266
267
  const sharedSettings =
267
- (await readJSON<Record<string, unknown>>(path.join(projectRoot, '.inspecto', 'settings.json'))) ?? {}
268
+ (await readJSON<Record<string, unknown>>(
269
+ path.join(projectRoot, '.inspecto', 'settings.json'),
270
+ )) ?? {}
268
271
  const annotateDeliveryMode =
269
272
  (localSettings['annotate.deliveryMode'] as string | undefined) ??
270
273
  (sharedSettings['annotate.deliveryMode'] as string | undefined)
@@ -93,7 +93,7 @@ function buildUmiMountSnippet(): string {
93
93
  " if (process.env.NODE_ENV !== 'production') {",
94
94
  " import('@inspecto-dev/core').then(({ mountInspector }) => {",
95
95
  ' mountInspector({',
96
- " serverUrl: 'http://0.0.0.0:' + ((window as { __AI_INSPECTOR_PORT__?: number }).__AI_INSPECTOR_PORT__ || 5678),",
96
+ " serverUrl: 'http://127.0.0.1:' + ((window as { __AI_INSPECTOR_PORT__?: number }).__AI_INSPECTOR_PORT__ || 5678),",
97
97
  ' })',
98
98
  ' })',
99
99
  ' }',
@@ -176,11 +176,15 @@ describe('integration install', () => {
176
176
 
177
177
  await installIntegration('cursor', { mode: 'agents' })
178
178
 
179
- expect(writeFileMock).toHaveBeenCalledTimes(1)
179
+ expect(writeFileMock).toHaveBeenCalledTimes(2)
180
180
  expect(writeFileMock).toHaveBeenCalledWith(
181
181
  '.cursor/skills/inspecto-onboarding/SKILL.md',
182
182
  '# mock asset',
183
183
  )
184
+ expect(writeFileMock).toHaveBeenCalledWith(
185
+ '.cursor/skills/inspecto-agent/SKILL.md',
186
+ '# mock asset',
187
+ )
184
188
  })
185
189
 
186
190
  it('installs the Trae skill with a launcher script', async () => {
@@ -210,7 +214,7 @@ describe('integration install', () => {
210
214
  expect(writeJSONMock).toHaveBeenCalledWith('/repo/.inspecto/settings.local.json', {
211
215
  ide: 'trae-cn',
212
216
  'provider.default': 'gemini.extension',
213
- 'annotate.deliveryMode': 'both',
217
+ 'annotate.deliveryMode': 'agent',
214
218
  })
215
219
  })
216
220
 
@@ -228,7 +232,7 @@ describe('integration install', () => {
228
232
  expect(writeJSONMock).toHaveBeenCalledWith('/repo/.inspecto/settings.local.json', {
229
233
  ide: 'trae-cn',
230
234
  'provider.default': 'gemini.extension',
231
- 'annotate.deliveryMode': 'both',
235
+ 'annotate.deliveryMode': 'agent',
232
236
  'prompt.autoSend': true,
233
237
  })
234
238
  })
@@ -241,7 +245,7 @@ describe('integration install', () => {
241
245
  expect(writeJSONMock).toHaveBeenCalledWith('/repo/.inspecto/settings.local.json', {
242
246
  ide: 'cursor',
243
247
  'provider.default': 'codex.extension',
244
- 'annotate.deliveryMode': 'both',
248
+ 'annotate.deliveryMode': 'agent',
245
249
  })
246
250
  })
247
251
 
@@ -539,6 +543,7 @@ describe('integration install', () => {
539
543
  '/Users/tester/.claude/skills/inspecto-onboarding-claude-code/SKILL.md',
540
544
  '/Users/tester/.claude/skills/inspecto-onboarding-claude-code/agents/openai.yaml',
541
545
  '/Users/tester/.claude/skills/inspecto-onboarding-claude-code/scripts/run-inspecto.sh',
546
+ '/Users/tester/.claude/skills/inspecto-agent/SKILL.md',
542
547
  ],
543
548
  preferredInstall:
544
549
  'npx @inspecto-dev/cli integrations install claude-code --scope project --host-ide <vscode|cursor|trae|trae-cn|codebuddy|codebuddy-cn>',
@@ -570,6 +575,7 @@ describe('integration install', () => {
570
575
  targets: [
571
576
  '.trae/skills/inspecto-onboarding/SKILL.md',
572
577
  '.trae/skills/inspecto-onboarding/scripts/run-inspecto.sh',
578
+ '.trae/skills/inspecto-agent/SKILL.md',
573
579
  ],
574
580
  preferredInstall:
575
581
  'npx @inspecto-dev/cli integrations install coco --host-ide <vscode|cursor|trae|trae-cn|codebuddy|codebuddy-cn>',
package/tests/mcp.test.ts CHANGED
@@ -45,7 +45,7 @@ describe('inspecto mcp command', () => {
45
45
  'utf-8',
46
46
  )
47
47
 
48
- expect(resolveInspectoServerBaseUrl(cwd)).toBe('http://0.0.0.0:5680')
48
+ expect(resolveInspectoServerBaseUrl(cwd)).toBe('http://127.0.0.1:5680')
49
49
  })
50
50
 
51
51
  it('resolves the project server URL when Codex runs from a nested working directory', () => {
@@ -66,7 +66,7 @@ describe('inspecto mcp command', () => {
66
66
  'utf-8',
67
67
  )
68
68
 
69
- expect(resolveInspectoServerBaseUrl(nestedCwd)).toBe('http://0.0.0.0:5681')
69
+ expect(resolveInspectoServerBaseUrl(nestedCwd)).toBe('http://127.0.0.1:5681')
70
70
  })
71
71
 
72
72
  it('exposes the expected MCP tool definitions', () => {