@indy2kro/agentenv 0.2.0 → 0.2.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 (88) hide show
  1. package/README.md +57 -11
  2. package/dist/adapters/cline.d.ts +9 -0
  3. package/dist/adapters/cline.d.ts.map +1 -0
  4. package/dist/adapters/cline.js +19 -0
  5. package/dist/adapters/cline.js.map +1 -0
  6. package/dist/adapters/cursor.d.ts +9 -0
  7. package/dist/adapters/cursor.d.ts.map +1 -0
  8. package/dist/adapters/cursor.js +19 -0
  9. package/dist/adapters/cursor.js.map +1 -0
  10. package/dist/adapters/detect.d.ts +1 -1
  11. package/dist/adapters/detect.d.ts.map +1 -1
  12. package/dist/adapters/detect.js +6 -1
  13. package/dist/adapters/detect.js.map +1 -1
  14. package/dist/adapters/gemini.d.ts +9 -0
  15. package/dist/adapters/gemini.d.ts.map +1 -0
  16. package/dist/adapters/gemini.js +19 -0
  17. package/dist/adapters/gemini.js.map +1 -0
  18. package/dist/adapters/index.d.ts +6 -0
  19. package/dist/adapters/index.d.ts.map +1 -1
  20. package/dist/adapters/index.js +6 -0
  21. package/dist/adapters/index.js.map +1 -1
  22. package/dist/adapters/rtk-delegation.d.ts +28 -0
  23. package/dist/adapters/rtk-delegation.d.ts.map +1 -0
  24. package/dist/adapters/rtk-delegation.js +102 -0
  25. package/dist/adapters/rtk-delegation.js.map +1 -0
  26. package/dist/adapters/vibe.d.ts +9 -0
  27. package/dist/adapters/vibe.d.ts.map +1 -0
  28. package/dist/adapters/vibe.js +19 -0
  29. package/dist/adapters/vibe.js.map +1 -0
  30. package/dist/adapters/windsurf.d.ts +9 -0
  31. package/dist/adapters/windsurf.d.ts.map +1 -0
  32. package/dist/adapters/windsurf.js +19 -0
  33. package/dist/adapters/windsurf.js.map +1 -0
  34. package/dist/commands/apply.d.ts +6 -0
  35. package/dist/commands/apply.d.ts.map +1 -1
  36. package/dist/commands/apply.js +31 -14
  37. package/dist/commands/apply.js.map +1 -1
  38. package/dist/commands/configure.d.ts.map +1 -1
  39. package/dist/commands/configure.js +5 -3
  40. package/dist/commands/configure.js.map +1 -1
  41. package/dist/commands/setup.d.ts +39 -0
  42. package/dist/commands/setup.d.ts.map +1 -1
  43. package/dist/commands/setup.js +19 -9
  44. package/dist/commands/setup.js.map +1 -1
  45. package/dist/commands/status.d.ts +6 -0
  46. package/dist/commands/status.d.ts.map +1 -1
  47. package/dist/commands/status.js +6 -0
  48. package/dist/commands/status.js.map +1 -1
  49. package/dist/commands/update.d.ts.map +1 -1
  50. package/dist/commands/update.js +67 -9
  51. package/dist/commands/update.js.map +1 -1
  52. package/dist/config/schema.d.ts +26 -2
  53. package/dist/config/schema.d.ts.map +1 -1
  54. package/dist/config/schema.js +142 -43
  55. package/dist/config/schema.js.map +1 -1
  56. package/dist/generate/agentsmd.d.ts.map +1 -1
  57. package/dist/generate/agentsmd.js +15 -4
  58. package/dist/generate/agentsmd.js.map +1 -1
  59. package/dist/integrations/superpowers.d.ts.map +1 -1
  60. package/dist/integrations/superpowers.js +3 -1
  61. package/dist/integrations/superpowers.js.map +1 -1
  62. package/dist/shell/detector.d.ts +1 -1
  63. package/dist/shell/detector.d.ts.map +1 -1
  64. package/dist/shell/detector.js +61 -20
  65. package/dist/shell/detector.js.map +1 -1
  66. package/dist/toolchain/fallbacks.d.ts.map +1 -1
  67. package/dist/toolchain/fallbacks.js +8 -3
  68. package/dist/toolchain/fallbacks.js.map +1 -1
  69. package/dist/toolchain/mise.d.ts +106 -6
  70. package/dist/toolchain/mise.d.ts.map +1 -1
  71. package/dist/toolchain/mise.js +248 -89
  72. package/dist/toolchain/mise.js.map +1 -1
  73. package/dist/toolchain/rtk.d.ts.map +1 -1
  74. package/dist/toolchain/rtk.js +6 -0
  75. package/dist/toolchain/rtk.js.map +1 -1
  76. package/dist/utils/fs-retry.d.ts +46 -0
  77. package/dist/utils/fs-retry.d.ts.map +1 -0
  78. package/dist/utils/fs-retry.js +94 -0
  79. package/dist/utils/fs-retry.js.map +1 -0
  80. package/dist/utils/output.d.ts +16 -0
  81. package/dist/utils/output.d.ts.map +1 -0
  82. package/dist/utils/output.js +20 -0
  83. package/dist/utils/output.js.map +1 -0
  84. package/dist/wizard/build.d.ts +16 -2
  85. package/dist/wizard/build.d.ts.map +1 -1
  86. package/dist/wizard/build.js +47 -11
  87. package/dist/wizard/build.js.map +1 -1
  88. package/package.json +1 -1
