@phmotad/fire-code 0.2.7 → 0.2.8

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.
@@ -1 +1 @@
1
- {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/install.ts"],"names":[],"mappings":"AASA,MAAM,MAAM,SAAS,GACjB,aAAa,GACb,QAAQ,GACR,UAAU,GACV,UAAU,GACV,OAAO,GACP,QAAQ,GACR,OAAO,GACP,SAAS,CAAC;AAad,UAAU,cAAc;IACtB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAuLD,wBAAsB,cAAc,CAAC,IAAI,GAAE,cAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAkE7E;AAgCD,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CA0DtD"}
1
+ {"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/install.ts"],"names":[],"mappings":"AASA,MAAM,MAAM,SAAS,GACjB,aAAa,GACb,QAAQ,GACR,UAAU,GACV,UAAU,GACV,OAAO,GACP,QAAQ,GACR,OAAO,GACP,SAAS,CAAC;AAkBd,UAAU,cAAc;IACtB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAuUD,wBAAsB,cAAc,CAAC,IAAI,GAAE,cAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAsD7E;AA0CD,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CAwCtD"}
@@ -10,24 +10,28 @@ const os_1 = require("os");
10
10
  const path_1 = require("path");
11
11
  const chalk_1 = __importDefault(require("chalk"));
12
12
  const ora_1 = __importDefault(require("ora"));
13
- // __dirname is CJS-native; resolves to dist/cli/commands → 3 levels up = package root
14
13
  const PLUGIN_ROOT = (0, path_1.resolve)(__dirname, '..', '..', '..');
15
- const SUPPORTED_IDES = [
16
- 'claude-code',
17
- 'cursor',
18
- 'windsurf',
19
- 'opencode',
20
- 'codex',
21
- 'gemini',
22
- 'goose',
23
- 'generic',
24
- ];
14
+ const INJECT_SCRIPT = (0, path_1.join)(PLUGIN_ROOT, 'plugin', 'scripts', 'context-inject.js');
15
+ const IDE_ALIASES = {
16
+ claude: 'claude-code',
17
+ 'claude-code': 'claude-code',
18
+ cursor: 'cursor',
19
+ windsurf: 'windsurf',
20
+ opencode: 'opencode',
21
+ codex: 'codex',
22
+ gemini: 'gemini',
23
+ goose: 'goose',
24
+ generic: 'generic',
25
+ };
26
+ function resolveIde(input) {
27
+ return IDE_ALIASES[input.toLowerCase()];
28
+ }
25
29
  const MCP_SERVER_ENTRY = {
26
30
  command: 'npx',
27
31
  args: ['@phmotad/fire-code', 'dev'],
28
32
  description: 'Fire Code — intelligent MCP execution engine',
29
33
  };
