@indy2kro/agentenv 1.1.2 → 1.2.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 (139) hide show
  1. package/dist/adapters/base.d.ts +3 -1
  2. package/dist/adapters/base.d.ts.map +1 -1
  3. package/dist/adapters/base.js.map +1 -1
  4. package/dist/adapters/claude.d.ts +0 -4
  5. package/dist/adapters/claude.d.ts.map +1 -1
  6. package/dist/adapters/claude.js +5 -36
  7. package/dist/adapters/claude.js.map +1 -1
  8. package/dist/adapters/cline.d.ts.map +1 -1
  9. package/dist/adapters/cline.js +1 -0
  10. package/dist/adapters/cline.js.map +1 -1
  11. package/dist/adapters/codex.d.ts.map +1 -1
  12. package/dist/adapters/codex.js +12 -10
  13. package/dist/adapters/codex.js.map +1 -1
  14. package/dist/adapters/copilot.d.ts.map +1 -1
  15. package/dist/adapters/copilot.js +8 -9
  16. package/dist/adapters/copilot.js.map +1 -1
  17. package/dist/adapters/detect.d.ts +8 -0
  18. package/dist/adapters/detect.d.ts.map +1 -1
  19. package/dist/adapters/detect.js +26 -7
  20. package/dist/adapters/detect.js.map +1 -1
  21. package/dist/adapters/gemini.d.ts.map +1 -1
  22. package/dist/adapters/gemini.js +5 -0
  23. package/dist/adapters/gemini.js.map +1 -1
  24. package/dist/adapters/opencode.d.ts.map +1 -1
  25. package/dist/adapters/opencode.js +3 -8
  26. package/dist/adapters/opencode.js.map +1 -1
  27. package/dist/adapters/rtk-delegation.d.ts +20 -2
  28. package/dist/adapters/rtk-delegation.d.ts.map +1 -1
  29. package/dist/adapters/rtk-delegation.js +86 -11
  30. package/dist/adapters/rtk-delegation.js.map +1 -1
  31. package/dist/adapters/vibe.d.ts.map +1 -1
  32. package/dist/adapters/vibe.js +4 -1
  33. package/dist/adapters/vibe.js.map +1 -1
  34. package/dist/adapters/windsurf.d.ts.map +1 -1
  35. package/dist/adapters/windsurf.js +3 -1
  36. package/dist/adapters/windsurf.js.map +1 -1
  37. package/dist/cli/exit.d.ts +7 -0
  38. package/dist/cli/exit.d.ts.map +1 -1
  39. package/dist/cli/exit.js +9 -0
  40. package/dist/cli/exit.js.map +1 -1
  41. package/dist/cli/json.d.ts +22 -0
  42. package/dist/cli/json.d.ts.map +1 -0
  43. package/dist/cli/json.js +17 -0
  44. package/dist/cli/json.js.map +1 -0
  45. package/dist/commands/agent-files.d.ts +14 -0
  46. package/dist/commands/agent-files.d.ts.map +1 -0
  47. package/dist/commands/agent-files.js +58 -0
  48. package/dist/commands/agent-files.js.map +1 -0
  49. package/dist/commands/apply.d.ts +42 -1
  50. package/dist/commands/apply.d.ts.map +1 -1
  51. package/dist/commands/apply.js +169 -53
  52. package/dist/commands/apply.js.map +1 -1
  53. package/dist/commands/completion.d.ts +4 -0
  54. package/dist/commands/completion.d.ts.map +1 -1
  55. package/dist/commands/completion.js +46 -5
  56. package/dist/commands/completion.js.map +1 -1
  57. package/dist/commands/config-edit.d.ts +9 -7
  58. package/dist/commands/config-edit.d.ts.map +1 -1
  59. package/dist/commands/config-edit.js +65 -18
  60. package/dist/commands/config-edit.js.map +1 -1
  61. package/dist/commands/doctor.d.ts +9 -1
  62. package/dist/commands/doctor.d.ts.map +1 -1
  63. package/dist/commands/doctor.js +123 -8
  64. package/dist/commands/doctor.js.map +1 -1
  65. package/dist/commands/setup.d.ts +22 -3
  66. package/dist/commands/setup.d.ts.map +1 -1
  67. package/dist/commands/setup.js +136 -39
  68. package/dist/commands/setup.js.map +1 -1
  69. package/dist/commands/status.d.ts +10 -6
  70. package/dist/commands/status.d.ts.map +1 -1
  71. package/dist/commands/status.js +62 -48
  72. package/dist/commands/status.js.map +1 -1
  73. package/dist/commands/uninstall.d.ts +15 -2
  74. package/dist/commands/uninstall.d.ts.map +1 -1
  75. package/dist/commands/uninstall.js +79 -13
  76. package/dist/commands/uninstall.js.map +1 -1
  77. package/dist/commands/update.d.ts +29 -2
  78. package/dist/commands/update.d.ts.map +1 -1
  79. package/dist/commands/update.js +173 -15
  80. package/dist/commands/update.js.map +1 -1
  81. package/dist/commands/wizard.d.ts +2 -0
  82. package/dist/commands/wizard.d.ts.map +1 -1
  83. package/dist/commands/wizard.js +33 -12
  84. package/dist/commands/wizard.js.map +1 -1
  85. package/dist/config/schema.d.ts +3 -3
  86. package/dist/config/schema.d.ts.map +1 -1
  87. package/dist/config/schema.js +51 -28
  88. package/dist/config/schema.js.map +1 -1
  89. package/dist/config/scopes.d.ts +14 -0
  90. package/dist/config/scopes.d.ts.map +1 -1
  91. package/dist/config/scopes.js +23 -0
  92. package/dist/config/scopes.js.map +1 -1
  93. package/dist/generate/agentsmd.d.ts +9 -3
  94. package/dist/generate/agentsmd.d.ts.map +1 -1
  95. package/dist/generate/agentsmd.js +103 -24
  96. package/dist/generate/agentsmd.js.map +1 -1
  97. package/dist/index.js +6 -1
  98. package/dist/index.js.map +1 -1
  99. package/dist/integrations/base.d.ts +0 -1
  100. package/dist/integrations/base.d.ts.map +1 -1
  101. package/dist/integrations/superpowers.d.ts +12 -4
  102. package/dist/integrations/superpowers.d.ts.map +1 -1
  103. package/dist/integrations/superpowers.js +33 -37
  104. package/dist/integrations/superpowers.js.map +1 -1
  105. package/dist/shell/detector.d.ts.map +1 -1
  106. package/dist/shell/detector.js +9 -0
  107. package/dist/shell/detector.js.map +1 -1
  108. package/dist/shell/shell-fix-state.d.ts +1 -1
  109. package/dist/shell/shell-fix-state.d.ts.map +1 -1
  110. package/dist/shell/shell-fix-state.js +13 -2
  111. package/dist/shell/shell-fix-state.js.map +1 -1
  112. package/dist/toolchain/gh.d.ts +7 -0
  113. package/dist/toolchain/gh.d.ts.map +1 -1
  114. package/dist/toolchain/gh.js +13 -1
  115. package/dist/toolchain/gh.js.map +1 -1
  116. package/dist/toolchain/mise.d.ts +54 -1
  117. package/dist/toolchain/mise.d.ts.map +1 -1
  118. package/dist/toolchain/mise.js +170 -27
  119. package/dist/toolchain/mise.js.map +1 -1
  120. package/dist/toolchain/rtk.d.ts +7 -0
  121. package/dist/toolchain/rtk.d.ts.map +1 -1
  122. package/dist/toolchain/rtk.js +11 -0
  123. package/dist/toolchain/rtk.js.map +1 -1
  124. package/dist/ui/output.d.ts.map +1 -1
  125. package/dist/ui/output.js +7 -3
  126. package/dist/ui/output.js.map +1 -1
  127. package/dist/ui/report.d.ts +13 -2
  128. package/dist/ui/report.d.ts.map +1 -1
  129. package/dist/ui/report.js +24 -4
  130. package/dist/ui/report.js.map +1 -1
  131. package/dist/utils/fs-retry.d.ts +11 -1
  132. package/dist/utils/fs-retry.d.ts.map +1 -1
  133. package/dist/utils/fs-retry.js +43 -4
  134. package/dist/utils/fs-retry.js.map +1 -1
  135. package/dist/wizard/build.d.ts +7 -1
  136. package/dist/wizard/build.d.ts.map +1 -1
  137. package/dist/wizard/build.js +11 -6
  138. package/dist/wizard/build.js.map +1 -1
  139. package/package.json +2 -1
