@stupidloud/codegraph 0.9.5 → 0.9.9

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 (302) hide show
  1. package/README.md +252 -116
  2. package/dist/bin/codegraph.js +52 -82
  3. package/dist/bin/codegraph.js.map +1 -1
  4. package/dist/context/formatter.d.ts.map +1 -1
  5. package/dist/context/formatter.js +25 -6
  6. package/dist/context/formatter.js.map +1 -1
  7. package/dist/context/index.d.ts +22 -0
  8. package/dist/context/index.d.ts.map +1 -1
  9. package/dist/context/index.js +257 -6
  10. package/dist/context/index.js.map +1 -1
  11. package/dist/context/markers.d.ts +19 -0
  12. package/dist/context/markers.d.ts.map +1 -0
  13. package/dist/context/markers.js +22 -0
  14. package/dist/context/markers.js.map +1 -0
  15. package/dist/db/queries.d.ts +88 -0
  16. package/dist/db/queries.d.ts.map +1 -1
  17. package/dist/db/queries.js +251 -7
  18. package/dist/db/queries.js.map +1 -1
  19. package/dist/db/sqlite-adapter.d.ts +7 -0
  20. package/dist/db/sqlite-adapter.d.ts.map +1 -1
  21. package/dist/db/sqlite-adapter.js +3 -0
  22. package/dist/db/sqlite-adapter.js.map +1 -1
  23. package/dist/directory.d.ts.map +1 -1
  24. package/dist/directory.js +6 -20
  25. package/dist/directory.js.map +1 -1
  26. package/dist/extraction/generated-detection.d.ts +30 -0
  27. package/dist/extraction/generated-detection.d.ts.map +1 -0
  28. package/dist/extraction/generated-detection.js +80 -0
  29. package/dist/extraction/generated-detection.js.map +1 -0
  30. package/dist/extraction/grammars.d.ts +17 -1
  31. package/dist/extraction/grammars.d.ts.map +1 -1
  32. package/dist/extraction/grammars.js +65 -1
  33. package/dist/extraction/grammars.js.map +1 -1
  34. package/dist/extraction/index.d.ts +15 -2
  35. package/dist/extraction/index.d.ts.map +1 -1
  36. package/dist/extraction/index.js +206 -98
  37. package/dist/extraction/index.js.map +1 -1
  38. package/dist/extraction/languages/c-cpp.d.ts.map +1 -1
  39. package/dist/extraction/languages/c-cpp.js +45 -0
  40. package/dist/extraction/languages/c-cpp.js.map +1 -1
  41. package/dist/extraction/languages/csharp.d.ts.map +1 -1
  42. package/dist/extraction/languages/csharp.js +2 -1
  43. package/dist/extraction/languages/csharp.js.map +1 -1
  44. package/dist/extraction/languages/go.d.ts.map +1 -1
  45. package/dist/extraction/languages/go.js +18 -2
  46. package/dist/extraction/languages/go.js.map +1 -1
  47. package/dist/extraction/languages/index.d.ts.map +1 -1
  48. package/dist/extraction/languages/index.js +2 -0
  49. package/dist/extraction/languages/index.js.map +1 -1
  50. package/dist/extraction/languages/java.d.ts.map +1 -1
  51. package/dist/extraction/languages/java.js +6 -0
  52. package/dist/extraction/languages/java.js.map +1 -1
  53. package/dist/extraction/languages/kotlin.d.ts.map +1 -1
  54. package/dist/extraction/languages/kotlin.js +6 -0
  55. package/dist/extraction/languages/kotlin.js.map +1 -1
  56. package/dist/extraction/languages/objc.d.ts +3 -0
  57. package/dist/extraction/languages/objc.d.ts.map +1 -0
  58. package/dist/extraction/languages/objc.js +133 -0
  59. package/dist/extraction/languages/objc.js.map +1 -0
  60. package/dist/extraction/mybatis-extractor.d.ts +48 -0
  61. package/dist/extraction/mybatis-extractor.d.ts.map +1 -0
  62. package/dist/extraction/mybatis-extractor.js +198 -0
  63. package/dist/extraction/mybatis-extractor.js.map +1 -0
  64. package/dist/extraction/tree-sitter-types.d.ts +14 -0
  65. package/dist/extraction/tree-sitter-types.d.ts.map +1 -1
  66. package/dist/extraction/tree-sitter.d.ts +84 -0
  67. package/dist/extraction/tree-sitter.d.ts.map +1 -1
  68. package/dist/extraction/tree-sitter.js +681 -20
  69. package/dist/extraction/tree-sitter.js.map +1 -1
  70. package/dist/extraction/vue-extractor.d.ts +15 -0
  71. package/dist/extraction/vue-extractor.d.ts.map +1 -1
  72. package/dist/extraction/vue-extractor.js +88 -0
  73. package/dist/extraction/vue-extractor.js.map +1 -1
  74. package/dist/extraction/wasm-runtime-flags.d.ts.map +1 -1
  75. package/dist/extraction/wasm-runtime-flags.js +1 -0
  76. package/dist/extraction/wasm-runtime-flags.js.map +1 -1
  77. package/dist/graph/traversal.d.ts.map +1 -1
  78. package/dist/graph/traversal.js +5 -2
  79. package/dist/graph/traversal.js.map +1 -1
  80. package/dist/index.d.ts +66 -3
  81. package/dist/index.d.ts.map +1 -1
  82. package/dist/index.js +105 -1
  83. package/dist/index.js.map +1 -1
  84. package/dist/installer/config-writer.d.ts +7 -8
  85. package/dist/installer/config-writer.d.ts.map +1 -1
  86. package/dist/installer/config-writer.js +7 -27
  87. package/dist/installer/config-writer.js.map +1 -1
  88. package/dist/installer/index.d.ts +3 -20
  89. package/dist/installer/index.d.ts.map +1 -1
  90. package/dist/installer/index.js +8 -39
  91. package/dist/installer/index.js.map +1 -1
  92. package/dist/installer/instructions-template.d.ts +11 -21
  93. package/dist/installer/instructions-template.d.ts.map +1 -1
  94. package/dist/installer/instructions-template.js +12 -56
  95. package/dist/installer/instructions-template.js.map +1 -1
  96. package/dist/installer/targets/antigravity.d.ts +57 -0
  97. package/dist/installer/targets/antigravity.d.ts.map +1 -0
  98. package/dist/installer/targets/antigravity.js +308 -0
  99. package/dist/installer/targets/antigravity.js.map +1 -0
  100. package/dist/installer/targets/claude.d.ts +10 -1
  101. package/dist/installer/targets/claude.d.ts.map +1 -1
  102. package/dist/installer/targets/claude.js +25 -40
  103. package/dist/installer/targets/claude.js.map +1 -1
  104. package/dist/installer/targets/codex.d.ts.map +1 -1
  105. package/dist/installer/targets/codex.js +15 -13
  106. package/dist/installer/targets/codex.js.map +1 -1
  107. package/dist/installer/targets/cursor.d.ts.map +1 -1
  108. package/dist/installer/targets/cursor.js +9 -38
  109. package/dist/installer/targets/cursor.js.map +1 -1
  110. package/dist/installer/targets/gemini.d.ts +26 -0
  111. package/dist/installer/targets/gemini.d.ts.map +1 -0
  112. package/dist/installer/targets/gemini.js +167 -0
  113. package/dist/installer/targets/gemini.js.map +1 -0
  114. package/dist/installer/targets/hermes.d.ts.map +1 -1
  115. package/dist/installer/targets/hermes.js +57 -3
  116. package/dist/installer/targets/hermes.js.map +1 -1
  117. package/dist/installer/targets/kiro.d.ts +27 -0
  118. package/dist/installer/targets/kiro.d.ts.map +1 -0
  119. package/dist/installer/targets/kiro.js +178 -0
  120. package/dist/installer/targets/kiro.js.map +1 -0
  121. package/dist/installer/targets/opencode.d.ts.map +1 -1
  122. package/dist/installer/targets/opencode.js +15 -13
  123. package/dist/installer/targets/opencode.js.map +1 -1
  124. package/dist/installer/targets/registry.d.ts.map +1 -1
  125. package/dist/installer/targets/registry.js +6 -0
  126. package/dist/installer/targets/registry.js.map +1 -1
  127. package/dist/installer/targets/shared.d.ts.map +1 -1
  128. package/dist/installer/targets/shared.js +3 -2
  129. package/dist/installer/targets/shared.js.map +1 -1
  130. package/dist/installer/targets/types.d.ts +1 -16
  131. package/dist/installer/targets/types.d.ts.map +1 -1
  132. package/dist/mcp/daemon-paths.d.ts +46 -0
  133. package/dist/mcp/daemon-paths.d.ts.map +1 -0
  134. package/dist/mcp/daemon-paths.js +125 -0
  135. package/dist/mcp/daemon-paths.js.map +1 -0
  136. package/dist/mcp/daemon.d.ts +161 -0
  137. package/dist/mcp/daemon.d.ts.map +1 -0
  138. package/dist/mcp/daemon.js +403 -0
  139. package/dist/mcp/daemon.js.map +1 -0
  140. package/dist/mcp/engine.d.ts +105 -0
  141. package/dist/mcp/engine.d.ts.map +1 -0
  142. package/dist/mcp/engine.js +270 -0
  143. package/dist/mcp/engine.js.map +1 -0
  144. package/dist/mcp/index.d.ts +67 -53
  145. package/dist/mcp/index.d.ts.map +1 -1
  146. package/dist/mcp/index.js +315 -388
  147. package/dist/mcp/index.js.map +1 -1
  148. package/dist/mcp/proxy.d.ts +81 -0
  149. package/dist/mcp/proxy.d.ts.map +1 -0
  150. package/dist/mcp/proxy.js +510 -0
  151. package/dist/mcp/proxy.js.map +1 -0
  152. package/dist/mcp/server-instructions.d.ts +1 -1
  153. package/dist/mcp/server-instructions.d.ts.map +1 -1
  154. package/dist/mcp/server-instructions.js +21 -21
  155. package/dist/mcp/session.d.ts +77 -0
  156. package/dist/mcp/session.d.ts.map +1 -0
  157. package/dist/mcp/session.js +294 -0
  158. package/dist/mcp/session.js.map +1 -0
  159. package/dist/mcp/tools.d.ts +160 -14
  160. package/dist/mcp/tools.d.ts.map +1 -1
  161. package/dist/mcp/tools.js +1622 -322
  162. package/dist/mcp/tools.js.map +1 -1
  163. package/dist/mcp/transport.d.ts +111 -29
  164. package/dist/mcp/transport.d.ts.map +1 -1
  165. package/dist/mcp/transport.js +181 -71
  166. package/dist/mcp/transport.js.map +1 -1
  167. package/dist/mcp/version.d.ts +19 -0
  168. package/dist/mcp/version.d.ts.map +1 -0
  169. package/dist/mcp/version.js +71 -0
  170. package/dist/mcp/version.js.map +1 -0
  171. package/dist/resolution/callback-synthesizer.d.ts +10 -0
  172. package/dist/resolution/callback-synthesizer.d.ts.map +1 -0
  173. package/dist/resolution/callback-synthesizer.js +1300 -0
  174. package/dist/resolution/callback-synthesizer.js.map +1 -0
  175. package/dist/resolution/frameworks/csharp.d.ts.map +1 -1
  176. package/dist/resolution/frameworks/csharp.js +36 -8
  177. package/dist/resolution/frameworks/csharp.js.map +1 -1
  178. package/dist/resolution/frameworks/drupal.d.ts.map +1 -1
  179. package/dist/resolution/frameworks/drupal.js +44 -12
  180. package/dist/resolution/frameworks/drupal.js.map +1 -1
  181. package/dist/resolution/frameworks/expo-modules.d.ts +3 -0
  182. package/dist/resolution/frameworks/expo-modules.d.ts.map +1 -0
  183. package/dist/resolution/frameworks/expo-modules.js +143 -0
  184. package/dist/resolution/frameworks/expo-modules.js.map +1 -0
  185. package/dist/resolution/frameworks/express.d.ts.map +1 -1
  186. package/dist/resolution/frameworks/express.js +102 -19
  187. package/dist/resolution/frameworks/express.js.map +1 -1
  188. package/dist/resolution/frameworks/fabric.d.ts +3 -0
  189. package/dist/resolution/frameworks/fabric.d.ts.map +1 -0
  190. package/dist/resolution/frameworks/fabric.js +354 -0
  191. package/dist/resolution/frameworks/fabric.js.map +1 -0
  192. package/dist/resolution/frameworks/go.d.ts.map +1 -1
  193. package/dist/resolution/frameworks/go.js +6 -3
  194. package/dist/resolution/frameworks/go.js.map +1 -1
  195. package/dist/resolution/frameworks/index.d.ts +5 -0
  196. package/dist/resolution/frameworks/index.d.ts.map +1 -1
  197. package/dist/resolution/frameworks/index.js +25 -1
  198. package/dist/resolution/frameworks/index.js.map +1 -1
  199. package/dist/resolution/frameworks/java.d.ts.map +1 -1
  200. package/dist/resolution/frameworks/java.js +339 -12
  201. package/dist/resolution/frameworks/java.js.map +1 -1
  202. package/dist/resolution/frameworks/laravel.d.ts.map +1 -1
  203. package/dist/resolution/frameworks/laravel.js +17 -8
  204. package/dist/resolution/frameworks/laravel.js.map +1 -1
  205. package/dist/resolution/frameworks/nestjs.d.ts.map +1 -1
  206. package/dist/resolution/frameworks/nestjs.js +324 -0
  207. package/dist/resolution/frameworks/nestjs.js.map +1 -1
  208. package/dist/resolution/frameworks/play.d.ts +19 -0
  209. package/dist/resolution/frameworks/play.d.ts.map +1 -0
  210. package/dist/resolution/frameworks/play.js +111 -0
  211. package/dist/resolution/frameworks/play.js.map +1 -0
  212. package/dist/resolution/frameworks/python.d.ts.map +1 -1
  213. package/dist/resolution/frameworks/python.js +134 -16
  214. package/dist/resolution/frameworks/python.js.map +1 -1
  215. package/dist/resolution/frameworks/react-native.d.ts +3 -0
  216. package/dist/resolution/frameworks/react-native.d.ts.map +1 -0
  217. package/dist/resolution/frameworks/react-native.js +360 -0
  218. package/dist/resolution/frameworks/react-native.js.map +1 -0
  219. package/dist/resolution/frameworks/react.d.ts.map +1 -1
  220. package/dist/resolution/frameworks/react.js +96 -3
  221. package/dist/resolution/frameworks/react.js.map +1 -1
  222. package/dist/resolution/frameworks/ruby.d.ts.map +1 -1
  223. package/dist/resolution/frameworks/ruby.js +106 -2
  224. package/dist/resolution/frameworks/ruby.js.map +1 -1
  225. package/dist/resolution/frameworks/rust.d.ts.map +1 -1
  226. package/dist/resolution/frameworks/rust.js +102 -5
  227. package/dist/resolution/frameworks/rust.js.map +1 -1
  228. package/dist/resolution/frameworks/swift-objc.d.ts +37 -0
  229. package/dist/resolution/frameworks/swift-objc.d.ts.map +1 -0
  230. package/dist/resolution/frameworks/swift-objc.js +252 -0
  231. package/dist/resolution/frameworks/swift-objc.js.map +1 -0
  232. package/dist/resolution/frameworks/swift.d.ts.map +1 -1
  233. package/dist/resolution/frameworks/swift.js +30 -6
  234. package/dist/resolution/frameworks/swift.js.map +1 -1
  235. package/dist/resolution/go-module.d.ts +26 -0
  236. package/dist/resolution/go-module.d.ts.map +1 -0
  237. package/dist/resolution/go-module.js +78 -0
  238. package/dist/resolution/go-module.js.map +1 -0
  239. package/dist/resolution/import-resolver.d.ts +28 -0
  240. package/dist/resolution/import-resolver.d.ts.map +1 -1
  241. package/dist/resolution/import-resolver.js +617 -5
  242. package/dist/resolution/import-resolver.js.map +1 -1
  243. package/dist/resolution/index.d.ts +11 -0
  244. package/dist/resolution/index.d.ts.map +1 -1
  245. package/dist/resolution/index.js +156 -3
  246. package/dist/resolution/index.js.map +1 -1
  247. package/dist/resolution/name-matcher.d.ts.map +1 -1
  248. package/dist/resolution/name-matcher.js +212 -0
  249. package/dist/resolution/name-matcher.js.map +1 -1
  250. package/dist/resolution/swift-objc-bridge.d.ts +134 -0
  251. package/dist/resolution/swift-objc-bridge.d.ts.map +1 -0
  252. package/dist/resolution/swift-objc-bridge.js +256 -0
  253. package/dist/resolution/swift-objc-bridge.js.map +1 -0
  254. package/dist/resolution/types.d.ts +44 -0
  255. package/dist/resolution/types.d.ts.map +1 -1
  256. package/dist/resolution/workspace-packages.d.ts +48 -0
  257. package/dist/resolution/workspace-packages.d.ts.map +1 -0
  258. package/dist/resolution/workspace-packages.js +208 -0
  259. package/dist/resolution/workspace-packages.js.map +1 -0
  260. package/dist/search/query-utils.d.ts +18 -0
  261. package/dist/search/query-utils.d.ts.map +1 -1
  262. package/dist/search/query-utils.js +30 -0
  263. package/dist/search/query-utils.js.map +1 -1
  264. package/dist/sync/git-hooks.d.ts.map +1 -1
  265. package/dist/sync/git-hooks.js +2 -0
  266. package/dist/sync/git-hooks.js.map +1 -1
  267. package/dist/sync/index.d.ts +3 -1
  268. package/dist/sync/index.d.ts.map +1 -1
  269. package/dist/sync/index.js +8 -1
  270. package/dist/sync/index.js.map +1 -1
  271. package/dist/sync/watcher.d.ts +212 -8
  272. package/dist/sync/watcher.d.ts.map +1 -1
  273. package/dist/sync/watcher.js +465 -51
  274. package/dist/sync/watcher.js.map +1 -1
  275. package/dist/sync/worktree.d.ts +54 -0
  276. package/dist/sync/worktree.d.ts.map +1 -0
  277. package/dist/sync/worktree.js +137 -0
  278. package/dist/sync/worktree.js.map +1 -0
  279. package/dist/types.d.ts +9 -1
  280. package/dist/types.d.ts.map +1 -1
  281. package/dist/types.js +3 -0
  282. package/dist/types.js.map +1 -1
  283. package/package.json +1 -1
  284. package/scripts/agent-eval/arms-F.sh +21 -0
  285. package/scripts/agent-eval/arms-matrix.sh +37 -0
  286. package/scripts/agent-eval/bench-readme.sh +28 -0
  287. package/scripts/agent-eval/bench-why-repo.sh +22 -0
  288. package/scripts/agent-eval/block-read-hook.sh +19 -0
  289. package/scripts/agent-eval/hook-settings.json +15 -0
  290. package/scripts/agent-eval/itrun.sh +24 -11
  291. package/scripts/agent-eval/parse-arms.mjs +116 -0
  292. package/scripts/agent-eval/parse-bench-readme.mjs +84 -0
  293. package/scripts/agent-eval/probe-context.mjs +21 -0
  294. package/scripts/agent-eval/probe-explore.mjs +40 -0
  295. package/scripts/agent-eval/probe-node.mjs +20 -0
  296. package/scripts/agent-eval/probe-sweep.mjs +119 -0
  297. package/scripts/agent-eval/probe-trace.mjs +20 -0
  298. package/scripts/agent-eval/run-arms.sh +56 -0
  299. package/scripts/agent-eval/seq-matrix.mjs +137 -0
  300. package/scripts/npm-sdk.js +75 -0
  301. package/scripts/pack-npm.sh +25 -1
  302. package/scripts/prepare-release.mjs +270 -0
