@indy2kro/agentenv 1.0.0 → 1.0.2

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 (130) hide show
  1. package/dist/adapters/agent-dirs.d.ts +29 -0
  2. package/dist/adapters/agent-dirs.d.ts.map +1 -0
  3. package/dist/adapters/agent-dirs.js +46 -0
  4. package/dist/adapters/agent-dirs.js.map +1 -0
  5. package/dist/adapters/base.d.ts +7 -1
  6. package/dist/adapters/base.d.ts.map +1 -1
  7. package/dist/adapters/base.js.map +1 -1
  8. package/dist/adapters/claude.d.ts.map +1 -1
  9. package/dist/adapters/claude.js +18 -10
  10. package/dist/adapters/claude.js.map +1 -1
  11. package/dist/adapters/cline.d.ts.map +1 -1
  12. package/dist/adapters/cline.js +2 -2
  13. package/dist/adapters/cline.js.map +1 -1
  14. package/dist/adapters/codex.d.ts.map +1 -1
  15. package/dist/adapters/codex.js +3 -2
  16. package/dist/adapters/codex.js.map +1 -1
  17. package/dist/adapters/copilot.d.ts.map +1 -1
  18. package/dist/adapters/copilot.js +3 -4
  19. package/dist/adapters/copilot.js.map +1 -1
  20. package/dist/adapters/cursor.d.ts.map +1 -1
  21. package/dist/adapters/cursor.js +7 -6
  22. package/dist/adapters/cursor.js.map +1 -1
  23. package/dist/adapters/detect.d.ts.map +1 -1
  24. package/dist/adapters/detect.js +1 -0
  25. package/dist/adapters/detect.js.map +1 -1
  26. package/dist/adapters/gemini.d.ts.map +1 -1
  27. package/dist/adapters/gemini.js +2 -2
  28. package/dist/adapters/gemini.js.map +1 -1
  29. package/dist/adapters/index.d.ts +4 -0
  30. package/dist/adapters/index.d.ts.map +1 -1
  31. package/dist/adapters/index.js +21 -0
  32. package/dist/adapters/index.js.map +1 -1
  33. package/dist/adapters/opencode.d.ts.map +1 -1
  34. package/dist/adapters/opencode.js +2 -2
  35. package/dist/adapters/opencode.js.map +1 -1
  36. package/dist/adapters/rtk-delegation.d.ts.map +1 -1
  37. package/dist/adapters/rtk-delegation.js +16 -1
  38. package/dist/adapters/rtk-delegation.js.map +1 -1
  39. package/dist/adapters/vibe.d.ts.map +1 -1
  40. package/dist/adapters/vibe.js +2 -2
  41. package/dist/adapters/vibe.js.map +1 -1
  42. package/dist/adapters/windsurf.d.ts.map +1 -1
  43. package/dist/adapters/windsurf.js +2 -2
  44. package/dist/adapters/windsurf.js.map +1 -1
  45. package/dist/cli/exit.d.ts +17 -6
  46. package/dist/cli/exit.d.ts.map +1 -1
  47. package/dist/cli/exit.js +17 -7
  48. package/dist/cli/exit.js.map +1 -1
  49. package/dist/commands/apply.d.ts +77 -0
  50. package/dist/commands/apply.d.ts.map +1 -1
  51. package/dist/commands/apply.js +202 -27
  52. package/dist/commands/apply.js.map +1 -1
  53. package/dist/commands/config-edit.d.ts +33 -0
  54. package/dist/commands/config-edit.d.ts.map +1 -0
  55. package/dist/commands/config-edit.js +216 -0
  56. package/dist/commands/config-edit.js.map +1 -0
  57. package/dist/commands/doctor.d.ts +41 -0
  58. package/dist/commands/doctor.d.ts.map +1 -1
  59. package/dist/commands/doctor.js +135 -52
  60. package/dist/commands/doctor.js.map +1 -1
  61. package/dist/commands/setup.d.ts +4 -0
  62. package/dist/commands/setup.d.ts.map +1 -1
  63. package/dist/commands/setup.js +58 -5
  64. package/dist/commands/setup.js.map +1 -1
  65. package/dist/commands/status.d.ts.map +1 -1
  66. package/dist/commands/status.js +40 -16
  67. package/dist/commands/status.js.map +1 -1
  68. package/dist/commands/uninstall.d.ts +78 -1
  69. package/dist/commands/uninstall.d.ts.map +1 -1
  70. package/dist/commands/uninstall.js +329 -31
  71. package/dist/commands/uninstall.js.map +1 -1
  72. package/dist/commands/update.d.ts +51 -0
  73. package/dist/commands/update.d.ts.map +1 -1
  74. package/dist/commands/update.js +172 -71
  75. package/dist/commands/update.js.map +1 -1
  76. package/dist/commands/wizard.d.ts +27 -1
  77. package/dist/commands/wizard.d.ts.map +1 -1
  78. package/dist/commands/wizard.js +48 -31
  79. package/dist/commands/wizard.js.map +1 -1
  80. package/dist/config/schema.d.ts +31 -3
  81. package/dist/config/schema.d.ts.map +1 -1
  82. package/dist/config/schema.js +224 -123
  83. package/dist/config/schema.js.map +1 -1
  84. package/dist/config/scopes.d.ts +4 -2
  85. package/dist/config/scopes.d.ts.map +1 -1
  86. package/dist/config/scopes.js +23 -4
  87. package/dist/config/scopes.js.map +1 -1
  88. package/dist/generate/agentsmd.d.ts +54 -0
  89. package/dist/generate/agentsmd.d.ts.map +1 -1
  90. package/dist/generate/agentsmd.js +225 -143
  91. package/dist/generate/agentsmd.js.map +1 -1
  92. package/dist/index.js +9 -2
  93. package/dist/index.js.map +1 -1
  94. package/dist/integrations/render.d.ts.map +1 -1
  95. package/dist/integrations/render.js +25 -10
  96. package/dist/integrations/render.js.map +1 -1
  97. package/dist/integrations/superpowers.d.ts.map +1 -1
  98. package/dist/integrations/superpowers.js +2 -0
  99. package/dist/integrations/superpowers.js.map +1 -1
  100. package/dist/shell/detector.d.ts +22 -2
  101. package/dist/shell/detector.d.ts.map +1 -1
  102. package/dist/shell/detector.js +122 -34
  103. package/dist/shell/detector.js.map +1 -1
  104. package/dist/toolchain/gh.d.ts.map +1 -1
  105. package/dist/toolchain/gh.js +1 -0
  106. package/dist/toolchain/gh.js.map +1 -1
  107. package/dist/toolchain/mise.d.ts +7 -0
  108. package/dist/toolchain/mise.d.ts.map +1 -1
  109. package/dist/toolchain/mise.js +23 -3
  110. package/dist/toolchain/mise.js.map +1 -1
  111. package/dist/toolchain/rtk.d.ts +71 -3
  112. package/dist/toolchain/rtk.d.ts.map +1 -1
  113. package/dist/toolchain/rtk.js +115 -7
  114. package/dist/toolchain/rtk.js.map +1 -1
  115. package/dist/ui/output.d.ts.map +1 -1
  116. package/dist/ui/output.js +10 -2
  117. package/dist/ui/output.js.map +1 -1
  118. package/dist/ui/spinner.d.ts +15 -3
  119. package/dist/ui/spinner.d.ts.map +1 -1
  120. package/dist/ui/spinner.js +52 -4
  121. package/dist/ui/spinner.js.map +1 -1
  122. package/dist/ui/theme.d.ts +27 -1
  123. package/dist/ui/theme.d.ts.map +1 -1
  124. package/dist/ui/theme.js +73 -8
  125. package/dist/ui/theme.js.map +1 -1
  126. package/dist/utils/fs-retry.d.ts +16 -0
  127. package/dist/utils/fs-retry.d.ts.map +1 -1
  128. package/dist/utils/fs-retry.js +28 -0
  129. package/dist/utils/fs-retry.js.map +1 -1
  130. package/package.json +4 -3
