@indy2kro/agentenv 0.3.1 → 0.4.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 (38) hide show
  1. package/README.md +1 -0
  2. package/dist/commands/apply.d.ts +2 -0
  3. package/dist/commands/apply.d.ts.map +1 -1
  4. package/dist/commands/apply.js +16 -18
  5. package/dist/commands/apply.js.map +1 -1
  6. package/dist/commands/setup.d.ts +2 -0
  7. package/dist/commands/setup.d.ts.map +1 -1
  8. package/dist/commands/setup.js +13 -21
  9. package/dist/commands/setup.js.map +1 -1
  10. package/dist/commands/shell-fix.d.ts +29 -0
  11. package/dist/commands/shell-fix.d.ts.map +1 -0
  12. package/dist/commands/shell-fix.js +107 -0
  13. package/dist/commands/shell-fix.js.map +1 -0
  14. package/dist/commands/uninstall.d.ts.map +1 -1
  15. package/dist/commands/uninstall.js +11 -17
  16. package/dist/commands/uninstall.js.map +1 -1
  17. package/dist/commands/update.d.ts.map +1 -1
  18. package/dist/commands/update.js +12 -11
  19. package/dist/commands/update.js.map +1 -1
  20. package/dist/index.js +2 -0
  21. package/dist/index.js.map +1 -1
  22. package/dist/shell/detector.d.ts +26 -1
  23. package/dist/shell/detector.d.ts.map +1 -1
  24. package/dist/shell/detector.js +235 -1
  25. package/dist/shell/detector.js.map +1 -1
  26. package/dist/shell/shell-fix-state.d.ts +43 -0
  27. package/dist/shell/shell-fix-state.d.ts.map +1 -0
  28. package/dist/shell/shell-fix-state.js +70 -0
  29. package/dist/shell/shell-fix-state.js.map +1 -0
  30. package/dist/toolchain/mise.d.ts +63 -17
  31. package/dist/toolchain/mise.d.ts.map +1 -1
  32. package/dist/toolchain/mise.js +109 -26
  33. package/dist/toolchain/mise.js.map +1 -1
  34. package/dist/ui/report.d.ts +35 -0
  35. package/dist/ui/report.d.ts.map +1 -0
  36. package/dist/ui/report.js +64 -0
  37. package/dist/ui/report.js.map +1 -0
  38. package/package.json +1 -1