package/README.md CHANGED
@@ -10,8 +10,10 @@
10
10
  instructions). It never re-implements any dev tool — it just drives mise/rtk
11
11
  and writes config files for you.
12
12
 
13
- It targets four AI coding agents: **Claude Code**, **OpenAI Codex CLI**,
14
- **GitHub Copilot** (CLI/Chat), and **OpenCode**.
13
+ It supports nine AI coding agents: **Claude Code**, **OpenAI Codex CLI**,
14
+ **GitHub Copilot** (CLI/Chat), **OpenCode**, **Gemini CLI**, **Cursor**,
15
+ **Windsurf**, **Cline CLI**, and **Mistral Vibe**. Claude Code and Codex CLI
16
+ are enabled by default; the remaining agents are opt-in.
15
17
 
16
18
  > **📦 Published as `@indy2kro/agentenv`.** The npm package name is scoped
17
19
  > (`agentenv` was already taken) — install with
@@ -39,7 +41,7 @@ on PATH, or watched every agent redo the same hook-wiring dance for a
39
41
  different config file format, that's what this fixes:
40
42
 
41
43
  - **One command** (`agentenv setup`) gets a fresh machine — Windows included
42
- — to a working state for whichever of the four agents you have installed.
44
+ — to a working state for whichever supported agents you have installed.
43
45
  - **A single source of truth** (`agentenv.toml`) drives everything else:
44
46
  `mise.toml`, `AGENTS.md`/`CLAUDE.md`, and each agent's own hook files are
45
47
  all generated from it, never hand-maintained.
@@ -58,7 +60,7 @@ different config file format, that's what this fixes:
58
60
  anything.
59
61
  - **Git for Windows**, if you're on Windows — agentenv's Tier 0 shell fix
60
62
  relies on the POSIX toolchain it bundles.
61
- - Optionally, whichever of the four agents you want configured already
63
+ - Optionally, whichever supported agents you want configured already
62
64
  installed (agentenv detects what's present; it doesn't install the agents
63
65
  themselves).
64
66
 
@@ -104,7 +106,7 @@ Maintainers: see [`docs/guides/releasing.md`](../../docs/guides/releasing.md).
104
106
  agentenv setup
