@indy2kro/agentenv 0.1.0 → 0.1.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 (43) hide show
  1. package/README.md +22 -19
  2. package/dist/adapters/detect.d.ts.map +1 -1
  3. package/dist/adapters/detect.js +7 -9
  4. package/dist/adapters/detect.js.map +1 -1
  5. package/dist/commands/apply.d.ts.map +1 -1
  6. package/dist/commands/apply.js +42 -12
  7. package/dist/commands/apply.js.map +1 -1
  8. package/dist/commands/configure.d.ts.map +1 -1
  9. package/dist/commands/configure.js +10 -0
  10. package/dist/commands/configure.js.map +1 -1
  11. package/dist/commands/doctor.d.ts +14 -0
  12. package/dist/commands/doctor.d.ts.map +1 -0
  13. package/dist/commands/doctor.js +184 -0
  14. package/dist/commands/doctor.js.map +1 -0
  15. package/dist/commands/setup.d.ts +0 -8
  16. package/dist/commands/setup.d.ts.map +1 -1
  17. package/dist/commands/setup.js +131 -24
  18. package/dist/commands/setup.js.map +1 -1
  19. package/dist/commands/update.d.ts +3 -0
  20. package/dist/commands/update.d.ts.map +1 -0
  21. package/dist/commands/update.js +129 -0
  22. package/dist/commands/update.js.map +1 -0
  23. package/dist/config/schema.d.ts +6 -0
  24. package/dist/config/schema.d.ts.map +1 -1
  25. package/dist/config/schema.js +33 -0
  26. package/dist/config/schema.js.map +1 -1
  27. package/dist/generate/agentsmd.d.ts.map +1 -1
  28. package/dist/generate/agentsmd.js +1 -0
  29. package/dist/generate/agentsmd.js.map +1 -1
  30. package/dist/index.js +7 -1
  31. package/dist/index.js.map +1 -1
  32. package/dist/shell/detector.d.ts.map +1 -1
  33. package/dist/shell/detector.js +12 -17
  34. package/dist/shell/detector.js.map +1 -1
  35. package/dist/toolchain/mise.d.ts +100 -1
  36. package/dist/toolchain/mise.d.ts.map +1 -1
  37. package/dist/toolchain/mise.js +288 -6
  38. package/dist/toolchain/mise.js.map +1 -1
  39. package/dist/wizard/build.d.ts +10 -0
  40. package/dist/wizard/build.d.ts.map +1 -1
  41. package/dist/wizard/build.js +32 -1
  42. package/dist/wizard/build.js.map +1 -1
  43. package/package.json +3 -3
package/README.md CHANGED
@@ -13,10 +13,10 @@ and writes config files for you.
13
13
  It targets four AI coding agents: **Claude Code**, **OpenAI Codex CLI**,
14
14
  **GitHub Copilot** (CLI/Chat), and **OpenCode**.
15
15
 