package/README.md CHANGED
@@ -133,6 +133,7 @@ hand-written or previously-saved config.
133
133
  | `agentenv apply [--skip-mise-install]` | Non-interactive: read `agentenv.toml` and (re)generate everything — `mise.toml`, `AGENTS.md`/`CLAUDE.md`, per-agent hook files, the Tier 0 shell fix. Safe to run in CI or a script. `--skip-mise-install` generates files only, without running `mise install` (useful for a fast dry-run or when mise isn't available). |
134
134
  | `agentenv status` | Read-only report: what's configured, what's actually installed, and where the two disagree (drift) — per agent, per tool, per generated file. |
135
135
  | `agentenv uninstall` | Remove mise-managed tools in your config from the mise store (cleanup); `agentenv apply` reinstalls them. `--dry-run` previews the plan without changing anything, `--yes` skips the confirmation prompt. |
136
+ | `agentenv shell-fix` | Inspect (or `--revert`) the per-user Tier 0 shell changes `apply` records on Windows. `--json` prints the manifest; `--revert [--dry-run]` restores the values agentenv overwrote (skipping files you changed since). |
136
137
  | `agentenv --version` / `agentenv --help` | Standard `commander`-generated version/help output; every subcommand also takes `--help`. |
137
138
 
138
139
  `setup` (alias `configure`) writes `agentenv.toml` and then calls the same
@@ -6,6 +6,8 @@ export interface ApplyResult {
6
6
  success: boolean;
7
7
  messages: string[];
8
8
  errors: string[];
9
+ /** Wall-clock milliseconds the apply took, for the end-of-run timing line. */
10
+ elapsedMs?: number;
9
11
  }
10
12
  export interface ApplyOptions {
11
13
  /**
@@ -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;AAkBpC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAGvE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AA0BrD,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;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,wDAAwD;IACxD,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,8EAA8E;IAC9E,eAAe,CAAC,EAAE,sBAAsB,CAAC;IACzC;;;;;OAKG;IACH,aAAa,CAAC,EAAE;QACd,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;QACrB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,QAAQ,KAAK,IAAI,CAAC;QAChE,KAAK,CAAC,EAAE,MAAM,IAAI,CAAC;KACpB,CAAC;CACH;AAmCD,iFAAiF;AACjF,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC,WAAW,CAAC,CAuHtB;AAED,eAAO,MAAM,YAAY,SA2ErB,CAAC"}
1
+ {"version":3,"file":"apply.d.ts","sourceRoot":"","sources":["../../src/commands/apply.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAkBpC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAGvE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AA2BrD,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,8EAA8E;IAC9E,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,wDAAwD;IACxD,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,8EAA8E;IAC9E,eAAe,CAAC,EAAE,sBAAsB,CAAC;IACzC;;;;;OAKG;IACH,aAAa,CAAC,EAAE;QACd,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;QACrB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,QAAQ,KAAK,IAAI,CAAC;QAChE,KAAK,CAAC,EAAE,MAAM,IAAI,CAAC;KACpB,CAAC;CACH;AAmCD,iFAAiF;AACjF,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC,WAAW,CAAC,CA2HtB;AAED,eAAO,MAAM,YAAY,SAuErB,CAAC"}
@@ -11,7 +11,8 @@ import { isUnsupportedRtkAgentError } from '../toolchain/rtk.js';
11
11
  import { ensureGlobalShimsDir, eulaPreflightHint, generateMiseToml, isMiseInstalled, miseActivationHint, miseInstallInstructions, miseInstallOutcome, platformUnsupportedHint, prereqMessage, runMiseInstall, saveMiseToml, toolAvailabilityLine, trustMiseToml, verifyHintNeeded, verifySummaryLine, verifyToolAvailability, } from '../toolchain/mise.js';
12
12
  import { normalizeOutput } from '../utils/output.js';
13
13
  import { colorizeLine, theme } from '../ui/theme.js';
14
- import { renderLogo, resolveResultLine } from '../ui/output.js';
14
+ import { renderLogo } from '../ui/output.js';
15
+ import { printConfigPath, printMessages, printResult, reportValidation } from '../ui/report.js';
15
16
  import { withSpinner } from '../ui/spinner.js';
16
17
  function adaptersFor(config, baseDir, options) {
17
18
  const adapterConfig = {
@@ -51,6 +52,7 @@ function enabledIntegrations(config, options) {
51
52
  }
52
53
  /** Apply a validated configuration and return structured results for the CLI. */
53
54
  export async function applyConfiguration(config, baseDir, options = {}) {
55
+ const startedAt = Date.now();
54
56
  const messages = [];
55
57
  const errors = [];
56
58
  // Step 0 — self-diagnose the prerequisite before touching anything, so a
@@ -61,7 +63,7 @@ export async function applyConfiguration(config, baseDir, options = {}) {
61
63
  errors.push('Prerequisite check failed: mise is not installed.');
62
64
  errors.push("agentenv uses mise to install and manage this project's tools.");
63
65
  errors.push(...miseInstallInstructions());
64
- return { success: false, messages, errors };
66
+ return { success: false, messages, errors, elapsedMs: Date.now() - startedAt };
65
67
  }
66
68
  if (!options.skipPrereqMessage) {
67
69
  messages.push(prereqMessage());
@@ -113,7 +115,10 @@ export async function applyConfiguration(config, baseDir, options = {}) {
113
115
  errors.push(`mise install failed${install.exitCode === null ? '' : ` (exit ${install.exitCode})`}: ${installDetail}${install.eulaHint ? ` ${install.eulaHint}` : ''}`);
114
116
  }
115
117
  if (errors.length === 0) {
116
- const availability = verifyToolAvailability(config);
118
+ const availability = verifyToolAvailability(config, {
119
+ cwd: baseDir,
120
+ miseTomlPath: misePath,
121
+ });
117
122
  const missing = availability.filter((tool) => tool.status === 'missing');
118
123
  messages.push(verifySummaryLine(availability));
119
124
  for (const tool of availability)
@@ -157,7 +162,7 @@ export async function applyConfiguration(config, baseDir, options = {}) {
157
162
  for (const error of result.errors)
158
163
  errors.push(`Superpowers: ${error}`);
159
164
  }
160
- return { success: errors.length === 0, messages, errors };
165
+ return { success: errors.length === 0, messages, errors, elapsedMs: Date.now() - startedAt };
161
166
  }
162
167
  export const applyCommand = new Command()
163
168
  .name('apply')
@@ -165,6 +170,7 @@ export const applyCommand = new Command()
165
170
  .option('--skip-mise-install', 'skip mise install (files only; for CI/dry-run)')
166
171
  .option('--dry-run', 'show what would be written without changing anything')
167
172
  .action(async (options) => {
173
+ const startedAt = Date.now();
168
174
  renderLogo();
169
175
  const dryRun = options.dryRun === true;
170
176
  let config;
@@ -177,14 +183,9 @@ export const applyCommand = new Command()
177
183
  return;
178
184
  }
179
185
  const configPath = findConfigPath() ?? configFilePath(config.scope ?? 'project');
180
- console.log(`Config: ${configPath}`);
186
+ printConfigPath(configPath);
181
187
  const report = validateConfig(config);
182
- for (const warning of report.warnings)
183
- console.log(theme.warn(`warning: ${warning}`));
184
- if (report.errors.length > 0) {
185
- for (const error of report.errors)
186
- console.error(theme.fail(`error: ${error}`));
187
- console.error(theme.fail('Configuration invalid — not applying.'));
188
+ if (!reportValidation(report, 'Configuration invalid — not applying.')) {
188
189
  process.exitCode = 1;
189
190
  return;
190
191
  }
@@ -198,7 +199,7 @@ export const applyCommand = new Command()
198
199
  console.log(` Generated files: ${files.map((file) => file.path).join(', ') || '(none)'}`);
199
200
  console.log(` Agents: ${agents.join(', ') || '(none)'}${config.rtk?.enabled === true ? ' (rtk rewriting on)' : ''}`);
200
201
  console.log(` Integrations: ${integrations.length > 0 ? integrations.map((i) => i.getName()).join(', ') : '(none)'}`);
201
- console.log(`\n${resolveResultLine({ severity: 'ok', headline: 'Dry run complete', summary: 'no changes were made' })}\n`);
202
+ printResult('ok', 'Dry run complete', 'no changes were made', Date.now() - startedAt);
202
203
  return;
203
204
  }
204
205
  const result = await withSpinner('Applying configuration...', (spinner) => applyConfiguration(config, baseDir, {
@@ -212,15 +213,12 @@ export const applyCommand = new Command()
212
213
  onEnd: () => spinner.start(),
213
214
  },
214
215
  }));
215
- for (const message of result.messages)
216
- console.log(colorizeLine(message));
217
- for (const error of result.errors)
218
- console.error(theme.fail(error));
216
+ printMessages(result.messages, result.errors);
219
217
  if (!result.success) {
220
218
  process.exitCode = 1;
221
- console.log(`\n${resolveResultLine({ severity: 'fail', headline: 'Apply failed', summary: 'fix the errors above and re-run `agentenv apply`' })}\n`);
219
+ printResult('fail', 'Apply failed', 'fix the errors above and re-run `agentenv apply`', result.elapsedMs);
222
220
  return;
223
221
  }
224
- console.log(`\n${resolveResultLine({ severity: 'ok', headline: 'Apply complete!', summary: 'everything is configured and verified' })}\n`);
222
+ printResult('ok', 'Apply complete!', 'everything is configured and verified', result.elapsedMs);
225
223
  });
226
224
  //# sourceMappingURL=apply.js.map
@@ -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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"}
@@ -16,6 +16,8 @@ export interface SaveAndApplyDeps {
16
16
  applyConfiguration?: typeof applyConfiguration;
17
17
  /** Success line printed after applying (default: "Setup complete!"). */
18
18
  successMessage?: string;
19
+ /** Epoch ms the whole command started, for the end-of-run timing line. */
20
+ startedAt?: number;
19
21
  }
20
22
  /** Save the config and apply it, mirroring the shared setup tail. */
21
23
  export declare function saveAndApply(config: AgentenvConfig, file: string, deps?: SaveAndApplyDeps): Promise<void>;
@@ -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;AAIpC,OAAO,KAAK,EAAY,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAEpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAkBhD,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;CACzB;AAED,qEAAqE;AACrE,wBAAsB,YAAY,CAChC,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,MAAM,EACZ,IAAI,GAAE,gBAAqB,GAC1B,OAAO,CAAC,IAAI,CAAC,CAiCf;AAED,UAAU,mBAAmB;IAC3B,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,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;;;;;;;GAOG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,mBAAmB,EAC5B,IAAI,GAAE,mBAAwB,GAC7B,OAAO,CAAC,IAAI,CAAC,CAkFf;AAED,eAAO,MAAM,YAAY,SAsBrB,CAAC"}
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,OAAO,KAAK,EAAY,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAEpE,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;CACpB;AAED,qEAAqE;AACrE,wBAAsB,YAAY,CAChC,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,MAAM,EACZ,IAAI,GAAE,gBAAqB,GAC1B,OAAO,CAAC,IAAI,CAAC,CA+Bf;AAED,UAAU,mBAAmB;IAC3B,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,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;;;;;;;GAOG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,mBAAmB,EAC5B,IAAI,GAAE,mBAAwB,GAC7B,OAAO,CAAC,IAAI,CAAC,CA+Ef;AAED,eAAO,MAAM,YAAY,SAsBrB,CAAC"}
@@ -8,7 +8,8 @@ import { runConfigWizard } from './wizard.js';
8
8
  import { AGENT_OPTIONS, buildDefaultSimpleConfig, parseAgentsInput } from '../wizard/build.js';
9
9
  import { getMiseVersion, isMiseInstalled, miseInstallInstructions, prereqLine, } from '../toolchain/mise.js';
10
10
  import { colorizeLine, theme } from '../ui/theme.js';
11
- import { renderLogo, resolveResultLine } from '../ui/output.js';
11
+ import { renderLogo } from '../ui/output.js';
12
+ import { printConfigPath, printMessages, printResult, reportValidation } from '../ui/report.js';
12
13
  import { withSpinner } from '../ui/spinner.js';
13
14
  function agentLabel(agent) {
14
15
  return AGENT_OPTIONS.find((option) => option.value === agent)?.label ?? agent;
@@ -52,16 +53,14 @@ export async function saveAndApply(config, file, deps = {}) {
52
53
  onEnd: () => spinner.start(),
53
54
  },
54
55
  }));