105
107
  ```
106
108
 
107
- This is Simple mode: it auto-detects which of the four agents are installed,
109
+ This is Simple mode: it auto-detects which supported agents are installed,
108
110
  offers the default tool set (Tier 1 always, Tier 2 unless you decline),
109
111
  writes `agentenv.toml`, and wires everything up in one pass — including the
110
112
  Windows shell fix if you're on Windows. Answer three prompts (agents, Tier 2
@@ -161,6 +163,11 @@ claude_code = true
161
163
  codex_cli = true
162
164
  copilot = true
163
165
  opencode = true
166
+ gemini_cli = false
167
+ cursor = false
168
+ windsurf = false
169
+ cline = false
170
+ vibe = false
164
171
 
165
172
  [tools]
166
173
  # Tier 1 (essential, on by default)
@@ -174,9 +181,30 @@ git_delta = true
174
181
  gh = true
175
182
  difftastic = true
176
183
  # Tier 3 (power-user, off by default) — see the Tool catalog below for the full list
177
- yq = false
178
- bat = false
179
- # ...
184
+ yq = false
185
+ bat = false
186
+ eza = false
187
+ miller = false
188
+ tokei = false
189
+ hyperfine = false
190
+ fzf = false
191
+ just = false
192
+ watchexec = false
193
+ direnv = false
194
+ ripgrep_all = false
195
+ zoxide = false
196
+ shellcheck = false
197
+ uv = false
198
+ xh = false
199
+ actionlint = false
200
+ gitleaks = false
201
+ gum = false
202
+ glow = false
203
+ jless = false
204
+ sd = false
205
+ tealdeer = false
206
+ duckdb = false
207
+ qsv = false
180
208
 
181
209
  # Your own tool, already installed somewhere on the machine
182
210
  [[custom_tools]]
@@ -220,13 +248,31 @@ default. Run `agentenv configure` if you'd rather build this file
220
248
  interactively than hand-write it; the review screen at the end shows you the
221
249
  exact diff before anything is written.
222
250
 
251
+ ## Supported agents
252
+
253
+ | Agent | Config key | Default |
254
+ |---|---|---|
255
+ | Claude Code | `claude_code` | on |
256
+ | OpenAI Codex CLI | `codex_cli` | on |
257
+ | GitHub Copilot | `copilot` | off |
258
+ | OpenCode | `opencode` | off |
259
+ | Gemini CLI | `gemini_cli` | off |
260
+ | Cursor | `cursor` | off |
261
+ | Windsurf | `windsurf` | off |
262
+ | Cline CLI | `cline` | off |
263
+ | Mistral Vibe | `vibe` | off |
264
+
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.
268
+
223
269
  ## Tool catalog
224
270
 
225
271
  | Tier | Tools | Default |
226
272
  |---|---|---|
227
273
  | **1 — essential** | `ripgrep` (rg), `fd`, `jq`, `rtk` | always on |
228
- | **2 — AI-coding value-add** | `ast_grep` (sg), `git_delta` (delta), `gh`, `difftastic` (difft) | on (Simple mode asks once) |
229
- | **3 — power-user** | `universal_ctags`, `yq`, `bat`, `eza`, `miller` (mlr), `tokei`, `hyperfine`, `fzf`, `just`, `watchexec`, `direnv` | off — pick individually via `agentenv configure` |
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` |
230
276
 
231
277
  All of Tiers 1–3 install through mise the same way — no separate mechanism.
232
278
  Two tools (`universal_ctags`, `tokei`) aren't in mise's registry on every
@@ -255,7 +301,7 @@ Agentenv can optionally install third-party skill/methodology integrations
255
301
  through their own documented native installers — never bundled, never