30
- // ── Helpers ─────────────────────────────────────────────────────────────────
34
+ // ── JSON helpers ─────────────────────────────────────────────────────────────
31
35
  function readJson(filePath) {
32
36
  try {
33
37
  if (!(0, fs_1.existsSync)(filePath))
@@ -39,29 +43,43 @@ function readJson(filePath) {
39
43
  }
40
44
  }
41
45
  function writeJson(filePath, data) {
42
- const dir = filePath.substring(0, filePath.lastIndexOf('/') === -1
43
- ? filePath.lastIndexOf('\\')
44
- : filePath.lastIndexOf('/'));
46
+ ensureDir(filePath);
47
+ (0, fs_1.writeFileSync)(filePath, JSON.stringify(data, null, 2) + '\n', 'utf8');
48
+ }
49
+ function ensureDir(filePath) {
50
+ const sep = filePath.includes('/') ? '/' : '\\';
51
+ const dir = filePath.substring(0, filePath.lastIndexOf(sep));
45
52
  if (dir && !(0, fs_1.existsSync)(dir))
46
53
  (0, fs_1.mkdirSync)(dir, { recursive: true });
47
- (0, fs_1.writeFileSync)(filePath, JSON.stringify(data, null, 2) + '\n', 'utf8');
48
54
  }
49
55
  function registerMcp(mcpPath, serverKey = 'fire-code') {
50
- const config = readJson(mcpPath);
51
- if (!config['mcpServers'])
52
- config['mcpServers'] = {};
53
- config['mcpServers'][serverKey] = MCP_SERVER_ENTRY;
54
- writeJson(mcpPath, config);
56
+ const cfg = readJson(mcpPath);
57
+ if (!cfg['mcpServers'])
58
+ cfg['mcpServers'] = {};
59
+ cfg['mcpServers'][serverKey] = MCP_SERVER_ENTRY;
60
+ writeJson(mcpPath, cfg);
61
+ }
62
+ function hookCmd(event) {
63
+ return `node "${INJECT_SCRIPT}" ${event}`;
64
+ }
65
+ function isFireCodeHook(entry) {
66
+ const cmd = String(entry['command'] ?? '');
67
+ return cmd.includes('context-inject.js');
68
+ }
69
+ function appendHook(array, entry) {
70
+ if (array.some(isFireCodeHook))
71
+ return array;
72
+ return [...array, entry];
73
+ }
74
+ function removeFireCodeHooks(array) {
75
+ return array.filter(e => !isFireCodeHook(e));
55
76
  }
56
- // ── Per-IDE installers ───────────────────────────────────────────────────────
77
+ // ── Claude Code ───────────────────────────────────────────────────────────────
57
78
  function installClaudeCode() {
58
- const messages = [];
59
- // MCP server
60
- const mcpPath = (0, path_1.join)((0, os_1.homedir)(), '.claude', 'claude_desktop_config.json');
79
+ const h = (0, os_1.homedir)();
80
+ const mcpPath = (0, path_1.join)(h, '.claude', 'claude_desktop_config.json');
61
81
  registerMcp(mcpPath);
62
- messages.push('MCP server registered in ~/.claude/claude_desktop_config.json');
63
- // Plugin hooks
64
- const settingsPath = (0, path_1.join)((0, os_1.homedir)(), '.claude', 'settings.json');
82
+ const settingsPath = (0, path_1.join)(h, '.claude', 'settings.json');
65
83
  const settings = readJson(settingsPath);
66
84
  if (!settings['plugins'])
67
85
  settings['plugins'] = {};
@@ -70,68 +88,177 @@ function installClaudeCode() {
70
88
  hooksPath: (0, path_1.join)(PLUGIN_ROOT, 'plugin', 'hooks', 'hooks.json'),
71
89
  };
72
90
  writeJson(settingsPath, settings);
73
- messages.push('Plugin hooks registered in ~/.claude/settings.json');
74
- return messages;
91
+ return [
92
+ 'MCP server → ~/.claude/claude_desktop_config.json',
93
+ 'Hooks (SessionStart, PostToolUse, Stop) → ~/.claude/settings.json',
94
+ ];
75
95
  }
96
+ // ── Cursor ────────────────────────────────────────────────────────────────────
76
97
  function installCursor() {
77
- const mcpPath = (0, path_1.join)((0, os_1.homedir)(), '.cursor', 'mcp.json');
78
- registerMcp(mcpPath);
79
- return ['MCP server registered in ~/.cursor/mcp.json'];
98
+ const h = (0, os_1.homedir)();
99
+ registerMcp((0, path_1.join)(h, '.cursor', 'mcp.json'));
100
+ const hooksPath = (0, path_1.join)(h, '.cursor', 'hooks.json');
101
+ const cfg = readJson(hooksPath);
102
+ if (!cfg['version'])
103
+ cfg['version'] = 1;
104
+ if (!cfg['hooks'])
105
+ cfg['hooks'] = {};
106
+ const hooks = cfg['hooks'];
107
+ hooks['beforeSubmitPrompt'] = appendHook(hooks['beforeSubmitPrompt'] ?? [], { command: hookCmd('session-start'), timeout: 10 });
108
+ hooks['beforeReadFile'] = appendHook(hooks['beforeReadFile'] ?? [], { command: hookCmd('pre-read'), timeout: 5 });
109
+ hooks['afterFileEdit'] = appendHook(hooks['afterFileEdit'] ?? [], { command: hookCmd('post-tool'), timeout: 30 });
110
+ hooks['stop'] = appendHook(hooks['stop'] ?? [], { command: hookCmd('stop'), timeout: 30 });
111
+ writeJson(hooksPath, cfg);
112
+ return [
113
+ 'MCP server → ~/.cursor/mcp.json',
114
+ 'Hooks (beforeSubmitPrompt, beforeReadFile, afterFileEdit, stop) → ~/.cursor/hooks.json',
115
+ ];
80
116
  }
117
+ // ── Windsurf ──────────────────────────────────────────────────────────────────
81
118
  function installWindsurf() {
82
- // Windsurf stores MCP config in ~/.codeium/windsurf/mcp_config.json
83
- const mcpPath = (0, path_1.join)((0, os_1.homedir)(), '.codeium', 'windsurf', 'mcp_config.json');
84
- registerMcp(mcpPath);
85
- return ['MCP server registered in ~/.codeium/windsurf/mcp_config.json'];
119
+ const h = (0, os_1.homedir)();
120
+ registerMcp((0, path_1.join)(h, '.codeium', 'windsurf', 'mcp_config.json'));
121
+ const hooksPath = (0, path_1.join)(h, '.codeium', 'windsurf', 'hooks.json');
122
+ const cfg = readJson(hooksPath);
123
+ if (!cfg['hooks'])
124
+ cfg['hooks'] = {};
125
+ const hooks = cfg['hooks'];
126
+ hooks['pre_read_code'] = appendHook(hooks['pre_read_code'] ?? [], { command: hookCmd('pre-read'), show_output: false });
127
+ hooks['post_write_code'] = appendHook(hooks['post_write_code'] ?? [], { command: hookCmd('post-tool'), show_output: false });
128
+ hooks['post_mcp_tool_use'] = appendHook(hooks['post_mcp_tool_use'] ?? [], { command: hookCmd('post-tool'), show_output: false });
129
+ writeJson(hooksPath, cfg);
130
+ return [
131
+ 'MCP server → ~/.codeium/windsurf/mcp_config.json',
132
+ 'Hooks (pre_read_code, post_write_code, post_mcp_tool_use) → ~/.codeium/windsurf/hooks.json',
133
+ ];
86
134
  }
135
+ // ── OpenCode ──────────────────────────────────────────────────────────────────
87
136
  function installOpenCode() {
88
- // OpenCode uses ~/.config/opencode/config.json with mcp section
89
- const configPath = (0, path_1.join)((0, os_1.homedir)(), '.config', 'opencode', 'config.json');
90
- const config = readJson(configPath);
91
- if (!config['mcp'])
92
- config['mcp'] = {};
93
- const mcp = config['mcp'];
137
+ const h = (0, os_1.homedir)();
138
+ // MCP
139
+ const configPath = (0, path_1.join)(h, '.config', 'opencode', 'config.json');
140
+ const cfg = readJson(configPath);
141
+ if (!cfg['mcp'])
142
+ cfg['mcp'] = {};
143
+ const mcp = cfg['mcp'];
94
144
  if (!mcp['servers'])
95
145
  mcp['servers'] = {};
96
146
  mcp['servers']['fire-code'] = MCP_SERVER_ENTRY;
97
- writeJson(configPath, config);
98
- return ['MCP server registered in ~/.config/opencode/config.json'];
147
+ // Plugin: generate JS plugin file with the baked-in script path
148
+ const pluginContent = buildOpenCodePlugin();
149
+ if (!cfg['plugins'])
150
+ cfg['plugins'] = {};
151
+ cfg['plugins']['fire-code'] = { enabled: true };
152
+ writeJson(configPath, cfg);
153
+ const pluginsDir = (0, path_1.join)(h, '.config', 'opencode', 'plugins');
154
+ if (!(0, fs_1.existsSync)(pluginsDir))
155
+ (0, fs_1.mkdirSync)(pluginsDir, { recursive: true });
156
+ (0, fs_1.writeFileSync)((0, path_1.join)(pluginsDir, 'fire-code.js'), pluginContent, 'utf8');
157
+ return [
158
+ 'MCP server → ~/.config/opencode/config.json',
159
+ 'Plugin (session.created, tool.execute.after) → ~/.config/opencode/plugins/fire-code.js',
160
+ ];
161
+ }
162
+ function buildOpenCodePlugin() {
163
+ return `'use strict';
164
+ // Fire Code — OpenCode plugin (auto-generated by fire-code install)
165
+ const { execSync } = require('child_process');
166
+ const SCRIPT = ${JSON.stringify(INJECT_SCRIPT)};
167
+
168
+ function run(event, env) {
169
+ try { execSync('node "' + SCRIPT + '" ' + event, { env: { ...process.env, ...env }, stdio: 'ignore', timeout: 30000 }); } catch {}
99
170
  }
171
+
172
+ module.exports = async (ctx) => ({
173
+ 'session.created': () => run('session-start', { CLAUDE_CWD: ctx.directory ?? process.cwd() }),
174
+ 'tool.execute.after': (input) => run('post-tool', {
175
+ CLAUDE_CWD: ctx.directory ?? process.cwd(),
176
+ CLAUDE_TOOL_NAME: String(input?.tool ?? ''),
177
+ CLAUDE_TOOL_INPUT_JSON: JSON.stringify(input?.args ?? {}),
178
+ }),
179
+ 'session.compacted': () => run('stop', { CLAUDE_CWD: ctx.directory ?? process.cwd() }),
180
+ });
181
+ `;
182
+ }
183
+ // ── Codex CLI ─────────────────────────────────────────────────────────────────
100
184
  function installCodex() {
101
- // Codex CLI uses ~/.codex/config.json
102
- const configPath = (0, path_1.join)((0, os_1.homedir)(), '.codex', 'config.json');
103
- registerMcp(configPath);
104
- return ['MCP server registered in ~/.codex/config.json'];
185
+ const h = (0, os_1.homedir)();
186
+ registerMcp((0, path_1.join)(h, '.codex', 'config.json'));
187
+ // Enable hooks feature flag in config.toml
188
+ const tomlPath = (0, path_1.join)(h, '.codex', 'config.toml');
189
+ const toml = (0, fs_1.existsSync)(tomlPath) ? (0, fs_1.readFileSync)(tomlPath, 'utf8') : '';
190
+ if (!toml.includes('codex_hooks')) {
191
+ ensureDir(tomlPath);
192
+ (0, fs_1.writeFileSync)(tomlPath, toml + '\n[features]\ncodex_hooks = true\n', 'utf8');
193
+ }
194
+ // Register hooks
195
+ const hooksPath = (0, path_1.join)(h, '.codex', 'hooks.json');
196
+ const cfg = readJson(hooksPath);
197
+ if (!cfg['hooks'])
198
+ cfg['hooks'] = {};
199
+ const hooks = cfg['hooks'];
200
+ hooks['SessionStart'] = mergeCodexHook(hooks['SessionStart'] ?? [], hookCmd('session-start'), '*', 10);
201
+ hooks['PostToolUse'] = mergeCodexHook(hooks['PostToolUse'] ?? [], hookCmd('post-tool'), '*', 30);
202
+ hooks['Stop'] = mergeCodexHookStop(hooks['Stop'] ?? [], hookCmd('stop'), 30);
203
+ writeJson(hooksPath, cfg);
204
+ return [
205
+ 'MCP server → ~/.codex/config.json',
206
+ 'Feature flag codex_hooks → ~/.codex/config.toml',
207
+ 'Hooks (SessionStart, PostToolUse, Stop) → ~/.codex/hooks.json',
208
+ ];
209
+ }
210
+ function mergeCodexHook(arr, cmd, matcher, timeout) {
211
+ const alreadySet = arr.some(g => (g['hooks'] ?? []).some(isFireCodeHook));
212
+ if (alreadySet)
213
+ return arr;
214
+ return [...arr, { matcher, hooks: [{ type: 'command', command: cmd, timeout }] }];
105
215
  }
216
+ function mergeCodexHookStop(arr, cmd, timeout) {
217
+ const alreadySet = arr.some(g => (g['hooks'] ?? []).some(isFireCodeHook));
218
+ if (alreadySet)
219
+ return arr;
220
+ return [...arr, { hooks: [{ type: 'command', command: cmd, timeout }] }];
221
+ }
222
+ // ── Gemini CLI ────────────────────────────────────────────────────────────────
106
223
  function installGemini() {
107
- // Gemini CLI uses ~/.gemini/settings.json
108
- const settingsPath = (0, path_1.join)((0, os_1.homedir)(), '.gemini', 'settings.json');
224
+ const h = (0, os_1.homedir)();
225
+ const settingsPath = (0, path_1.join)(h, '.gemini', 'settings.json');
109
226
  const settings = readJson(settingsPath);
110
227
  if (!settings['mcpServers'])
111
228
  settings['mcpServers'] = {};
112
229
  settings['mcpServers']['fire-code'] = MCP_SERVER_ENTRY;
230
+ if (!settings['hooks'])
231
+ settings['hooks'] = {};
232
+ const hooks = settings['hooks'];
233
+ hooks['SessionStart'] = mergeGeminiHook(hooks['SessionStart'] ?? [], hookCmd('session-start'), '*', 5000);
234
+ hooks['AfterTool'] = mergeGeminiHook(hooks['AfterTool'] ?? [], hookCmd('post-tool'), '.*', 30000);
235
+ hooks['SessionEnd'] = mergeGeminiHook(hooks['SessionEnd'] ?? [], hookCmd('stop'), '*', 30000);
113
236
  writeJson(settingsPath, settings);
114
- return ['MCP server registered in ~/.gemini/settings.json'];
237
+ return [
238
+ 'MCP server → ~/.gemini/settings.json',
239
+ 'Hooks (SessionStart, AfterTool, SessionEnd) → ~/.gemini/settings.json',
240
+ ];
115
241
  }
242
+ function mergeGeminiHook(arr, cmd, matcher, timeout) {
243
+ const alreadySet = arr.some(g => (g['hooks'] ?? []).some(isFireCodeHook));
244
+ if (alreadySet)
245
+ return arr;
246
+ return [...arr, { matcher, hooks: [{ type: 'command', command: cmd, timeout }] }];
247
+ }
248
+ // ── Goose ─────────────────────────────────────────────────────────────────────
116
249
  function installGoose() {
117
- // Goose uses ~/.config/goose/config.yaml — write as JSON config fallback
118
- const configPath = (0, path_1.join)((0, os_1.homedir)(), '.config', 'goose', 'mcp.json');
119
- registerMcp(configPath);
120
- return ['MCP server registered in ~/.config/goose/mcp.json'];
250
+ registerMcp((0, path_1.join)((0, os_1.homedir)(), '.config', 'goose', 'mcp.json'));
251
+ return ['MCP server ~/.config/goose/mcp.json'];
121
252
  }
253
+ // ── Generic ───────────────────────────────────────────────────────────────────
122
254
  function installGeneric() {
123
- // Write a standalone mcp.json in the current directory for manual wiring
124
255
  const mcpPath = (0, path_1.join)(process.cwd(), '.firecode', 'mcp.json');
125
- const config = {
126
- mcpServers: { 'fire-code': MCP_SERVER_ENTRY },
127
- };
128
- if (!(0, fs_1.existsSync)((0, path_1.join)(process.cwd(), '.firecode'))) {
256
+ if (!(0, fs_1.existsSync)((0, path_1.join)(process.cwd(), '.firecode')))
129
257
  (0, fs_1.mkdirSync)((0, path_1.join)(process.cwd(), '.firecode'), { recursive: true });
130
- }
131
- (0, fs_1.writeFileSync)(mcpPath, JSON.stringify(config, null, 2) + '\n', 'utf8');
258
+ (0, fs_1.writeFileSync)(mcpPath, JSON.stringify({ mcpServers: { 'fire-code': MCP_SERVER_ENTRY } }, null, 2) + '\n', 'utf8');
132
259
  return [
133
- 'MCP config written to .firecode/mcp.json',
134
- 'Point your IDE\'s MCP setting to this file to complete setup',
260
+ 'MCP config .firecode/mcp.json',
261
+ "Point your IDE's MCP setting to this file to complete setup",
135
262
  ];
136
263
  }
137
264
  // ── Global config bootstrap ──────────────────────────────────────────────────
@@ -142,10 +269,7 @@ function ensureGlobalConfig() {
142
269
  const dir = (0, path_1.join)((0, os_1.homedir)(), '.firecode');
143
270
  if (!(0, fs_1.existsSync)(dir))
144
271
  (0, fs_1.mkdirSync)(dir, { recursive: true });
145
- const defaults = {
146
- llm: { provider: 'openrouter' },
147
- };
148
- (0, fs_1.writeFileSync)(configPath, JSON.stringify(defaults, null, 2) + '\n', 'utf8');
272
+ (0, fs_1.writeFileSync)(configPath, JSON.stringify({ llm: { provider: 'openrouter' } }, null, 2) + '\n', 'utf8');
149
273
  }
150
274
  // ── agents.md ────────────────────────────────────────────────────────────────
151
275
  function writeAgentsMd(cwd) {
@@ -154,30 +278,14 @@ function writeAgentsMd(cwd) {
154
278
  return;
155
279
  try {
156
280
  const src = (0, path_1.join)(PLUGIN_ROOT, 'plugin', 'agents.md');
157
- const content = (0, fs_1.existsSync)(src) ? (0, fs_1.readFileSync)(src, 'utf8') : defaultAgentsMd();
158
- (0, fs_1.writeFileSync)(dest, content, 'utf8');
281
+ (0, fs_1.writeFileSync)(dest, (0, fs_1.existsSync)(src) ? (0, fs_1.readFileSync)(src, 'utf8') : defaultAgentsMd(), 'utf8');
159
282
  }
160
283
  catch { /* best-effort */ }
161
284
  }
162
285
  function defaultAgentsMd() {
163
- return `# Fire Code — Agent Instructions
164
-
165
- > This file is read automatically by your AI coding agent. Do not delete it.
166
-
167
- You have Fire Code MCP tools available. **Use them without waiting to be asked.**
168
-
169
- | Situation | Call |
170
- |---|---|
171
- | Before writing any code | \`firecode.smart_search({ query })\` then \`firecode.corpus_search({ query })\` |
172
- | Before reading a file | \`firecode.smart_outline({ file_path })\` |
173
- | Task touches > 2 files | \`firecode.get_context({ query: task })\` |
174
- | Implement / fix / refactor | \`firecode.execute({ task, agent: "dev" })\` |
175
- | Plan / design / coordinate | \`firecode.execute({ task, agent: "supervisor" })\` |
176
- | Audit / review / inspect | \`firecode.execute({ task, agent: "review" })\` |
177
- | Recall past work | \`firecode.observations({ query })\` |
178
- `;
286
+ return `# Fire Code — Agent Instructions\n\n> Read automatically by your AI coding agent. Do not delete.\n\nYou have Fire Code MCP tools available. **Use them without waiting to be asked.**\n`;
179
287
  }
180
- // ── Auto-detection ───────────────────────────────────────────────────────────
288
+ // ── Auto-detection ────────────────────────────────────────────────────────────
181
289
  function detectIde() {
182
290
  const h = (0, os_1.homedir)();
183
291
  if ((0, fs_1.existsSync)((0, path_1.join)(h, '.claude')))
@@ -196,29 +304,29 @@ function detectIde() {
196
304
  return 'goose';
197
305
  return 'generic';
198
306
  }
199
- // ── Main command ─────────────────────────────────────────────────────────────
307
+ // ── Main command ──────────────────────────────────────────────────────────────
308
+ const HOOKS_SUPPORT = new Set(['claude-code', 'cursor', 'windsurf', 'opencode', 'codex', 'gemini']);
200
309
  async function installCommand(opts = {}) {
201
310
  console.log(chalk_1.default.red('\n 🔥 Fire Code') + chalk_1.default.gray(' — install\n'));
202
- let ide = opts.ide;
203
- if (!ide || ide === 'claude-code') {
204
- // Default: try auto-detect, fall back to claude-code
205
- const detected = detectIde();
206
- if (!ide) {
207
- ide = detected;
208
- if (ide !== 'claude-code') {
209
- console.log(chalk_1.default.gray(` Auto-detected IDE: ${chalk_1.default.bold(ide)}\n`));
210
- }
311
+ let ide;
312
+ if (opts.ide) {
313
+ const resolved = resolveIde(opts.ide);
314
+ if (!resolved) {
315
+ console.error(chalk_1.default.red(` Unknown IDE: ${opts.ide}`));
316
+ console.error(chalk_1.default.gray(' Supported: claude, cursor, windsurf, opencode, codex, gemini, goose, generic'));
317
+ process.exit(1);
211
318
  }
319
+ ide = resolved;
212
320
  }
213
- if (!SUPPORTED_IDES.includes(ide)) {
214
- console.error(chalk_1.default.red(` Unknown IDE: ${ide}`));
215
- console.error(chalk_1.default.gray(` Supported: ${SUPPORTED_IDES.join(', ')}`));
216
- process.exit(1);
321
+ else {
322
+ ide = detectIde();
323
+ const label = ide === 'claude-code' ? 'claude' : ide;
324
+ console.log(chalk_1.default.gray(` Auto-detected: ${chalk_1.default.bold(label)}`) + chalk_1.default.gray(' (override with --ide <name>)\n'));
217
325
  }
218
326
  ensureGlobalConfig();
219
327
  const spinner = (0, ora_1.default)({ text: `Installing for ${chalk_1.default.bold(ide)}...`, color: 'red' }).start();
328
+ spinner.stop();
220
329
  try {
221
- spinner.stop();
222
330
  let messages;
223
331
  switch (ide) {
224
332
  case 'claude-code':
@@ -242,54 +350,42 @@ async function installCommand(opts = {}) {
242
350
  case 'goose':
243
351
  messages = installGoose();
244
352
  break;
245
- case 'generic':
246
- messages = installGeneric();
247
- break;
248
353
  default: messages = installGeneric();
249
354
  }
250
- for (const msg of messages) {
355
+ for (const msg of messages)
251
356
  console.log(chalk_1.default.green(' ✓') + ' ' + msg);
252
- }
253
- const projectCwd = opts.cwd ?? process.cwd();
254
- writeAgentsMd(projectCwd);
357
+ writeAgentsMd(opts.cwd ?? process.cwd());
255
358
  console.log(chalk_1.default.green(' ✓') + ' agents.md written to project root');
256
- const hasHooks = ide === 'claude-code';
257
359
  console.log(chalk_1.default.green('\n ✓ Fire Code installed successfully!\n'));
258
360
  console.log(chalk_1.default.gray(' Next steps:'));
259
- console.log(chalk_1.default.gray(` 1. Restart ${ide}`));
361
+ console.log(chalk_1.default.gray(` 1. Restart ${ide === 'claude-code' ? 'Claude Code' : ide}`));
260
362
  console.log(chalk_1.default.gray(' 2. Run: ') + chalk_1.default.white('fire-code index') + chalk_1.default.gray(' in your project'));
261
- if (hasHooks) {
262
- console.log(chalk_1.default.gray(' 3. Hooks (SessionStart, PostToolUse) are active for auto re-indexing'));
263
- }
264
- else {
265
- console.log(chalk_1.default.gray(' 3. MCP tools available: smart_search, get_context, search_code, get_graph, execute'));
363
+ if (HOOKS_SUPPORT.has(ide)) {
364
+ console.log(chalk_1.default.gray(' 3. Lifecycle hooks active auto re-indexing and context injection enabled'));
266
365
  }
267
366
  console.log();
268
367
  }
269
368
  catch (err) {
270
- spinner.fail(chalk_1.default.red('Installation failed'));
271
- console.error(chalk_1.default.red(' Error:'), String(err));
369
+ console.error(chalk_1.default.red(' Installation failed:'), String(err));
272
370
  process.exit(1);
273
371
  }
274
372
  }
275
- // ── Uninstall helpers ────────────────────────────────────────────────────────
373
+ // ── Uninstall ─────────────────────────────────────────────────────────────────
276
374
  function removeMcpEntry(filePath, serverKey = 'fire-code') {
277
375
  if (!(0, fs_1.existsSync)(filePath))
278
376
  return false;
279
- const config = readJson(filePath);
280
- if (!config['mcpServers'])
281
- return false;
282
- if (!config['mcpServers'][serverKey])
377
+ const cfg = readJson(filePath);
378
+ if (!cfg['mcpServers']?.[serverKey])
283
379
  return false;
284
- delete config['mcpServers'][serverKey];
285
- writeJson(filePath, config);
380
+ delete cfg['mcpServers'][serverKey];
381
+ writeJson(filePath, cfg);
286
382
  return true;
287
383
  }
288
384
  function removeNestedEntry(filePath, ...keys) {
289
385
  if (!(0, fs_1.existsSync)(filePath))
290
386
  return false;
291
- const config = readJson(filePath);
292
- let node = config;
387
+ const cfg = readJson(filePath);
388
+ let node = cfg;
293
389
  for (let i = 0; i < keys.length - 1; i++) {
294
390
  if (!node[keys[i]])
295
391
  return false;
@@ -299,54 +395,77 @@ function removeNestedEntry(filePath, ...keys) {
299
395
  if (!node[last])
300
396
  return false;
301
397
  delete node[last];
302
- writeJson(filePath, config);
398
+ writeJson(filePath, cfg);
303
399
  return true;
304
400
  }
401
+ function removeHooksFromFile(filePath, hooksKey) {
402
+ if (!(0, fs_1.existsSync)(filePath))
403
+ return false;
404
+ const cfg = readJson(filePath);
405
+ const hooks = cfg[hooksKey];
406
+ if (!hooks)
407
+ return false;
408
+ let changed = false;
409
+ for (const event of Object.keys(hooks)) {
410
+ const filtered = removeFireCodeHooks(hooks[event]);
411
+ if (filtered.length !== hooks[event].length) {
412
+ hooks[event] = filtered;
413
+ changed = true;
414
+ }
415
+ }
416
+ if (changed)
417
+ writeJson(filePath, cfg);
418
+ return changed;
419
+ }
305
420
  async function uninstallCommand() {
306
421
  console.log(chalk_1.default.red('\n 🔥 Fire Code') + chalk_1.default.gray(' — uninstall\n'));
307
- const spinner = (0, ora_1.default)({ text: 'Removing Fire Code...', color: 'red' }).start();
308
- spinner.stop();
309
- try {
310
- const h = (0, os_1.homedir)();
311
- const removed = [];
312
- // Claude Code MCP config
313
- if (removeMcpEntry((0, path_1.join)(h, '.claude', 'claude_desktop_config.json')))
314
- removed.push('claude_desktop_config.json');
315
- // Claude Code hooks
316
- if (removeNestedEntry((0, path_1.join)(h, '.claude', 'settings.json'), 'plugins', 'fire-code'))
317
- removed.push('Claude settings.json (hooks)');
318
- // Cursor
319
- if (removeMcpEntry((0, path_1.join)(h, '.cursor', 'mcp.json')))
320
- removed.push('.cursor/mcp.json');
321
- // Windsurf
322
- if (removeMcpEntry((0, path_1.join)(h, '.codeium', 'windsurf', 'mcp_config.json')))
323
- removed.push('.codeium/windsurf/mcp_config.json');
324
- // OpenCode
325
- if (removeNestedEntry((0, path_1.join)(h, '.config', 'opencode', 'config.json'), 'mcp', 'servers', 'fire-code'))
326
- removed.push('.config/opencode/config.json');
327
- // Codex CLI
328
- if (removeMcpEntry((0, path_1.join)(h, '.codex', 'config.json')))
329
- removed.push('.codex/config.json');
330
- // Gemini CLI
331
- if (removeNestedEntry((0, path_1.join)(h, '.gemini', 'settings.json'), 'mcpServers', 'fire-code'))
332
- removed.push('.gemini/settings.json');
333
- // Goose
334
- if (removeMcpEntry((0, path_1.join)(h, '.config', 'goose', 'mcp.json')))
335
- removed.push('.config/goose/mcp.json');
336
- if (removed.length === 0) {
337
- console.log(chalk_1.default.yellow(' No Fire Code installations found.\n'));
338
- return;
339
- }
340
- for (const f of removed) {
341
- console.log(chalk_1.default.green(' ✓') + ` Removed from ${f}`);
342
- }
343
- console.log(chalk_1.default.green('\n ✓ Fire Code uninstalled'));
344
- console.log(chalk_1.default.gray('\n Restart your IDE to apply changes.\n'));
422
+ const h = (0, os_1.homedir)();
423
+ const removed = [];
424
+ // Claude Code
425
+ if (removeMcpEntry((0, path_1.join)(h, '.claude', 'claude_desktop_config.json')))
426
+ removed.push('Claude MCP config');
427
+ if (removeNestedEntry((0, path_1.join)(h, '.claude', 'settings.json'), 'plugins', 'fire-code'))
428
+ removed.push('Claude hooks');
429
+ // Cursor
430
+ if (removeMcpEntry((0, path_1.join)(h, '.cursor', 'mcp.json')))
431
+ removed.push('Cursor MCP');
432
+ if (removeHooksFromFile((0, path_1.join)(h, '.cursor', 'hooks.json'), 'hooks'))
433
+ removed.push('Cursor hooks');
434
+ // Windsurf
435
+ if (removeMcpEntry((0, path_1.join)(h, '.codeium', 'windsurf', 'mcp_config.json')))
436
+ removed.push('Windsurf MCP');
437
+ if (removeHooksFromFile((0, path_1.join)(h, '.codeium', 'windsurf', 'hooks.json'), 'hooks'))
438
+ removed.push('Windsurf hooks');
439
+ // OpenCode
440
+ if (removeNestedEntry((0, path_1.join)(h, '.config', 'opencode', 'config.json'), 'mcp', 'servers', 'fire-code'))
441
+ removed.push('OpenCode MCP');
442
+ if (removeNestedEntry((0, path_1.join)(h, '.config', 'opencode', 'config.json'), 'plugins', 'fire-code'))
443
+ removed.push('OpenCode plugin');
444
+ const ocPlugin = (0, path_1.join)(h, '.config', 'opencode', 'plugins', 'fire-code.js');
445
+ if ((0, fs_1.existsSync)(ocPlugin)) {
446
+ require('fs').unlinkSync(ocPlugin);
447
+ removed.push('OpenCode plugin file');
345
448
  }
346
- catch (err) {
347
- spinner.fail(chalk_1.default.red('Uninstall failed'));
348
- console.error(chalk_1.default.red(' Error:'), String(err));
349
- process.exit(1);
449
+ // Codex
450
+ if (removeMcpEntry((0, path_1.join)(h, '.codex', 'config.json')))
451
+ removed.push('Codex MCP');
452
+ if (removeHooksFromFile((0, path_1.join)(h, '.codex', 'hooks.json'), 'hooks'))
453
+ removed.push('Codex hooks');
454
+ // Gemini
455
+ if (removeNestedEntry((0, path_1.join)(h, '.gemini', 'settings.json'), 'mcpServers', 'fire-code'))
456
+ removed.push('Gemini MCP');
457
+ if (removeHooksFromFile((0, path_1.join)(h, '.gemini', 'settings.json'), 'hooks'))
458
+ removed.push('Gemini hooks');
459
+ // Goose
460
+ if (removeMcpEntry((0, path_1.join)(h, '.config', 'goose', 'mcp.json')))
461
+ removed.push('Goose MCP');
462
+ if (removed.length === 0) {
463
+ console.log(chalk_1.default.yellow(' No Fire Code installations found.\n'));
464
+ return;
350
465
  }
466
+ for (const f of removed)
467
+ console.log(chalk_1.default.green(' ✓') + ` Removed: ${f}`);
468
+ console.log(chalk_1.default.green('\n ✓ Fire Code uninstalled'));
469
+ console.log(chalk_1.default.gray('\n Restart your IDE to apply changes.\n'));
351
470
  }
352
471
  //# sourceMappingURL=install.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"install.js","sourceRoot":"","sources":["../../../src/cli/commands/install.ts"],"names":[],"mappings":";;;;;AAwNA,wCAkEC;AAgCD,4CA0DC;AApXD,2BAAwE;AACxE,2BAA6B;AAC7B,+BAAqC;AACrC,kDAA0B;AAC1B,8CAAsB;AAEtB,sFAAsF;AACtF,MAAM,WAAW,GAAG,IAAA,cAAO,EAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAYzD,MAAM,cAAc,GAAgB;IAClC,aAAa;IACb,QAAQ;IACR,UAAU;IACV,UAAU;IACV,OAAO;IACP,QAAQ;IACR,OAAO;IACP,SAAS;CACV,CAAC;AAOF,MAAM,gBAAgB,GAAG;IACvB,OAAO,EAAE,KAAK;IACd,IAAI,EAAE,CAAC,oBAAoB,EAAE,KAAK,CAAC;IACnC,WAAW,EAAE,8CAA8C;CAC5D,CAAC;AAEF,+EAA+E;AAE/E,SAAS,QAAQ,CAAC,QAAgB;IAChC,IAAI,CAAC;QACH,IAAI,CAAC,IAAA,eAAU,EAAC,QAAQ,CAAC;YAAE,OAAO,EAAE,CAAC;QACrC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAA,iBAAY,EAAC,QAAQ,EAAE,MAAM,CAAC,CAA4B,CAAC;IAC/E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAAC,QAAgB,EAAE,IAA6B;IAChE,MAAM,GAAG,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAChE,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC;QAC5B,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/B,IAAI,GAAG,IAAI,CAAC,IAAA,eAAU,EAAC,GAAG,CAAC;QAAE,IAAA,cAAS,EAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACjE,IAAA,kBAAa,EAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC;AACxE,CAAC;AAED,SAAS,WAAW,CAAC,OAAe,EAAE,SAAS,GAAG,WAAW;IAC3D,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IACjC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;QAAE,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC;IACpD,MAAM,CAAC,YAAY,CAA6B,CAAC,SAAS,CAAC,GAAG,gBAAgB,CAAC;IAChF,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;AAC7B,CAAC;AAED,gFAAgF;AAEhF,SAAS,iBAAiB;IACxB,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,aAAa;IACb,MAAM,OAAO,GAAG,IAAA,WAAI,EAAC,IAAA,YAAO,GAAE,EAAE,SAAS,EAAE,4BAA4B,CAAC,CAAC;IACzE,WAAW,CAAC,OAAO,CAAC,CAAC;IACrB,QAAQ,CAAC,IAAI,CAAC,+DAA+D,CAAC,CAAC;IAE/E,eAAe;IACf,MAAM,YAAY,GAAG,IAAA,WAAI,EAAC,IAAA,YAAO,GAAE,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;IACjE,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;IACxC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;QAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;IAClD,QAAQ,CAAC,SAAS,CAA6B,CAAC,WAAW,CAAC,GAAG;QAC9D,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,IAAA,WAAI,EAAC,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,CAAC;KAC9D,CAAC;IACF,SAAS,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IAClC,QAAQ,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;IAEpE,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,aAAa;IACpB,MAAM,OAAO,GAAG,IAAA,WAAI,EAAC,IAAA,YAAO,GAAE,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;IACvD,WAAW,CAAC,OAAO,CAAC,CAAC;IACrB,OAAO,CAAC,6CAA6C,CAAC,CAAC;AACzD,CAAC;AAED,SAAS,eAAe;IACtB,oEAAoE;IACpE,MAAM,OAAO,GAAG,IAAA,WAAI,EAAC,IAAA,YAAO,GAAE,EAAE,UAAU,EAAE,UAAU,EAAE,iBAAiB,CAAC,CAAC;IAC3E,WAAW,CAAC,OAAO,CAAC,CAAC;IACrB,OAAO,CAAC,8DAA8D,CAAC,CAAC;AAC1E,CAAC;AAED,SAAS,eAAe;IACtB,gEAAgE;IAChE,MAAM,UAAU,GAAG,IAAA,WAAI,EAAC,IAAA,YAAO,GAAE,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;IACzE,MAAM,MAAM,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;IACpC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QAAE,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;IACvC,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAA4B,CAAC;IACrD,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC;QAAE,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;IACxC,GAAG,CAAC,SAAS,CAA6B,CAAC,WAAW,CAAC,GAAG,gBAAgB,CAAC;IAC5E,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAC9B,OAAO,CAAC,yDAAyD,CAAC,CAAC;AACrE,CAAC;AAED,SAAS,YAAY;IACnB,sCAAsC;IACtC,MAAM,UAAU,GAAG,IAAA,WAAI,EAAC,IAAA,YAAO,GAAE,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;IAC5D,WAAW,CAAC,UAAU,CAAC,CAAC;IACxB,OAAO,CAAC,+CAA+C,CAAC,CAAC;AAC3D,CAAC;AAED,SAAS,aAAa;IACpB,0CAA0C;IAC1C,MAAM,YAAY,GAAG,IAAA,WAAI,EAAC,IAAA,YAAO,GAAE,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;IACjE,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;IACxC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;QAAE,QAAQ,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC;IACxD,QAAQ,CAAC,YAAY,CAA6B,CAAC,WAAW,CAAC,GAAG,gBAAgB,CAAC;IACpF,SAAS,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IAClC,OAAO,CAAC,kDAAkD,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,YAAY;IACnB,yEAAyE;IACzE,MAAM,UAAU,GAAG,IAAA,WAAI,EAAC,IAAA,YAAO,GAAE,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IACnE,WAAW,CAAC,UAAU,CAAC,CAAC;IACxB,OAAO,CAAC,mDAAmD,CAAC,CAAC;AAC/D,CAAC;AAED,SAAS,cAAc;IACrB,yEAAyE;IACzE,MAAM,OAAO,GAAG,IAAA,WAAI,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;IAC7D,MAAM,MAAM,GAA4B;QACtC,UAAU,EAAE,EAAE,WAAW,EAAE,gBAAgB,EAAE;KAC9C,CAAC;IACF,IAAI,CAAC,IAAA,eAAU,EAAC,IAAA,WAAI,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC;QAClD,IAAA,cAAS,EAAC,IAAA,WAAI,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACnE,CAAC;IACD,IAAA,kBAAa,EAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC;IACvE,OAAO;QACL,0CAA0C;QAC1C,8DAA8D;KAC/D,CAAC;AACJ,CAAC;AAED,gFAAgF;AAEhF,SAAS,kBAAkB;IACzB,MAAM,UAAU,GAAG,IAAA,WAAI,EAAC,IAAA,YAAO,GAAE,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC;IAC/D,IAAI,IAAA,eAAU,EAAC,UAAU,CAAC;QAAE,OAAO;IACnC,MAAM,GAAG,GAAG,IAAA,WAAI,EAAC,IAAA,YAAO,GAAE,EAAE,WAAW,CAAC,CAAC;IACzC,IAAI,CAAC,IAAA,eAAU,EAAC,GAAG,CAAC;QAAE,IAAA,cAAS,EAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1D,MAAM,QAAQ,GAAG;QACf,GAAG,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE;KAChC,CAAC;IACF,IAAA,kBAAa,EAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC;AAC9E,CAAC;AAED,gFAAgF;AAEhF,SAAS,aAAa,CAAC,GAAW;IAChC,MAAM,IAAI,GAAG,IAAA,WAAI,EAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IACpC,IAAI,IAAA,eAAU,EAAC,IAAI,CAAC;QAAE,OAAO;IAC7B,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAA,WAAI,EAAC,WAAW,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;QACrD,MAAM,OAAO,GAAG,IAAA,eAAU,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAA,iBAAY,EAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC;QAChF,IAAA,kBAAa,EAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IACvC,CAAC;IAAC,MAAM,CAAC,CAAC,iBAAiB,CAAC,CAAC;AAC/B,CAAC;AAED,SAAS,eAAe;IACtB,OAAO;;;;;;;;;;;;;;;CAeR,CAAC;AACF,CAAC;AAED,gFAAgF;AAEhF,SAAS,SAAS;IAChB,MAAM,CAAC,GAAG,IAAA,YAAO,GAAE,CAAC;IACpB,IAAI,IAAA,eAAU,EAAC,IAAA,WAAI,EAAC,CAAC,EAAE,SAAS,CAAC,CAAC;QAAE,OAAO,aAAa,CAAC;IACzD,IAAI,IAAA,eAAU,EAAC,IAAA,WAAI,EAAC,CAAC,EAAE,SAAS,CAAC,CAAC;QAAE,OAAO,QAAQ,CAAC;IACpD,IAAI,IAAA,eAAU,EAAC,IAAA,WAAI,EAAC,CAAC,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;QAAE,OAAO,UAAU,CAAC;IACnE,IAAI,IAAA,eAAU,EAAC,IAAA,WAAI,EAAC,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;QAAE,OAAO,UAAU,CAAC;IAClE,IAAI,IAAA,eAAU,EAAC,IAAA,WAAI,EAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;QAAE,OAAO,OAAO,CAAC;IAClD,IAAI,IAAA,eAAU,EAAC,IAAA,WAAI,EAAC,CAAC,EAAE,SAAS,CAAC,CAAC;QAAE,OAAO,QAAQ,CAAC;IACpD,IAAI,IAAA,eAAU,EAAC,IAAA,WAAI,EAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QAAE,OAAO,OAAO,CAAC;IAC5D,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,gFAAgF;AAEzE,KAAK,UAAU,cAAc,CAAC,OAAuB,EAAE;IAC5D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,kBAAkB,CAAC,GAAG,eAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;IAExE,IAAI,GAAG,GAAG,IAAI,CAAC,GAA4B,CAAC;IAE5C,IAAI,CAAC,GAAG,IAAI,GAAG,KAAK,aAAa,EAAE,CAAC;QAClC,qDAAqD;QACrD,MAAM,QAAQ,GAAG,SAAS,EAAE,CAAC;QAC7B,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,GAAG,GAAG,QAAQ,CAAC;YACf,IAAI,GAAG,KAAK,aAAa,EAAE,CAAC;gBAC1B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,wBAAwB,eAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;YACvE,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,GAAgB,CAAC,EAAE,CAAC;QAC/C,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,kBAAkB,GAAG,EAAE,CAAC,CAAC,CAAC;QAClD,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,IAAI,CAAC,gBAAgB,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QACvE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,kBAAkB,EAAE,CAAC;IAErB,MAAM,OAAO,GAAG,IAAA,aAAG,EAAC,EAAE,IAAI,EAAE,kBAAkB,eAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;IAE5F,IAAI,CAAC;QACH,OAAO,CAAC,IAAI,EAAE,CAAC;QACf,IAAI,QAAkB,CAAC;QAEvB,QAAQ,GAAgB,EAAE,CAAC;YACzB,KAAK,aAAa;gBAAE,QAAQ,GAAG,iBAAiB,EAAE,CAAC;gBAAC,MAAM;YAC1D,KAAK,QAAQ;gBAAO,QAAQ,GAAG,aAAa,EAAE,CAAC;gBAAC,MAAM;YACtD,KAAK,UAAU;gBAAK,QAAQ,GAAG,eAAe,EAAE,CAAC;gBAAC,MAAM;YACxD,KAAK,UAAU;gBAAK,QAAQ,GAAG,eAAe,EAAE,CAAC;gBAAC,MAAM;YACxD,KAAK,OAAO;gBAAQ,QAAQ,GAAG,YAAY,EAAE,CAAC;gBAAC,MAAM;YACrD,KAAK,QAAQ;gBAAO,QAAQ,GAAG,aAAa,EAAE,CAAC;gBAAC,MAAM;YACtD,KAAK,OAAO;gBAAQ,QAAQ,GAAG,YAAY,EAAE,CAAC;gBAAC,MAAM;YACrD,KAAK,SAAS;gBAAM,QAAQ,GAAG,cAAc,EAAE,CAAC;gBAAC,MAAM;YACvD,OAAO,CAAC,CAAY,QAAQ,GAAG,cAAc,EAAE,CAAC;QAClD,CAAC;QAED,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;QAC9C,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAC7C,aAAa,CAAC,UAAU,CAAC,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,oCAAoC,CAAC,CAAC;QAEvE,MAAM,QAAQ,GAAG,GAAG,KAAK,aAAa,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC,CAAC;QACtE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;QACzC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC,CAAC,CAAC;QACjD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,eAAK,CAAC,KAAK,CAAC,iBAAiB,CAAC,GAAG,eAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC;QAC1G,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,0EAA0E,CAAC,CAAC,CAAC;QACtG,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,wFAAwF,CAAC,CAAC,CAAC;QACpH,CAAC;QACD,OAAO,CAAC,GAAG,EAAE,CAAC;IAChB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,eAAK,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAC;QAC/C,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,gFAAgF;AAEhF,SAAS,cAAc,CAAC,QAAgB,EAAE,SAAS,GAAG,WAAW;IAC/D,IAAI,CAAC,IAAA,eAAU,EAAC,QAAQ,CAAC;QAAE,OAAO,KAAK,CAAC;IACxC,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAClC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;QAAE,OAAO,KAAK,CAAC;IACxC,IAAI,CAAE,MAAM,CAAC,YAAY,CAA6B,CAAC,SAAS,CAAC;QAAE,OAAO,KAAK,CAAC;IAChF,OAAQ,MAAM,CAAC,YAAY,CAA6B,CAAC,SAAS,CAAC,CAAC;IACpE,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC5B,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,iBAAiB,CACxB,QAAgB,EAChB,GAAG,IAAc;IAEjB,IAAI,CAAC,IAAA,eAAU,EAAC,QAAQ,CAAC;QAAE,OAAO,KAAK,CAAC;IACxC,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAClC,IAAI,IAAI,GAA4B,MAAM,CAAC;IAC3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;QACjC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAA4B,CAAC;IAClD,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACnC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9B,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC;IAClB,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC5B,OAAO,IAAI,CAAC;AACd,CAAC;AAEM,KAAK,UAAU,gBAAgB;IACpC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,kBAAkB,CAAC,GAAG,eAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAE1E,MAAM,OAAO,GAAG,IAAA,aAAG,EAAC,EAAE,IAAI,EAAE,uBAAuB,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;IAC7E,OAAO,CAAC,IAAI,EAAE,CAAC;IAEf,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,IAAA,YAAO,GAAE,CAAC;QACpB,MAAM,OAAO,GAAa,EAAE,CAAC;QAE7B,2BAA2B;QAC3B,IAAI,cAAc,CAAC,IAAA,WAAI,EAAC,CAAC,EAAE,SAAS,EAAE,4BAA4B,CAAC,CAAC;YAClE,OAAO,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;QAE7C,sBAAsB;QACtB,IAAI,iBAAiB,CAAC,IAAA,WAAI,EAAC,CAAC,EAAE,SAAS,EAAE,eAAe,CAAC,EAAE,SAAS,EAAE,WAAW,CAAC;YAChF,OAAO,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;QAE/C,SAAS;QACT,IAAI,cAAc,CAAC,IAAA,WAAI,EAAC,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;YAChD,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAEnC,WAAW;QACX,IAAI,cAAc,CAAC,IAAA,WAAI,EAAC,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,iBAAiB,CAAC,CAAC;YACpE,OAAO,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;QAEpD,WAAW;QACX,IAAI,iBAAiB,CAAC,IAAA,WAAI,EAAC,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC;YACjG,OAAO,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;QAE/C,YAAY;QACZ,IAAI,cAAc,CAAC,IAAA,WAAI,EAAC,CAAC,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;YAClD,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAErC,aAAa;QACb,IAAI,iBAAiB,CAAC,IAAA,WAAI,EAAC,CAAC,EAAE,SAAS,EAAE,eAAe,CAAC,EAAE,YAAY,EAAE,WAAW,CAAC;YACnF,OAAO,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QAExC,QAAQ;QACR,IAAI,cAAc,CAAC,IAAA,WAAI,EAAC,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;YACzD,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QAEzC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,uCAAuC,CAAC,CAAC,CAAC;YACnE,OAAO;QACT,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,iBAAiB,CAAC,EAAE,CAAC,CAAC;QACzD,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC,CAAC;QACxD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC,CAAC;IACtE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,CAAC,eAAK,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC;QAC5C,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"install.js","sourceRoot":"","sources":["../../../src/cli/commands/install.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@phmotad/fire-code",
3
- "version": "0.2.7",
3
+ "version": "0.2.8",
4
4
  "description": "Intelligent MCP execution engine for AI coding agents — persistent memory, context-aware, Git-traceable",
5
5
  "keywords": [
6
6
  "mcp",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fire-code",
3
- "version": "0.2.7",
3
+ "version": "0.2.8",
4
4
  "description": "Intelligent MCP execution engine for AI coding agents — persistent memory, context-aware, Git-traceable",
5
5
  "author": {
6
6
  "name": "FireCode Contributors",