@@ -5,10 +5,12 @@ import { AGENT_COMMANDS, isAgentInstalled } from '../adapters/detect.js';
5
5
  import { isQuiet, LOGO, resolveResultLine, setQuietEnabled, shouldPrintBanner, } from '../ui/output.js';
6
6
  import { theme } from '../ui/theme.js';
7
7
  import { BINARY_MAP, getEnabledAgents, loadConfig, TOOL_KEYS, validateConfig, } from '../config/schema.js';
8
- import { findConfigPath, userConfigDir } from '../config/scopes.js';
8
+ import { findConfigPath, findConfigPathInScope, parseScopeFlag, userConfigDir, } from '../config/scopes.js';
9
9
  import { bashExecutable, checkAgentShellConfiguration, detectShell, generateGitBashPathAddition, gitInstallRoot, NATIVE_UNIX_TOOLS, preferredGitBashLauncher, readPersistentWindowsPath, resolveOnWindowsPath, } from '../shell/detector.js';
10
- import { getInstalledToolState, getMiseVersion, getShimsDirValue, isMiseInstalled, miseGlobalConfigPath, miseInstallInstructions, PINNED_TOOL_VERSIONS, shimsDir, shimsDirOnPath, toolAvailabilityClassification, } from '../toolchain/mise.js';
10
+ import { getInstalledToolState, getMiseVersion, getShimsDirValue, isMiseInstalled, MISE_TOOL_NAMES, miseGlobalConfigPath, miseTomlPathFor, runMiseCaptured, miseInstallInstructions, PINNED_TOOL_VERSIONS, shimsDir, shimsDirOnPath, findShadowedShims, toolAvailabilityClassification, } from '../toolchain/mise.js';
11
11
  import { checkRtkInstallation } from '../toolchain/rtk.js';