16
- > **⚠️ Not yet published to npm.** `npm install -g agentenv` does not work
17
- > yet — see [Install](#install) below for installing from source in the
18
- > meantime. Everything else in this guide (commands, config, tool catalog)
19
- > already works once you've built it locally.
16
+ > **📦 Published as `@indy2kro/agentenv`.** The npm package name is scoped
17
+ > (`agentenv` was already taken) — install with
18
+ > `npm install -g @indy2kro/agentenv`. The command it installs is still
19
+ > plain `agentenv`. See [Install](#install) below.
20
20
 
21
21
  ## Contents
22
22
 
@@ -65,7 +65,17 @@ different config file format, that's what this fixes:
65
65
 
66
66
  ## Install
67
67
 
68
- ### From source (works today)
68
+ ### From npm (recommended)
69
+
70
+ ```sh
71
+ npm install -g @indy2kro/agentenv
72
+ ```
73
+
74
+ This installs the `agentenv` command itself, unchanged. The package is
75
+ published under the scoped name `@indy2kro/agentenv` (plain `agentenv` was
76
+ already taken on the registry).
77
+
78
+ ### From source
69
79
 
70
80
  ```sh
71
81
  git clone https://github.com/indy2kro/agentenv.git
@@ -83,14 +93,11 @@ again. Prefer not to touch global state? Run it in place instead:
83
93
  node dist/index.js setup
84
94
  ```
85
95
 
86
- ### From npm (coming soon)
87
-
88
- ```sh
89
- npm install -g agentenv
90
- ```
91
-
92
- This will work once the package is published — see
93
- [What's still missing](#whats-still-missing).
96
+ Releases are one button: run the `Release` GitHub Actions workflow from the
97
+ repo's Actions tab (patch/minor/major or an exact version). It bumps the
98
+ version in `package.json` + `package-lock.json`, gates the tree, publishes
99
+ with npm provenance, tags the release, and creates the GitHub release.
100
+ Maintainers: see [`docs/guides/releasing.md`](../../docs/guides/releasing.md).
94
101
 
95
102
  ## Quick start
96
103
 
@@ -295,17 +302,13 @@ npm run format:check
295
302
  ```
296
303
 
297
304
  See [`docs/guides/adding-an-adapter.md`](../../docs/guides/adding-an-adapter.md)
298
- for wiring in a fifth agent, and
305
+ for wiring in a fifth agent, [`docs/guides/releasing.md`](../../docs/guides/releasing.md)
306
+ for shipping a new npm version (one-button `Release` workflow), and
299
307
  [`docs/plans/agentenv-dev-plan.md`](../../docs/plans/agentenv-dev-plan.md)
300
308
  for the full design, config schema rationale, and phase roadmap.
301
309
 
302
310
  ## What's still missing
303
311
 
304
- - **npm publish.** The package is not yet on the npm registry —
305
- `npm install -g agentenv` doesn't work today; install
306
- [from source](#install) instead. (Needs npm publish credentials on a
307
- maintainer's machine; everything else — `npm pack`, a real
308
- `npm install -g` from a tarball, CI — is already verified working.)
309
312
  - **Optional integrations aren't wired up yet.** The `[integrations.superpowers]`
310
313
  config schema, its Claude Code installer adapter, and the read-only `gh`
311
314
  auth probe all exist and are tested, but nothing in `apply`, `status`,
@@ -1 +1 @@
1
- {"version":3,"file":"detect.d.ts","sourceRoot":"","sources":["../../src/adapters/detect.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAIpD,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,CAKrD,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC;AAcpD;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,GAAE,QAAwB,GAAG,QAAQ,EAAE,CAQlF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,GAAE,QAAwB,GAAG,OAAO,CAE3F;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CA4B5D"}
1
+ {"version":3,"file":"detect.d.ts","sourceRoot":"","sources":["../../src/adapters/detect.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAIpD,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,CAKrD,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC;AAapD;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,GAAE,QAAwB,GAAG,QAAQ,EAAE,CAQlF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,GAAE,QAAwB,GAAG,OAAO,CAE3F;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CA4B5D"}
@@ -16,16 +16,14 @@ export const AGENT_COMMANDS = {
16
16
  opencode: ['opencode'],
17
17
  };
18
18
  const defaultDetect = (command) => {
19
- try {
20
- if (command.includes('/') || command.includes('\\') || command.includes(' ')) {
21
- return fs.existsSync(command);
22
- }
23
- child_process.execFileSync(command, ['--version'], { stdio: 'ignore' });
24
- return true;
25
- }
26
- catch {
27
- return false;
19
+ if (command.includes('/') || command.includes('\\') || command.includes(' ')) {
20
+ return fs.existsSync(command);
28
21
  }
22
+ // Detect by PATH resolution only — never execute the candidate. Executing
23
+ // `--version` used to be the check, but GUI-capable launchers (notably
24
+ // OpenCode's packaged desktop app) react to any invocation by opening the
25
+ // full TUI, which `agentenv setup` must not do.
26
+ return resolveBinary(command) !== null;
29
27
  };
30
28
  /**
31
29
  * Return the list of installed agent ids (e.g. ['claude_code', 'codex_cli']).
@@ -1 +1 @@
1
- {"version":3,"file":"detect.js","sourceRoot":"","sources":["../../src/adapters/detect.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"detect.js","sourceRoot":"","sources":["../../src/adapters/detect.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,aAAa,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAGjD,0EAA0E;AAC1E,4EAA4E;AAC5E,MAAM,CAAC,MAAM,cAAc,GAA+B;IACxD,WAAW,EAAE,CAAC,QAAQ,CAAC;IACvB,SAAS,EAAE,CAAC,OAAO,CAAC;IACpB,OAAO,EAAE,CAAC,IAAI,CAAC;IACf,QAAQ,EAAE,CAAC,UAAU,CAAC;CACvB,CAAC;AAIF,MAAM,aAAa,GAAa,CAAC,OAAO,EAAE,EAAE;IAC1C,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7E,OAAO,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;IACD,0EAA0E;IAC1E,uEAAuE;IACvE,0EAA0E;IAC1E,gDAAgD;IAChD,OAAO,aAAa,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;AACzC,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,SAAmB,aAAa;IACpE,MAAM,KAAK,GAAe,EAAE,CAAC;IAC7B,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;QAC/B,IAAI,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC;YACpC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAe,EAAE,SAAmB,aAAa;IAChF,OAAO,cAAc,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC5C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,OAAe;IAC3C,6EAA6E;IAC7E,gFAAgF;IAChF,0CAA0C;IAC1C,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7E,IAAI,CAAC;YACH,OAAO,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;QACjD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC;IAClE,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,aAAa,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE;YACtD,QAAQ,EAAE,MAAM;YAChB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC;SACpC,CAAC,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;QAChC,OAAO,CACL,GAAG;aACA,KAAK,CAAC,OAAO,CAAC;aACd,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;aAC1B,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,IAAI,CAC3C,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"apply.d.ts","sourceRoot":"","sources":["../../src/commands/apply.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAYpC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAG1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAQrD,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,wDAAwD;IACxD,OAAO,CAAC,EAAE,SAAS,CAAC;CACrB;AAqBD,iFAAiF;AACjF,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC,WAAW,CAAC,CAyDtB;AAED,eAAO,MAAM,YAAY,SA6BrB,CAAC"}
1
+ {"version":3,"file":"apply.d.ts","sourceRoot":"","sources":["../../src/commands/apply.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAYpC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAG1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAerD,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,wDAAwD;IACxD,OAAO,CAAC,EAAE,SAAS,CAAC;CACrB;AAqBD,iFAAiF;AACjF,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC,WAAW,CAAC,CA6FtB;AAED,eAAO,MAAM,YAAY,SA6BrB,CAAC"}
@@ -5,7 +5,7 @@ import { getEnabledAgents, loadConfig, validateConfig } from '../config/schema.j
5
5
  import { resolveScopeDir } from '../config/scopes.js';
6
6
  import { generateInstructionFiles, updateWithMarkers } from '../generate/agentsmd.js';
7
7
  import { fixShellConfiguration } from '../shell/detector.js';
8
- import { ensureMiseInstalled, generateMiseToml, runMiseInstall, saveMiseToml, } from '../toolchain/mise.js';
8
+ import { ensureGlobalShimsDir, generateMiseToml, getMiseVersion, isMiseInstalled, miseActivationHint, miseInstallInstructions, miseInstallOutcome, runMiseInstall, saveMiseToml, trustMiseToml, verifyToolAvailability, } from '../toolchain/mise.js';
9
9
  function adaptersFor(config, baseDir, options) {
10
10
  const adapterConfig = {
11
11
  enabled: true,
@@ -28,45 +28,75 @@ function adaptersFor(config, baseDir, options) {
28
28
  export async function applyConfiguration(config, baseDir, options = {}) {
29
29
  const messages = [];
30
30
  const errors = [];
31
+ // Step 0 — self-diagnose the prerequisite before touching anything, so a
32
+ // missing mise fails loudly with install instructions instead of half
33
+ // configuring the project.
34
+ if (!options.skipMiseInstall) {
35
+ if (!isMiseInstalled()) {
36
+ errors.push('Prerequisite check failed: mise is not installed.');
37
+ errors.push("agentenv uses mise to install and manage this project's tools.");
38
+ errors.push(...miseInstallInstructions());
39
+ return { success: false, messages, errors };
40
+ }
41
+ messages.push(`Prerequisite: mise ${getMiseVersion()}`);
42
+ }
43
+ // Step 1 — Tier 0 shell compatibility fix.
31
44
  if (config.tier0?.check_enabled !== false) {
32
45
  const enabledAgents = getEnabledAgents(config);
33
46
  const tier0 = fixShellConfiguration(baseDir, enabledAgents);
34
47
  (tier0.success ? messages : errors).push(`Tier 0: ${tier0.message}`);
35
- if (tier0.success && tier0.results) {
48
+ if (tier0.results) {
36
49
  for (const result of tier0.results) {
37
- (result.action === 'skipped' ? messages : messages).push(` ${result.agent}: ${result.message}`);
50
+ messages.push(` ${result.agent}: ${result.message}`);
38
51
  }
39
52
  }
40
53
  }
54
+ // Step 2 — mise.toml (declares the tools).
55
+ const enabledToolCount = Object.values(config.tools ?? {}).filter((on) => on === true).length;
41
56
  const misePath = path.join(baseDir, 'mise.toml');
42
57
  try {
43
58
  saveMiseToml(generateMiseToml(config, config.custom_tools ?? []), misePath);
44
- messages.push(`Generated ${misePath}`);
59
+ messages.push(`Tools: wrote ${misePath} (${enabledToolCount} enabled)`);
45
60
  }
46
61
  catch (error) {
47
62
  errors.push(`Unable to write ${misePath}: ${error instanceof Error ? error.message : String(error)}`);
48
63
  }
64
+ // Step 3 — global shims config + trust + install + verify.
49
65
  if (errors.length === 0 && !options.skipMiseInstall) {
50
- const mise = ensureMiseInstalled();
51
- if (!mise.success) {
52
- errors.push(mise.message);
66
+ const shims = ensureGlobalShimsDir();
67
+ (shims.success ? messages : errors).push(shims.message);
68
+ const trust = trustMiseToml(misePath, baseDir);
69
+ (trust.success ? messages : errors).push(trust.message);
70
+ const install = await runMiseInstall(misePath, baseDir);
71
+ if (install.success) {
72
+ messages.push(miseInstallOutcome(install.stdout));
53
73
  }
54
74
  else {
55
- const install = await runMiseInstall(misePath, baseDir);
56
- if (install.success) {
57
- messages.push('mise install completed');
75
+ errors.push(`mise install failed${install.exitCode === null ? '' : ` (exit ${install.exitCode})`}: ${install.stderr || install.stdout}`);
76
+ }
77
+ if (errors.length === 0) {
78
+ const availability = verifyToolAvailability(config);
79
+ const onPath = availability.filter((tool) => tool.onPath);
80
+ const notOnPath = availability.filter((tool) => !tool.onPath);
81
+ messages.push(`Verify: ${onPath.length}/${availability.length} configured tools resolve on PATH`);
82
+ for (const tool of onPath)
83
+ messages.push(` ✓ ${tool.binary} (${tool.key})`);
84
+ for (const tool of notOnPath) {
85
+ messages.push(` ✗ ${tool.binary} (${tool.key}) — installed but not resolvable in this shell`);
58
86
  }
59
- else {
60
- errors.push(`mise install failed${install.exitCode === null ? '' : ` (exit ${install.exitCode})`}: ${install.stderr || install.stdout}`);
87
+ if (notOnPath.length > 0) {
88
+ messages.push(miseActivationHint());
61
89
  }
62
90
  }
63
91
  }
92
+ // Step 4 — instruction files for the agents.
64
93
  const markerStart = config.generate?.marker_start ?? '<!-- agentenv-managed-start -->';
65
94
  const markerEnd = config.generate?.marker_end ?? '<!-- agentenv-managed-end -->';
66
95
  for (const file of generateInstructionFiles(config, baseDir)) {
67
96
  const update = updateWithMarkers(file.path, file.content, markerStart, markerEnd);
68
97
  (update.success ? messages : errors).push(update.message);
69
98
  }
99
+ // Step 5 - per-agent wiring.
70
100
  for (const adapter of adaptersFor(config, baseDir, options)) {
71
101
  const result = await adapter.initialize();
72
102
  if (result.success)
@@ -1 +1 @@
1
- {"version":3,"file":"apply.js","sourceRoot":"","sources":["../../src/commands/apply.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"apply.js","sourceRoot":"","sources":["../../src/commands/apply.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"configure.d.ts","sourceRoot":"","sources":["../../src/commands/configure.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAkBpC;;;;;;;;;GASG;AACH,eAAO,MAAM,gBAAgB,SA8IzB,CAAC"}
1
+ {"version":3,"file":"configure.d.ts","sourceRoot":"","sources":["../../src/commands/configure.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAmBpC;;;;;;;;;GASG;AACH,eAAO,MAAM,gBAAgB,SAuJzB,CAAC"}
@@ -5,6 +5,7 @@ import { BINARY_MAP, DEFAULT_CONFIG, TOOL_DESCRIPTIONS, TOOL_KEYS, TOOL_TIERS, d
5
5
  import { configFilePath, resolveScopeDir } from '../config/scopes.js';
6
6
  import { applyConfiguration } from './apply.js';
7
7
  import { AGENT_OPTIONS, buildConfigFromSelections, formatDiffLines } from '../wizard/build.js';
8
+ import { getMiseVersion, isMiseInstalled, miseInstallInstructions } from '../toolchain/mise.js';
8
9
  /**
9
10
  * Configure command - Advanced mode wizard
10
11
  * Performs step-by-step configuration:
@@ -25,6 +26,15 @@ export const configureCommand = new Command()
25
26
  process.exitCode = 1;
26
27
  return;
27
28
  }
29
+ if (!isMiseInstalled()) {
30
+ console.error('agentenv requires mise to install and manage tools, but mise was not found.');
31
+ for (const line of miseInstallInstructions())
32
+ console.error(` ${line}`);
33
+ console.error('\nInstall mise first, then re-run `agentenv configure`.');
34
+ process.exitCode = 1;
35
+ return;
36
+ }
37
+ console.log(`Prerequisite: mise ${getMiseVersion()}\n`);
28
38
  let existing;
29
39
  try {
30
40
  existing = loadConfig();
@@ -1 +1 @@
1
- {"version":3,"file":"configure.js","sourceRoot":"","sources":["../../src/commands/configure.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"configure.js","sourceRoot":"","sources":["../../src/commands/configure.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import { Command } from 'commander';
2
+ export type DoctorStatus = 'ok' | 'warn' | 'fail';
3
+ export interface DoctorItem {
4
+ status: DoctorStatus;
5
+ label: string;
6
+ detail: string;
7
+ }
8
+ export interface DoctorSection {
9
+ title: string;
10
+ items: DoctorItem[];
11
+ }
12
+ export declare function renderDoctor(sections: DoctorSection[]): string;
13
+ export declare const doctorCommand: Command;
14
+ //# sourceMappingURL=doctor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAwBpC,MAAM,MAAM,YAAY,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC;AAElD,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,YAAY,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,UAAU,EAAE,CAAC;CACrB;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,aAAa,EAAE,GAAG,MAAM,CAW9D;AAkKD,eAAO,MAAM,aAAa,SAWtB,CAAC"}
@@ -0,0 +1,184 @@
1
+ import { Command } from 'commander';
2
+ import * as fs from 'fs';
3
+ import * as path from 'path';
4
+ import { AGENT_COMMANDS, isAgentInstalled, resolveBinary } from '../adapters/detect.js';
5
+ import { BINARY_MAP, getEnabledAgents, loadConfig, TOOL_KEYS, validateConfig, } from '../config/schema.js';
6
+ import { findConfigPath, userConfigDir } from '../config/scopes.js';
7
+ import { bashExecutable, detectShell } from '../shell/detector.js';
8
+ import { getMiseVersion, getShimsDirValue, isMiseInstalled, miseGlobalConfigPath, miseInstallInstructions, shimsDir, shimsDirOnPath, } from '../toolchain/mise.js';
9
+ export function renderDoctor(sections) {
10
+ const lines = ['\n=== agentenv Doctor ===\n'];
11
+ for (const section of sections) {
12
+ lines.push(section.title);
13
+ for (const item of section.items) {
14
+ const glyph = item.status === 'ok' ? '[ok] ' : item.status === 'warn' ? '[warn]' : '[fail]';
15
+ lines.push(` ${glyph} ${item.label}${item.detail ? ` — ${item.detail}` : ''}`);
16
+ }
17
+ lines.push('');
18
+ }
19
+ return lines.join('\n');
20
+ }
21
+ function norm(p) {
22
+ return path.resolve(p).replace(/\\/g, '/').toLowerCase();
23
+ }
24
+ function gatherDoctor() {
25
+ const sections = [];
26
+ // System level
27
+ const shell = detectShell();
28
+ const system = [
29
+ { status: 'ok', label: 'OS', detail: `${process.platform} (${process.arch})` },
30
+ ];
31
+ system.push({ status: 'ok', label: 'Shell', detail: shell.currentShell });
32
+ if (process.platform === 'win32') {
33
+ if (shell.gitBashPath && fs.existsSync(bashExecutable(shell.gitBashPath))) {
34
+ system.push({
35
+ status: 'ok',
36
+ label: 'Git Bash',
37
+ detail: bashExecutable(shell.gitBashPath),
38
+ });
39
+ }
40
+ else {
41
+ system.push({
42
+ status: 'fail',
43
+ label: 'Git Bash',
44
+ detail: 'not found — install Git for Windows so agents get a real POSIX shell',
45
+ });
46
+ }
47
+ }
48
+ sections.push({ title: 'System', items: system });
49
+ // Mise + shims
50
+ const miseItems = [];
51
+ if (isMiseInstalled()) {
52
+ miseItems.push({ status: 'ok', label: 'mise', detail: getMiseVersion() });
53
+ }
54
+ else {
55
+ miseItems.push({
56
+ status: 'fail',
57
+ label: 'mise',
58
+ detail: 'not on PATH',
59
+ });
60
+ miseItems.push({
61
+ status: 'fail',
62
+ label: 'Install',
63
+ detail: miseInstallInstructions().join(' '),
64
+ });
65
+ sections.push({ title: 'Mise', items: miseItems });
66
+ return sections;
67
+ }
68
+ const globalConfigPath = miseGlobalConfigPath();
69
+ let globalConfig = null;
70
+ if (fs.existsSync(globalConfigPath))
71
+ globalConfig = fs.readFileSync(globalConfigPath, 'utf-8');
72
+ const shimsValue = globalConfig === null ? null : getShimsDirValue(globalConfig);
73
+ const expected = norm(shimsDir());
74
+ if (shimsValue && norm(shimsValue) === expected) {
75
+ miseItems.push({ status: 'ok', label: 'shims_dir', detail: shimsDir() });
76
+ }
77
+ else {
78
+ miseItems.push({
79
+ status: 'fail',
80
+ label: 'shims_dir',
81
+ detail: `not set to ${shimsDir()} in ${globalConfigPath} — run \`agentenv apply\``,
82
+ });
83
+ }
84
+ miseItems.push({
85
+ status: shimsDirOnPath() ? 'ok' : 'warn',
86
+ label: 'shims on PATH',
87
+ detail: shimsDirOnPath()
88
+ ? shimsDir()
89
+ : `${shimsDir()} is not on PATH — add it so the shims resolve`,
90
+ });
91
+ sections.push({ title: 'Mise', items: miseItems });
92
+ // Config
93
+ const configPath = findConfigPath();
94
+ if (!configPath) {
95
+ sections.push({
96
+ title: 'Config',
97
+ items: [
98
+ {
99
+ status: 'warn',
100
+ label: 'agentenv.toml',
101
+ detail: 'not found — run `agentenv setup` to create one',
102
+ },
103
+ ],
104
+ });
105
+ return sections;
106
+ }
107
+ const scope = norm(configPath) === norm(path.join(userConfigDir(), 'agentenv.toml')) ? 'user' : 'project';
108
+ const configItems = [
109
+ { status: 'ok', label: 'file', detail: `${configPath} (${scope} scope)` },
110
+ ];
111
+ let config;
112
+ try {
113
+ config = loadConfig(configPath);
114
+ }
115
+ catch (error) {
116
+ configItems.push({
117
+ status: 'fail',
118
+ label: 'validity',
119
+ detail: error instanceof Error ? error.message : String(error),
120
+ });
121
+ sections.push({ title: 'Config', items: configItems });
122
+ return sections;
123
+ }
124
+ const report = validateConfig(config);
125
+ if (report.errors.length > 0) {
126
+ configItems.push({ status: 'fail', label: 'validity', detail: report.errors.join('; ') });
127
+ }
128
+ else {
129
+ configItems.push({ status: 'ok', label: 'validity', detail: 'no errors' });
130
+ }
131
+ for (const warning of report.warnings) {
132
+ configItems.push({ status: 'warn', label: 'warning', detail: warning });
133
+ }
134
+ sections.push({ title: 'Config', items: configItems });
135
+ // Tools
136
+ const tools = config.tools ?? {};
137
+ const enabledTools = TOOL_KEYS.filter((key) => tools[key] === true);
138
+ const toolItems = [];
139
+ for (const key of enabledTools) {
140
+ const binary = BINARY_MAP[key];
141
+ const found = resolveBinary(binary) !== null;
142
+ toolItems.push({
143
+ status: found ? 'ok' : 'fail',
144
+ label: `${binary} (${key})`,
145
+ detail: found ? '' : 'not on PATH — run `mise install` in this project',
146
+ });
147
+ }
148
+ sections.push({
149
+ title: `Tools (${enabledTools.length} configured)`,
150
+ items: toolItems.length > 0
151
+ ? toolItems
152
+ : [{ status: 'warn', label: 'none', detail: 'no tools enabled' }],
153
+ });
154
+ // Agents
155
+ const agents = getEnabledAgents(config);
156
+ const agentItems = [];
157
+ for (const agent of agents) {
158
+ const installed = isAgentInstalled(agent);
159
+ agentItems.push({
160
+ status: installed ? 'ok' : 'warn',
161
+ label: `${agent} (${AGENT_COMMANDS[agent][0]})`,
162
+ detail: installed ? '' : 'CLI not found on PATH — install it or disable the agent in config',
163
+ });
164
+ }
165
+ sections.push({
166
+ title: `Agents (${agents.length} enabled)`,
167
+ items: agentItems.length > 0
168
+ ? agentItems
169
+ : [{ status: 'warn', label: 'none', detail: 'no agents enabled' }],
170
+ });
171
+ return sections;
172
+ }
173
+ export const doctorCommand = new Command()
174
+ .name('doctor')
175
+ .description('Diagnose the machine: mise, shims, config, tools and agents (read-only)')
176
+ .action(() => {
177
+ const sections = gatherDoctor();
178
+ const output = renderDoctor(sections);
179
+ console.log(output.startsWith('\n') ? output.slice(1) : output);
180
+ const hasFail = sections.some((section) => section.items.some((item) => item.status === 'fail'));
181
+ if (hasFail)
182
+ process.exitCode = 1;
183
+ });
184
+ //# sourceMappingURL=doctor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,3 @@
1
1
  import { Command } from 'commander';
2
- /**
3
- * Setup command - Interactive Simple mode wizard
4
- * Performs:
5
- * - Auto-detect installed agents
6
- * - Install Tier 1 (and Tier 2 unless declined)
7
- * - Wire hooks for the selected agents
8
- * - Apply everything (incl. Tier 0 shell fix)
9
- */
10
2
  export declare const setupCommand: Command;
11
3
  //# 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;AAapC;;;;;;;GAOG;AACH,eAAO,MAAM,YAAY,SAoErB,CAAC"}
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA+IpC,eAAO,MAAM,YAAY,SA4ErB,CAAC"}