@@ -4,9 +4,10 @@
4
4
  */
5
5
  import * as fs from 'fs';
6
6
  import * as path from 'path';
7
+ import { isDeepStrictEqual } from 'util';
7
8
  import toml from 'toml';
8
9
  import { writeFileWithVerify } from '../utils/fs-retry.js';
9
- import { userConfigDir } from './scopes.js';
10
+ import { findConfigPath, userConfigDir } from './scopes.js';
10
11
  // Default configuration values
11
12
  export const DEFAULT_CONFIG = {
12
13
  scope: 'project',
@@ -58,6 +59,9 @@ export const DEFAULT_CONFIG = {
58
59
  tealdeer: false,
59
60
  duckdb: false,
60
61
  qsv: false,
62
+ taplo: false,
63
+ hadolint: false,
64
+ trivy: false,
61
65
  },
62
66
  rtk: {
63
67
  enabled: true,
@@ -140,6 +144,9 @@ export const TOOL_KEYS = [
140
144
  'tealdeer',
141
145
  'duckdb',
142
146
  'qsv',
147
+ 'taplo',
148
+ 'hadolint',
149
+ 'trivy',
143
150
  ];
144
151
  // Tool tiers for categorization
145
152
  export const TOOL_TIERS = {
@@ -179,6 +186,9 @@ export const TOOL_TIERS = {
179
186
  tealdeer: 3,
180
187
  duckdb: 3,
181
188
  qsv: 3,
189
+ taplo: 3,
190
+ hadolint: 3,
191
+ trivy: 3,
182
192
  };
183
193
  // Binary name mappings (TOML key -> binary name)
184
194
  export const BINARY_MAP = {
@@ -215,6 +225,9 @@ export const BINARY_MAP = {
215
225
  tealdeer: 'tldr',
216
226
  duckdb: 'duckdb',
217
227
  qsv: 'qsv',
228
+ taplo: 'taplo',
229
+ hadolint: 'hadolint',
230
+ trivy: 'trivy',
218
231
  };
219
232
  // Tool descriptions
220
233
  export const TOOL_DESCRIPTIONS = {
@@ -251,43 +264,54 @@ export const TOOL_DESCRIPTIONS = {
251
264
  tealdeer: 'Fast, community-driven man pages (tldr)',
252
265
  duckdb: 'Embeddable analytical SQL database',
253
266
  qsv: 'Ultra-fast CSV data processing toolkit',
267
+ taplo: 'TOML linter/formatter (complements yq)',
268
+ hadolint: 'Dockerfile linter',
269
+ trivy: 'Vulnerability, secret, and IaC scanner',
254
270
  };
271
+ function readAndParseToml(filePath) {
272
+ const data = fs.readFileSync(filePath, 'utf-8');
273
+ return toml.parse(data);
274
+ }
255
275
  /**
256
- * Load configuration from agentenv.toml file
257
- * Searches in current directory, then user config directory
276
+ * Load configuration from agentenv.toml file.
277
+ * With no explicit `configPath`, searches upward from cwd (matching git/mise
278
+ * and findConfigPath()), then the user config directory.
258
279
  */
259
- export function loadConfig(configPath) {
260
- let pathToLoad = configPath;
280
+ export function loadConfig(configPath, options = {}) {
281
+ const pathToLoad = configPath ?? findConfigPath();
261
282
  if (!pathToLoad) {
262
- // Try current directory
263
- try {
264
- if (fs.existsSync('agentenv.toml')) {
265
- pathToLoad = 'agentenv.toml';
266
- }
267
- }
268
- catch {
269
- // Ignore
283
+ return { ...DEFAULT_CONFIG };
284
+ }
285
+ try {
286
+ const parsed = readAndParseToml(pathToLoad);
287
+ // Infer scope from where the file actually was, when the file itself
288
+ // doesn't declare one — a hand-written ~/.config/agentenv/agentenv.toml
289
+ // with no `scope = "user"` line otherwise defaults (via
290
+ // mergeWithDefaults, from DEFAULT_CONFIG) to "project", and every caller
291
+ // that resolves a base directory from config.scope (resolveScopeDir)
292
+ // then writes/reads mise.toml and generated files against cwd instead of
293
+ // the user config dir it was loaded from. An explicit `scope` in the
294
+ // file always wins over this inference.
295
+ if (parsed.scope === undefined) {
296
+ const isUserScopePath = path.resolve(path.dirname(pathToLoad)) === path.resolve(userConfigDir());
297
+ parsed.scope = isUserScopePath ? 'user' : 'project';
270
298
  }
271
- // Try user config directory
272
- if (!pathToLoad) {
299
+ let base = DEFAULT_CONFIG;
300
+ if (options.layerUserConfig && parsed.scope === 'project') {
273
301
  const userConfigPath = path.join(userConfigDir(), 'agentenv.toml');
274
- try {
275
- if (fs.existsSync(userConfigPath)) {
276
- pathToLoad = userConfigPath;
302
+ if (path.resolve(userConfigPath) !== path.resolve(pathToLoad) &&
303
+ fs.existsSync(userConfigPath)) {
304
+ try {
305
+ base = mergeWithDefaults(normalizeConfig(readAndParseToml(userConfigPath)));
306
+ }
307
+ catch {
308
+ // A broken/unreadable user config must not block a valid project
309
+ // config from loading — fall back to DEFAULT_CONFIG, same as if
310
+ // no user config existed at all.
277
311
  }
278
- }
279
- catch {
280
- // Ignore
281
312
  }
282
313
  }
283
- }
284
- if (!pathToLoad) {
285
- return { ...DEFAULT_CONFIG };
286
- }
287
- try {
288
- const data = fs.readFileSync(pathToLoad, 'utf-8');
289
- const parsed = toml.parse(data);
290
- return mergeWithDefaults(normalizeConfig(parsed));
314
+ return mergeWithDefaults(normalizeConfig(parsed), base);
291
315
  }
292
316
  catch (err) {
293
317
  throw new Error(`Invalid agentenv configuration at ${pathToLoad}: ${err instanceof Error ? err.message : String(err)}`, { cause: err });
@@ -298,6 +322,21 @@ export function loadConfig(configPath) {
298
322
  */
299
323
  export function saveConfig(config, configPath) {
300
324
  try {
325
+ // Re-serializing an unchanged config from scratch would strip whatever
326
+ // hand-written comments/formatting the file has (agentenv.toml.example
327
+ // encourages commenting it) — so when the file already holds this exact
328
+ // config, leave it untouched instead of overwriting it with our
329
+ // canonical (comment-free) rendering. An unparsable existing file falls
330
+ // through to a normal save, which gives the user a valid file back.
331
+ if (fs.existsSync(configPath)) {
332
+ try {
333
+ if (isDeepStrictEqual(loadConfig(configPath), config))
334
+ return;
335
+ }
336
+ catch {
337
+ // Fall through to a normal save.
338
+ }
339
+ }
301
340
  fs.mkdirSync(path.dirname(configPath), { recursive: true });
302
341
  const result = writeFileWithVerify(configPath, configToToml(config));
303
342
  if (!result.success)
@@ -328,41 +367,7 @@ export function configToToml(config) {
328
367
  // Tools
329
368
  if (config.tools) {
330
369
  lines.push('\n[tools]');
331
- const toolKeys = [
332
- 'ripgrep',
333
- 'fd',
334
- 'jq',
335
- 'rtk',
336
- 'ast_grep',
337
- 'git_delta',
338
- 'gh',
339
- 'difftastic',
340
- 'yq',
341
- 'bat',
342
- 'eza',
343
- 'miller',
344
- 'tokei',
345
- 'hyperfine',
346
- 'fzf',
347
- 'just',
348
- 'watchexec',
349
- 'direnv',
350
- 'ripgrep_all',
351
- 'zoxide',
352
- 'shellcheck',
353
- 'uv',
354
- 'xh',
355
- 'actionlint',
356
- 'gitleaks',
357
- 'gum',
358
- 'glow',
359
- 'jless',
360
- 'sd',
361
- 'tealdeer',
362
- 'duckdb',
363
- 'qsv',
364
- ];
365
- for (const key of toolKeys) {
370
+ for (const key of TOOL_KEYS) {
366
371
  if (config.tools[key] !== undefined) {
367
372
  lines.push(`${key} = ${config.tools[key]}`);
368
373
  }
@@ -416,6 +421,8 @@ export function configToToml(config) {
416
421
  lines.push(`check_enabled = ${config.tier0.check_enabled}`);
417
422
  if (config.tier0.git_bash_path)
418
423
  lines.push(`git_bash_path = ${tomlString(config.tier0.git_bash_path)}`);
424
+ if (config.tier0.mode !== undefined)
425
+ lines.push(`mode = ${tomlString(config.tier0.mode)}`);
419
426
  }
420
427
  // Generate
421
428
  if (config.generate) {
@@ -451,55 +458,65 @@ export function configToToml(config) {
451
458
  function tomlString(value) {
452
459
  return JSON.stringify(value);
453
460
  }
461
+ /**
462
+ * The known top-level keys of AgentenvConfig. Kept as a literal array (not
463
+ * derived from the interface, which TypeScript erases at runtime) so
464
+ * validateConfig can flag a typo'd top-level table like `[tool]` or a
465
+ * misspelled `scop = "user"`.
466
+ */
467
+ const TOP_LEVEL_CONFIG_KEYS = [
468
+ 'scope',
469
+ 'agents',
470
+ 'tools',
471
+ 'custom_tools',
472
+ 'tool_versions',
473
+ 'rtk',
474
+ 'tier0',
475
+ 'generate',
476
+ 'advanced',
477
+ 'integrations',
478
+ ];
479
+ /**
480
+ * Copy any key of `source` not in `known` onto `target`. mergeWithDefaults
481
+ * otherwise reconstructs each known sub-table field by field, which would
482
+ * silently drop a typo'd key (e.g. `[rtk] enable = true`) before
483
+ * validateConfig — which runs on the merged config — ever sees it.
484
+ */
485
+ function copyUnknownKeys(source, target, known) {
486
+ if (!source)
487
+ return;
488
+ for (const key of Object.keys(source)) {
489
+ if (!known.includes(key)) {
490
+ target[key] = source[key];
491
+ }
492
+ }
493
+ }
454
494
  /**
455
495
  * Merge provided config with defaults (missing properties get default values)
456
496
  */
457
- function mergeWithDefaults(config) {
458
- const result = { ...DEFAULT_CONFIG };
497
+ /**
498
+ * Merge a parsed config over `base` (defaulting to DEFAULT_CONFIG): every
499
+ * field `config` sets wins, everything it leaves unset falls through to
500
+ * `base`'s value. Passing a config already merged with DEFAULT_CONFIG as
501
+ * `base` (rather than DEFAULT_CONFIG itself) is what layers a project
502
+ * config over a user config instead of over hardcoded defaults (FEAT-09 —
503
+ * loadConfig()'s `layerUserConfig` option).
504
+ */
505
+ function mergeWithDefaults(config, base = DEFAULT_CONFIG) {
506
+ const result = { ...base };
507
+ copyUnknownKeys(config, result, TOP_LEVEL_CONFIG_KEYS);
459
508
  // Merge scope
460
509
  if (config.scope !== undefined) {
461
510
  result.scope = config.scope;
462
511
  }
463
512
  // Merge agents
464
513
  if (config.agents) {
465
- result.agents = { ...DEFAULT_CONFIG.agents, ...config.agents };
514
+ result.agents = { ...base.agents, ...config.agents };
466
515
  }
467
- // Merge tools
516
+ // Merge tools (data-driven over TOOL_KEYS so a new catalog tool can never
517
+ // be silently dropped here the way a hand-maintained per-key list would)
468
518
  if (config.tools) {
469
- result.tools = {
470
- ripgrep: config.tools.ripgrep ?? DEFAULT_CONFIG.tools?.ripgrep,
471
- fd: config.tools.fd ?? DEFAULT_CONFIG.tools?.fd,
472
- jq: config.tools.jq ?? DEFAULT_CONFIG.tools?.jq,
473
- rtk: config.tools.rtk ?? DEFAULT_CONFIG.tools?.rtk,
474
- ast_grep: config.tools.ast_grep ?? DEFAULT_CONFIG.tools?.ast_grep,
475
- git_delta: config.tools.git_delta ?? DEFAULT_CONFIG.tools?.git_delta,
476
- gh: config.tools.gh ?? DEFAULT_CONFIG.tools?.gh,
477
- difftastic: config.tools.difftastic ?? DEFAULT_CONFIG.tools?.difftastic,
478
- yq: config.tools.yq ?? DEFAULT_CONFIG.tools?.yq,
479
- bat: config.tools.bat ?? DEFAULT_CONFIG.tools?.bat,
480
- eza: config.tools.eza ?? DEFAULT_CONFIG.tools?.eza,
481
- miller: config.tools.miller ?? DEFAULT_CONFIG.tools?.miller,
482
- tokei: config.tools.tokei ?? DEFAULT_CONFIG.tools?.tokei,
483
- hyperfine: config.tools.hyperfine ?? DEFAULT_CONFIG.tools?.hyperfine,
484
- fzf: config.tools.fzf ?? DEFAULT_CONFIG.tools?.fzf,
485
- just: config.tools.just ?? DEFAULT_CONFIG.tools?.just,
486
- watchexec: config.tools.watchexec ?? DEFAULT_CONFIG.tools?.watchexec,
487
- direnv: config.tools.direnv ?? DEFAULT_CONFIG.tools?.direnv,
488
- ripgrep_all: config.tools.ripgrep_all ?? DEFAULT_CONFIG.tools?.ripgrep_all,
489
- zoxide: config.tools.zoxide ?? DEFAULT_CONFIG.tools?.zoxide,
490
- shellcheck: config.tools.shellcheck ?? DEFAULT_CONFIG.tools?.shellcheck,
491
- uv: config.tools.uv ?? DEFAULT_CONFIG.tools?.uv,
492
- xh: config.tools.xh ?? DEFAULT_CONFIG.tools?.xh,
493
- actionlint: config.tools.actionlint ?? DEFAULT_CONFIG.tools?.actionlint,
494
- gitleaks: config.tools.gitleaks ?? DEFAULT_CONFIG.tools?.gitleaks,
495
- gum: config.tools.gum ?? DEFAULT_CONFIG.tools?.gum,
496
- glow: config.tools.glow ?? DEFAULT_CONFIG.tools?.glow,
497
- jless: config.tools.jless ?? DEFAULT_CONFIG.tools?.jless,
498
- sd: config.tools.sd ?? DEFAULT_CONFIG.tools?.sd,
499
- tealdeer: config.tools.tealdeer ?? DEFAULT_CONFIG.tools?.tealdeer,
500
- duckdb: config.tools.duckdb ?? DEFAULT_CONFIG.tools?.duckdb,
501
- qsv: config.tools.qsv ?? DEFAULT_CONFIG.tools?.qsv,
502
- };
519
+ result.tools = Object.fromEntries(TOOL_KEYS.map((key) => [key, config.tools?.[key] ?? base.tools?.[key]]));
503
520
  }
504
521
  // Merge custom_tools
505
522
  if (config.custom_tools) {
@@ -513,53 +530,75 @@ function mergeWithDefaults(config) {
513
530
  // Merge rtk
514
531
  if (config.rtk) {
515
532
  result.rtk = {
516
- enabled: config.rtk.enabled ?? DEFAULT_CONFIG.rtk?.enabled,
517
- init: Object.fromEntries(AGENT_KEYS.map((key) => [key, config.rtk?.init?.[key] ?? DEFAULT_CONFIG.rtk?.init?.[key]])),
533
+ enabled: config.rtk.enabled ?? base.rtk?.enabled,
534
+ init: Object.fromEntries(AGENT_KEYS.map((key) => [key, config.rtk?.init?.[key] ?? base.rtk?.init?.[key]])),
518
535
  };
536
+ copyUnknownKeys(config.rtk, result.rtk, [
537
+ 'enabled',
538
+ 'init',
539
+ ]);
540
+ if (config.rtk.init) {
541
+ copyUnknownKeys(config.rtk.init, result.rtk.init, AGENT_KEYS);
542
+ }
519
543
  }
520
544
  // Merge tier0
521
545
  if (config.tier0) {
522
546
  result.tier0 = {
523
- check_enabled: config.tier0.check_enabled ?? DEFAULT_CONFIG.tier0?.check_enabled,
524
- git_bash_path: config.tier0.git_bash_path ?? DEFAULT_CONFIG.tier0?.git_bash_path,
547
+ check_enabled: config.tier0.check_enabled ?? base.tier0?.check_enabled,
548
+ git_bash_path: config.tier0.git_bash_path ?? base.tier0?.git_bash_path,
549
+ mode: config.tier0.mode ?? base.tier0?.mode,
525
550
  };
551
+ copyUnknownKeys(config.tier0, result.tier0, [
552
+ 'check_enabled',
553
+ 'git_bash_path',
554
+ 'mode',
555
+ ]);
526
556
  }
527
557
  // Merge generate
528
558
  if (config.generate) {
529
559
  result.generate = {
530
- marker_start: config.generate.marker_start ?? DEFAULT_CONFIG.generate?.marker_start,
531
- marker_end: config.generate.marker_end ?? DEFAULT_CONFIG.generate?.marker_end,
532
- files: config.generate.files ?? DEFAULT_CONFIG.generate?.files,
560
+ marker_start: config.generate.marker_start ?? base.generate?.marker_start,
561
+ marker_end: config.generate.marker_end ?? base.generate?.marker_end,
562
+ files: config.generate.files ?? base.generate?.files,
533
563
  };
564
+ copyUnknownKeys(config.generate, result.generate, [
565
+ 'marker_start',
566
+ 'marker_end',
567
+ 'files',
568
+ ]);
534
569
  }
535
570
  // Merge integrations
536
571
  if (config.integrations) {
537
572
  result.integrations = {
538
573
  superpowers: config.integrations.superpowers
539
574
  ? {
540
- enabled: config.integrations.superpowers.enabled ??
541
- DEFAULT_CONFIG.integrations?.superpowers?.enabled,
542
- source: config.integrations.superpowers.source ??
543
- DEFAULT_CONFIG.integrations?.superpowers?.source,
544
- ref: config.integrations.superpowers.ref ?? DEFAULT_CONFIG.integrations?.superpowers?.ref,
545
- scope: config.integrations.superpowers.scope ??
546
- DEFAULT_CONFIG.integrations?.superpowers?.scope,
547
- agents: config.integrations.superpowers.agents ??
548
- DEFAULT_CONFIG.integrations?.superpowers?.agents,
575
+ enabled: config.integrations.superpowers.enabled ?? base.integrations?.superpowers?.enabled,
576
+ source: config.integrations.superpowers.source ?? base.integrations?.superpowers?.source,
577
+ ref: config.integrations.superpowers.ref ?? base.integrations?.superpowers?.ref,
578
+ scope: config.integrations.superpowers.scope ?? base.integrations?.superpowers?.scope,
579
+ agents: config.integrations.superpowers.agents ?? base.integrations?.superpowers?.agents,
549
580
  allow_hooks: config.integrations.superpowers.allow_hooks ??
550
- DEFAULT_CONFIG.integrations?.superpowers?.allow_hooks,
581
+ base.integrations?.superpowers?.allow_hooks,
551
582
  allow_external_requests: config.integrations.superpowers.allow_external_requests ??
552
- DEFAULT_CONFIG.integrations?.superpowers?.allow_external_requests,
583
+ base.integrations?.superpowers?.allow_external_requests,
553
584
  }
554
- : DEFAULT_CONFIG.integrations?.superpowers,
585
+ : base.integrations?.superpowers,
555
586
  };
587
+ copyUnknownKeys(config.integrations, result.integrations, ['superpowers']);
588
+ if (config.integrations.superpowers && result.integrations.superpowers) {
589
+ copyUnknownKeys(config.integrations.superpowers, result.integrations.superpowers, ['enabled', 'source', 'ref', 'scope', 'agents', 'allow_hooks', 'allow_external_requests']);
590
+ }
556
591
  }
557
592
  // Merge advanced
558
593
  if (config.advanced) {
559
594
  result.advanced = {
560
- default_mode: config.advanced.default_mode ?? DEFAULT_CONFIG.advanced?.default_mode,
561
- show_diff_preview: config.advanced.show_diff_preview ?? DEFAULT_CONFIG.advanced?.show_diff_preview,
595
+ default_mode: config.advanced.default_mode ?? base.advanced?.default_mode,
596
+ show_diff_preview: config.advanced.show_diff_preview ?? base.advanced?.show_diff_preview,
562
597
  };
598
+ copyUnknownKeys(config.advanced, result.advanced, [
599
+ 'default_mode',
600
+ 'show_diff_preview',
601
+ ]);
563
602
  }
564
603
  return result;
565
604
  }
@@ -612,6 +651,53 @@ function normalizeConfig(config) {
612
651
  };
613
652
  return normalized;
614
653
  }
654
+ /** Levenshtein edit distance, for did-you-mean suggestions on unknown config keys. */
655
+ function editDistance(a, b) {
656
+ const rows = a.length + 1;
657
+ const cols = b.length + 1;
658
+ const dp = Array.from({ length: rows }, () => new Array(cols).fill(0));
659
+ for (let i = 0; i < rows; i++)
660
+ dp[i][0] = i;
661
+ for (let j = 0; j < cols; j++)
662
+ dp[0][j] = j;
663
+ for (let i = 1; i < rows; i++) {
664
+ for (let j = 1; j < cols; j++) {
665
+ dp[i][j] =
666
+ a[i - 1] === b[j - 1]
667
+ ? dp[i - 1][j - 1]
668
+ : 1 + Math.min(dp[i - 1][j - 1], dp[i - 1][j], dp[i][j - 1]);
669
+ }
670
+ }
671
+ return dp[rows - 1][cols - 1];
672
+ }
673
+ /** The closest known key to `key`, or undefined when nothing is close enough to be a likely typo. */
674
+ function didYouMean(key, known) {
675
+ let best;
676
+ let bestDistance = Infinity;
677
+ for (const candidate of known) {
678
+ const distance = editDistance(key, candidate);
679
+ if (distance < bestDistance) {
680
+ bestDistance = distance;
681
+ best = candidate;
682
+ }
683
+ }
684
+ return best !== undefined && bestDistance <= Math.max(2, Math.ceil(best.length / 3))
685
+ ? best
686
+ : undefined;
687
+ }
688
+ /** Warn (with a did-you-mean suggestion where one is close) for any key of `obj` not in `known`. */
689
+ function warnUnknownKeys(obj, known, keyPrefix, warnings) {
690
+ if (!obj)
691
+ return;
692
+ for (const key of Object.keys(obj)) {
693
+ if (known.includes(key))
694
+ continue;
695
+ const suggestion = didYouMean(key, known);
696
+ warnings.push(suggestion
697
+ ? `Unknown config key "${keyPrefix}${key}" (did you mean "${keyPrefix}${suggestion}"?)`
698
+ : `Unknown config key "${keyPrefix}${key}"`);
699
+ }
700
+ }
615
701
  /**
616
702
  * Validate a config and report problems, separating hard errors from warnings.
617
703
  * The CLI refuses to proceed when there are errors; warnings are surfaced but
@@ -620,6 +706,14 @@ function normalizeConfig(config) {
620
706
  export function validateConfig(config) {
621
707
  const errors = [];
622
708
  const warnings = [];
709
+ warnUnknownKeys(config, TOP_LEVEL_CONFIG_KEYS, '', warnings);
710
+ warnUnknownKeys(config.rtk, ['enabled', 'init'], 'rtk.', warnings);
711
+ warnUnknownKeys(config.rtk?.init, AGENT_KEYS, 'rtk.init.', warnings);
712
+ warnUnknownKeys(config.tier0, ['check_enabled', 'git_bash_path', 'mode'], 'tier0.', warnings);
713
+ warnUnknownKeys(config.generate, ['marker_start', 'marker_end', 'files'], 'generate.', warnings);
714
+ warnUnknownKeys(config.advanced, ['default_mode', 'show_diff_preview'], 'advanced.', warnings);
715
+ warnUnknownKeys(config.integrations, ['superpowers'], 'integrations.', warnings);
716
+ warnUnknownKeys(config.integrations?.superpowers, ['enabled', 'source', 'ref', 'scope', 'agents', 'allow_hooks', 'allow_external_requests'], 'integrations.superpowers.', warnings);
623
717
  if (config.scope !== undefined && config.scope !== 'project' && config.scope !== 'user') {
624
718
  errors.push(`scope must be "project" or "user", got "${String(config.scope)}"`);
625
719
  }
@@ -659,6 +753,12 @@ export function validateConfig(config) {
659
753
  }
660
754
  }
661
755
  }
756
+ if (config.tier0?.mode !== undefined &&
757
+ config.tier0.mode !== 'auto' &&
758
+ config.tier0.mode !== 'always' &&
759
+ config.tier0.mode !== 'never') {
760
+ errors.push(`tier0.mode must be "auto", "always", or "never", got "${String(config.tier0.mode)}"`);
761
+ }
662
762
  const toolVersions = config.tool_versions ?? {};
663
763
  for (const [key, version] of Object.entries(toolVersions)) {
664
764
  if (!TOOL_KEYS.includes(key)) {
@@ -822,6 +922,7 @@ export function diffConfigs(oldConfig, newConfig) {
822
922
  ['rtk.init.opencode', oldConfig.rtk?.init?.opencode, newConfig.rtk?.init?.opencode],
823
923
  ['tier0.check_enabled', oldConfig.tier0?.check_enabled, newConfig.tier0?.check_enabled],
824
924
  ['tier0.git_bash_path', oldConfig.tier0?.git_bash_path, newConfig.tier0?.git_bash_path],
925
+ ['tier0.mode', oldConfig.tier0?.mode, newConfig.tier0?.mode],
825
926
  ['generate.marker_start', oldConfig.generate?.marker_start, newConfig.generate?.marker_start],
826
927
  ['generate.marker_end', oldConfig.generate?.marker_end, newConfig.generate?.marker_end],
827
928
  ['generate.files', jsonOr(oldConfig.generate?.files), jsonOr(newConfig.generate?.files)],
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"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"}
@@ -20,8 +20,10 @@ export declare function userConfigDir(): string;
20
20
  export declare function resolveScopeDir(scope: 'project' | 'user' | undefined): string;
21
21
  export declare function configFilePath(scope: 'project' | 'user' | undefined): string;
22
22
  /**
23
- * Locate an existing agentenv.toml: project config first, then user/global.
24
- * Returns the first match, or undefined when none exists.
23
+ * Locate an existing agentenv.toml: project config first — searching `cwd`
24
+ * and its parent directories, so `agentenv status` from `repo/src` still
25
+ * finds `repo/agentenv.toml` — then user/global. Returns the first match, or
26
+ * undefined when none exists.
25
27
  */
26
28
  export declare function findConfigPath(cwd?: string): string | undefined;
27
29
  //# sourceMappingURL=scopes.d.ts.map