55
- for (const message of result.messages)
56
- console.log(colorizeLine(message));
57
- for (const error of result.errors)
58
- console.error(theme.fail(error));
56
+ printMessages(result.messages, result.errors);
57
+ const elapsedMs = deps.startedAt === undefined ? result.elapsedMs : Date.now() - deps.startedAt;
59
58
  if (!result.success) {
60
59
  process.exitCode = 1;
61
- console.log(`\n${resolveResultLine({ severity: 'fail', headline: 'Setup failed' })}\n`);
60
+ printResult('fail', 'Setup failed', undefined, elapsedMs);
62
61
  return;
63
62
  }
64
- console.log(`\n${resolveResultLine({ severity: 'ok', headline: deps.successMessage ?? 'Setup complete!' })}\n`);
63
+ printResult('ok', deps.successMessage ?? 'Setup complete!', undefined, elapsedMs);
65
64
  }
66
65
  /**
67
66
  * Unattended, single-command setup: `agentenv setup --yes`. Resolves the
@@ -72,10 +71,11 @@ export async function saveAndApply(config, file, deps = {}) {
72
71
  * --agents / --no-tier2 / --no-rtk / --scope / --superpowers.
73
72
  */
74
73
  export async function unattendedSetup(options, deps = {}) {
74
+ const startedAt = Date.now();
75
75
  renderLogo();
76
76
  if (!misePrereqCheck(deps.misePrereqCheckDeps)) {
77
77
  process.exitCode = 1;
78
- console.log(`\n${resolveResultLine({ severity: 'fail', headline: 'Setup failed' })}\n`);
78
+ printResult('fail', 'Setup failed', undefined, Date.now() - startedAt);
79
79
  return;
80
80
  }
81
81
  let config;
@@ -90,12 +90,8 @@ export async function unattendedSetup(options, deps = {}) {
90
90
  return;
91
91
  }
92
92
  const report = validateConfig(config);
93
- for (const warning of report.warnings)
94
- console.log(theme.warn(`warning: ${warning}`));
95
- if (report.errors.length > 0) {
96
- for (const error of report.errors)
97
- console.error(theme.fail(`error: ${error}`));
98
- console.error(theme.fail(`Configuration at ${options.config} is invalid; not applying.`));
93
+ printConfigPath(options.config);
94
+ if (!reportValidation(report, 'Configuration invalid — not applying.')) {
99
95
  process.exitCode = 1;
100
96
  return;
101
97
  }
@@ -105,14 +101,10 @@ export async function unattendedSetup(options, deps = {}) {
105
101
  const scope = options.scope === 'user' ? 'user' : 'project';
106
102
  file = configFilePath(scope);
107
103
  if (fs.existsSync(file)) {
108
- console.log(`Using existing configuration: ${file}`);
104
+ printConfigPath(file);
109
105
  config = loadConfig(file);
110
106
  const report = validateConfig(config);
111
- for (const warning of report.warnings)
112
- console.log(theme.warn(`warning: ${warning}`));
113
- if (report.errors.length > 0) {
114
- for (const error of report.errors)
115
- console.error(theme.fail(`error: ${error}`));
107
+ if (!reportValidation(report, 'Configuration invalid — not applying.')) {
116
108
  process.exitCode = 1;
117
109
  return;
118
110
  }
@@ -149,7 +141,7 @@ export async function unattendedSetup(options, deps = {}) {
149
141
  console.log(`Defaults: agents ${agents.join(', ')}, Tier 2 tools ${includeTier2 ? 'on' : 'off'}, rtk ${rtkEnabled ? 'on' : 'off'}, Superpowers ${superpowersRef === undefined ? 'off' : `on (ref ${superpowersRef || 'default'})`}`);
150
142
  }
151
143
  }
152
- await saveAndApply(config, file, deps);
144
+ await saveAndApply(config, file, { ...deps, startedAt });
153
145
  }
154
146
  export const setupCommand = new Command()
155
147
  .name('setup')
@@ -1 +1 @@
1
- {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE7E,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC/F,OAAO,EACL,cAAc,EACd,eAAe,EACf,uBAAuB,EACvB,UAAU,GACX,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG/C,SAAS,UAAU,CAAC,KAAe;IACjC,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,KAAK,KAAK,CAAC,EAAE,KAAK,IAAI,KAAK,CAAC;AAChF,CAAC;AAOD;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,OAA4B,EAAE;IAC5D,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,IAAI,eAAe,CAAC;IACtD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,cAAc,CAAC;IAC/C,IAAI,SAAS,EAAE,EAAE,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,CAAC,KAAK,CACX,KAAK,CAAC,IAAI,CAAC,6EAA6E,CAAC,CAC1F,CAAC;IACF,KAAK,MAAM,IAAI,IAAI,uBAAuB,EAAE;QAAE,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IACzE,OAAO,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACrE,OAAO,KAAK,CAAC;AACf,CAAC;AASD,qEAAqE;AACrE,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,MAAsB,EACtB,IAAY,EACZ,OAAyB,EAAE;IAE3B,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,kEAAkE,CAAC,CAAC;IAC/F,CAAC;IACD,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACzB,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,IAAI,CAAC,CAAC;IAE9C,MAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,IAAI,kBAAkB,CAAC;IAC5D,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,2BAA2B,EAAE,CAAC,OAAgB,EAAE,EAAE;IACjF,+EAA+E;IAC/E,KAAK,CAAC,MAAM,EAAE,eAAe,CAAC,MAAM,CAAC,KAAK,IAAI,SAAS,CAAC,EAAE;QACxD,iBAAiB,EAAE,IAAI;QACvB,aAAa,EAAE;YACb,OAAO,EAAE,GAAG,EAAE;gBACZ,OAAO,CAAC,IAAI,EAAE,CAAC;gBACf,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,8BAA8B,CAAC,CAAC,CAAC;YAC5D,CAAC;YACD,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;YAChD,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE;SAC7B;KACF,CAAC,CACH,CAAC;IACF,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ;QAAE,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;IAC1E,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM;QAAE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IACpE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO,CAAC,GAAG,CAAC,KAAK,iBAAiB,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC,IAAI,CAAC,CAAC;QACxF,OAAO;IACT,CAAC;IAED,OAAO,CAAC,GAAG,CACT,KAAK,iBAAiB,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,cAAc,IAAI,iBAAiB,EAAE,CAAC,IAAI,CACnG,CAAC;AACJ,CAAC;AAgBD;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,OAA4B,EAC5B,OAA4B,EAAE;IAE9B,UAAU,EAAE,CAAC;IACb,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC;QAC/C,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;QACrB,OAAO,CAAC,GAAG,CAAC,KAAK,iBAAiB,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC,IAAI,CAAC,CAAC;QACxF,OAAO;IACT,CAAC;IAED,IAAI,MAAsB,CAAC;IAC3B,IAAI,IAAY,CAAC;IAEjB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,IAAI,CAAC;YACH,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACtC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAClF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO;QACT,CAAC;QACD,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;QACtC,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ;YAAE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,OAAO,EAAE,CAAC,CAAC,CAAC;QACtF,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM;gBAAE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,KAAK,EAAE,CAAC,CAAC,CAAC;YAChF,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,oBAAoB,OAAO,CAAC,MAAM,4BAA4B,CAAC,CAAC,CAAC;YAC1F,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO;QACT,CAAC;QACD,IAAI,GAAG,cAAc,CAAC,MAAM,CAAC,KAAK,IAAI,SAAS,CAAC,CAAC;IACnD,CAAC;SAAM,CAAC;QACN,MAAM,KAAK,GAAuB,OAAO,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;QAChF,IAAI,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;QAE7B,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,OAAO,CAAC,GAAG,CAAC,iCAAiC,IAAI,EAAE,CAAC,CAAC;YACrD,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;YAC1B,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;YACtC,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,QAAQ;gBAAE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,OAAO,EAAE,CAAC,CAAC,CAAC;YACtF,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM;oBAAE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,KAAK,EAAE,CAAC,CAAC,CAAC;gBAChF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;gBACrB,OAAO;YACT,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,MAAkB,CAAC;YACvB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACnB,IAAI,CAAC;oBACH,MAAM,GAAG,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBAC5C,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBAClF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;oBACrB,OAAO;gBACT,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,qBAAqB,EAAE,CAAC;gBACjC,OAAO,CAAC,GAAG,CAAC,oBAAoB,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ,EAAE,CAAC,CAAC;YACnF,CAAC;YACD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACxB,OAAO,CAAC,KAAK,CACX,4FAA4F,CAC7F,CAAC;gBACF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;gBACrB,OAAO;YACT,CAAC;YAED,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,KAAK,KAAK,CAAC;YAC7C,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,KAAK,KAAK,CAAC;YACzC,MAAM,cAAc,GAClB,OAAO,CAAC,WAAW,KAAK,SAAS;gBAC/B,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,OAAO,OAAO,CAAC,WAAW,KAAK,QAAQ;oBACvC,CAAC,CAAC,OAAO,CAAC,WAAW;oBACrB,CAAC,CAAC,SAAS,CAAC;YAClB,MAAM,GAAG,wBAAwB,CAAC,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;YAC3F,OAAO,CAAC,GAAG,CACT,oBAAoB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,iBAClH,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,cAAc,IAAI,SAAS,GAC/E,EAAE,CACH,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,OAAO,EAAE;KACtC,IAAI,CAAC,OAAO,CAAC;KACb,KAAK,CAAC,WAAW,CAAC;KAClB,WAAW,CACV,2GAA2G,CAC5G;KACA,MAAM,CAAC,WAAW,EAAE,mEAAmE,CAAC;KACxF,MAAM,CAAC,uBAAuB,EAAE,kDAAkD,CAAC;KACnF,MAAM,CAAC,iBAAiB,EAAE,sDAAsD,CAAC;KACjF,MAAM,CAAC,YAAY,EAAE,gCAAgC,CAAC;KACtD,MAAM,CAAC,UAAU,EAAE,4CAA4C,CAAC;KAChE,MAAM,CACL,qBAAqB,EACrB,wFAAwF,CACzF;KACA,MAAM,CAAC,iBAAiB,EAAE,yDAAyD,CAAC;KACpF,MAAM,CAAC,KAAK,EAAE,OAA4B,EAAE,EAAE;IAC7C,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAChB,MAAM,eAAe,CAAC,OAAO,CAAC,CAAC;QAC/B,OAAO;IACT,CAAC;IACD,MAAM,eAAe,EAAE,CAAC;AAC1B,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * `agentenv shell-fix` — inspect and undo the Tier 0 shell configuration that
3
+ * `apply` writes into per-user agent config files on Windows. `apply` records
4
+ * every write it makes (see `shell/shell-fix-state.ts`); this command is the
5
+ * read side plus the revert path, so those edits are no longer a one-way door.
6
+ */
7
+ import { Command } from 'commander';
8
+ import { type ShellFixStateEntry } from '../shell/shell-fix-state.js';
9
+ import { type ShellFixRevertResult } from '../shell/detector.js';
10
+ import type { AgentKey } from '../config/schema.js';
11
+ export interface ShellFixCurrent {
12
+ agent: AgentKey;
13
+ configured: boolean;
14
+ shell: string | null;
15
+ }
16
+ export interface ShellFixShowJson {
17
+ command: 'shell-fix';
18
+ statePath: string;
19
+ bashExe: string | null;
20
+ recorded: ShellFixStateEntry[];
21
+ current: ShellFixCurrent[];
22
+ exitCode: 0;
23
+ }
24
+ /** Read the recorded manifest plus the live per-agent shell configuration. */
25
+ export declare function gatherShellFixShow(): ShellFixShowJson;
26
+ export declare function renderShellFixShow(payload: ShellFixShowJson): string;
27
+ export declare function renderShellFixRevert(results: ShellFixRevertResult[], dryRun: boolean): string[];
28
+ export declare const shellFixCommand: Command;
29
+ //# sourceMappingURL=shell-fix.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shell-fix.d.ts","sourceRoot":"","sources":["../../src/commands/shell-fix.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAGL,KAAK,kBAAkB,EACxB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAGL,KAAK,oBAAoB,EAC1B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAOpD,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,QAAQ,CAAC;IAChB,UAAU,EAAE,OAAO,CAAC;IACpB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,WAAW,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,QAAQ,EAAE,kBAAkB,EAAE,CAAC;IAC/B,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,QAAQ,EAAE,CAAC,CAAC;CACb;AAED,8EAA8E;AAC9E,wBAAgB,kBAAkB,IAAI,gBAAgB,CAcrD;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM,CAsBpE;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,oBAAoB,EAAE,EAAE,MAAM,EAAE,OAAO,GAAG,MAAM,EAAE,CAI/F;AAQD,eAAO,MAAM,eAAe,SAiExB,CAAC"}
@@ -0,0 +1,107 @@
1
+ /**
2
+ * `agentenv shell-fix` — inspect and undo the Tier 0 shell configuration that
3
+ * `apply` writes into per-user agent config files on Windows. `apply` records
4
+ * every write it makes (see `shell/shell-fix-state.ts`); this command is the
5
+ * read side plus the revert path, so those edits are no longer a one-way door.
6
+ */
7
+ import { Command } from 'commander';
8
+ import { readShellFixState, shellFixStatePath, } from '../shell/shell-fix-state.js';
9
+ import { checkAgentShellConfiguration, revertShellFixes, } from '../shell/detector.js';
10
+ import { renderLogo, setQuietEnabled } from '../ui/output.js';
11
+ import { printResult } from '../ui/report.js';
12
+ /** Agents whose Tier 0 fix writes a per-user config file (see detector.ts). */
13
+ const MANAGED_AGENTS = ['claude_code', 'codex_cli', 'opencode'];
14
+ /** Read the recorded manifest plus the live per-agent shell configuration. */
15
+ export function gatherShellFixShow() {
16
+ const state = readShellFixState();
17
+ const current = MANAGED_AGENTS.map((agent) => {
18
+ const info = checkAgentShellConfiguration(agent);
19
+ return { agent, configured: info.isConfigured, shell: info.shell ?? null };
20
+ });
21
+ return {
22
+ command: 'shell-fix',
23
+ statePath: shellFixStatePath(),
24
+ bashExe: state?.bashExe ?? null,
25
+ recorded: state?.entries ?? [],
26
+ current,
27
+ exitCode: 0,
28
+ };
29
+ }
30
+ export function renderShellFixShow(payload) {
31
+ const lines = [`State file: ${payload.statePath}`];
32
+ if (payload.recorded.length === 0) {
33
+ lines.push('Recorded changes: none');
34
+ }
35
+ else {
36
+ lines.push(`Recorded changes (${payload.recorded.length}):`);
37
+ for (const entry of payload.recorded) {
38
+ const created = entry.createdFile ? ' (created by agentenv)' : '';
39
+ lines.push(` ${entry.agent} — ${entry.file}${created}`);
40
+ for (const field of entry.fields) {
41
+ const previous = field.previous === null ? '(unset)' : field.previous;
42
+ lines.push(` ${field.key}: ${previous} → ${payload.bashExe ?? ''}`);
43
+ }
44
+ }
45
+ }
46
+ lines.push('Current configuration:');
47
+ for (const item of payload.current) {
48
+ lines.push(` ${item.agent}: ${item.configured ? `configured (${item.shell ?? ''})` : 'not configured'}`);
49
+ }
50
+ return lines.join('\n');
51
+ }
52
+ export function renderShellFixRevert(results, dryRun) {
53
+ if (results.length === 0)
54
+ return ['No recorded Tier 0 shell changes to revert.'];
55
+ const prefix = dryRun ? '(dry run) ' : '';
56
+ return results.map((result) => ` ${result.agent}: ${prefix}${result.message}`);
57
+ }
58
+ export const shellFixCommand = new Command()
59
+ .name('shell-fix')
60
+ .description('Inspect or revert the per-user Tier 0 shell fixes agentenv applied (Windows)')
61
+ .option('--revert', 'undo the recorded Tier 0 shell changes and restore prior values')
62
+ .option('--dry-run', 'with --revert, show what would change without writing')
63
+ .option('--json', 'emit a machine-readable JSON document (show only)')
64
+ .action((options, command) => {
65
+ if (options.json === true && options.revert === true) {
66
+ command.error('--json cannot be combined with --revert (revert mutates files).');
67
+ return;
68
+ }
69
+ if (options.revert === true) {
70
+ renderLogo();
71
+ const dryRun = options.dryRun === true;
72
+ const results = revertShellFixes(undefined, dryRun);
73
+ for (const line of renderShellFixRevert(results, dryRun))
74
+ console.log(line);
75
+ const applied = results.filter((result) => result.action === 'reverted' || result.action === 'removed').length;
76
+ const skipped = results.filter((result) => result.action === 'skipped').length;
77
+ if (results.length === 0 || (applied === 0 && skipped === 0)) {
78
+ printResult('warn', 'Nothing to revert', 'No recorded Tier 0 shell changes.');
79
+ return;
80
+ }
81
+ if (skipped > 0) {
82
+ printResult('warn', `Reverted ${applied} of ${results.length} file(s)`, `${skipped} file(s) left untouched — see the lines above`);
83
+ process.exitCode = 1;
84
+ return;
85
+ }
86
+ if (dryRun) {
87
+ printResult('warn', 'Dry run complete', `would revert ${applied} file(s); no changes made`);
88
+ return;
89
+ }
90
+ printResult('ok', `Reverted ${applied} file(s)`, 'Tier 0 shell overrides removed; run `agentenv apply` to re-apply them.');
91
+ return;
92
+ }
93
+ if (options.json === true)
94
+ setQuietEnabled(true);
95
+ const payload = gatherShellFixShow();
96
+ if (options.json === true) {
97
+ console.log(JSON.stringify(payload, null, 2));
98
+ return;
99
+ }
100
+ renderLogo();
101
+ console.log(renderShellFixShow(payload));
102
+ const count = payload.recorded.length;
103
+ printResult('ok', count === 0 ? 'No recorded Tier 0 shell changes' : `${count} recorded Tier 0 shell change(s)`, count === 0
104
+ ? 'agentenv records them when it points agents at Git Bash on Windows.'
105
+ : 'Use `agentenv shell-fix --revert` to undo them.');
106
+ });
107
+ //# sourceMappingURL=shell-fix.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shell-fix.js","sourceRoot":"","sources":["../../src/commands/shell-fix.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EACL,iBAAiB,EACjB,iBAAiB,GAElB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,4BAA4B,EAC5B,gBAAgB,GAEjB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,+EAA+E;AAC/E,MAAM,cAAc,GAAe,CAAC,aAAa,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;AAiB5E,8EAA8E;AAC9E,MAAM,UAAU,kBAAkB;IAChC,MAAM,KAAK,GAAG,iBAAiB,EAAE,CAAC;IAClC,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QAC3C,MAAM,IAAI,GAAG,4BAA4B,CAAC,KAAK,CAAC,CAAC;QACjD,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;IAC7E,CAAC,CAAC,CAAC;IACH,OAAO;QACL,OAAO,EAAE,WAAW;QACpB,SAAS,EAAE,iBAAiB,EAAE;QAC9B,OAAO,EAAE,KAAK,EAAE,OAAO,IAAI,IAAI;QAC/B,QAAQ,EAAE,KAAK,EAAE,OAAO,IAAI,EAAE;QAC9B,OAAO;QACP,QAAQ,EAAE,CAAC;KACZ,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,OAAyB;IAC1D,MAAM,KAAK,GAAa,CAAC,eAAe,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;IAC7D,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClC,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;IACvC,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,qBAAqB,OAAO,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,CAAC;QAC7D,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACrC,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,EAAE,CAAC;YAClE,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,KAAK,MAAM,KAAK,CAAC,IAAI,GAAG,OAAO,EAAE,CAAC,CAAC;YACzD,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;gBACjC,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;gBACtE,KAAK,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ,MAAM,OAAO,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC,CAAC;YACzE,CAAC;QACH,CAAC;IACH,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;IACrC,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACnC,KAAK,CAAC,IAAI,CACR,KAAK,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,eAAe,IAAI,CAAC,KAAK,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAC9F,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,OAA+B,EAAE,MAAe;IACnF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,6CAA6C,CAAC,CAAC;IACjF,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1C,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,MAAM,CAAC,KAAK,KAAK,MAAM,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;AAClF,CAAC;AAQD,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,OAAO,EAAE;KACzC,IAAI,CAAC,WAAW,CAAC;KACjB,WAAW,CAAC,8EAA8E,CAAC;KAC3F,MAAM,CAAC,UAAU,EAAE,iEAAiE,CAAC;KACrF,MAAM,CAAC,WAAW,EAAE,uDAAuD,CAAC;KAC5E,MAAM,CAAC,QAAQ,EAAE,mDAAmD,CAAC;KACrE,MAAM,CAAC,CAAC,OAAwB,EAAE,OAAgB,EAAE,EAAE;IACrD,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI,IAAI,OAAO,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;QACrD,OAAO,CAAC,KAAK,CAAC,iEAAiE,CAAC,CAAC;QACjF,OAAO;IACT,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;QAC5B,UAAU,EAAE,CAAC;QACb,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,KAAK,IAAI,CAAC;QACvC,MAAM,OAAO,GAAG,gBAAgB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACpD,KAAK,MAAM,IAAI,IAAI,oBAAoB,CAAC,OAAO,EAAE,MAAM,CAAC;YAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAE5E,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAC5B,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,CACxE,CAAC,MAAM,CAAC;QACT,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,MAAM,CAAC;QAE/E,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,CAAC,EAAE,CAAC;YAC7D,WAAW,CAAC,MAAM,EAAE,mBAAmB,EAAE,mCAAmC,CAAC,CAAC;YAC9E,OAAO;QACT,CAAC;QACD,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;YAChB,WAAW,CACT,MAAM,EACN,YAAY,OAAO,OAAO,OAAO,CAAC,MAAM,UAAU,EAClD,GAAG,OAAO,+CAA+C,CAC1D,CAAC;YACF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;YACrB,OAAO;QACT,CAAC;QACD,IAAI,MAAM,EAAE,CAAC;YACX,WAAW,CAAC,MAAM,EAAE,kBAAkB,EAAE,gBAAgB,OAAO,2BAA2B,CAAC,CAAC;YAC5F,OAAO;QACT,CAAC;QACD,WAAW,CACT,IAAI,EACJ,YAAY,OAAO,UAAU,EAC7B,wEAAwE,CACzE,CAAC;QACF,OAAO;IACT,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI;QAAE,eAAe,CAAC,IAAI,CAAC,CAAC;IACjD,MAAM,OAAO,GAAG,kBAAkB,EAAE,CAAC;IACrC,IAAI,OAAO,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC9C,OAAO;IACT,CAAC;IAED,UAAU,EAAE,CAAC;IACb,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC;IACzC,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;IACtC,WAAW,CACT,IAAI,EACJ,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,kCAAkC,CAAC,CAAC,CAAC,GAAG,KAAK,kCAAkC,EAC7F,KAAK,KAAK,CAAC;QACT,CAAC,CAAC,qEAAqE;QACvE,CAAC,CAAC,iDAAiD,CACtD,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"uninstall.d.ts","sourceRoot":"","sources":["../../src/commands/uninstall.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,OAAO,EAA0C,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAElG,OAAO,EAOL,KAAK,kBAAkB,EACxB,MAAM,sBAAsB,CAAC;AAI9B,MAAM,WAAW,eAAe;IAC9B,mEAAmE;IACnE,GAAG,EAAE,MAAM,CAAC;IACZ,qDAAqD;IACrD,QAAQ,EAAE,MAAM,CAAC;IACjB,6DAA6D;IAC7D,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,cAAc,GAAG,eAAe,EAAE,CAkBnF;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,EAAE,eAAe,EAAE,GACzB;IAAE,OAAO,EAAE,eAAe,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAcnD;AAED,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAyBD,uFAAuF;AACvF,wBAAgB,aAAa,CAC3B,OAAO,EAAE,eAAe,EAAE,EAC1B,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,GACjD,aAAa,CAQf;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,eAAe,EAAE,EAC1B,IAAI,EAAE,aAAa,EACnB,IAAI,GAAE,SAAS,GAAG,QAAmB,EACrC,YAAY,UAAQ,GACnB,MAAM,EAAE,CAcV;AAED,UAAU,uBAAuB;IAC/B,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;GAIG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAqJjF;AAED,eAAO,MAAM,gBAAgB,SAc1B,CAAC"}
1
+ {"version":3,"file":"uninstall.d.ts","sourceRoot":"","sources":["../../src/commands/uninstall.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,OAAO,EAA0C,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAElG,OAAO,EAOL,KAAK,kBAAkB,EACxB,MAAM,sBAAsB,CAAC;AAK9B,MAAM,WAAW,eAAe;IAC9B,mEAAmE;IACnE,GAAG,EAAE,MAAM,CAAC;IACZ,qDAAqD;IACrD,QAAQ,EAAE,MAAM,CAAC;IACjB,6DAA6D;IAC7D,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,cAAc,GAAG,eAAe,EAAE,CAkBnF;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,EAAE,eAAe,EAAE,GACzB;IAAE,OAAO,EAAE,eAAe,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAcnD;AAED,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAyBD,uFAAuF;AACvF,wBAAgB,aAAa,CAC3B,OAAO,EAAE,eAAe,EAAE,EAC1B,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,GACjD,aAAa,CAQf;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,eAAe,EAAE,EAC1B,IAAI,EAAE,aAAa,EACnB,IAAI,GAAE,SAAS,GAAG,QAAmB,EACrC,YAAY,UAAQ,GACnB,MAAM,EAAE,CAcV;AAED,UAAU,uBAAuB;IAC/B,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;GAIG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAwIjF;AAED,eAAO,MAAM,gBAAgB,SAc1B,CAAC"}
@@ -6,7 +6,8 @@ import { BINARY_MAP, loadConfig, validateConfig } from '../config/schema.js';
6
6
  import { configFilePath, findConfigPath, resolveScopeDir } from '../config/scopes.js';
7
7
  import { getToolsToInstall, isMiseInstalled, miseInstallInstructions, parseInstalledToolState, runMiseCaptured, runMiseUninstall, } from '../toolchain/mise.js';
8
8
  import { normalizeOutput } from '../utils/output.js';
9
- import { renderLogo, resolveResultLine } from '../ui/output.js';
9
+ import { renderLogo } from '../ui/output.js';
10
+ import { printConfigPath, printResult, reportValidation } from '../ui/report.js';
10
11
  /**
11
12
  * The uninstall parity set for apply: enabled non-fallback `[tools]` entries
12
13
  * (via getToolsToInstall) plus `[[custom_tools]]` entries that carry a
@@ -110,6 +111,7 @@ export function renderUninstallSummary(targets, plan, mode = 'result', stateUnkn
110
111
  * re-installs everything.
111
112
  */
112
113
  export async function doUninstall(options) {
114
+ const startedAt = Date.now();
113
115
  renderLogo();
114
116
  // 1. Config resolution (mirrors update.ts).
115
117
  let configPath;
@@ -130,7 +132,7 @@ export async function doUninstall(options) {
130
132
  return;
131
133
  }
132
134
  }
133
- console.log(`Config: ${configPath}`);
135
+ printConfigPath(configPath);
134
136
  let config;
135
137
  try {
136
138
  config = loadConfig(configPath);
@@ -141,11 +143,7 @@ export async function doUninstall(options) {
141
143
  return;
142
144
  }
143
145
  const report = validateConfig(config);
144
- for (const warning of report.warnings)
145
- console.log(`warning: ${warning}`);
146
- if (report.errors.length > 0) {
147
- for (const error of report.errors)
148
- console.error(`error: ${error}`);
146
+ if (!reportValidation(report, 'Configuration invalid — not applying.')) {
149
147
  process.exitCode = 1;
150
148
  return;
151
149
  }
@@ -161,7 +159,7 @@ export async function doUninstall(options) {
161
159
  const requested = options.tools && options.tools.length > 0 ? matched : targets;
162
160
  // 3. No-op path needs no mise.
163
161
  if (requested.length === 0) {
164
- console.log(`\n${resolveResultLine({ severity: 'warn', headline: 'Nothing to uninstall.' })}\n`);
162
+ printResult('warn', 'Nothing to uninstall.');
165
163
  return;
166
164
  }
167
165
  const scopeDir = resolveScopeDir(config.scope ?? 'project');
@@ -172,7 +170,7 @@ export async function doUninstall(options) {
172
170
  if (!isMiseInstalled()) {
173
171
  const plan = { toUninstall: [], alreadyGone: [] };
174
172
  console.log(renderUninstallSummary(requested, plan, 'preview', true).join('\n'));
175
- console.log(`\n${resolveResultLine({ severity: 'warn', headline: 'Dry run complete', summary: 'nothing was uninstalled (mise not installed)' })}\n`);
173
+ printResult('warn', 'Dry run complete', 'nothing was uninstalled (mise not installed)');
176
174
  return;
177
175
  }
178
176
  const state = readInstalledState();
@@ -181,7 +179,7 @@ export async function doUninstall(options) {
181
179
  return;
182
180
  }
183
181
  console.log(renderUninstallSummary(requested, uninstallPlan(requested, state), 'preview', false).join('\n'));
184
- console.log(`\n${resolveResultLine({ severity: 'warn', headline: 'Dry run complete', summary: 'no changes were made' })}\n`);
182
+ printResult('warn', 'Dry run complete', 'no changes were made', Date.now() - startedAt);
185
183
  return;
186
184
  }
187
185
  // 5. Fail-closed mise gate: unknown installed state is not "already gone".
@@ -200,7 +198,7 @@ export async function doUninstall(options) {
200
198
  }
201
199
  const plan = uninstallPlan(requested, state);
202
200
  if (plan.toUninstall.length === 0) {
203
- console.log(`\n${resolveResultLine({ severity: 'warn', headline: 'Nothing to uninstall.' })}\n`);
201
+ printResult('warn', 'Nothing to uninstall.');
204
202
  return;
205
203
  }
206
204
  // 7. Confirmation, only when there is actually something to remove.
@@ -211,7 +209,7 @@ export async function doUninstall(options) {
211
209
  default: false,
212
210
  });
213
211
  if (!proceed) {
214
- console.log(`\n${resolveResultLine({ severity: 'warn', headline: 'Aborted', summary: 'no changes were made' })}\n`);
212
+ printResult('warn', 'Aborted', 'no changes were made');
215
213
  return;
216
214
  }
217
215
  }
@@ -229,11 +227,7 @@ export async function doUninstall(options) {
229
227
  return;
230
228
  }
231
229
  console.log(renderUninstallSummary(requested, plan, 'result', false).join('\n'));
232
- console.log(`\n${resolveResultLine({
233
- severity: 'ok',
234
- headline: `Removed ${plan.toUninstall.length} tool(s)`,
235
- summary: 'These are no longer installed in the mise store; `agentenv apply` will reinstall them.',
236
- })}\n`);
230
+ printResult('ok', `Removed ${plan.toUninstall.length} tool(s)`, 'These are no longer installed in the mise store; `agentenv apply` will reinstall them.', Date.now() - startedAt);
237
231
  }
238
232
  export const uninstallCommand = new Command()
239
233
  .name('uninstall')