@indy2kro/agentenv 0.2.2 → 0.3.1

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 (92) hide show
  1. package/README.md +46 -39
  2. package/dist/adapters/cursor.d.ts +1 -1
  3. package/dist/adapters/cursor.d.ts.map +1 -1
  4. package/dist/adapters/cursor.js +5 -1
  5. package/dist/adapters/cursor.js.map +1 -1
  6. package/dist/adapters/gemini.d.ts +1 -1
  7. package/dist/adapters/gemini.js +1 -1
  8. package/dist/adapters/rtk-delegation.d.ts +7 -0
  9. package/dist/adapters/rtk-delegation.d.ts.map +1 -1
  10. package/dist/adapters/rtk-delegation.js +5 -3
  11. package/dist/adapters/rtk-delegation.js.map +1 -1
  12. package/dist/adapters/vibe.d.ts +1 -1
  13. package/dist/adapters/vibe.js +1 -1
  14. package/dist/adapters/windsurf.d.ts +1 -1
  15. package/dist/adapters/windsurf.js +1 -1
  16. package/dist/cli/exit.d.ts +19 -0
  17. package/dist/cli/exit.d.ts.map +1 -0
  18. package/dist/cli/exit.js +36 -0
  19. package/dist/cli/exit.js.map +1 -0
  20. package/dist/commands/apply.d.ts +13 -2
  21. package/dist/commands/apply.d.ts.map +1 -1
  22. package/dist/commands/apply.js +53 -6
  23. package/dist/commands/apply.js.map +1 -1
  24. package/dist/commands/completion.d.ts +30 -0
  25. package/dist/commands/completion.d.ts.map +1 -0
  26. package/dist/commands/completion.js +181 -0
  27. package/dist/commands/completion.js.map +1 -0
  28. package/dist/commands/doctor.d.ts +15 -1
  29. package/dist/commands/doctor.d.ts.map +1 -1
  30. package/dist/commands/doctor.js +79 -8
  31. package/dist/commands/doctor.js.map +1 -1
  32. package/dist/commands/setup.d.ts +4 -1
  33. package/dist/commands/setup.d.ts.map +1 -1
  34. package/dist/commands/setup.js +32 -65
  35. package/dist/commands/setup.js.map +1 -1
  36. package/dist/commands/status.d.ts +124 -1
  37. package/dist/commands/status.d.ts.map +1 -1
  38. package/dist/commands/status.js +440 -135
  39. package/dist/commands/status.js.map +1 -1
  40. package/dist/commands/uninstall.d.ts +54 -0
  41. package/dist/commands/uninstall.d.ts.map +1 -0
  42. package/dist/commands/uninstall.js +246 -0
  43. package/dist/commands/uninstall.js.map +1 -0
  44. package/dist/commands/update.d.ts.map +1 -1
  45. package/dist/commands/update.js +78 -34
  46. package/dist/commands/update.js.map +1 -1
  47. package/dist/commands/wizard.d.ts +8 -0
  48. package/dist/commands/wizard.d.ts.map +1 -0
  49. package/dist/commands/{configure.js → wizard.js} +81 -69
  50. package/dist/commands/wizard.js.map +1 -0
  51. package/dist/config/schema.d.ts +2 -3
  52. package/dist/config/schema.d.ts.map +1 -1
  53. package/dist/config/schema.js +2 -11
  54. package/dist/config/schema.js.map +1 -1
  55. package/dist/config/scopes.d.ts.map +1 -1
  56. package/dist/config/scopes.js +4 -0
  57. package/dist/config/scopes.js.map +1 -1
  58. package/dist/generate/agentsmd.d.ts.map +1 -1
  59. package/dist/generate/agentsmd.js +17 -1
  60. package/dist/generate/agentsmd.js.map +1 -1
  61. package/dist/index.js +35 -8
  62. package/dist/index.js.map +1 -1
  63. package/dist/shell/detector.js +1 -1
  64. package/dist/shell/detector.js.map +1 -1
  65. package/dist/toolchain/fallbacks.d.ts +12 -2
  66. package/dist/toolchain/fallbacks.d.ts.map +1 -1
  67. package/dist/toolchain/fallbacks.js +18 -22
  68. package/dist/toolchain/fallbacks.js.map +1 -1
  69. package/dist/toolchain/mise.d.ts +51 -5
  70. package/dist/toolchain/mise.d.ts.map +1 -1
  71. package/dist/toolchain/mise.js +145 -28
  72. package/dist/toolchain/mise.js.map +1 -1
  73. package/dist/toolchain/rtk.d.ts +10 -1
  74. package/dist/toolchain/rtk.d.ts.map +1 -1
  75. package/dist/toolchain/rtk.js +21 -5
  76. package/dist/toolchain/rtk.js.map +1 -1
  77. package/dist/ui/output.d.ts +38 -0
  78. package/dist/ui/output.d.ts.map +1 -0
  79. package/dist/ui/output.js +107 -0
  80. package/dist/ui/output.js.map +1 -0
  81. package/dist/ui/spinner.d.ts +10 -2
  82. package/dist/ui/spinner.d.ts.map +1 -1
  83. package/dist/ui/spinner.js +17 -3
  84. package/dist/ui/spinner.js.map +1 -1
  85. package/dist/wizard/build.d.ts +17 -1
  86. package/dist/wizard/build.d.ts.map +1 -1
  87. package/dist/wizard/build.js +46 -1
  88. package/dist/wizard/build.js.map +1 -1
  89. package/package.json +1 -1
  90. package/dist/commands/configure.d.ts +0 -14
  91. package/dist/commands/configure.d.ts.map +0 -1
  92. package/dist/commands/configure.js.map +0 -1