12
+ import { requestedInstructionFiles } from '../generate/agentsmd.js';
13
+ import { userScopeInstructionFiles } from './apply.js';
12
14
  const STATUS_COLOR = {
13
15
  ok: theme.ok,
14
16
  warn: theme.warn,
@@ -149,6 +151,10 @@ export function agentShellItem(agent, info, exists) {
149
151
  }
150
152
  return { status: 'ok', label, detail: info.shell };
151
153
  }
154
+ /** The deps that make `doctor --scope <scope>` inspect that scope; none without a scope. */
155
+ export function scopedDoctorDeps(scope) {
156
+ return scope ? { findConfigPath: () => findConfigPathInScope(scope) } : {};
157
+ }
152
158
  export function gatherDoctor(sectionFilter, deps = {}) {
153
159
  const detectShellFn = deps.detectShell ?? detectShell;
154
160
  const existsSync = deps.existsSync ?? fs.existsSync;
@@ -158,6 +164,9 @@ export function gatherDoctor(sectionFilter, deps = {}) {
158
164
  const miseGlobalConfigPathFn = deps.miseGlobalConfigPath ?? miseGlobalConfigPath;
159
165
  const shimsDirFn = deps.shimsDir ?? shimsDir;
160
166
  const shimsDirOnPathFn = deps.shimsDirOnPath ?? shimsDirOnPath;
167
+ const findShadowedShimsFn = deps.findShadowedShims ?? findShadowedShims;
168
+ const miseProvidesExecutableFn = deps.miseProvidesExecutable ??
169
+ ((binary, cwd) => runMiseCaptured(['which', binary], { cwd }).status === 0);
161
170
  const findConfigPathFn = deps.findConfigPath ?? findConfigPath;
162
171
  const userConfigDirFn = deps.userConfigDir ?? userConfigDir;
163
172
  const loadConfigFn = deps.loadConfig ?? loadConfig;
@@ -227,6 +236,7 @@ export function gatherDoctor(sectionFilter, deps = {}) {
227
236
  status: 'fail',
228
237
  label: 'shims_dir',
229
238
  detail: `not set to ${shimsDirFn()} in ${globalConfigPath} — run \`agentenv apply\``,
239
+ fix: 'agentenv apply',
230
240
  });
231
241
  }