@@ -0,0 +1,308 @@
1
+ "use strict";
2
+ /**
3
+ * Google Antigravity IDE target. Antigravity is Google's VS Code-derived
4
+ * multi-agent IDE; the Gemini CLI is in the process of consolidating with
5
+ * it under a single agent platform. Antigravity reads MCP server
6
+ * definitions from a separate config file from the CLI.
7
+ *
8
+ * ## Config path: unified vs legacy
9
+ *
10
+ * Antigravity recently migrated to a **unified** MCP config path shared
11
+ * across all Antigravity tools:
12
+ *
13
+ * - **Unified** (post-migration, current): `~/.gemini/config/mcp_config.json`
14
+ * — signalled by the `~/.gemini/config/.migrated` marker file.
15
+ * - **Legacy** (pre-migration): `~/.gemini/antigravity/mcp_config.json`
16
+ * — what the github-mcp-server install guide still documents.
17
+ *
18
+ * We detect the marker at install time and write to the right path. On
19
+ * uninstall we sweep BOTH — so a user who installed on the legacy path,
20
+ * was then auto-migrated by Antigravity, and re-ran `codegraph install`
21
+ * doesn't end up with stale codegraph entries in two files.
22
+ *
23
+ * ## Entry shape: no `type: stdio` field
24
+ *
25
+ * Antigravity rejects MCP entries that carry the `type: "stdio"` field
26
+ * the rest of our targets use — the working entries it manages itself
27
+ * (e.g. `code-review-graph`) omit it, and dropping it was load-bearing
28
+ * to get codegraph to appear in the Customizations UI. We build the
29
+ * entry locally instead of routing through `getMcpServerConfig()`.
30
+ *
31
+ * ## macOS GUI app PATH resolution
32
+ *
33
+ * Antigravity is a GUI Electron app. macOS gives Dock/Finder-launched
34
+ * apps a stripped PATH (`/usr/bin:/bin:/usr/sbin:/sbin`) — nvm-managed
35
+ * tools live outside that, so a bare `codegraph` command fails to spawn
36
+ * even when `which codegraph` resolves in the user's shell. We resolve
37
+ * `codegraph` to its absolute path on macOS at install time. (Linux GUI
38
+ * apps inherit user PATH; Windows uses `PATH` env directly — both are
39
+ * fine with the bare command.)
40
+ *
41
+ * ## Shared instructions (no GEMINI.md from here)
42
+ *
43
+ * The IDE shares `~/.gemini/GEMINI.md` with Gemini CLI for instructions
44
+ * — written by the `./gemini.ts` target. We deliberately don't touch it
45
+ * here so uninstalling Antigravity without uninstalling Gemini CLI
46
+ * leaves CLI instructions intact. Users who install only Antigravity
47
+ * still get a working MCP integration; the prefer-codegraph-over-grep
48
+ * guidance just won't be present unless they also install the gemini
49
+ * target.
50
+ *
51
+ * ## Location
52
+ *
53
+ * `supportsLocation('local')` returns false — Antigravity has no
54
+ * project-scoped config concept as of 2026-05.
55
+ */
56
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
57
+ if (k2 === undefined) k2 = k;
58
+ var desc = Object.getOwnPropertyDescriptor(m, k);
59
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
60
+ desc = { enumerable: true, get: function() { return m[k]; } };
61
+ }
62
+ Object.defineProperty(o, k2, desc);
63
+ }) : (function(o, m, k, k2) {
64
+ if (k2 === undefined) k2 = k;
65
+ o[k2] = m[k];
66
+ }));
67
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
68
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
69
+ }) : function(o, v) {
70
+ o["default"] = v;
71
+ });
72
+ var __importStar = (this && this.__importStar) || (function () {
73
+ var ownKeys = function(o) {
74
+ ownKeys = Object.getOwnPropertyNames || function (o) {
75
+ var ar = [];
76
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
77
+ return ar;
78
+ };
79
+ return ownKeys(o);
80
+ };
81
+ return function (mod) {
82
+ if (mod && mod.__esModule) return mod;
83
+ var result = {};
84
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
85
+ __setModuleDefault(result, mod);
86
+ return result;
87
+ };
88
+ })();
89
+ Object.defineProperty(exports, "__esModule", { value: true });
90
+ exports.antigravityTarget = void 0;
91
+ const fs = __importStar(require("fs"));
92
+ const path = __importStar(require("path"));
93
+ const os = __importStar(require("os"));
94
+ const child_process_1 = require("child_process");
95
+ const shared_1 = require("./shared");
96
+ function unifiedConfigDir() {
97
+ return path.join(os.homedir(), '.gemini', 'config');
98
+ }
99
+ function unifiedMcpConfigPath() {
100
+ return path.join(unifiedConfigDir(), 'mcp_config.json');
101
+ }
102
+ function legacyConfigDir() {
103
+ return path.join(os.homedir(), '.gemini', 'antigravity');
104
+ }
105
+ function legacyMcpConfigPath() {
106
+ return path.join(legacyConfigDir(), 'mcp_config.json');
107
+ }
108
+ function migratedMarkerPath() {
109
+ return path.join(unifiedConfigDir(), '.migrated');
110
+ }
111
+ /**
112
+ * Pick the right MCP config path to write to.
113
+ *
114
+ * Prefers the unified `~/.gemini/config/mcp_config.json` when Antigravity
115
+ * has signalled it's migrated (`.migrated` marker present, OR the
116
+ * unified file already exists — Antigravity creates it on first
117
+ * launch post-migration). Falls back to the legacy
118
+ * `~/.gemini/antigravity/mcp_config.json` for users on a pre-migration
119
+ * Antigravity build.
120
+ */
121
+ function preferredMcpConfigPath() {
122
+ if (fs.existsSync(migratedMarkerPath()))
123
+ return unifiedMcpConfigPath();
124
+ if (fs.existsSync(unifiedMcpConfigPath()))
125
+ return unifiedMcpConfigPath();
126
+ return legacyMcpConfigPath();
127
+ }
128
+ /**
129
+ * Resolve the on-disk path of the `codegraph` binary so a Mac GUI app
130
+ * launched from Dock/Finder (with a stripped PATH) can find it. Falls
131
+ * back to the bare `codegraph` name when:
132
+ *
133
+ * - we're not on macOS (Linux GUI apps inherit user PATH; Windows
134
+ * uses env PATH directly), OR
135
+ * - the lookup fails for any reason (preserving install in restricted
136
+ * environments where `which`/`command -v` aren't available).
137
+ *
138
+ * Resolution prefers `command -v` (built-in, no PATH manipulation),
139
+ * with `which` as a fallback. Both are read via the user's interactive
140
+ * shell PATH at install time — that's the right PATH for finding
141
+ * nvm-managed tools like ours.
142
+ */
143
+ function resolveCodegraphCommand() {
144
+ if (process.platform !== 'darwin')
145
+ return 'codegraph';
146
+ try {
147
+ const resolved = (0, child_process_1.execSync)('command -v codegraph || which codegraph', {
148
+ encoding: 'utf-8',
149
+ stdio: ['ignore', 'pipe', 'ignore'],
150
+ shell: '/bin/bash',
151
+ windowsHide: true,
152
+ }).trim();
153
+ if (resolved && fs.existsSync(resolved))
154
+ return resolved;
155
+ }
156
+ catch {
157
+ /* fall through to bare name */
158
+ }
159
+ return 'codegraph';
160
+ }
161
+ /**
162
+ * Build the codegraph MCP-server entry for Antigravity. Distinct from
163
+ * `getMcpServerConfig()` because Antigravity (a) rejects the `type`
164
+ * field and (b) needs an absolute command path on macOS — see file
165
+ * header.
166
+ */
167
+ function buildAntigravityEntry() {
168
+ return {
169
+ command: resolveCodegraphCommand(),
170
+ args: ['serve', '--mcp'],
171
+ };
172
+ }
173
+ class AntigravityTarget {
174
+ id = 'antigravity';
175
+ displayName = 'Antigravity IDE';
176
+ docsUrl = 'https://antigravity.google';
177
+ supportsLocation(loc) {
178
+ return loc === 'global';
179
+ }
180
+ detect(loc) {
181
+ if (loc !== 'global') {
182
+ return { installed: false, alreadyConfigured: false };
183
+ }
184
+ const file = preferredMcpConfigPath();
185
+ const config = (0, shared_1.readJsonFile)(file);
186
+ const alreadyConfigured = !!config.mcpServers?.codegraph;
187
+ // "Installed" heuristic: either the unified config dir, the legacy
188
+ // config dir, or one of the config files exists. Antigravity creates
189
+ // ~/.gemini/ on first launch even before MCP configs.
190
+ const installed = fs.existsSync(unifiedConfigDir()) ||
191
+ fs.existsSync(legacyConfigDir()) ||
192
+ fs.existsSync(file);
193
+ return { installed, alreadyConfigured, configPath: file };
194
+ }
195
+ install(loc, _opts) {
196
+ if (loc !== 'global') {
197
+ return {
198
+ files: [],
199
+ notes: ['Antigravity IDE has no project-local config — re-run with --location=global.'],
200
+ };
201
+ }
202
+ const files = [];
203
+ files.push(writeMcpEntry());
204
+ // If the user originally installed on the legacy path and Antigravity
205
+ // has since migrated, strip the stale legacy entry so they don't
206
+ // wind up with two competing codegraph configs.
207
+ const legacyCleanup = cleanupLegacyEntry();
208
+ if (legacyCleanup)
209
+ files.push(legacyCleanup);
210
+ return {
211
+ files,
212
+ notes: ['Restart Antigravity for MCP changes to take effect.'],
213
+ };
214
+ }
215
+ uninstall(loc) {
216
+ if (loc !== 'global')
217
+ return { files: [] };
218
+ const files = [];
219
+ // Remove from the preferred path.
220
+ const preferred = preferredMcpConfigPath();
221
+ files.push(removeCodegraphFromFile(preferred));
222
+ // Also sweep the OTHER path (legacy when preferred is unified, and
223
+ // vice versa) — handles the migration-half-state case where codegraph
224
+ // got written to one file but Antigravity now reads from the other.
225
+ const other = preferred === unifiedMcpConfigPath()
226
+ ? legacyMcpConfigPath()
227
+ : unifiedMcpConfigPath();
228
+ if (preferred !== other) {
229
+ const otherResult = removeCodegraphFromFile(other);
230
+ // Only surface the secondary file if we actually touched it —
231
+ // a `not-found` on a file the user never had is noise.
232
+ if (otherResult.action === 'removed')
233
+ files.push(otherResult);
234
+ }
235
+ return { files };
236
+ }
237
+ printConfig(loc) {
238
+ if (loc !== 'global') {
239
+ return '# Antigravity IDE has no project-local config — use --location=global.\n';
240
+ }
241
+ const file = preferredMcpConfigPath();
242
+ const snippet = JSON.stringify({ mcpServers: { codegraph: buildAntigravityEntry() } }, null, 2);
243
+ return `# Add to ${file}\n\n${snippet}\n`;
244
+ }
245
+ describePaths(loc) {
246
+ if (loc !== 'global')
247
+ return [];
248
+ return [preferredMcpConfigPath()];
249
+ }
250
+ }
251
+ function writeMcpEntry() {
252
+ const file = preferredMcpConfigPath();
253
+ const dir = path.dirname(file);
254
+ if (!fs.existsSync(dir))
255
+ fs.mkdirSync(dir, { recursive: true });
256
+ const existing = (0, shared_1.readJsonFile)(file);
257
+ const before = existing.mcpServers?.codegraph;
258
+ const after = buildAntigravityEntry();
259
+ if ((0, shared_1.jsonDeepEqual)(before, after)) {
260
+ return { path: file, action: 'unchanged' };
261
+ }
262
+ const action = before ? 'updated' : (fs.existsSync(file) ? 'updated' : 'created');
263
+ if (!existing.mcpServers)
264
+ existing.mcpServers = {};
265
+ existing.mcpServers.codegraph = after;
266
+ (0, shared_1.writeJsonFile)(file, existing);
267
+ return { path: file, action };
268
+ }
269
+ /**
270
+ * Strip the codegraph entry from the legacy `~/.gemini/antigravity/mcp_config.json`
271
+ * if it's present AND we're writing to the unified path. Used by install
272
+ * to migrate users who had codegraph configured on the legacy path
273
+ * before Antigravity migrated their config. Returns the file action for
274
+ * reporting, or `null` when there's nothing to clean up.
275
+ */
276
+ function cleanupLegacyEntry() {
277
+ if (preferredMcpConfigPath() !== unifiedMcpConfigPath())
278
+ return null;
279
+ const legacy = legacyMcpConfigPath();
280
+ if (!fs.existsSync(legacy))
281
+ return null;
282
+ const config = (0, shared_1.readJsonFile)(legacy);
283
+ if (!config.mcpServers?.codegraph)
284
+ return null;
285
+ delete config.mcpServers.codegraph;
286
+ if (Object.keys(config.mcpServers).length === 0) {
287
+ delete config.mcpServers;
288
+ }
289
+ (0, shared_1.writeJsonFile)(legacy, config);
290
+ return { path: legacy, action: 'removed' };
291
+ }
292
+ function removeCodegraphFromFile(file) {
293
+ if (!fs.existsSync(file))
294
+ return { path: file, action: 'not-found' };
295
+ const config = (0, shared_1.readJsonFile)(file);
296
+ if (!config.mcpServers?.codegraph)
297
+ return { path: file, action: 'not-found' };
298
+ delete config.mcpServers.codegraph;
299
+ if (Object.keys(config.mcpServers).length === 0) {
300
+ delete config.mcpServers;
301
+ }
302
+ // Leave a now-empty `{}` in place — Antigravity manages this file and
303
+ // a stray empty file is less surprising than a deletion.
304
+ (0, shared_1.writeJsonFile)(file, config);
305
+ return { path: file, action: 'removed' };
306
+ }
307
+ exports.antigravityTarget = new AntigravityTarget();
308
+ //# sourceMappingURL=antigravity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"antigravity.js","sourceRoot":"","sources":["../../../src/installer/targets/antigravity.ts"],"names":[],"mappings":"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"}
@@ -42,6 +42,15 @@ export declare function writeMcpEntry(loc: Location): WriteResult['files'][numbe
42
42
  */
43
43
  export declare function cleanupLegacyHooks(loc: Location): WriteResult['files'][number];
44
44
  export declare function writePermissionsEntry(loc: Location): WriteResult['files'][number];
45
- export declare function writeInstructionsEntry(loc: Location): WriteResult['files'][number];
45
+ /**
46
+ * Strip the marker-delimited CodeGraph block from CLAUDE.md if a prior
47
+ * install wrote one. Codegraph no longer maintains an instructions file
48
+ * (issue #529) — the MCP server's `initialize` instructions are the
49
+ * single source of truth — so both install (self-heal on upgrade) and
50
+ * uninstall call this. `removeMarkedSection` returns `not-found`/`kept`
51
+ * when there's nothing to strip; the install caller drops those from
52
+ * the report so a fresh install stays quiet.
53
+ */
54
+ export declare function removeInstructionsEntry(loc: Location): WriteResult['files'][number];
46
55
  export declare const claudeTarget: AgentTarget;
47
56
  //# sourceMappingURL=claude.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../../../src/installer/targets/claude.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAKH,OAAO,EACL,WAAW,EAGX,QAAQ,EACR,WAAW,EACZ,MAAM,SAAS,CAAC;AAkLjB;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAsBzE;AA6CD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CA0C9E;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAoBjF;AAED,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CA0ClF;AAED,eAAO,MAAM,YAAY,EAAE,WAAoC,CAAC"}
1
+ {"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../../../src/installer/targets/claude.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAKH,OAAO,EACL,WAAW,EAGX,QAAQ,EACR,WAAW,EACZ,MAAM,SAAS,CAAC;AAoLjB;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAsBzE;AA6CD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CA0C9E;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAoBjF;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAInF;AAED,eAAO,MAAM,YAAY,EAAE,WAAoC,CAAC"}
@@ -55,7 +55,7 @@ exports.claudeTarget = void 0;
55
55
  exports.writeMcpEntry = writeMcpEntry;
56
56
  exports.cleanupLegacyHooks = cleanupLegacyHooks;
57
57
  exports.writePermissionsEntry = writePermissionsEntry;
58
- exports.writeInstructionsEntry = writeInstructionsEntry;
58
+ exports.removeInstructionsEntry = removeInstructionsEntry;
59
59
  const fs = __importStar(require("fs"));
60
60
  const path = __importStar(require("path"));
61
61
  const os = __importStar(require("os"));
@@ -134,8 +134,16 @@ class ClaudeCodeTarget {
134
134
  const hookCleanup = cleanupLegacyHooks(loc);
135
135
  if (hookCleanup.action === 'removed')
136
136
  files.push(hookCleanup);
137
- // 3. CLAUDE.md instructions
138
- files.push(writeInstructionsEntry(loc));
137
+ // 3. CLAUDE.md instructions — no longer written. The codegraph
138
+ // usage guidance now ships solely in the MCP server's `initialize`
139
+ // response (see `mcp/server-instructions.ts`), which Claude Code
140
+ // surfaces in the system prompt automatically. Writing it into
141
+ // CLAUDE.md as well meant the agent read the same playbook twice
142
+ // every turn (issue #529). Strip any block a previous install left
143
+ // behind so an upgrade self-heals — same idiom as the hook cleanup.
144
+ const instrCleanup = removeInstructionsEntry(loc);
145
+ if (instrCleanup.action === 'removed')
146
+ files.push(instrCleanup);
139
147
  return { files };
140
148
  }
141
149
  uninstall(loc) {
@@ -192,10 +200,8 @@ class ClaudeCodeTarget {
192
200
  const hookCleanup = cleanupLegacyHooks(loc);
193
201
  if (hookCleanup.action === 'removed')
194
202
  files.push(hookCleanup);
195
- // 3. Instructions
196
- const instr = instructionsPath(loc);
197
- const action = (0, shared_1.removeMarkedSection)(instr, instructions_template_1.CODEGRAPH_SECTION_START, instructions_template_1.CODEGRAPH_SECTION_END);
198
- files.push({ path: instr, action });
203
+ // 3. Instructions — strip the legacy CodeGraph block if present.
204
+ files.push(removeInstructionsEntry(loc));
199
205
  return { files };
200
206
  }
201
207
  printConfig(loc) {
@@ -362,40 +368,19 @@ function writePermissionsEntry(loc) {
362
368
  (0, shared_1.writeJsonFile)(file, settings);
363
369
  return { path: file, action: created ? 'created' : 'updated' };
364
370
  }
365
- function writeInstructionsEntry(loc) {
371
+ /**
372
+ * Strip the marker-delimited CodeGraph block from CLAUDE.md if a prior
373
+ * install wrote one. Codegraph no longer maintains an instructions file
374
+ * (issue #529) — the MCP server's `initialize` instructions are the
375
+ * single source of truth — so both install (self-heal on upgrade) and
376
+ * uninstall call this. `removeMarkedSection` returns `not-found`/`kept`
377
+ * when there's nothing to strip; the install caller drops those from
378
+ * the report so a fresh install stays quiet.
379
+ */
380
+ function removeInstructionsEntry(loc) {
366
381
  const file = instructionsPath(loc);
367
- // Ensure config dir exists (for global ~/.claude/).
368
- const dir = path.dirname(file);
369
- if (!fs.existsSync(dir))
370
- fs.mkdirSync(dir, { recursive: true });
371
- // Honor the legacy "unmarked ## CodeGraph" rewrite path that the
372
- // original installer supported (some users hand-pasted a section
373
- // before markers existed). Detect first and migrate inline.
374
- if (fs.existsSync(file)) {
375
- const content = fs.readFileSync(file, 'utf-8');
376
- if (!content.includes(instructions_template_1.CODEGRAPH_SECTION_START)) {
377
- const headerMatch = content.match(/\n## CodeGraph\n/);
378
- if (headerMatch && headerMatch.index !== undefined) {
379
- const sectionStart = headerMatch.index;
380
- const after = content.substring(sectionStart + 1);
381
- const nextHeader = after.match(/\n## (?!#)/);
382
- const sectionEnd = nextHeader && nextHeader.index !== undefined
383
- ? sectionStart + 1 + nextHeader.index
384
- : content.length;
385
- const merged = content.substring(0, sectionStart) +
386
- '\n' + instructions_template_1.INSTRUCTIONS_TEMPLATE +
387
- content.substring(sectionEnd);
388
- (0, shared_1.atomicWriteFileSync)(file, merged);
389
- return { path: file, action: 'updated' };
390
- }
391
- }
392
- }
393
- const action = (0, shared_1.replaceOrAppendMarkedSection)(file, instructions_template_1.INSTRUCTIONS_TEMPLATE, instructions_template_1.CODEGRAPH_SECTION_START, instructions_template_1.CODEGRAPH_SECTION_END);
394
- // Map the four-state action to WriteResult's action vocabulary.
395
- const mapped = action === 'created' ? 'created'
396
- : action === 'unchanged' ? 'unchanged'
397
- : 'updated';
398
- return { path: file, action: mapped };
382
+ const action = (0, shared_1.removeMarkedSection)(file, instructions_template_1.CODEGRAPH_SECTION_START, instructions_template_1.CODEGRAPH_SECTION_END);
383
+ return { path: file, action };
399
384
  }
400
385
  exports.claudeTarget = new ClaudeCodeTarget();
401
386
  //# sourceMappingURL=claude.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"claude.js","sourceRoot":"","sources":["../../../src/installer/targets/claude.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claude.js","sourceRoot":"","sources":["../../../src/installer/targets/claude.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"codex.d.ts","sourceRoot":"","sources":["../../../src/installer/targets/codex.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAKH,OAAO,EACL,WAAW,EAKZ,MAAM,SAAS,CAAC;AA2JjB,eAAO,MAAM,WAAW,EAAE,WAA+B,CAAC"}
1
+ {"version":3,"file":"codex.d.ts","sourceRoot":"","sources":["../../../src/installer/targets/codex.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAKH,OAAO,EACL,WAAW,EAKZ,MAAM,SAAS,CAAC;AAqJjB,eAAO,MAAM,WAAW,EAAE,WAA+B,CAAC"}
@@ -97,7 +97,12 @@ class CodexTarget {
97
97
  }
98
98
  const files = [];
99
99
  files.push(writeMcpEntry());
100
- files.push(writeInstructionsEntry());
100
+ // AGENTS.md is no longer written — the codegraph usage guidance
101
+ // ships in the MCP server's `initialize` response (issue #529).
102
+ // Strip a block a previous install left so an upgrade self-heals.
103
+ const instrCleanup = removeInstructionsEntry();
104
+ if (instrCleanup.action === 'removed')
105
+ files.push(instrCleanup);
101
106
  return { files };
102
107
  }
103
108
  uninstall(loc) {
@@ -127,9 +132,7 @@ class CodexTarget {
127
132
  else {
128
133
  files.push({ path: tomlPath, action: 'not-found' });
129
134
  }
130
- const instr = instructionsPath();
131
- const instrAction = (0, shared_1.removeMarkedSection)(instr, instructions_template_1.CODEGRAPH_SECTION_START, instructions_template_1.CODEGRAPH_SECTION_END);
132
- files.push({ path: instr, action: instrAction });
135
+ files.push(removeInstructionsEntry());
133
136
  return { files };
134
137
  }
135
138
  printConfig(loc) {
@@ -170,16 +173,15 @@ function writeMcpEntry() {
170
173
  (0, shared_1.atomicWriteFileSync)(file, nextContent);
171
174
  return { path: file, action: created ? 'created' : 'updated' };
172
175
  }
173
- function writeInstructionsEntry() {
176
+ /**
177
+ * Strip the marker-delimited CodeGraph block from `~/.codex/AGENTS.md`
178
+ * if a prior install wrote one. Used by both install (self-heal on
179
+ * upgrade) and uninstall — see issue #529.
180
+ */
181
+ function removeInstructionsEntry() {
174
182
  const file = instructionsPath();
175
- const dir = path.dirname(file);
176
- if (!fs.existsSync(dir))
177
- fs.mkdirSync(dir, { recursive: true });
178
- const action = (0, shared_1.replaceOrAppendMarkedSection)(file, instructions_template_1.INSTRUCTIONS_TEMPLATE, instructions_template_1.CODEGRAPH_SECTION_START, instructions_template_1.CODEGRAPH_SECTION_END);
179
- const mapped = action === 'created' ? 'created'
180
- : action === 'unchanged' ? 'unchanged'
181
- : 'updated';
182
- return { path: file, action: mapped };
183
+ const action = (0, shared_1.removeMarkedSection)(file, instructions_template_1.CODEGRAPH_SECTION_START, instructions_template_1.CODEGRAPH_SECTION_END);
184
+ return { path: file, action };
183
185
  }
184
186
  exports.codexTarget = new CodexTarget();
185
187
  //# sourceMappingURL=codex.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"codex.js","sourceRoot":"","sources":["../../../src/installer/targets/codex.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codex.js","sourceRoot":"","sources":["../../../src/installer/targets/codex.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"cursor.d.ts","sourceRoot":"","sources":["../../../src/installer/targets/cursor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAKH,OAAO,EACL,WAAW,EAKZ,MAAM,SAAS,CAAC;AAuPjB,eAAO,MAAM,YAAY,EAAE,WAAgC,CAAC"}
1
+ {"version":3,"file":"cursor.d.ts","sourceRoot":"","sources":["../../../src/installer/targets/cursor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAKH,OAAO,EACL,WAAW,EAKZ,MAAM,SAAS,CAAC;AA4MjB,eAAO,MAAM,YAAY,EAAE,WAAgC,CAAC"}
@@ -121,8 +121,14 @@ class CursorTarget {
121
121
  install(loc, _opts) {
122
122
  const files = [];
123
123
  files.push(writeMcpEntry(loc));
124
+ // We no longer write `.cursor/rules/codegraph.mdc` — the codegraph
125
+ // usage guidance ships in the MCP server's `initialize` response,
126
+ // the single source of truth (issue #529). Strip a rules file a
127
+ // previous install created so an upgrade self-heals.
124
128
  if (loc === 'local') {
125
- files.push(writeRulesEntry());
129
+ const rulesCleanup = removeRulesEntry();
130
+ if (rulesCleanup.action === 'removed')
131
+ files.push(rulesCleanup);
126
132
  }
127
133
  return {
128
134
  files,
@@ -159,15 +165,6 @@ class CursorTarget {
159
165
  ? [mcpJsonPath(loc), rulesPath()]
160
166
  : [mcpJsonPath(loc)];
161
167
  }
162
- /**
163
- * Write the project-local `.cursor/rules/codegraph.mdc` file. Used
164
- * by `codegraph init` to bootstrap projects that have only the
165
- * global `~/.cursor/mcp.json` — without the rules file, the Cursor
166
- * agent has no signal to prefer codegraph over native grep.
167
- */
168
- wireProjectSurfaces() {
169
- return { files: [writeRulesEntry()] };
170
- }
171
168
  }
172
169
  /**
173
170
  * Build the codegraph MCP-server config for Cursor at the given
@@ -196,35 +193,9 @@ function writeMcpEntry(loc) {
196
193
  (0, shared_1.writeJsonFile)(file, existing);
197
194
  return { path: file, action };
198
195
  }
199
- function writeRulesEntry() {
200
- const file = rulesPath();
201
- const dir = path.dirname(file);
202
- if (!fs.existsSync(dir))
203
- fs.mkdirSync(dir, { recursive: true });
204
- // Body is frontmatter + the shared instructions block. The
205
- // marker-based replacement targets only the marker block, so the
206
- // frontmatter is preserved across re-runs.
207
- const body = MDC_FRONTMATTER + instructions_template_1.INSTRUCTIONS_TEMPLATE;
208
- if (!fs.existsSync(file)) {
209
- (0, shared_1.atomicWriteFileSync)(file, body + '\n');
210
- return { path: file, action: 'created' };
211
- }
212
- // For .mdc files we own outright, do byte-equality first.
213
- const existing = fs.readFileSync(file, 'utf-8');
214
- const wantWithNL = body + '\n';
215
- if (existing === wantWithNL) {
216
- return { path: file, action: 'unchanged' };
217
- }
218
- // Otherwise, marker-based section swap (preserves any user-added
219
- // content outside the markers).
220
- const action = (0, shared_1.replaceOrAppendMarkedSection)(file, instructions_template_1.INSTRUCTIONS_TEMPLATE, instructions_template_1.CODEGRAPH_SECTION_START, instructions_template_1.CODEGRAPH_SECTION_END);
221
- const mapped = action === 'created' ? 'created'
222
- : action === 'unchanged' ? 'unchanged'
223
- : 'updated';
224
- return { path: file, action: mapped };
225
- }
226
196
  /**
227
- * Remove the Cursor rules file on uninstall.
197
+ * Remove the Cursor rules file on uninstall (and as a self-heal on
198
+ * install — see issue #529).
228
199
  *
229
200
  * Unlike the shared CLAUDE.md / AGENTS.md files (where codegraph owns
230
201
  * only a marker-delimited section), `.cursor/rules/codegraph.mdc` is a