package/README.md CHANGED
@@ -54,10 +54,13 @@ different config file format, that's what this fixes:
54
54
  ## Requirements
55
55
 
56
56
  - **Node.js >= 22.13** to run the CLI itself.
57
- - **[mise](https://mise.jdx.dev)** installed and on PATH — agentenv generates
58
- a `mise.toml` and delegates all tool installation to it. Without mise,
59
- `agentenv apply`/`setup` can still generate config files but can't install
60
- anything.
57
+ - **[mise](https://mise.jdx.dev)** installed and on PATH — a hard
58
+ prerequisite. agentenv never installs tools itself: it generates a
59
+ `mise.toml` and delegates 100% of tool installation to mise (whose shims dir
60
+ is where agent PATH stays consistent). `agentenv apply`/`setup` fail fast
61
+ with install instructions when mise is missing; the only exception is
62
+ `apply --skip-mise-install`, which generates files without installing
63
+ (advanced/CI). See [`../../docs/guides/installing.md`](../../docs/guides/installing.md).
61
64
  - **Git for Windows**, if you're on Windows — agentenv's Tier 0 shell fix
62
65
  relies on the POSIX toolchain it bundles.
63
66
  - Optionally, whichever supported agents you want configured already
@@ -106,32 +109,34 @@ Maintainers: see [`docs/guides/releasing.md`](../../docs/guides/releasing.md).
106
109
  agentenv setup
107
110
  ```
108
111
 
109
- This is Simple mode: it auto-detects which supported agents are installed,
110
- offers the default tool set (Tier 1 always, Tier 2 unless you decline),
111
- writes `agentenv.toml`, and wires everything up in one pass — including the
112
- Windows shell fix if you're on Windows. Answer three prompts (agents, Tier 2
113
- on/off, project vs. user scope) and you're done.
112
+ The wizard walks you through agents, the full tool picker (Tiers 1–3 on one
113
+ page; Tier 1 and Tier 2 pre-checked, Tier 3 off), optional custom binaries,
114
+ scope, rtk, and the optional Superpowers integration, then shows you a diff
115
+ and applies in one pass — including the Windows shell fix if you're on
116
+ Windows. It pre-fills every prompt from an existing `agentenv.toml`, so it's
117
+ safe to re-run any time.
114
118
 
115
- Prefer full control over exactly which tools and agents get configured?
116
- Run `agentenv configure` instead (see [Commands](#commands)).
119
+ The same flow is also reached via `agentenv configure` (an alias of `setup`;
120
+ see [Commands](#commands)).
117
121
 
118
- Not in an interactive terminal (CI, a script)? `setup`/`configure` both
119
- refuse to run and tell you to use `agentenv apply` against a hand-written or
120
- previously-saved `agentenv.toml` instead.
122
+ Not in an interactive terminal (CI, a script)? The interactive
123
+ `setup`/`configure` wizard requires a TTY and refuses to run without one —
124
+ instead use unattended `agentenv setup --yes` (defaults from detected agents,
125
+ or re-applies your existing `agentenv.toml`) or `agentenv apply` against a
126
+ hand-written or previously-saved config.
121
127
 
122
128
  ## Commands
123
129
 
124
130
  | Command | What it does |
125
131
  |---|---|
126
- | `agentenv setup` | Interactive first-run wizard, Simple mode: detect agents, pick Tier 1(+2) tools, pick scope, then applies immediately. |
127
- | `agentenv configure` | Interactive Advanced-mode wizard: pick agents, the full Tier 1–3 tool picker, add custom binaries, choose scope, toggle rtk, review a diff of what will change, then confirm before applying. Re-run any time — it pre-fills every prompt from your current `agentenv.toml`. |
132
+ | `agentenv setup` (alias `configure`) | Interactive wizard: pick agents, the full Tier 1–3 tool picker (one page, Tier 1+2 pre-checked), add custom binaries, choose scope, toggle rtk, optionally opt into Superpowers, review a diff of what will change, then confirm before applying. Re-run any time — it pre-fills every prompt from your current `agentenv.toml`. |
128
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). |
129
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
+ | `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. |
130
136
  | `agentenv --version` / `agentenv --help` | Standard `commander`-generated version/help output; every subcommand also takes `--help`. |
131
137
 
132
- `setup`/`configure` both write `agentenv.toml` and then call the same
133
- `apply` logic internally, so the end state is identical either way — the
134
- only difference is how you got there.
138
+ `setup` (alias `configure`) writes `agentenv.toml` and then calls the same
139
+ `apply` logic internally, so a hand-run `apply` reaches the same end state.
135
140
 
136
141
  Output is colorized when your terminal supports it (auto-detected, honors
137
142
  `NO_COLOR`/`FORCE_COLOR`); pass `--no-color` (before or after the subcommand)
@@ -148,7 +153,8 @@ project directory first, then fall back to the user-scope file.
148
153
 
149
154
  `mise.toml`, `AGENTS.md`, `CLAUDE.md`, and the per-agent hook files are all
150
155
  **generated outputs** of `agentenv apply` — never hand-edit them; edit
151
- `agentenv.toml` and re-run `apply` (or `configure`) instead. Regeneration
156
+ `agentenv.toml` and re-run `apply` instead (or run the `setup` wizard to
157
+ edit interactively). Regeneration
152
158
  only touches a marker-block section of `AGENTS.md`/`CLAUDE.md`, so any
153
159
  content you've added outside that block survives.
154
160
 
@@ -237,14 +243,13 @@ marker_start = "<!-- agentenv-managed-start -->"
237
243
  marker_end = "<!-- agentenv-managed-end -->"
238
244
  files = ["AGENTS.md", "CLAUDE.md"]
239
245
 
240
- # See "Optional integrations" below — this section is parsed and validated
241
- # today, but agentenv apply/status do not act on it yet.
246
+ # See "Optional integrations" below.
242
247
  [integrations.superpowers]
243
248
  enabled = false
244
249
  ```
245
250
 
246
251
  Every field is optional — omit anything and it falls back to the documented
247
- default. Run `agentenv configure` if you'd rather build this file
252
+ default. Run `agentenv setup` if you'd rather build this file
248
253
  interactively than hand-write it; the review screen at the end shows you the
249
254
  exact diff before anything is written.
250
255
 
@@ -262,22 +267,22 @@ exact diff before anything is written.
262
267
  | Cline CLI | `cline` | off |
263
268
  | Mistral Vibe | `vibe` | off |
264
269
 
265
- `agentenv setup` detects installed agents and offers the Simple-mode defaults.
266
- Use `agentenv configure` or `--agents` when you need to select the full
267
- supported set explicitly.
270
+ `agentenv setup` detects installed agents and pre-checks them in the wizard.
271
+ Use `--agents` (with unattended `setup --yes`) when you need to select the
272
+ supported set explicitly without the wizard.
268
273
 
269
274
  ## Tool catalog
270
275
 
271
276
  | Tier | Tools | Default |
272
277
  |---|---|---|
273
278
  | **1 — essential** | `ripgrep` (rg), `fd`, `jq`, `rtk` | always on |
274
- | **2 — AI-coding value-add** | `ast_grep` (sg), `git_delta` (delta), `universal_ctags`, `gh`, `difftastic` (difft) | on (Simple mode asks once) |
275
- | **3 — power-user** | `yq`, `bat`, `eza`, `miller` (mlr), `tokei`, `hyperfine`, `fzf`, `just`, `watchexec`, `direnv`, `ripgrep_all` (rga), `zoxide`, `shellcheck`, `uv`, `xh`, `actionlint`, `gitleaks`, `gum`, `glow`, `jless`, `sd`, `tealdeer` (tldr), `duckdb`, `qsv` | off — pick individually via `agentenv configure` |
279
+ | **2 — AI-coding value-add** | `ast_grep` (sg), `git_delta` (delta), `gh`, `difftastic` (difft) | on by default (pre-checked in the wizard) |
280
+ | **3 — power-user** | `yq`, `bat`, `eza`, `miller` (mlr), `tokei`, `hyperfine`, `fzf`, `just`, `watchexec`, `direnv`, `ripgrep_all` (rga), `zoxide`, `shellcheck`, `uv`, `xh`, `actionlint`, `gitleaks`, `gum`, `glow`, `jless`, `sd`, `tealdeer` (tldr), `duckdb`, `qsv` | off by default — toggle any in the wizard |
276
281
 
277
282
  All of Tiers 1–3 install through mise the same way — no separate mechanism.
278
- Two tools (`universal_ctags`, `tokei`) aren't in mise's registry on every
279
- platform; enabling them prints a validation warning suggesting a
280
- `custom_tools` fallback entry instead.
283
+ One tool (`tokei`) isn't in mise's registry on every platform; enabling it
284
+ prints a validation warning suggesting a `custom_tools` fallback entry
285
+ instead.
281
286
 
282
287
  ## Custom tools
283
288
 
@@ -328,11 +333,11 @@ allow_external_requests = false
328
333
  and warning if `allow_hooks` isn't explicitly `true`, since Superpowers
329
334
  registers a `SessionStart` hook), and `agentenv status` reports an
330
335
  **Integrations** section with enabled/disabled, source, ref, scope, and each
331
- agent's installed/missing/unsupported/drifted state. `agentenv configure`
332
- (Advanced mode) also offers this as an explicit opt-in step, showing the
333
- full source/ref/scope/agents/hooks/external-request summary before
334
- installing anything. `agentenv setup` (Simple mode) never enables it and
335
- always preserves whatever is already configured.
336
+ agent's installed/missing/unsupported/drifted state. The `setup` wizard
337
+ offers this as an explicit opt-in step (Step 6), showing the full
338
+ source/ref/scope/agents/hooks/external-request summary before installing
339
+ anything. Outside the wizard, `apply`/`status` always preserve whatever is
340
+ already configured.
336
341
 
337
342
  `agentenv` also never touches GitHub credentials: `agentenv status` reports
338
343
  `gh` authentication (authenticated/unauthenticated/unknown) via a read-only
@@ -341,9 +346,9 @@ always preserves whatever is already configured.
341
346
 
342
347
  ## Troubleshooting
343
348
 
344
- - **`agentenv setup`/`configure` exits immediately saying it's
345
- interactive** — you're running it in a non-TTY context (CI, a piped
346
- script). Use `agentenv apply` against a config file instead.
349
+ - **`agentenv setup` exits immediately saying it's interactive** — you're
350
+ running it in a non-TTY context (CI, a piped script). Use `agentenv apply`
351
+ against a config file instead (or unattended `agentenv setup --yes`).
347
352
  - **A tool shows as enabled in `agentenv status` but not found on PATH** —
348
353
  run `agentenv apply` (it calls `mise install`), or check that mise itself
349
354
  is installed and on PATH. `--skip-mise-install` intentionally leaves tools
@@ -369,6 +374,8 @@ npm run build # tsc -> dist/
369
374
  npm test # build + node:test suites
370
375
  npm run lint # eslint --max-warnings 0
371
376
  npm run format:check
377
+ npm run smoke # stub mode — deterministic, no real mise/rtk
378
+ npm run smoke:real # real mise + rtk; installs the full tool catalog, verifies every binary, and exercises the install→uninstall roundtrip (destructive on dev machines: the uninstall step removes every installed version of each catalog tool, including ones you already had)
372
379
  ```
373
380
 
374
381
  See [`docs/guides/adding-an-adapter.md`](../../docs/guides/adding-an-adapter.md)
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Cursor Adapter — delegates to `rtk init --agent cursor`.
2
+ * Cursor Adapter — delegates to `rtk init -g --agent cursor`.
3
3
  */
4
4
  import { RtkDelegationAdapter } from './rtk-delegation.js';
5
5
  import type { AdapterConfig } from './base.js';
@@ -1 +1 @@
1
- {"version":3,"file":"cursor.d.ts","sourceRoot":"","sources":["../../src/adapters/cursor.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAG/C,qBAAa,aAAc,SAAQ,oBAAoB;gBACzC,MAAM,EAAE,aAAa;CAUlC"}
1
+ {"version":3,"file":"cursor.d.ts","sourceRoot":"","sources":["../../src/adapters/cursor.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAG/C,qBAAa,aAAc,SAAQ,oBAAoB;gBACzC,MAAM,EAAE,aAAa;CAclC"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Cursor Adapter — delegates to `rtk init --agent cursor`.
2
+ * Cursor Adapter — delegates to `rtk init -g --agent cursor`.
3
3
  */
4
4
  import * as path from 'path';
5
5
  import { RtkDelegationAdapter } from './rtk-delegation.js';
@@ -13,6 +13,10 @@ export class CursorAdapter extends RtkDelegationAdapter {
13
13
  rtkFlags: RTK_INIT_FLAGS.cursor,
14
14
  configDir: path.join(home, '.cursor'),
15
15
  expectedFile: 'RTK.md',
16
+ // Cursor's global rtk delegation shares Claude Code's RTK.md anchor in
17
+ // ~/.claude; on Windows rtk fails outright (rather than creating the
18
+ // dir) if it isn't already there — see docs/research/rtk-init-behavior.md.
19
+ extraGlobalDirs: [path.join(home, '.claude')],
16
20
  });
17
21
  }
18
22
  }
@@ -1 +1 @@
1
- {"version":3,"file":"cursor.js","sourceRoot":"","sources":["../../src/adapters/cursor.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAE3D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,MAAM,OAAO,aAAc,SAAQ,oBAAoB;IACrD,YAAY,MAAqB;QAC/B,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC;QAC/D,KAAK,CAAC,MAAM,EAAE;YACZ,QAAQ,EAAE,QAAQ;YAClB,KAAK,EAAE,QAAQ;YACf,QAAQ,EAAE,cAAc,CAAC,MAAM;YAC/B,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC;YACrC,YAAY,EAAE,QAAQ;SACvB,CAAC,CAAC;IACL,CAAC;CACF"}
1
+ {"version":3,"file":"cursor.js","sourceRoot":"","sources":["../../src/adapters/cursor.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAE3D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,MAAM,OAAO,aAAc,SAAQ,oBAAoB;IACrD,YAAY,MAAqB;QAC/B,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC;QAC/D,KAAK,CAAC,MAAM,EAAE;YACZ,QAAQ,EAAE,QAAQ;YAClB,KAAK,EAAE,QAAQ;YACf,QAAQ,EAAE,cAAc,CAAC,MAAM;YAC/B,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC;YACrC,YAAY,EAAE,QAAQ;YACtB,uEAAuE;YACvE,qEAAqE;YACrE,2EAA2E;YAC3E,eAAe,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;SAC9C,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Gemini CLI Adapter — delegates to `rtk init --gemini`.
2
+ * Gemini CLI Adapter — delegates to `rtk init -g --gemini`.
3
3
  */
4
4
  import { RtkDelegationAdapter } from './rtk-delegation.js';
5
5
  import type { AdapterConfig } from './base.js';
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Gemini CLI Adapter — delegates to `rtk init --gemini`.
2
+ * Gemini CLI Adapter — delegates to `rtk init -g --gemini`.
3
3
  */
4
4
  import * as path from 'path';
5
5
  import { RtkDelegationAdapter } from './rtk-delegation.js';
@@ -14,6 +14,13 @@ export interface RtkDelegationOptions {
14
14
  configDir: string;
15
15
  /** Basename (within baseDir) whose appearance marks a successful `rtk init`. */
16
16
  expectedFile: string;
17
+ /**
18
+ * Directories a global `rtk init` delegation writes into besides `configDir`
19
+ * (e.g. Cursor's `-g` install writes the shared RTK.md anchor into Claude
20
+ * Code's `~/.claude`, and on Windows `rtk` errors instead of creating that
21
+ * directory itself if it isn't already there — see FEAT-06 follow-up).
22
+ */
23
+ extraGlobalDirs?: string[];
17
24
  }
18
25
  export declare class RtkDelegationAdapter extends BaseAdapter {
19
26
  private opts;
@@ -1 +1 @@
1
- {"version":3,"file":"rtk-delegation.d.ts","sourceRoot":"","sources":["../../src/adapters/rtk-delegation.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,EAAE,WAAW,EAAE,KAAK,aAAa,EAAE,KAAK,aAAa,EAAE,MAAM,WAAW,CAAC;AAEhF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAGpD,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,QAAQ,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,gFAAgF;IAChF,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,qBAAa,oBAAqB,SAAQ,WAAW;IACnD,OAAO,CAAC,IAAI,CAAuB;gBAEvB,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,oBAAoB;IAK7D,OAAO,IAAI,MAAM;IAIjB,YAAY,IAAI,MAAM;IAItB,WAAW,IAAI,OAAO;IAIhB,UAAU,IAAI,OAAO,CAAC,aAAa,CAAC;IA2CpC,cAAc,IAAI,OAAO,CAAC,aAAa,CAAC;IA4BxC,OAAO,IAAI,OAAO,CAAC,aAAa,CAAC;CASxC"}
1
+ {"version":3,"file":"rtk-delegation.d.ts","sourceRoot":"","sources":["../../src/adapters/rtk-delegation.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,EAAE,WAAW,EAAE,KAAK,aAAa,EAAE,KAAK,aAAa,EAAE,MAAM,WAAW,CAAC;AAEhF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAGpD,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,QAAQ,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,gFAAgF;IAChF,YAAY,EAAE,MAAM,CAAC;IACrB;;;;;OAKG;IACH,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED,qBAAa,oBAAqB,SAAQ,WAAW;IACnD,OAAO,CAAC,IAAI,CAAuB;gBAEvB,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,oBAAoB;IAK7D,OAAO,IAAI,MAAM;IAIjB,YAAY,IAAI,MAAM;IAItB,WAAW,IAAI,OAAO;IAIhB,UAAU,IAAI,OAAO,CAAC,aAAa,CAAC;IA6CpC,cAAc,IAAI,OAAO,CAAC,aAAa,CAAC;IA4BxC,OAAO,IAAI,OAAO,CAAC,aAAa,CAAC;CASxC"}
@@ -37,9 +37,11 @@ export class RtkDelegationAdapter extends BaseAdapter {
37
37
  return result;
38
38
  }
39
39
  try {
40
- if (!fs.existsSync(this.opts.configDir)) {
41
- fs.mkdirSync(this.opts.configDir, { recursive: true });
42
- result.filesCreated.push(this.opts.configDir);
40
+ for (const dir of [this.opts.configDir, ...(this.opts.extraGlobalDirs ?? [])]) {
41
+ if (!fs.existsSync(dir)) {
42
+ fs.mkdirSync(dir, { recursive: true });
43
+ result.filesCreated.push(dir);
44
+ }
43
45
  }
44
46
  }
45
47
  catch (err) {
@@ -1 +1 @@
1
- {"version":3,"file":"rtk-delegation.js","sourceRoot":"","sources":["../../src/adapters/rtk-delegation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rtk-delegation.js","sourceRoot":"","sources":["../../src/adapters/rtk-delegation.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Mistral Vibe Adapter — delegates to `rtk init --agent vibe`.
2
+ * Mistral Vibe Adapter — delegates to `rtk init -g --agent vibe`.
3
3
  */
4
4
  import { RtkDelegationAdapter } from './rtk-delegation.js';
5
5
  import type { AdapterConfig } from './base.js';
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Mistral Vibe Adapter — delegates to `rtk init --agent vibe`.
2
+ * Mistral Vibe Adapter — delegates to `rtk init -g --agent vibe`.
3
3
  */
4
4
  import * as path from 'path';
5
5
  import { RtkDelegationAdapter } from './rtk-delegation.js';
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Windsurf Adapter — delegates to `rtk init --agent windsurf`.
2
+ * Windsurf Adapter — delegates to `rtk init -g --agent windsurf`.
3
3
  */
4
4
  import { RtkDelegationAdapter } from './rtk-delegation.js';
5
5
  import type { AdapterConfig } from './base.js';
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Windsurf Adapter — delegates to `rtk init --agent windsurf`.
2
+ * Windsurf Adapter — delegates to `rtk init -g --agent windsurf`.
3
3
  */
4
4
  import * as path from 'path';
5
5
  import { RtkDelegationAdapter } from './rtk-delegation.js';
@@ -0,0 +1,19 @@
1
+ import type { Command, CommanderError } from 'commander';
2
+ /**
3
+ * Usage errors (unknown option/command, missing required argument, bad value)
4
+ * must exit 2; help/version are successful informational exits (0).
5
+ */
6
+ export declare function exitCodeForCommanderError(error: CommanderError): 0 | 2;
7
+ /**
8
+ * Install the usage-error exit-code contract on a program and every registered
9
+ * or future subcommand. MUST be called *after* `addCommand` for the program's
10
+ * own override, and it subscribes to commander's `command:add` so any command
11
+ * registered later (e.g. by an extension or a future release) inherits the
12
+ * same contract instead of silently falling back to `process.exit(1)`. The
13
+ * callback MUST rethrow: commander's `error()` calls `process.exit(1)`
14
+ * immediately after the override returns normally, which would clobber the
15
+ * mapped code. Rethrowing lets `parseAsync()`'s rejection carry the error out
16
+ * to the entrypoint, which then honors the already-set `process.exitCode`.
17
+ */
18
+ export declare function installExitOverride(program: Command): void;
19
+ //# sourceMappingURL=exit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exit.d.ts","sourceRoot":"","sources":["../../src/cli/exit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAEzD;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,cAAc,GAAG,CAAC,GAAG,CAAC,CAStE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAQ1D"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Usage errors (unknown option/command, missing required argument, bad value)
3
+ * must exit 2; help/version are successful informational exits (0).
4
+ */
5
+ export function exitCodeForCommanderError(error) {
6
+ switch (error.code) {
7
+ case 'commander.helpDisplayed':
8
+ case 'commander.help':
9
+ case 'commander.version':
10
+ return 0;
11
+ default:
12
+ return 2;
13
+ }
14
+ }
15
+ /**
16
+ * Install the usage-error exit-code contract on a program and every registered
17
+ * or future subcommand. MUST be called *after* `addCommand` for the program's
18
+ * own override, and it subscribes to commander's `command:add` so any command
19
+ * registered later (e.g. by an extension or a future release) inherits the
20
+ * same contract instead of silently falling back to `process.exit(1)`. The
21
+ * callback MUST rethrow: commander's `error()` calls `process.exit(1)`
22
+ * immediately after the override returns normally, which would clobber the
23
+ * mapped code. Rethrowing lets `parseAsync()`'s rejection carry the error out
24
+ * to the entrypoint, which then honors the already-set `process.exitCode`.
25
+ */
26
+ export function installExitOverride(program) {
27
+ const override = (error) => {
28
+ process.exitCode = exitCodeForCommanderError(error);
29
+ throw error;
30
+ };
31
+ program.exitOverride(override);
32
+ program.on('command:add', (command) => command.exitOverride(override));
33
+ for (const command of program.commands)
34
+ command.exitOverride(override);
35
+ }
36
+ //# sourceMappingURL=exit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exit.js","sourceRoot":"","sources":["../../src/cli/exit.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,UAAU,yBAAyB,CAAC,KAAqB;IAC7D,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,yBAAyB,CAAC;QAC/B,KAAK,gBAAgB,CAAC;QACtB,KAAK,mBAAmB;YACtB,OAAO,CAAC,CAAC;QACX;YACE,OAAO,CAAC,CAAC;IACb,CAAC;AACH,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAAgB;IAClD,MAAM,QAAQ,GAAG,CAAC,KAAqB,EAAQ,EAAE;QAC/C,OAAO,CAAC,QAAQ,GAAG,yBAAyB,CAAC,KAAK,CAAC,CAAC;QACpD,MAAM,KAAK,CAAC;IACd,CAAC,CAAC;IACF,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IAC/B,OAAO,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC,OAAgB,EAAE,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;IAChF,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,QAAQ;QAAE,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;AACzE,CAAC"}
@@ -14,8 +14,8 @@ export interface ApplyOptions {
14
14
  */
15
15
  skipMiseInstall?: boolean;
16
16
  /**
17
- * Skip pushing the "Prerequisite: mise X" line. `setup`/`configure` pass
18
- * this so the line is printed exactly once per run (their own prereq check
17
+ * Skip pushing the "Prerequisite: mise X" line. `setup` passes
18
+ * this so the line is printed exactly once per run (its own prereq check
19
19
  * already printed it).
20
20
  */
21
21
  skipPrereqMessage?: boolean;
@@ -23,6 +23,17 @@ export interface ApplyOptions {
23
23
  rtkInit?: RtkInitFn;
24
24
  /** Injectable Superpowers adapter dependencies (tests pass a claude stub). */
25
25
  superpowersDeps?: SuperpowersAdapterDeps;
26
+ /**
27
+ * Optional hooks around the (slow, tens-of-seconds) mise install step, so
28
+ * the CLI layer can show mise's own progress live instead of only seeing
29
+ * it once applyConfiguration resolves. Left unset by every test, so
30
+ * applyConfiguration stays presentation-free by default.
31
+ */
32
+ onMiseInstall?: {
33
+ onStart?: () => void;
34
+ onOutput?: (chunk: string, stream: 'stdout' | 'stderr') => void;
35
+ onEnd?: () => void;
36
+ };
26
37
  }
27
38
  /** Apply a validated configuration and return structured results for the CLI. */
28
39
  export declare function applyConfiguration(config: AgentenvConfig, baseDir: string, options?: ApplyOptions): Promise<ApplyResult>;
@@ -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;AAiBpC,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;AAsBrD,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;CAC1C;AAmCD,iFAAiF;AACjF,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC,WAAW,CAAC,CAsGtB;AAED,eAAO,MAAM,YAAY,SA+BrB,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;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"}
@@ -3,12 +3,15 @@ import * as path from 'path';
3
3
  import { ClaudeCodeAdapter, CodexCliAdapter, CopilotAdapter, OpenCodeAdapter, GeminiCliAdapter, CursorAdapter, WindsurfAdapter, ClineAdapter, VibeAdapter, } from '../adapters/index.js';
4
4
  import { getEnabledAgents, loadConfig, validateConfig } from '../config/schema.js';
5
5
  import { resolveScopeDir } from '../config/scopes.js';
6
+ import { configFilePath, findConfigPath } from '../config/scopes.js';
6
7
  import { SuperpowersAdapter, integrationResultLines } from '../integrations/index.js';
7
8
  import { generateInstructionFiles, updateWithMarkers } from '../generate/agentsmd.js';
8
9
  import { fixShellConfiguration } from '../shell/detector.js';
9
- import { ensureGlobalShimsDir, eulaPreflightHint, generateMiseToml, isMiseInstalled, miseActivationHint, miseInstallInstructions, miseInstallOutcome, prereqMessage, runMiseInstall, saveMiseToml, toolAvailabilityLine, trustMiseToml, verifyHintNeeded, verifySummaryLine, verifyToolAvailability, } from '../toolchain/mise.js';
10
+ import { isUnsupportedRtkAgentError } from '../toolchain/rtk.js';
11
+ import { ensureGlobalShimsDir, eulaPreflightHint, generateMiseToml, isMiseInstalled, miseActivationHint, miseInstallInstructions, miseInstallOutcome, platformUnsupportedHint, prereqMessage, runMiseInstall, saveMiseToml, toolAvailabilityLine, trustMiseToml, verifyHintNeeded, verifySummaryLine, verifyToolAvailability, } from '../toolchain/mise.js';
10
12
  import { normalizeOutput } from '../utils/output.js';
11
13
  import { colorizeLine, theme } from '../ui/theme.js';
14
+ import { renderLogo, resolveResultLine } from '../ui/output.js';
12
15
  import { withSpinner } from '../ui/spinner.js';
13
16
  function adaptersFor(config, baseDir, options) {
14
17
  const adapterConfig = {
@@ -81,6 +84,9 @@ export async function applyConfiguration(config, baseDir, options = {}) {
81
84
  try {
82
85
  saveMiseToml(generateMiseToml(config, config.custom_tools ?? []), misePath);
83
86
  messages.push(`Tools: wrote ${misePath} (${enabledToolCount} enabled)`);
87
+ const platformSkip = platformUnsupportedHint(config);
88
+ if (platformSkip)
89
+ messages.push(platformSkip);
84
90
  }
85
91
  catch (error) {
86
92
  errors.push(`Unable to write ${misePath}: ${error instanceof Error ? error.message : String(error)}`);
@@ -94,7 +100,9 @@ export async function applyConfiguration(config, baseDir, options = {}) {
94
100
  const eulaAhead = eulaPreflightHint(config);
95
101
  if (eulaAhead)
96
102
  messages.push(eulaAhead);
97
- const install = await runMiseInstall(misePath, baseDir);
103
+ options.onMiseInstall?.onStart?.();
104
+ const install = await runMiseInstall(misePath, baseDir, options.onMiseInstall?.onOutput);
105
+ options.onMiseInstall?.onEnd?.();
98
106
  if (install.success) {
99
107
  messages.push(miseInstallOutcome(install.stdout));
100
108
  if (install.eulaHint)
@@ -127,10 +135,19 @@ export async function applyConfiguration(config, baseDir, options = {}) {
127
135
  // Step 5 - per-agent wiring.
128
136
  for (const adapter of adaptersFor(config, baseDir, options)) {
129
137
  const result = await adapter.initialize();
130
- if (result.success)
138
+ if (result.success) {
131
139
  messages.push(`${adapter.getName()}: ${result.message}`);
132
- else
140
+ }
141
+ else if (adapter instanceof VibeAdapter &&
142
+ isUnsupportedRtkAgentError(result.errors, 'vibe')) {
143
+ // Known upstream gap: the pinned rtk build's --agent enum doesn't
144
+ // include "vibe" yet. Warn instead of failing the whole apply — this
145
+ // one delegated agent just doesn't get rtk hooks configured.
146
+ messages.push(`${adapter.getName()}: skipped — rtk does not yet support "vibe" as an --agent value; rtk delegation for Mistral Vibe is not configured until a newer rtk release adds it.`);
147
+ }
148
+ else {
133
149
  errors.push(`${adapter.getName()}: ${result.errors.join('; ') || result.message}`);
150
+ }
134
151
  }
135
152
  // Step 6 - optional upstream integrations (Superpowers).
136
153
  for (const adapter of enabledIntegrations(config, options)) {
@@ -146,7 +163,10 @@ export const applyCommand = new Command()
146
163
  .name('apply')
147
164
  .description('Non-interactive: read config and generate everything')
148
165
  .option('--skip-mise-install', 'skip mise install (files only; for CI/dry-run)')
166
+ .option('--dry-run', 'show what would be written without changing anything')
149
167
  .action(async (options) => {
168
+ renderLogo();
169
+ const dryRun = options.dryRun === true;
150
170
  let config;
151
171
  try {
152
172
  config = loadConfig();
@@ -156,24 +176,51 @@ export const applyCommand = new Command()
156
176
  process.exitCode = 1;
157
177
  return;
158
178
  }
179
+ const configPath = findConfigPath() ?? configFilePath(config.scope ?? 'project');
180
+ console.log(`Config: ${configPath}`);
159
181
  const report = validateConfig(config);
160
182
  for (const warning of report.warnings)
161
183
  console.log(theme.warn(`warning: ${warning}`));
162
184
  if (report.errors.length > 0) {
163
185
  for (const error of report.errors)
164
186
  console.error(theme.fail(`error: ${error}`));
187
+ console.error(theme.fail('Configuration invalid — not applying.'));
165
188
  process.exitCode = 1;
166
189
  return;
167
190
  }
168
191
  const baseDir = resolveScopeDir(config.scope);
169
- const result = await withSpinner('Applying configuration...', () => applyConfiguration(config, baseDir, {
192
+ if (dryRun) {
193
+ const enabledToolCount = Object.values(config.tools ?? {}).filter((on) => on === true).length;
194
+ const files = generateInstructionFiles(config, baseDir);
195
+ const agents = [...getEnabledAgents(config)];
196
+ const integrations = enabledIntegrations(config, options);
197
+ console.log(` Tools: ${enabledToolCount} enabled -> ${path.join(baseDir, 'mise.toml')}`);
198
+ console.log(` Generated files: ${files.map((file) => file.path).join(', ') || '(none)'}`);
199
+ console.log(` Agents: ${agents.join(', ') || '(none)'}${config.rtk?.enabled === true ? ' (rtk rewriting on)' : ''}`);
200
+ 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
+ return;
203
+ }
204
+ const result = await withSpinner('Applying configuration...', (spinner) => applyConfiguration(config, baseDir, {
170
205
  skipMiseInstall: options.skipMiseInstall === true,
206
+ onMiseInstall: {
207
+ onStart: () => {
208
+ spinner.stop();
209
+ console.log(colorizeLine('Installing tools via mise...'));
210
+ },
211
+ onOutput: (chunk) => process.stdout.write(chunk),
212
+ onEnd: () => spinner.start(),
213
+ },
171
214
  }));
172
215
  for (const message of result.messages)
173
216
  console.log(colorizeLine(message));
174
217
  for (const error of result.errors)
175
218
  console.error(theme.fail(error));
176
- if (!result.success)
219
+ if (!result.success) {
177
220
  process.exitCode = 1;
221
+ console.log(`\n${resolveResultLine({ severity: 'fail', headline: 'Apply failed', summary: 'fix the errors above and re-run `agentenv apply`' })}\n`);
222
+ return;
223
+ }
224
+ console.log(`\n${resolveResultLine({ severity: 'ok', headline: 'Apply complete!', summary: 'everything is configured and verified' })}\n`);
178
225
  });
179
226
  //# 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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"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Shell completion generation (`agentenv completion <shell>`), matching the
3
+ * `mise completion <shell>` / `gh completion` precedent. The model is built by
4
+ * introspecting the live Commander tree rather than a hand-maintained copy, so
5
+ * a new command/flag shows up in the generated scripts automatically; a test
6
+ * asserts the generated scripts cover every registered command and flag.
7
+ */
8
+ import { Command } from 'commander';
9
+ export declare const COMPLETION_SHELLS: readonly ["bash", "zsh", "fish", "powershell"];
10
+ export type CompletionShell = (typeof COMPLETION_SHELLS)[number];
11
+ export interface CompletionCommandModel {
12
+ name: string;
13
+ aliases: string[];
14
+ description: string;
15
+ /** Command flags plus the program-level globals (always suggested). */
16
+ flags: string[];
17
+ }
18
+ export interface CompletionModel {
19
+ program: string;
20
+ globalFlags: string[];
21
+ commands: CompletionCommandModel[];
22
+ }
23
+ export declare function buildCompletionModel(root: Command): CompletionModel;
24
+ export declare function generateBash(model: CompletionModel): string;
25
+ export declare function generateZsh(model: CompletionModel): string;
26
+ export declare function generateFish(model: CompletionModel): string;
27
+ export declare function generatePowerShell(model: CompletionModel): string;
28
+ export declare function generateCompletion(shell: CompletionShell, model: CompletionModel): string;
29
+ export declare const completionCommand: Command;
30
+ //# sourceMappingURL=completion.d.ts.map