232
242
  miseItems.push({
@@ -300,18 +310,45 @@ export function gatherDoctor(sectionFilter, deps = {}) {
300
310
  const item = { status: 'ok', label: `${binary} (${key})`, detail: '' };
301
311
  if (status === 'needs-new-terminal') {
302
312
  item.status = 'warn';
303
- item.detail = 'installed via mise; open a new terminal';
313
+ if (miseProvidesExecutableFn(binary, path.dirname(configPath))) {
314
+ item.detail = 'installed via mise; open a new terminal';
315
+ }
316
+ else {
317
+ // mise lists it as installed but `mise which` finds nothing to run (e.g. an
318
+ // upstream package whose Windows asset has no .exe), so a new terminal
319
+ // would never fix it.
320
+ const miseName = MISE_TOOL_NAMES[key] || key;
321
+ item.detail = `mise lists it as installed but provides no executable (\`mise which ${binary}\` fails), so a new terminal will not help; reinstall with \`mise install --force ${miseName}\`, and if that fails too the package is broken for this platform: \`agentenv remove ${key}\``;
322
+ item.fix = `mise install --force ${miseName}`;
323
+ }
304
324
  }
305
325
  else if (status === 'manual') {
306
- item.status = 'warn';
307
- item.detail = 'not managed by mise; install manually';
326
+ // Not actionable by agentenv (e.g. tokei, or rga/jless on Windows), so it
327
+ // must not keep the whole report at 'warn' forever.
328
+ item.detail = 'not managed by mise; install manually if you want it';
308
329
  }
309
330
  else if (status === 'missing') {
310
331
  item.status = 'fail';
311
- item.detail = 'not on PATH — run `mise install` in this project';
332
+ item.detail =
333
+ scope === 'user'
334
+ ? 'not on PATH — run `agentenv apply --scope user`'
335
+ : 'not on PATH — run `mise install` in this project';
336
+ item.fix = scope === 'user' ? 'agentenv apply --scope user' : 'agentenv apply';
312
337
  }
313
338
  toolItems.push(item);
314
339
  }
340
+ // mise's own `doctor` warns about this; without it every tool above can read
341
+ // [ok] while the agent actually runs a different copy of it.
342
+ const shadowed = findShadowedShimsFn(enabledTools.map((key) => BINARY_MAP[key]), { pathEnv: process.env.PATH ?? '', shimsDir: shimsDirFn() });
343
+ if (shadowed.length > 0) {
344
+ const shown = shadowed.slice(0, 5).map((s) => `${s.binary} → ${s.shadowedBy}`);
345
+ const more = shadowed.length > shown.length ? `, +${shadowed.length - shown.length} more` : '';
346
+ toolItems.push({
347
+ status: 'warn',
348
+ label: 'PATH order',
349
+ detail: `${shadowed.length} tool(s) resolve to another copy before the mise shims: ${shown.join('; ')}${more} — move ${shimsDirFn()} earlier in PATH`,
350
+ });
351
+ }
315
352
  }
316
353
  sections.push({
317
354
  title: `Tools (${enabledTools.length} configured)`,
@@ -333,11 +370,12 @@ export function gatherDoctor(sectionFilter, deps = {}) {
333
370
  status: 'fail',
334
371
  label: 'rtk',
335
372
  detail: 'not found via `mise which rtk` or on PATH — run `agentenv apply`',
373
+ fix: 'agentenv apply',
336
374
  });
337
375
  }
338
376
  else {
339
377
  rtkItems.push({ status: 'ok', label: 'rtk', detail: rtkInfo.resolvedPath });
340
- const pinned = PINNED_TOOL_VERSIONS.rtk;
378
+ const pinned = config.tool_versions?.rtk ?? PINNED_TOOL_VERSIONS.rtk;
341
379
  if (rtkInfo.version) {
342
380
  const detail = pinned && !rtkInfo.version.includes(pinned)
343
381
  ? `${rtkInfo.version} (agentenv pins ${pinned})`
@@ -373,6 +411,12 @@ export function gatherDoctor(sectionFilter, deps = {}) {
373
411
  detail: installed
374
412
  ? ''
375
413
  : 'CLI not found on PATH — install it or disable the agent in config',
414
+ // Installing it is the other way out, but only disabling is a command agentenv owns.
415
+ ...(installed
416
+ ? {}
417
+ : {
418
+ fix: `agentenv remove ${agent}${config.scope === 'user' ? ' --scope user' : ''}`,
419
+ }),
376
420
  });
377
421
  if (platform === 'win32' && SHELL_MANAGED_AGENTS.includes(agent)) {
378
422
  agentItems.push(agentShellItem(agent, checkAgentShellFn(agent), existsSync));
@@ -385,6 +429,71 @@ export function gatherDoctor(sectionFilter, deps = {}) {
385
429
  ? agentItems
386
430
  : [{ status: 'warn', label: 'none', detail: 'no agents enabled' }],
387
431
  });
432
+ // Generated files — what `apply` wrote and agents actually read. `status`
433
+ // reports the same drift; agents are pointed at `doctor --json`, so it has
434
+ // to see a stripped managed block or a missing custom binary too.
435
+ const baseDir = config.scope === 'user' ? userConfigDirFn() : path.dirname(configPath);
436
+ const applyFix = config.scope === 'user' ? 'agentenv apply --scope user' : 'agentenv apply';
437
+ const marker = config.generate?.marker_start ?? '<!-- agentenv-managed-start -->';
438
+ const generated = [
439
+ { label: 'mise.toml', file: miseTomlPathFor(config.scope, baseDir), managed: false },
440
+ ...requestedInstructionFiles(config).map((name) => ({
441
+ label: name,
442
+ file: path.join(baseDir, name),
443
+ managed: true,
444
+ })),
445
+ ...userScopeInstructionFiles(config, baseDir, {}).map((entry) => ({
446
+ label: entry.path,
447
+ file: entry.path,
448
+ managed: true,
449
+ })),
450
+ ];
451
+ sections.push({
452
+ title: `Generated files (${generated.length})`,
453
+ items: generated.map(({ label, file, managed }) => {
454
+ if (!existsSync(file)) {
455
+ return { status: 'warn', label, detail: `missing — run \`${applyFix}\``, fix: applyFix };
456
+ }
457
+ let content = '';
458
+ try {
459
+ content = String(readFileSync(file, 'utf-8'));
460
+ }
461
+ catch {
462
+ // Unreadable counts as having no managed block below.
463
+ }
464
+ if (managed && !content.includes(marker)) {
465
+ return {
466
+ status: 'warn',
467
+ label,
468
+ detail: `present but has no agentenv managed block — run \`${applyFix}\``,
469
+ fix: applyFix,
470
+ };
471
+ }
472
+ return { status: 'ok', label, detail: file };
473
+ }),
474
+ });
475
+ const installedCustom = (config.custom_tools ?? []).filter((tool) => tool.already_installed);
476
+ if (installedCustom.length > 0) {
477
+ sections.push({
478
+ title: `Custom tools (${installedCustom.length})`,
479
+ items: installedCustom.map((tool) => {
480
+ const where = platform === 'win32'
481
+ ? tool.path_windows
482
+ : platform === 'darwin'
483
+ ? tool.path_macos
484
+ : tool.path_linux;
485
+ return where && existsSync(where)
486
+ ? { status: 'ok', label: tool.name, detail: where }
487
+ : {
488
+ status: 'warn',
489
+ label: tool.name,
490
+ detail: where
491
+ ? `not found at ${where}`
492
+ : `no path configured for ${platform}; set path_${platform === 'win32' ? 'windows' : platform === 'darwin' ? 'macos' : 'linux'}`,
493
+ };
494
+ }),
495
+ });
496
+ }
388
497
  return sections;
389
498
  }
390
499
  function doctorSummary(payload) {
@@ -419,11 +528,17 @@ export const doctorCommand = new Command()
419
528
  .description('Diagnose the machine: mise, shims, config, tools and agents (read-only)')
420
529
  .option('--json', 'emit a machine-readable JSON document on stdout')
421
530
  .option('--section <index|name>', 'only run one report section (1-based section index or title prefix)')
531
+ .option('--scope <scope>', 'config scope to inspect: project|user (default: nearest config)')
422
532
  .action((options, command) => {
533
+ const scope = parseScopeFlag(options.scope);
534
+ if (scope.error) {
535
+ command.error(scope.error);
536
+ return;
537
+ }
423
538
  const json = options.json === true;
424
539
  if (json)
425
540
  setQuietEnabled(true);
426
- const gathered = gatherDoctor(options.section);
541
+ const gathered = gatherDoctor(options.section, scopedDoctorDeps(scope.scope));
427
542
  const sections = options.section === undefined ? gathered : filterDoctorSections(gathered, options.section);
428
543
  if (sections === undefined) {
429
544
  // Invalid argument, not an operational failure — docs/guides/exit-codes.md
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import { Command } from 'commander';
2
2
  import type { AgentenvConfig } from '../config/schema.js';
3
3
  import type { ScopeValue } from '../config/scopes.js';
4
4
  import { applyConfiguration } from './apply.js';
5
+ import type { ApplyResult } from './apply.js';
5
6
  interface MisePrereqCheckDeps {
6
7
  isInstalled?: () => boolean;
7
8
  version?: () => string;
@@ -21,6 +22,19 @@ export interface SaveAndApplyDeps {
21
22
  startedAt?: number;
22
23
  /** Generate files only — no `mise install`, no verification. */
23
24
  skipMiseInstall?: boolean;
25
+ /**
26
+ * What to write to `file`, when it differs from the (possibly user-layered)
27
+ * `config` being applied. `null` means the file is already what the user
28
+ * wants: don't touch it, so its comments and layering survive.
29
+ */
30
+ persistConfig?: AgentenvConfig | null;
31
+ /** JSON mode: don't stream raw mise output onto stdout (it would corrupt the document). */
32
+ json?: boolean;
33
+ /**
34
+ * JSON mode: receives apply's structured result (and the config file it ran
35
+ * against) instead of the human message list and result box being printed.
36
+ */
37
+ onApplied?: (result: ApplyResult, file: string) => void;
24
38
  }
25
39
  /** Save the config and apply it, mirroring the shared setup tail. */
26
40
  export declare function saveAndApply(config: AgentenvConfig, file: string, deps?: SaveAndApplyDeps): Promise<void>;
@@ -31,13 +45,12 @@ interface SetupCommandOptions {
31
45
  tier2?: boolean;
32
46
  rtk?: boolean;
33
47
  config?: string;
34
- superpowers?: string | boolean;
48
+ superpowers?: boolean;
49
+ json?: boolean;
35
50
  }
36
51
  export interface UnattendedSetupDeps extends SaveAndApplyDeps {
37
52
  misePrereqCheckDeps?: MisePrereqCheckDeps;
38
53
  }
39
- /** --scope only steers unattended (--yes) setup; the interactive wizard has no scope prompt yet. */
40
- export declare function interactiveScopeIgnoredWarning(scope: ScopeValue | undefined): string | undefined;
41
54
  /**
42
55
  * Unattended, single-command setup: `agentenv setup --yes`. Resolves the
43
56
  * configuration from, in priority order:
@@ -47,6 +60,12 @@ export declare function interactiveScopeIgnoredWarning(scope: ScopeValue | undef
47
60
  * --agents / --no-tier2 / --no-rtk / --scope / --superpowers.
48
61
  */
49
62
  export declare function unattendedSetup(options: SetupCommandOptions, deps?: UnattendedSetupDeps): Promise<void>;
63
+ /**
64
+ * `setup --yes --json`: run the normal unattended flow with chrome off and
65
+ * its console output captured, then emit one JSON envelope. Raw mise output
66
+ * is not streamed (it would corrupt the document).
67
+ */
68
+ export declare function unattendedSetupJson(options: SetupCommandOptions, deps?: UnattendedSetupDeps): Promise<void>;
50
69
  export declare const setupCommand: Command;
51
70
  export {};
52
71
  //# sourceMappingURL=setup.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,OAAO,KAAK,EAAY,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAEpE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAmBhD,UAAU,mBAAmB;IAC3B,WAAW,CAAC,EAAE,MAAM,OAAO,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,MAAM,CAAC;CACxB;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,GAAE,mBAAwB,GAAG,OAAO,CAavE;AAED,MAAM,WAAW,gBAAgB;IAC/B,iEAAiE;IACjE,kBAAkB,CAAC,EAAE,OAAO,kBAAkB,CAAC;IAC/C,wEAAwE;IACxE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,0EAA0E;IAC1E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gEAAgE;IAChE,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,qEAAqE;AACrE,wBAAsB,YAAY,CAChC,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,MAAM,EACZ,IAAI,GAAE,gBAAqB,GAC1B,OAAO,CAAC,IAAI,CAAC,CAoCf;AAED,UAAU,mBAAmB;IAC3B,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CAChC;AAED,MAAM,WAAW,mBAAoB,SAAQ,gBAAgB;IAC3D,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;CAC3C;AAeD,oGAAoG;AACpG,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,UAAU,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAMhG;AAaD;;;;;;;GAOG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,mBAAmB,EAC5B,IAAI,GAAE,mBAAwB,GAC7B,OAAO,CAAC,IAAI,CAAC,CA8Gf;AAED,eAAO,MAAM,YAAY,SA6BrB,CAAC"}
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,OAAO,KAAK,EAAY,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAEpE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAoB9C,UAAU,mBAAmB;IAC3B,WAAW,CAAC,EAAE,MAAM,OAAO,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,MAAM,CAAC;CACxB;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,GAAE,mBAAwB,GAAG,OAAO,CAavE;AAED,MAAM,WAAW,gBAAgB;IAC/B,iEAAiE;IACjE,kBAAkB,CAAC,EAAE,OAAO,kBAAkB,CAAC;IAC/C,wEAAwE;IACxE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,0EAA0E;IAC1E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gEAAgE;IAChE,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;OAIG;IACH,aAAa,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;IACtC,2FAA2F;IAC3F,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;;OAGG;IACH,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACzD;AAgBD,qEAAqE;AACrE,wBAAsB,YAAY,CAChC,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,MAAM,EACZ,IAAI,GAAE,gBAAqB,GAC1B,OAAO,CAAC,IAAI,CAAC,CAiDf;AAED,UAAU,mBAAmB;IAC3B,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,mBAAoB,SAAQ,gBAAgB;IAC3D,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;CAC3C;AA4BD;;;;;;;GAOG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,mBAAmB,EAC5B,IAAI,GAAE,mBAAwB,GAC7B,OAAO,CAAC,IAAI,CAAC,CAkHf;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,mBAAmB,EAC5B,IAAI,GAAE,mBAAwB,GAC7B,OAAO,CAAC,IAAI,CAAC,CA8Cf;AAED,eAAO,MAAM,YAAY,SAuCrB,CAAC"}
@@ -8,8 +8,9 @@ import { applyConfiguration } from './apply.js';
8
8
  import { runConfigWizard } from './wizard.js';
9
9
  import { AGENT_OPTIONS, buildDefaultSimpleConfig, parseAgentsInput } from '../wizard/build.js';
10
10
  import { getMiseVersion, isMiseInstalled, miseInstallInstructions, prereqLine, } from '../toolchain/mise.js';
11
- import { colorizeLine, theme } from '../ui/theme.js';
12
- import { renderLogo } from '../ui/output.js';
11
+ import { colorizeLine, setColorEnabled, theme } from '../ui/theme.js';
12
+ import { renderLogo, setQuietEnabled } from '../ui/output.js';
13
+ import { printJson } from '../cli/json.js';
13
14
  import { printConfigPath, printMessages, printResult, reportValidation } from '../ui/report.js';
14
15
  import { withSpinner } from '../ui/spinner.js';
15
16
  function agentLabel(agent) {
@@ -33,33 +34,66 @@ export function misePrereqCheck(deps = {}) {
33
34
  console.error('\nInstall mise first, then re-run `agentenv setup`.');
34
35
  return false;
35
36
  }
37
+ /**
38
+ * The project file's own settings, for generating committed files without the
39
+ * user layer (see ApplyOptions.fileConfig). Undefined in user scope, or when
40
+ * the file can't be read back.
41
+ */
42
+ function projectFileConfig(config, file) {
43
+ if (config.scope !== 'project')
44
+ return undefined;
45
+ try {
46
+ return loadConfig(file);
47
+ }
48
+ catch {
49
+ return undefined;
50
+ }
51
+ }
36
52
  /** Save the config and apply it, mirroring the shared setup tail. */
37
53
  export async function saveAndApply(config, file, deps = {}) {
38
- if (fs.existsSync(file)) {
39
- console.log(`Note: ${file} already exists — setup is idempotent and updates it in place.\n`);
54
+ const toSave = deps.persistConfig === undefined ? config : deps.persistConfig;
55
+ if (toSave === null) {
56
+ console.log(`Using existing configuration: ${file} (left unchanged)\n`);
57
+ }
58
+ else {
59
+ const existed = fs.existsSync(file);
60
+ const changed = saveConfig(toSave, file);
61
+ if (!changed)
62
+ console.log(`Configuration already up to date: ${file} (left unchanged)\n`);
63
+ else if (existed)
64
+ console.log(`Updated configuration: ${file}\n`);
65
+ else
66
+ console.log(`Saved configuration: ${file}\n`);
40
67
  }
41
- saveConfig(config, file);
42
- console.log(`Saved configuration: ${file}\n`);
43
68
  const apply = deps.applyConfiguration ?? applyConfiguration;
44
69
  // `file` is always the actual agentenv.toml being applied — including when
45
- // findConfigPath()'s upward search (FEAT-05) found it in an ancestor
70
+ // findConfigPath()'s upward search found it in an ancestor
46
71
  // directory — so its own directory is the base dir, not a re-derivation
47
72
  // from config.scope that assumes cwd for "project".
48
73
  const result = await withSpinner('Applying configuration...', (spinner) =>
49
74
  // setup already printed the prereq line above, so tell apply not to repeat it.
50
75
  apply(config, path.dirname(file), {
51
76
  skipPrereqMessage: true,
77
+ fileConfig: projectFileConfig(config, file),
52
78
  skipMiseInstall: deps.skipMiseInstall,
53
- onMiseInstall: {
54
- onStart: () => {
55
- spinner.stop();
56
- console.log(colorizeLine('Installing tools via mise...'));
79
+ onMiseInstall: deps.json
80
+ ? undefined
81
+ : {
82
+ onStart: () => {
83
+ spinner.stop();
84
+ console.log(colorizeLine('Installing tools via mise...'));
85
+ },
86
+ onOutput: (chunk) => process.stdout.write(chunk),
87
+ onEnd: () => spinner.start(),
57
88
  },
58
- onOutput: (chunk) => process.stdout.write(chunk),
59
- onEnd: () => spinner.start(),
60
- },
61
89
  }));
62
- printMessages(result.messages, result.errors);
90
+ if (deps.json) {
91
+ deps.onApplied?.(result, file);
92
+ if (!result.success)
93
+ process.exitCode = 1;
94
+ return;
95
+ }
96
+ printMessages(result.messages, result.errors, result.timeline);
63
97
  const elapsedMs = deps.startedAt === undefined ? result.elapsedMs : Date.now() - deps.startedAt;
64
98
  if (!result.success) {
65
99
  process.exitCode = 1;
@@ -69,7 +103,7 @@ export async function saveAndApply(config, file, deps = {}) {
69
103
  printResult('ok', deps.successMessage ?? 'Setup complete!', undefined, elapsedMs);
70
104
  }
71
105
  /**
72
- * `--agents`/`--superpowers` only take effect when unattendedSetup builds a
106
+ * `--agents`/`--superpowers`/`--no-rtk`/`--no-tier2` only take effect when unattendedSetup builds a
73
107
  * fresh default config; reusing an existing agentenv.toml (the common case)
74
108
  * applies it as-is, silently dropping whatever the caller typed unless we
75
109
  * say so here.
@@ -80,15 +114,12 @@ function ignoredUnattendedFlags(options) {
80
114
  ignored.push('--agents');
81
115
  if (options.superpowers !== undefined)
82
116
  ignored.push('--superpowers');
117
+ if (options.rtk === false)
118
+ ignored.push('--no-rtk');
119
+ if (options.tier2 === false)
120
+ ignored.push('--no-tier2');
83
121
  return ignored;
84
122
  }
85
- /** --scope only steers unattended (--yes) setup; the interactive wizard has no scope prompt yet. */
86
- export function interactiveScopeIgnoredWarning(scope) {
87
- if (scope === undefined)
88
- return undefined;
89
- return (`--scope is ignored by the interactive wizard (only --yes uses it); ` +
90
- `run \`agentenv setup --yes --scope ${scope}\` for unattended setup at that scope.`);
91
- }
92
123
  function warnIgnoredFlags(options, file) {
93
124
  const ignored = ignoredUnattendedFlags(options);
94
125
  if (ignored.length === 0)
@@ -114,6 +145,7 @@ export async function unattendedSetup(options, deps = {}) {
114
145
  }
115
146
  let config;
116
147
  let file;
148
+ let reusedExisting = false;
117
149
  if (options.config) {
118
150
  try {
119
151
  config = loadConfig(options.config, { layerUserConfig: true });
@@ -129,7 +161,9 @@ export async function unattendedSetup(options, deps = {}) {
129
161
  process.exitCode = 1;
130
162
  return;
131
163
  }
132
- file = configFilePath(config.scope ?? 'project');
164
+ // Apply the given file in place (never copy it over cwd/agentenv.toml).
165
+ file = path.resolve(options.config);
166
+ reusedExisting = true;
133
167
  }
134
168
  else {
135
169
  const scope = options.scope ?? 'project';
@@ -150,6 +184,7 @@ export async function unattendedSetup(options, deps = {}) {
150
184
  return;
151
185
  }
152
186
  warnIgnoredFlags(options, file);
187
+ reusedExisting = true;
153
188
  }
154
189
  else if (options.scope === undefined) {
155
190
  // No config at the preferred scope and the user didn't ask for a
@@ -173,6 +208,7 @@ export async function unattendedSetup(options, deps = {}) {
173
208
  return;
174
209
  }
175
210
  warnIgnoredFlags(options, file);
211
+ reusedExisting = true;
176
212
  }
177
213
  }
178
214
  if (config === undefined) {
@@ -183,7 +219,7 @@ export async function unattendedSetup(options, deps = {}) {
183
219
  }
184
220
  catch (error) {
185
221
  console.error(theme.fail(error instanceof Error ? error.message : String(error)));
186
- process.exitCode = 1;
222
+ process.exitCode = 2; // usage error: unknown agent name
187
223
  return;
188
224
  }
189
225
  }
@@ -198,16 +234,71 @@ export async function unattendedSetup(options, deps = {}) {
198
234
  }
199
235
  const includeTier2 = options.tier2 !== false;
200
236
  const rtkEnabled = options.rtk !== false;
201
- const superpowersRef = options.superpowers === undefined
202
- ? undefined
203
- : typeof options.superpowers === 'string'
204
- ? options.superpowers
205
- : undefined;
206
- config = buildDefaultSimpleConfig(agents, includeTier2, rtkEnabled, scope, superpowersRef);
207
- console.log(`Defaults: agents ${agents.join(', ')}, Tier 2 tools ${includeTier2 ? 'on' : 'off'}, rtk ${rtkEnabled ? 'on' : 'off'}, Superpowers ${superpowersRef === undefined ? 'off' : `on (ref ${superpowersRef || 'default'})`}`);
237
+ const superpowers = options.superpowers === true;
238
+ config = buildDefaultSimpleConfig(agents, includeTier2, rtkEnabled, scope, superpowers);
239
+ console.log(`Defaults: agents ${agents.join(', ')}, Tier 2 tools ${includeTier2 ? 'on' : 'off'}, rtk ${rtkEnabled ? 'on' : 'off'}, Superpowers ${superpowers ? 'on' : 'off'}`);
208
240
  }
209
241
  }
210
- await saveAndApply(config, file, { ...deps, startedAt });
242
+ await saveAndApply(config, file, {
243
+ ...deps,
244
+ startedAt,
245
+ ...(reusedExisting ? { persistConfig: null } : {}),
246
+ });
247
+ }
248
+ /**
249
+ * `setup --yes --json`: run the normal unattended flow with chrome off and
250
+ * its console output captured, then emit one JSON envelope. Raw mise output
251
+ * is not streamed (it would corrupt the document).
252
+ */
253
+ export async function unattendedSetupJson(options, deps = {}) {
254
+ setQuietEnabled(true);
255
+ setColorEnabled(false);
256
+ // Notes the flow prints before/around apply, warnings (e.g. ignored flags),
257
+ // and errors from steps that stop before apply ever runs (bad config, no
258
+ // agents). Apply's own messages/errors come from its structured result.
259
+ const notes = [];
260
+ const warnings = [];
261
+ const earlyErrors = [];
262
+ const original = { log: console.log, warn: console.warn, error: console.error };
263
+ const capture = (sink) => (message) => {
264
+ for (const line of String(message ?? '').split(/\r?\n/)) {
265
+ if (line.trim() !== '')
266
+ sink.push(line);
267
+ }
268
+ };
269
+ console.log = capture(notes);
270
+ console.warn = capture(warnings);
271
+ console.error = capture(earlyErrors);
272
+ const priorExitCode = process.exitCode;
273
+ process.exitCode = undefined;
274
+ let applied;
275
+ try {
276
+ await unattendedSetup(options, {
277
+ ...deps,
278
+ json: true,
279
+ onApplied: (result, file) => {
280
+ applied = { result, file };
281
+ deps.onApplied?.(result, file);
282
+ },
283
+ });
284
+ }
285
+ finally {
286
+ console.log = original.log;
287
+ console.warn = original.warn;
288
+ console.error = original.error;
289
+ }
290
+ const failed = process.exitCode !== undefined && process.exitCode !== 0;
291
+ printJson({
292
+ success: !failed,
293
+ configPath: applied?.file ?? null,
294
+ baseDir: applied ? path.dirname(applied.file) : null,
295
+ messages: [...notes, ...(applied?.result.messages ?? [])],
296
+ errors: [...earlyErrors, ...(applied?.result.errors ?? [])],
297
+ warnings,
298
+ ...(applied?.result.elapsedMs === undefined ? {} : { elapsedMs: applied.result.elapsedMs }),
299
+ });
300
+ if (!failed)
301
+ process.exitCode = priorExitCode;
211
302
  }
212
303
  export const setupCommand = new Command()
213
304
  .name('setup')
@@ -215,24 +306,30 @@ export const setupCommand = new Command()
215
306
  .description('Setup wizard (agents, tools, custom binaries, Superpowers); use --yes for unattended single-command setup')
216
307
  .option('-y, --yes', 'unattended: use detected agents + defaults, or an existing config')
217
308
  .option('-a, --agents <agents>', 'comma-separated agents to configure (unattended)')
218
- .option('--scope <scope>', 'configuration scope: project|user (default: project)')
309
+ .option('--scope <scope>', 'configuration scope: project|user (default: project; preselects the wizard prompt without --yes)')
219
310
  .option('--no-tier2', 'skip Tier 2 tools (unattended)')
220
311
  .option('--no-rtk', 'disable rtk command rewriting (unattended)')
221
- .option('--superpowers [ref]', 'enable the Superpowers integration (unattended); optional github tag/branch/commit ref')
312
+ .option('--superpowers', 'enable the Superpowers integration (unattended); installed from the official Claude Code marketplace')
222
313
  .option('--config <path>', 'path to an existing agentenv.toml to apply (unattended)')
314
+ .option('--json', 'emit one machine-readable JSON document on stdout (requires --yes)')
223
315
  .action(async (options, command) => {
224
316
  const scope = parseScopeFlag(options.scope);
225
317
  if (scope.error) {
226
318
  command.error(scope.error);
227
319
  return;
228
320
  }
321
+ if (options.json && !options.yes) {
322
+ command.error('--json requires --yes (the interactive wizard cannot produce JSON)');
323
+ return;
324
+ }
325
+ if (options.yes && options.json) {
326
+ await unattendedSetupJson({ ...options, scope: scope.scope });
327
+ return;
328
+ }
229
329
  if (options.yes) {
230
330
  await unattendedSetup({ ...options, scope: scope.scope });
231
331
  return;
232
332
  }
233
- const scopeWarning = interactiveScopeIgnoredWarning(scope.scope);
234
- if (scopeWarning)
235
- console.warn(theme.warn(scopeWarning));
236
- await runConfigWizard();
333
+ await runConfigWizard({ scope: scope.scope });
237
334
  });
238
335
  //# sourceMappingURL=setup.js.map