256
302
  forked. The first is [Superpowers](https://github.com/obra/superpowers).
257
303
  Superpowers itself now supports a long list of coding agents/harnesses, but
258
- of agentenv's four v1 targets, only Claude Code has a documented,
304
+ of agentenv's original four v1 targets, only Claude Code has a documented,
259
305
  non-interactive, ref-pinnable installer today
260
306
  (`claude plugin marketplace add` / `claude plugin install`). Copilot
261
307
  documents a command of the same shape but no way to pin a ref, and Codex
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Cline CLI Adapter — delegates to `rtk init --agent cline`.
3
+ */
4
+ import { RtkDelegationAdapter } from './rtk-delegation.js';
5
+ import type { AdapterConfig } from './base.js';
6
+ export declare class ClineAdapter extends RtkDelegationAdapter {
7
+ constructor(config: AdapterConfig);
8
+ }
9
+ //# sourceMappingURL=cline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cline.d.ts","sourceRoot":"","sources":["../../src/adapters/cline.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,YAAa,SAAQ,oBAAoB;gBACxC,MAAM,EAAE,aAAa;CAUlC"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Cline CLI Adapter — delegates to `rtk init --agent cline`.
3
+ */
4
+ import * as path from 'path';
5
+ import { RtkDelegationAdapter } from './rtk-delegation.js';
6
+ import { RTK_INIT_FLAGS } from '../toolchain/rtk.js';
7
+ export class ClineAdapter extends RtkDelegationAdapter {
8
+ constructor(config) {
9
+ const home = process.env.HOME || process.env.USERPROFILE || '';
10
+ super(config, {
11
+ agentKey: 'cline',
12
+ label: 'Cline CLI',
13
+ rtkFlags: RTK_INIT_FLAGS.cline,
14
+ configDir: path.join(home, '.cline'),
15
+ expectedFile: 'RTK.md',
16
+ });
17
+ }
18
+ }
19
+ //# sourceMappingURL=cline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cline.js","sourceRoot":"","sources":["../../src/adapters/cline.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,YAAa,SAAQ,oBAAoB;IACpD,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,OAAO;YACjB,KAAK,EAAE,WAAW;YAClB,QAAQ,EAAE,cAAc,CAAC,KAAK;YAC9B,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC;YACpC,YAAY,EAAE,QAAQ;SACvB,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Cursor Adapter — delegates to `rtk init --agent cursor`.
3
+ */
4
+ import { RtkDelegationAdapter } from './rtk-delegation.js';
5
+ import type { AdapterConfig } from './base.js';
6
+ export declare class CursorAdapter extends RtkDelegationAdapter {
7
+ constructor(config: AdapterConfig);
8
+ }
9
+ //# sourceMappingURL=cursor.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Cursor Adapter — delegates to `rtk init --agent cursor`.
3
+ */
4
+ import * as path from 'path';
5
+ import { RtkDelegationAdapter } from './rtk-delegation.js';
6
+ import { RTK_INIT_FLAGS } from '../toolchain/rtk.js';
7
+ export class CursorAdapter extends RtkDelegationAdapter {
8
+ constructor(config) {
9
+ const home = process.env.HOME || process.env.USERPROFILE || '';
10
+ super(config, {
11
+ agentKey: 'cursor',
12
+ label: 'Cursor',
13
+ rtkFlags: RTK_INIT_FLAGS.cursor,
14
+ configDir: path.join(home, '.cursor'),
15
+ expectedFile: 'RTK.md',
16
+ });
17
+ }
18
+ }
19
+ //# sourceMappingURL=cursor.js.map
@@ -0,0 +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,6 +1,6 @@
1
1
  /**
2
2
  * Agent Installation Detection
3
- * Determines which of the four v1 agents are installed, based on their CLI
3
+ * Determines which of the nine agents are installed, based on their CLI
4
4
  * binaries being resolvable on the machine (PATH lookup), which is what the
5
5
  * interactive wizard's pre-checked defaults depend on.
6
6
  */
@@ -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;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"}
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,CAUrD,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"}
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * Agent Installation Detection
3
- * Determines which of the four v1 agents are installed, based on their CLI
3
+ * Determines which of the nine agents are installed, based on their CLI
4
4
  * binaries being resolvable on the machine (PATH lookup), which is what the
5
5
  * interactive wizard's pre-checked defaults depend on.
6
6
  */
@@ -14,6 +14,11 @@ export const AGENT_COMMANDS = {
14
14
  codex_cli: ['codex'],
15
15
  copilot: ['gh'],
16
16
  opencode: ['opencode'],
17
+ gemini_cli: ['gemini'],
18
+ cursor: ['cursor'],
19
+ windsurf: ['windsurf'],
20
+ cline: ['cline'],
21
+ vibe: ['vibe'],
17
22
  };
18
23
  const defaultDetect = (command) => {
19
24
  if (command.includes('/') || command.includes('\\') || command.includes(' ')) {
@@ -1 +1 @@
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
+ {"version":3,"file":"detect.js","sourceRoot":"","sources":["../../src/adapters/detect.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Gemini CLI Adapter — delegates to `rtk init --gemini`.
3
+ */
4
+ import { RtkDelegationAdapter } from './rtk-delegation.js';
5
+ import type { AdapterConfig } from './base.js';
6
+ export declare class GeminiCliAdapter extends RtkDelegationAdapter {
7
+ constructor(config: AdapterConfig);
8
+ }
9
+ //# sourceMappingURL=gemini.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gemini.d.ts","sourceRoot":"","sources":["../../src/adapters/gemini.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,gBAAiB,SAAQ,oBAAoB;gBAC5C,MAAM,EAAE,aAAa;CAUlC"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Gemini CLI Adapter — delegates to `rtk init --gemini`.
3
+ */
4
+ import * as path from 'path';
5
+ import { RtkDelegationAdapter } from './rtk-delegation.js';
6
+ import { RTK_INIT_FLAGS } from '../toolchain/rtk.js';
7
+ export class GeminiCliAdapter extends RtkDelegationAdapter {
8
+ constructor(config) {
9
+ const home = process.env.HOME || process.env.USERPROFILE || '';
10
+ super(config, {
11
+ agentKey: 'gemini_cli',
12
+ label: 'Gemini CLI',
13
+ rtkFlags: RTK_INIT_FLAGS.gemini_cli,
14
+ configDir: path.join(home, '.gemini'),
15
+ expectedFile: 'RTK.md',
16
+ });
17
+ }
18
+ }
19
+ //# sourceMappingURL=gemini.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gemini.js","sourceRoot":"","sources":["../../src/adapters/gemini.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,gBAAiB,SAAQ,oBAAoB;IACxD,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,YAAY;YACtB,KAAK,EAAE,YAAY;YACnB,QAAQ,EAAE,cAAc,CAAC,UAAU;YACnC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC;YACrC,YAAY,EAAE,QAAQ;SACvB,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -9,4 +9,10 @@ export { ClaudeCodeAdapter } from './claude.js';
9
9
  export { CodexCliAdapter } from './codex.js';
10
10
  export { CopilotAdapter } from './copilot.js';
11
11
  export { OpenCodeAdapter } from './opencode.js';
12
+ export { GeminiCliAdapter } from './gemini.js';
13
+ export { CursorAdapter } from './cursor.js';
14
+ export { WindsurfAdapter } from './windsurf.js';
15
+ export { ClineAdapter } from './cline.js';
16
+ export { VibeAdapter } from './vibe.js';
17
+ export { RtkDelegationAdapter } from './rtk-delegation.js';
12
18
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/adapters/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAClF,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpE,YAAY,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/adapters/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAClF,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpE,YAAY,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC"}
@@ -8,4 +8,10 @@ export { ClaudeCodeAdapter } from './claude.js';
8
8
  export { CodexCliAdapter } from './codex.js';
9
9
  export { CopilotAdapter } from './copilot.js';
10
10
  export { OpenCodeAdapter } from './opencode.js';
11
+ export { GeminiCliAdapter } from './gemini.js';
12
+ export { CursorAdapter } from './cursor.js';
13
+ export { WindsurfAdapter } from './windsurf.js';
14
+ export { ClineAdapter } from './cline.js';
15
+ export { VibeAdapter } from './vibe.js';
16
+ export { RtkDelegationAdapter } from './rtk-delegation.js';
11
17
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/adapters/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAA4C,MAAM,WAAW,CAAC;AAClF,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/adapters/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAA4C,MAAM,WAAW,CAAC;AAClF,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Shared adapter for agents whose hook/config wiring is 100% delegated to
3
+ * `rtk init <flags>` (Gemini CLI, Cursor, Windsurf, Cline, Mistral Vibe).
4
+ * Mirrors the proven Codex delegation shape: rtk owns every hook file and
5
+ * RTK.md; this adapter only creates the agent's config dir, runs `rtk init`,
6
+ * and reports what appeared.
7
+ */
8
+ import { BaseAdapter, type AdapterConfig, type AdapterResult } from './base.js';
9
+ import type { AgentKey } from '../config/schema.js';
10
+ export interface RtkDelegationOptions {
11
+ agentKey: AgentKey;
12
+ label: string;
13
+ rtkFlags: string[];
14
+ configDir: string;
15
+ /** Basename (within baseDir) whose appearance marks a successful `rtk init`. */
16
+ expectedFile: string;
17
+ }
18
+ export declare class RtkDelegationAdapter extends BaseAdapter {
19
+ private opts;
20
+ constructor(config: AdapterConfig, opts: RtkDelegationOptions);
21
+ getName(): string;
22
+ getConfigDir(): string;
23
+ isInstalled(): boolean;
24
+ initialize(): Promise<AdapterResult>;
25
+ configureHooks(): Promise<AdapterResult>;
26
+ cleanup(): Promise<AdapterResult>;
27
+ }
28
+ //# sourceMappingURL=rtk-delegation.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,102 @@
1
+ /**
2
+ * Shared adapter for agents whose hook/config wiring is 100% delegated to
3
+ * `rtk init <flags>` (Gemini CLI, Cursor, Windsurf, Cline, Mistral Vibe).
4
+ * Mirrors the proven Codex delegation shape: rtk owns every hook file and
5
+ * RTK.md; this adapter only creates the agent's config dir, runs `rtk init`,
6
+ * and reports what appeared.
7
+ */
8
+ import * as fs from 'fs';
9
+ import * as path from 'path';
10
+ import { BaseAdapter } from './base.js';
11
+ import { isAgentInstalled } from './detect.js';
12
+ import { resolveRtkInit, rtkMessage } from '../toolchain/rtk.js';
13
+ export class RtkDelegationAdapter extends BaseAdapter {
14
+ constructor(config, opts) {
15
+ super(config);
16
+ this.opts = opts;
17
+ }
18
+ getName() {
19
+ return this.opts.label;
20
+ }
21
+ getConfigDir() {
22
+ return this.opts.configDir;
23
+ }
24
+ isInstalled() {
25
+ return isAgentInstalled(this.opts.agentKey);
26
+ }
27
+ async initialize() {
28
+ const result = {
29
+ success: true,
30
+ message: '',
31
+ filesCreated: [],
32
+ filesModified: [],
33
+ errors: [],
34
+ };
35
+ if (!this.config.enabled) {
36
+ result.message = `${this.opts.label} adapter not enabled`;
37
+ return result;
38
+ }
39
+ try {
40
+ if (!fs.existsSync(this.opts.configDir)) {
41
+ fs.mkdirSync(this.opts.configDir, { recursive: true });
42
+ result.filesCreated.push(this.opts.configDir);
43
+ }
44
+ }
45
+ catch (err) {
46
+ result.success = false;
47
+ result.errors.push(`Failed to create config directory: ${err instanceof Error ? err.message : String(err)}`);
48
+ }
49
+ if (this.config.rtkEnabled) {
50
+ const hookResult = await this.configureHooks();
51
+ if (hookResult.success) {
52
+ result.filesCreated.push(...hookResult.filesCreated);
53
+ result.filesModified.push(...hookResult.filesModified);
54
+ result.message = hookResult.message;
55
+ }
56
+ else {
57
+ result.success = false;
58
+ result.errors.push(...hookResult.errors);
59
+ }
60
+ }
61
+ else {
62
+ result.message = `RTK disabled; no ${this.opts.label} hooks configured`;
63
+ }
64
+ return result;
65
+ }
66
+ async configureHooks() {
67
+ const result = {
68
+ success: true,
69
+ message: '',
70
+ filesCreated: [],
71
+ filesModified: [],
72
+ errors: [],
73
+ };
74
+ if (!this.config.enabled) {
75
+ result.message = `${this.opts.label} adapter not enabled`;
76
+ return result;
77
+ }
78
+ const expectedPath = path.join(this.config.baseDir, this.opts.expectedFile);
79
+ const existed = fs.existsSync(expectedPath);
80
+ const run = resolveRtkInit(this.config.rtkInit)(this.opts.rtkFlags, this.config.baseDir);
81
+ if (run.success) {
82
+ if (!existed && fs.existsSync(expectedPath))
83
+ result.filesCreated.push(expectedPath);
84
+ result.message = rtkMessage(run);
85
+ }
86
+ else {
87
+ result.success = false;
88
+ result.errors.push(run.message + (run.stderr ? `: ${run.stderr.trim()}` : ''));
89
+ }
90
+ return result;
91
+ }
92
+ async cleanup() {
93
+ return {
94
+ success: true,
95
+ message: `${this.opts.label} adapter cleaned up`,
96
+ filesCreated: [],
97
+ filesModified: [],
98
+ errors: [],
99
+ };
100
+ }
101
+ }
102
+ //# sourceMappingURL=rtk-delegation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rtk-delegation.js","sourceRoot":"","sources":["../../src/adapters/rtk-delegation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Mistral Vibe Adapter — delegates to `rtk init --agent vibe`.
3
+ */
4
+ import { RtkDelegationAdapter } from './rtk-delegation.js';
5
+ import type { AdapterConfig } from './base.js';
6
+ export declare class VibeAdapter extends RtkDelegationAdapter {
7
+ constructor(config: AdapterConfig);
8
+ }
9
+ //# sourceMappingURL=vibe.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vibe.d.ts","sourceRoot":"","sources":["../../src/adapters/vibe.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,WAAY,SAAQ,oBAAoB;gBACvC,MAAM,EAAE,aAAa;CAUlC"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Mistral Vibe Adapter — delegates to `rtk init --agent vibe`.
3
+ */
4
+ import * as path from 'path';
5
+ import { RtkDelegationAdapter } from './rtk-delegation.js';
6
+ import { RTK_INIT_FLAGS } from '../toolchain/rtk.js';
7
+ export class VibeAdapter extends RtkDelegationAdapter {
8
+ constructor(config) {
9
+ const home = process.env.HOME || process.env.USERPROFILE || '';
10
+ super(config, {
11
+ agentKey: 'vibe',
12
+ label: 'Mistral Vibe',
13
+ rtkFlags: RTK_INIT_FLAGS.vibe,
14
+ configDir: path.join(home, '.vibe'),
15
+ expectedFile: 'RTK.md',
16
+ });
17
+ }
18
+ }
19
+ //# sourceMappingURL=vibe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vibe.js","sourceRoot":"","sources":["../../src/adapters/vibe.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,WAAY,SAAQ,oBAAoB;IACnD,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,MAAM;YAChB,KAAK,EAAE,cAAc;YACrB,QAAQ,EAAE,cAAc,CAAC,IAAI;YAC7B,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC;YACnC,YAAY,EAAE,QAAQ;SACvB,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Windsurf Adapter — delegates to `rtk init --agent windsurf`.
3
+ */
4
+ import { RtkDelegationAdapter } from './rtk-delegation.js';
5
+ import type { AdapterConfig } from './base.js';
6
+ export declare class WindsurfAdapter extends RtkDelegationAdapter {
7
+ constructor(config: AdapterConfig);
8
+ }
9
+ //# sourceMappingURL=windsurf.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"windsurf.d.ts","sourceRoot":"","sources":["../../src/adapters/windsurf.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,eAAgB,SAAQ,oBAAoB;gBAC3C,MAAM,EAAE,aAAa;CAUlC"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Windsurf Adapter — delegates to `rtk init --agent windsurf`.
3
+ */
4
+ import * as path from 'path';
5
+ import { RtkDelegationAdapter } from './rtk-delegation.js';
6
+ import { RTK_INIT_FLAGS } from '../toolchain/rtk.js';
7
+ export class WindsurfAdapter extends RtkDelegationAdapter {
8
+ constructor(config) {
9
+ const home = process.env.HOME || process.env.USERPROFILE || '';
10
+ super(config, {
11
+ agentKey: 'windsurf',
12
+ label: 'Windsurf',
13
+ rtkFlags: RTK_INIT_FLAGS.windsurf,
14
+ configDir: path.join(home, '.windsurf'),
15
+ expectedFile: 'RTK.md',
16
+ });
17
+ }
18
+ }
19
+ //# sourceMappingURL=windsurf.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"windsurf.js","sourceRoot":"","sources":["../../src/adapters/windsurf.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,eAAgB,SAAQ,oBAAoB;IACvD,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,UAAU;YACpB,KAAK,EAAE,UAAU;YACjB,QAAQ,EAAE,cAAc,CAAC,QAAQ;YACjC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC;YACvC,YAAY,EAAE,QAAQ;SACvB,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -13,6 +13,12 @@ export interface ApplyOptions {
13
13
  * only wants file generation (e.g. CI too fast, or a dry-run apply).
14
14
  */
15
15
  skipMiseInstall?: boolean;
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
19
+ * already printed it).
20
+ */
21
+ skipPrereqMessage?: boolean;
16
22
  /** Injectable `rtk init` runner (tests pass a stub). */
17
23
  rtkInit?: RtkInitFn;
18
24
  /** Injectable Superpowers adapter dependencies (tests pass a claude stub). */
@@ -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;AAE1D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAGvE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAiBrD,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;IACpB,8EAA8E;IAC9E,eAAe,CAAC,EAAE,sBAAsB,CAAC;CAC1C;AA8BD,iFAAiF;AACjF,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC,WAAW,CAAC,CAoGtB;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;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"}