agent-ide 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (436) hide show
  1. package/README.md +678 -0
  2. package/bin/agent-ide.js +19 -0
  3. package/bin/mcp-server.js +20 -0
  4. package/dist/application/events/event-bus.d.ts +107 -0
  5. package/dist/application/events/event-bus.d.ts.map +1 -0
  6. package/dist/application/events/event-bus.js +364 -0
  7. package/dist/application/events/event-bus.js.map +1 -0
  8. package/dist/application/events/event-types.d.ts +195 -0
  9. package/dist/application/events/event-types.d.ts.map +1 -0
  10. package/dist/application/events/event-types.js +36 -0
  11. package/dist/application/events/event-types.js.map +1 -0
  12. package/dist/application/events/index.d.ts +6 -0
  13. package/dist/application/events/index.d.ts.map +1 -0
  14. package/dist/application/events/index.js +6 -0
  15. package/dist/application/events/index.js.map +1 -0
  16. package/dist/application/index.d.ts +85 -0
  17. package/dist/application/index.d.ts.map +1 -0
  18. package/dist/application/index.js +138 -0
  19. package/dist/application/index.js.map +1 -0
  20. package/dist/application/services/cache-coordinator.service.d.ts +69 -0
  21. package/dist/application/services/cache-coordinator.service.d.ts.map +1 -0
  22. package/dist/application/services/cache-coordinator.service.js +251 -0
  23. package/dist/application/services/cache-coordinator.service.js.map +1 -0
  24. package/dist/application/services/error-handler.service.d.ts +56 -0
  25. package/dist/application/services/error-handler.service.d.ts.map +1 -0
  26. package/dist/application/services/error-handler.service.js +273 -0
  27. package/dist/application/services/error-handler.service.js.map +1 -0
  28. package/dist/application/services/index.d.ts +8 -0
  29. package/dist/application/services/index.d.ts.map +1 -0
  30. package/dist/application/services/index.js +8 -0
  31. package/dist/application/services/index.js.map +1 -0
  32. package/dist/application/services/module-coordinator.service.d.ts +70 -0
  33. package/dist/application/services/module-coordinator.service.d.ts.map +1 -0
  34. package/dist/application/services/module-coordinator.service.js +418 -0
  35. package/dist/application/services/module-coordinator.service.js.map +1 -0
  36. package/dist/application/services/session-manager.service.d.ts +86 -0
  37. package/dist/application/services/session-manager.service.d.ts.map +1 -0
  38. package/dist/application/services/session-manager.service.js +318 -0
  39. package/dist/application/services/session-manager.service.js.map +1 -0
  40. package/dist/application/services/workflow-engine.service.d.ts +76 -0
  41. package/dist/application/services/workflow-engine.service.d.ts.map +1 -0
  42. package/dist/application/services/workflow-engine.service.js +405 -0
  43. package/dist/application/services/workflow-engine.service.js.map +1 -0
  44. package/dist/application/state/application-state.d.ts +164 -0
  45. package/dist/application/state/application-state.d.ts.map +1 -0
  46. package/dist/application/state/application-state.js +290 -0
  47. package/dist/application/state/application-state.js.map +1 -0
  48. package/dist/application/state/index.d.ts +15 -0
  49. package/dist/application/state/index.d.ts.map +1 -0
  50. package/dist/application/state/index.js +15 -0
  51. package/dist/application/state/index.js.map +1 -0
  52. package/dist/application/state/session-state.d.ts +114 -0
  53. package/dist/application/state/session-state.d.ts.map +1 -0
  54. package/dist/application/state/session-state.js +188 -0
  55. package/dist/application/state/session-state.js.map +1 -0
  56. package/dist/application/state/state-manager.d.ts +122 -0
  57. package/dist/application/state/state-manager.d.ts.map +1 -0
  58. package/dist/application/state/state-manager.js +234 -0
  59. package/dist/application/state/state-manager.js.map +1 -0
  60. package/dist/application/types.d.ts +280 -0
  61. package/dist/application/types.d.ts.map +1 -0
  62. package/dist/application/types.js +13 -0
  63. package/dist/application/types.js.map +1 -0
  64. package/dist/application/workflows/analysis-workflow.d.ts +239 -0
  65. package/dist/application/workflows/analysis-workflow.d.ts.map +1 -0
  66. package/dist/application/workflows/analysis-workflow.js +395 -0
  67. package/dist/application/workflows/analysis-workflow.js.map +1 -0
  68. package/dist/application/workflows/base-workflow.d.ts +108 -0
  69. package/dist/application/workflows/base-workflow.d.ts.map +1 -0
  70. package/dist/application/workflows/base-workflow.js +236 -0
  71. package/dist/application/workflows/base-workflow.js.map +1 -0
  72. package/dist/application/workflows/index.d.ts +115 -0
  73. package/dist/application/workflows/index.d.ts.map +1 -0
  74. package/dist/application/workflows/index.js +218 -0
  75. package/dist/application/workflows/index.js.map +1 -0
  76. package/dist/application/workflows/refactor-workflow.d.ts +107 -0
  77. package/dist/application/workflows/refactor-workflow.d.ts.map +1 -0
  78. package/dist/application/workflows/refactor-workflow.js +310 -0
  79. package/dist/application/workflows/refactor-workflow.js.map +1 -0
  80. package/dist/core/analysis/complexity-analyzer.d.ts +81 -0
  81. package/dist/core/analysis/complexity-analyzer.d.ts.map +1 -0
  82. package/dist/core/analysis/complexity-analyzer.js +254 -0
  83. package/dist/core/analysis/complexity-analyzer.js.map +1 -0
  84. package/dist/core/analysis/dead-code-detector.d.ts +123 -0
  85. package/dist/core/analysis/dead-code-detector.d.ts.map +1 -0
  86. package/dist/core/analysis/dead-code-detector.js +275 -0
  87. package/dist/core/analysis/dead-code-detector.js.map +1 -0
  88. package/dist/core/analysis/duplication-detector.d.ts +150 -0
  89. package/dist/core/analysis/duplication-detector.d.ts.map +1 -0
  90. package/dist/core/analysis/duplication-detector.js +433 -0
  91. package/dist/core/analysis/duplication-detector.js.map +1 -0
  92. package/dist/core/analysis/index.d.ts +9 -0
  93. package/dist/core/analysis/index.d.ts.map +1 -0
  94. package/dist/core/analysis/index.js +13 -0
  95. package/dist/core/analysis/index.js.map +1 -0
  96. package/dist/core/analysis/quality-metrics.d.ts +158 -0
  97. package/dist/core/analysis/quality-metrics.d.ts.map +1 -0
  98. package/dist/core/analysis/quality-metrics.js +442 -0
  99. package/dist/core/analysis/quality-metrics.js.map +1 -0
  100. package/dist/core/dependency/cycle-detector.d.ts +81 -0
  101. package/dist/core/dependency/cycle-detector.d.ts.map +1 -0
  102. package/dist/core/dependency/cycle-detector.js +300 -0
  103. package/dist/core/dependency/cycle-detector.js.map +1 -0
  104. package/dist/core/dependency/dependency-analyzer.d.ts +152 -0
  105. package/dist/core/dependency/dependency-analyzer.d.ts.map +1 -0
  106. package/dist/core/dependency/dependency-analyzer.js +458 -0
  107. package/dist/core/dependency/dependency-analyzer.js.map +1 -0
  108. package/dist/core/dependency/dependency-graph.d.ts +156 -0
  109. package/dist/core/dependency/dependency-graph.d.ts.map +1 -0
  110. package/dist/core/dependency/dependency-graph.js +371 -0
  111. package/dist/core/dependency/dependency-graph.js.map +1 -0
  112. package/dist/core/dependency/index.d.ts +27 -0
  113. package/dist/core/dependency/index.d.ts.map +1 -0
  114. package/dist/core/dependency/index.js +36 -0
  115. package/dist/core/dependency/index.js.map +1 -0
  116. package/dist/core/dependency/types.d.ts +168 -0
  117. package/dist/core/dependency/types.d.ts.map +1 -0
  118. package/dist/core/dependency/types.js +103 -0
  119. package/dist/core/dependency/types.js.map +1 -0
  120. package/dist/core/indexing/file-index.d.ts +117 -0
  121. package/dist/core/indexing/file-index.d.ts.map +1 -0
  122. package/dist/core/indexing/file-index.js +302 -0
  123. package/dist/core/indexing/file-index.js.map +1 -0
  124. package/dist/core/indexing/file-watcher.d.ts +110 -0
  125. package/dist/core/indexing/file-watcher.d.ts.map +1 -0
  126. package/dist/core/indexing/file-watcher.js +280 -0
  127. package/dist/core/indexing/file-watcher.js.map +1 -0
  128. package/dist/core/indexing/index-engine.d.ts +120 -0
  129. package/dist/core/indexing/index-engine.d.ts.map +1 -0
  130. package/dist/core/indexing/index-engine.js +445 -0
  131. package/dist/core/indexing/index-engine.js.map +1 -0
  132. package/dist/core/indexing/index.d.ts +25 -0
  133. package/dist/core/indexing/index.d.ts.map +1 -0
  134. package/dist/core/indexing/index.js +36 -0
  135. package/dist/core/indexing/index.js.map +1 -0
  136. package/dist/core/indexing/symbol-index.d.ts +107 -0
  137. package/dist/core/indexing/symbol-index.d.ts.map +1 -0
  138. package/dist/core/indexing/symbol-index.js +352 -0
  139. package/dist/core/indexing/symbol-index.js.map +1 -0
  140. package/dist/core/indexing/types.d.ts +222 -0
  141. package/dist/core/indexing/types.d.ts.map +1 -0
  142. package/dist/core/indexing/types.js +143 -0
  143. package/dist/core/indexing/types.js.map +1 -0
  144. package/dist/core/move/import-resolver.d.ts +54 -0
  145. package/dist/core/move/import-resolver.d.ts.map +1 -0
  146. package/dist/core/move/import-resolver.js +268 -0
  147. package/dist/core/move/import-resolver.js.map +1 -0
  148. package/dist/core/move/index.d.ts +10 -0
  149. package/dist/core/move/index.d.ts.map +1 -0
  150. package/dist/core/move/index.js +12 -0
  151. package/dist/core/move/index.js.map +1 -0
  152. package/dist/core/move/move-service.d.ts +67 -0
  153. package/dist/core/move/move-service.d.ts.map +1 -0
  154. package/dist/core/move/move-service.js +400 -0
  155. package/dist/core/move/move-service.js.map +1 -0
  156. package/dist/core/move/types.d.ts +266 -0
  157. package/dist/core/move/types.d.ts.map +1 -0
  158. package/dist/core/move/types.js +101 -0
  159. package/dist/core/move/types.js.map +1 -0
  160. package/dist/core/performance/analyzer.d.ts +62 -0
  161. package/dist/core/performance/analyzer.d.ts.map +1 -0
  162. package/dist/core/performance/analyzer.js +378 -0
  163. package/dist/core/performance/analyzer.js.map +1 -0
  164. package/dist/core/performance/cache-manager.d.ts +161 -0
  165. package/dist/core/performance/cache-manager.d.ts.map +1 -0
  166. package/dist/core/performance/cache-manager.js +375 -0
  167. package/dist/core/performance/cache-manager.js.map +1 -0
  168. package/dist/core/performance/index.d.ts +14 -0
  169. package/dist/core/performance/index.d.ts.map +1 -0
  170. package/dist/core/performance/index.js +17 -0
  171. package/dist/core/performance/index.js.map +1 -0
  172. package/dist/core/performance/interfaces.d.ts +188 -0
  173. package/dist/core/performance/interfaces.d.ts.map +1 -0
  174. package/dist/core/performance/interfaces.js +17 -0
  175. package/dist/core/performance/interfaces.js.map +1 -0
  176. package/dist/core/performance/memory-manager.d.ts +176 -0
  177. package/dist/core/performance/memory-manager.d.ts.map +1 -0
  178. package/dist/core/performance/memory-manager.js +364 -0
  179. package/dist/core/performance/memory-manager.js.map +1 -0
  180. package/dist/core/performance/monitor.d.ts +92 -0
  181. package/dist/core/performance/monitor.d.ts.map +1 -0
  182. package/dist/core/performance/monitor.js +228 -0
  183. package/dist/core/performance/monitor.js.map +1 -0
  184. package/dist/core/refactor/design-patterns.d.ts +178 -0
  185. package/dist/core/refactor/design-patterns.d.ts.map +1 -0
  186. package/dist/core/refactor/design-patterns.js +656 -0
  187. package/dist/core/refactor/design-patterns.js.map +1 -0
  188. package/dist/core/refactor/extract-function.d.ts +175 -0
  189. package/dist/core/refactor/extract-function.d.ts.map +1 -0
  190. package/dist/core/refactor/extract-function.js +478 -0
  191. package/dist/core/refactor/extract-function.js.map +1 -0
  192. package/dist/core/refactor/index.d.ts +8 -0
  193. package/dist/core/refactor/index.d.ts.map +1 -0
  194. package/dist/core/refactor/index.js +11 -0
  195. package/dist/core/refactor/index.js.map +1 -0
  196. package/dist/core/refactor/inline-function.d.ts +175 -0
  197. package/dist/core/refactor/inline-function.d.ts.map +1 -0
  198. package/dist/core/refactor/inline-function.js +425 -0
  199. package/dist/core/refactor/inline-function.js.map +1 -0
  200. package/dist/core/rename/index.d.ts +9 -0
  201. package/dist/core/rename/index.d.ts.map +1 -0
  202. package/dist/core/rename/index.js +13 -0
  203. package/dist/core/rename/index.js.map +1 -0
  204. package/dist/core/rename/reference-updater.d.ts +77 -0
  205. package/dist/core/rename/reference-updater.d.ts.map +1 -0
  206. package/dist/core/rename/reference-updater.js +400 -0
  207. package/dist/core/rename/reference-updater.js.map +1 -0
  208. package/dist/core/rename/rename-engine.d.ts +69 -0
  209. package/dist/core/rename/rename-engine.d.ts.map +1 -0
  210. package/dist/core/rename/rename-engine.js +350 -0
  211. package/dist/core/rename/rename-engine.js.map +1 -0
  212. package/dist/core/rename/scope-analyzer.d.ts +75 -0
  213. package/dist/core/rename/scope-analyzer.d.ts.map +1 -0
  214. package/dist/core/rename/scope-analyzer.js +269 -0
  215. package/dist/core/rename/scope-analyzer.js.map +1 -0
  216. package/dist/core/rename/types.d.ts +163 -0
  217. package/dist/core/rename/types.d.ts.map +1 -0
  218. package/dist/core/rename/types.js +80 -0
  219. package/dist/core/rename/types.js.map +1 -0
  220. package/dist/core/search/engines/text-engine.d.ts +52 -0
  221. package/dist/core/search/engines/text-engine.d.ts.map +1 -0
  222. package/dist/core/search/engines/text-engine.js +376 -0
  223. package/dist/core/search/engines/text-engine.js.map +1 -0
  224. package/dist/core/search/index.d.ts +10 -0
  225. package/dist/core/search/index.d.ts.map +1 -0
  226. package/dist/core/search/index.js +11 -0
  227. package/dist/core/search/index.js.map +1 -0
  228. package/dist/core/search/service.d.ts +105 -0
  229. package/dist/core/search/service.d.ts.map +1 -0
  230. package/dist/core/search/service.js +384 -0
  231. package/dist/core/search/service.js.map +1 -0
  232. package/dist/core/search/types.d.ts +357 -0
  233. package/dist/core/search/types.d.ts.map +1 -0
  234. package/dist/core/search/types.js +47 -0
  235. package/dist/core/search/types.js.map +1 -0
  236. package/dist/infrastructure/cache/cache-manager.d.ts +113 -0
  237. package/dist/infrastructure/cache/cache-manager.d.ts.map +1 -0
  238. package/dist/infrastructure/cache/cache-manager.js +279 -0
  239. package/dist/infrastructure/cache/cache-manager.js.map +1 -0
  240. package/dist/infrastructure/cache/index.d.ts +138 -0
  241. package/dist/infrastructure/cache/index.d.ts.map +1 -0
  242. package/dist/infrastructure/cache/index.js +266 -0
  243. package/dist/infrastructure/cache/index.js.map +1 -0
  244. package/dist/infrastructure/cache/memory-cache.d.ts +94 -0
  245. package/dist/infrastructure/cache/memory-cache.d.ts.map +1 -0
  246. package/dist/infrastructure/cache/memory-cache.js +327 -0
  247. package/dist/infrastructure/cache/memory-cache.js.map +1 -0
  248. package/dist/infrastructure/cache/strategies.d.ts +99 -0
  249. package/dist/infrastructure/cache/strategies.d.ts.map +1 -0
  250. package/dist/infrastructure/cache/strategies.js +230 -0
  251. package/dist/infrastructure/cache/strategies.js.map +1 -0
  252. package/dist/infrastructure/cache/types.d.ts +220 -0
  253. package/dist/infrastructure/cache/types.d.ts.map +1 -0
  254. package/dist/infrastructure/cache/types.js +42 -0
  255. package/dist/infrastructure/cache/types.js.map +1 -0
  256. package/dist/infrastructure/parser/base.d.ts +126 -0
  257. package/dist/infrastructure/parser/base.d.ts.map +1 -0
  258. package/dist/infrastructure/parser/base.js +269 -0
  259. package/dist/infrastructure/parser/base.js.map +1 -0
  260. package/dist/infrastructure/parser/factory.d.ts +141 -0
  261. package/dist/infrastructure/parser/factory.d.ts.map +1 -0
  262. package/dist/infrastructure/parser/factory.js +306 -0
  263. package/dist/infrastructure/parser/factory.js.map +1 -0
  264. package/dist/infrastructure/parser/index.d.ts +12 -0
  265. package/dist/infrastructure/parser/index.d.ts.map +1 -0
  266. package/dist/infrastructure/parser/index.js +12 -0
  267. package/dist/infrastructure/parser/index.js.map +1 -0
  268. package/dist/infrastructure/parser/interface.d.ts +108 -0
  269. package/dist/infrastructure/parser/interface.d.ts.map +1 -0
  270. package/dist/infrastructure/parser/interface.js +72 -0
  271. package/dist/infrastructure/parser/interface.js.map +1 -0
  272. package/dist/infrastructure/parser/registry.d.ts +141 -0
  273. package/dist/infrastructure/parser/registry.d.ts.map +1 -0
  274. package/dist/infrastructure/parser/registry.js +289 -0
  275. package/dist/infrastructure/parser/registry.js.map +1 -0
  276. package/dist/infrastructure/parser/types.d.ts +172 -0
  277. package/dist/infrastructure/parser/types.d.ts.map +1 -0
  278. package/dist/infrastructure/parser/types.js +147 -0
  279. package/dist/infrastructure/parser/types.js.map +1 -0
  280. package/dist/infrastructure/storage/file-system.d.ts +74 -0
  281. package/dist/infrastructure/storage/file-system.d.ts.map +1 -0
  282. package/dist/infrastructure/storage/file-system.js +334 -0
  283. package/dist/infrastructure/storage/file-system.js.map +1 -0
  284. package/dist/infrastructure/storage/file-watcher.d.ts +84 -0
  285. package/dist/infrastructure/storage/file-watcher.d.ts.map +1 -0
  286. package/dist/infrastructure/storage/file-watcher.js +249 -0
  287. package/dist/infrastructure/storage/file-watcher.js.map +1 -0
  288. package/dist/infrastructure/storage/index.d.ts +11 -0
  289. package/dist/infrastructure/storage/index.d.ts.map +1 -0
  290. package/dist/infrastructure/storage/index.js +16 -0
  291. package/dist/infrastructure/storage/index.js.map +1 -0
  292. package/dist/infrastructure/storage/path-utils.d.ts +96 -0
  293. package/dist/infrastructure/storage/path-utils.d.ts.map +1 -0
  294. package/dist/infrastructure/storage/path-utils.js +272 -0
  295. package/dist/infrastructure/storage/path-utils.js.map +1 -0
  296. package/dist/infrastructure/storage/types.d.ts +106 -0
  297. package/dist/infrastructure/storage/types.d.ts.map +1 -0
  298. package/dist/infrastructure/storage/types.js +53 -0
  299. package/dist/infrastructure/storage/types.js.map +1 -0
  300. package/dist/interfaces/cli/cli.d.ts +70 -0
  301. package/dist/interfaces/cli/cli.d.ts.map +1 -0
  302. package/dist/interfaces/cli/cli.js +1054 -0
  303. package/dist/interfaces/cli/cli.js.map +1 -0
  304. package/dist/interfaces/cli/index.d.ts +7 -0
  305. package/dist/interfaces/cli/index.d.ts.map +1 -0
  306. package/dist/interfaces/cli/index.js +22 -0
  307. package/dist/interfaces/cli/index.js.map +1 -0
  308. package/dist/interfaces/mcp/index.d.ts +7 -0
  309. package/dist/interfaces/mcp/index.d.ts.map +1 -0
  310. package/dist/interfaces/mcp/index.js +6 -0
  311. package/dist/interfaces/mcp/index.js.map +1 -0
  312. package/dist/interfaces/mcp/mcp-server.d.ts +34 -0
  313. package/dist/interfaces/mcp/mcp-server.d.ts.map +1 -0
  314. package/dist/interfaces/mcp/mcp-server.js +154 -0
  315. package/dist/interfaces/mcp/mcp-server.js.map +1 -0
  316. package/dist/interfaces/mcp/mcp.d.ts +44 -0
  317. package/dist/interfaces/mcp/mcp.d.ts.map +1 -0
  318. package/dist/interfaces/mcp/mcp.js +559 -0
  319. package/dist/interfaces/mcp/mcp.js.map +1 -0
  320. package/dist/plugins/javascript/index.d.ts +12 -0
  321. package/dist/plugins/javascript/index.d.ts.map +1 -0
  322. package/dist/plugins/javascript/index.js +16 -0
  323. package/dist/plugins/javascript/index.js.map +1 -0
  324. package/dist/plugins/javascript/parser.d.ts +81 -0
  325. package/dist/plugins/javascript/parser.d.ts.map +1 -0
  326. package/dist/plugins/javascript/parser.js +457 -0
  327. package/dist/plugins/javascript/parser.js.map +1 -0
  328. package/dist/plugins/javascript/types.d.ts +131 -0
  329. package/dist/plugins/javascript/types.d.ts.map +1 -0
  330. package/dist/plugins/javascript/types.js +366 -0
  331. package/dist/plugins/javascript/types.js.map +1 -0
  332. package/dist/plugins/swift/index.d.ts +11 -0
  333. package/dist/plugins/swift/index.d.ts.map +1 -0
  334. package/dist/plugins/swift/index.js +15 -0
  335. package/dist/plugins/swift/index.js.map +1 -0
  336. package/dist/plugins/swift/parser.d.ts +98 -0
  337. package/dist/plugins/swift/parser.d.ts.map +1 -0
  338. package/dist/plugins/swift/parser.js +612 -0
  339. package/dist/plugins/swift/parser.js.map +1 -0
  340. package/dist/plugins/swift/types.d.ts +196 -0
  341. package/dist/plugins/swift/types.d.ts.map +1 -0
  342. package/dist/plugins/swift/types.js +268 -0
  343. package/dist/plugins/swift/types.js.map +1 -0
  344. package/dist/plugins/typescript/dependency-analyzer.d.ts +78 -0
  345. package/dist/plugins/typescript/dependency-analyzer.d.ts.map +1 -0
  346. package/dist/plugins/typescript/dependency-analyzer.js +305 -0
  347. package/dist/plugins/typescript/dependency-analyzer.js.map +1 -0
  348. package/dist/plugins/typescript/index.d.ts +9 -0
  349. package/dist/plugins/typescript/index.d.ts.map +1 -0
  350. package/dist/plugins/typescript/index.js +8 -0
  351. package/dist/plugins/typescript/index.js.map +1 -0
  352. package/dist/plugins/typescript/parser.d.ts +117 -0
  353. package/dist/plugins/typescript/parser.d.ts.map +1 -0
  354. package/dist/plugins/typescript/parser.js +888 -0
  355. package/dist/plugins/typescript/parser.js.map +1 -0
  356. package/dist/plugins/typescript/symbol-extractor.d.ts +76 -0
  357. package/dist/plugins/typescript/symbol-extractor.d.ts.map +1 -0
  358. package/dist/plugins/typescript/symbol-extractor.js +339 -0
  359. package/dist/plugins/typescript/symbol-extractor.js.map +1 -0
  360. package/dist/plugins/typescript/types.d.ts +131 -0
  361. package/dist/plugins/typescript/types.d.ts.map +1 -0
  362. package/dist/plugins/typescript/types.js +331 -0
  363. package/dist/plugins/typescript/types.js.map +1 -0
  364. package/dist/shared/errors/base-error.d.ts +27 -0
  365. package/dist/shared/errors/base-error.d.ts.map +1 -0
  366. package/dist/shared/errors/base-error.js +58 -0
  367. package/dist/shared/errors/base-error.js.map +1 -0
  368. package/dist/shared/errors/config-error.d.ts +21 -0
  369. package/dist/shared/errors/config-error.d.ts.map +1 -0
  370. package/dist/shared/errors/config-error.js +34 -0
  371. package/dist/shared/errors/config-error.js.map +1 -0
  372. package/dist/shared/errors/file-error.d.ts +21 -0
  373. package/dist/shared/errors/file-error.d.ts.map +1 -0
  374. package/dist/shared/errors/file-error.js +34 -0
  375. package/dist/shared/errors/file-error.js.map +1 -0
  376. package/dist/shared/errors/index.d.ts +59 -0
  377. package/dist/shared/errors/index.d.ts.map +1 -0
  378. package/dist/shared/errors/index.js +114 -0
  379. package/dist/shared/errors/index.js.map +1 -0
  380. package/dist/shared/errors/parser-error.d.ts +72 -0
  381. package/dist/shared/errors/parser-error.d.ts.map +1 -0
  382. package/dist/shared/errors/parser-error.js +104 -0
  383. package/dist/shared/errors/parser-error.js.map +1 -0
  384. package/dist/shared/errors/validation-error.d.ts +21 -0
  385. package/dist/shared/errors/validation-error.d.ts.map +1 -0
  386. package/dist/shared/errors/validation-error.js +34 -0
  387. package/dist/shared/errors/validation-error.js.map +1 -0
  388. package/dist/shared/index.d.ts +11 -0
  389. package/dist/shared/index.d.ts.map +1 -0
  390. package/dist/shared/index.js +22 -0
  391. package/dist/shared/index.js.map +1 -0
  392. package/dist/shared/types/ast.d.ts +78 -0
  393. package/dist/shared/types/ast.d.ts.map +1 -0
  394. package/dist/shared/types/ast.js +215 -0
  395. package/dist/shared/types/ast.js.map +1 -0
  396. package/dist/shared/types/core.d.ts +65 -0
  397. package/dist/shared/types/core.d.ts.map +1 -0
  398. package/dist/shared/types/core.js +114 -0
  399. package/dist/shared/types/core.js.map +1 -0
  400. package/dist/shared/types/index.d.ts +11 -0
  401. package/dist/shared/types/index.d.ts.map +1 -0
  402. package/dist/shared/types/index.js +12 -0
  403. package/dist/shared/types/index.js.map +1 -0
  404. package/dist/shared/types/symbol.d.ts +119 -0
  405. package/dist/shared/types/symbol.d.ts.map +1 -0
  406. package/dist/shared/types/symbol.js +197 -0
  407. package/dist/shared/types/symbol.js.map +1 -0
  408. package/dist/shared/utils/array.d.ts +68 -0
  409. package/dist/shared/utils/array.d.ts.map +1 -0
  410. package/dist/shared/utils/array.js +165 -0
  411. package/dist/shared/utils/array.js.map +1 -0
  412. package/dist/shared/utils/async.d.ts +87 -0
  413. package/dist/shared/utils/async.d.ts.map +1 -0
  414. package/dist/shared/utils/async.js +185 -0
  415. package/dist/shared/utils/async.js.map +1 -0
  416. package/dist/shared/utils/index.d.ts +32 -0
  417. package/dist/shared/utils/index.d.ts.map +1 -0
  418. package/dist/shared/utils/index.js +37 -0
  419. package/dist/shared/utils/index.js.map +1 -0
  420. package/dist/shared/utils/memory-monitor.d.ts +83 -0
  421. package/dist/shared/utils/memory-monitor.d.ts.map +1 -0
  422. package/dist/shared/utils/memory-monitor.js +168 -0
  423. package/dist/shared/utils/memory-monitor.js.map +1 -0
  424. package/dist/shared/utils/object.d.ts +71 -0
  425. package/dist/shared/utils/object.d.ts.map +1 -0
  426. package/dist/shared/utils/object.js +284 -0
  427. package/dist/shared/utils/object.js.map +1 -0
  428. package/dist/shared/utils/path.d.ts +59 -0
  429. package/dist/shared/utils/path.d.ts.map +1 -0
  430. package/dist/shared/utils/path.js +201 -0
  431. package/dist/shared/utils/path.js.map +1 -0
  432. package/dist/shared/utils/string.d.ts +74 -0
  433. package/dist/shared/utils/string.d.ts.map +1 -0
  434. package/dist/shared/utils/string.js +201 -0
  435. package/dist/shared/utils/string.js.map +1 -0
  436. package/package.json +81 -0
package/README.md ADDED
@@ -0,0 +1,678 @@
1
+ # Agent IDE
2
+
3
+ Agent IDE 是一個為 AI 代理(如 Claude Code CLI)設計的程式碼智能工具集,提供高效的程式碼操作和分析功能。
4
+
5
+ ## 🚀 特色功能
6
+
7
+ ### 核心功能
8
+ - **🔍 智能搜尋**:文字搜尋、正則表達式搜尋、符號搜尋
9
+ - **📝 重新命名**:智能重新命名變數、函式、類別等程式碼元素
10
+ - **📁 檔案移動**:自動更新 import 路徑的檔案移動
11
+ - **🔗 依賴分析**:分析程式碼依賴關係和影響範圍
12
+ - **📚 程式碼索引**:建立高效的程式碼索引系統
13
+ - **🔌 可插拔 Parser**:支援多種程式語言的可插拔 Parser 系統
14
+
15
+ ### 支援語言
16
+ - TypeScript
17
+ - JavaScript
18
+ - Swift(計畫中)
19
+
20
+ ### AI 工具整合
21
+ - **Claude Code**:透過 MCP Server 直接使用
22
+ - **其他 AI 工具**:支援 CLI 和程式化 API
23
+
24
+ ## 🔌 Claude Code 整合
25
+
26
+ Agent IDE 可以直接在 Claude Code 中使用,透過 MCP (Model Context Protocol) 提供所有功能。
27
+
28
+ ### 快速設定
29
+
30
+ 1. **安裝 Agent IDE**:
31
+ ```bash
32
+ npm install -g agent-ide
33
+ # 或從原始碼: cd agent-ide && pnpm install && pnpm build && npm link
34
+ ```
35
+
36
+ 2. **設定 Claude Code MCP**:
37
+
38
+ 編輯設定檔(根據你的作業系統):
39
+ - **macOS/Linux**: `~/.config/claude/mcp_settings.json`
40
+ - **Windows**: `%APPDATA%\Claude\mcp_settings.json`
41
+
42
+ 加入以下設定:
43
+ ```json
44
+ {
45
+ "mcpServers": {
46
+ "agent-ide": {
47
+ "command": "agent-ide-mcp",
48
+ "args": [],
49
+ "env": {}
50
+ }
51
+ }
52
+ }
53
+ ```
54
+
55
+ 3. **重新啟動 Claude Code**
56
+
57
+ 4. **驗證安裝**,在 Claude Code 中詢問:
58
+ ```
59
+ 請列出所有可用的 agent-ide 工具
60
+ ```
61
+
62
+ ### 可用工具
63
+
64
+ 在 Claude Code 中,你可以使用以下 7 個工具:
65
+
66
+ | 工具 | 功能 |
67
+ |------|------|
68
+ | `code_index` | 建立和查詢程式碼索引 |
69
+ | `code_search` | 搜尋符號、文字或模式 |
70
+ | `code_rename` | 安全重新命名符號 |
71
+ | `code_move` | 移動檔案並更新 import |
72
+ | `code_analyze` | 分析程式碼品質與複雜度 |
73
+ | `code_deps` | 分析依賴關係與循環依賴 |
74
+ | `parser_plugins` | 管理 Parser 插件 |
75
+
76
+ ### 使用範例
77
+
78
+ ```
79
+ # 索引專案
80
+ 請使用 agent-ide 索引 /path/to/my/project
81
+
82
+ # 搜尋符號
83
+ 在專案中搜尋 UserService 類別
84
+
85
+ # 分析依賴
86
+ 分析專案的依賴關係並檢查循環依賴
87
+
88
+ # 重新命名
89
+ 將 src/user.ts 第 10 行第 14 列的符號重新命名為 CustomerService(預覽模式)
90
+ ```
91
+
92
+ 📖 **完整設定指南**:查看 [MCP_SETUP.md](./MCP_SETUP.md) 瞭解詳細步驟和疑難排解
93
+
94
+ ---
95
+
96
+ ## 📦 安裝
97
+
98
+ ### 方法一:從 npm 安裝(推薦)
99
+
100
+ ```bash
101
+ # 使用 npm
102
+ npm install -g agent-ide
103
+
104
+ # 使用 pnpm
105
+ pnpm add -g agent-ide
106
+ ```
107
+
108
+ ### 方法二:從原始碼安裝(開發版)
109
+
110
+ ```bash
111
+ # 1. Clone 專案
112
+ git clone https://github.com/vivalalova/agent-ide.git
113
+ cd agent-ide
114
+
115
+ # 2. 安裝依賴
116
+ pnpm install
117
+
118
+ # 3. 建置專案
119
+ pnpm build
120
+
121
+ # 4. 連結到全域(開發模式)
122
+ npm link
123
+
124
+ # 5. 驗證安裝
125
+ agent-ide --version
126
+ agent-ide --help
127
+ ```
128
+
129
+ ### 方法三:直接使用(不安裝)
130
+
131
+ ```bash
132
+ # 在專案目錄中執行
133
+ cd agent-ide
134
+ pnpm install
135
+ pnpm build
136
+
137
+ # 使用 npx 執行
138
+ npx agent-ide index
139
+ npx agent-ide search "pattern"
140
+ ```
141
+
142
+ ### 解除安裝
143
+
144
+ ```bash
145
+ # 解除全域連結
146
+ npm unlink -g agent-ide
147
+
148
+ # 或使用 npm
149
+ npm uninstall -g agent-ide
150
+ ```
151
+
152
+ ## 🛠️ 使用方法
153
+
154
+ ### 建立索引
155
+
156
+ ```bash
157
+ # 索引當前專案
158
+ agent-ide index
159
+
160
+ # 索引指定路徑
161
+ agent-ide index --path ./src
162
+
163
+ # 增量更新索引
164
+ agent-ide index --update
165
+
166
+ # 自訂檔案類型
167
+ agent-ide index --extensions ".ts,.tsx,.js,.jsx"
168
+ ```
169
+
170
+ ### 程式碼搜尋
171
+
172
+ ```bash
173
+ # 文字搜尋
174
+ agent-ide search "function getUserById"
175
+
176
+ # 正則表達式搜尋
177
+ agent-ide search "export.*function" --regex
178
+
179
+ # 大小寫敏感搜尋
180
+ agent-ide search "User" --case-sensitive
181
+
182
+ # 全字匹配
183
+ agent-ide search "user" --whole-word
184
+
185
+ # 限制結果數量
186
+ agent-ide search "import" --max-results 10
187
+
188
+ # 顯示上下文
189
+ agent-ide search "class" --context 3
190
+
191
+ # JSON 輸出格式
192
+ agent-ide search "interface" --format json
193
+ ```
194
+
195
+ ### 重新命名
196
+
197
+ ```bash
198
+ # 重新命名變數
199
+ agent-ide rename --from oldName --to newName
200
+
201
+ # 重新命名類別
202
+ agent-ide rename --from OldClass --to NewClass --type class
203
+
204
+ # 預覽變更(不實際修改)
205
+ agent-ide rename --from oldName --to newName --dry-run
206
+ ```
207
+
208
+ ### 檔案移動
209
+
210
+ ```bash
211
+ # 移動檔案
212
+ agent-ide move src/old/path.ts src/new/path.ts
213
+
214
+ # 移動目錄
215
+ agent-ide move src/components src/ui/components
216
+ ```
217
+
218
+ ### 依賴分析
219
+
220
+ ```bash
221
+ # 分析專案依賴
222
+ agent-ide deps
223
+
224
+ # 分析特定檔案的依賴
225
+ agent-ide deps --file src/utils.ts
226
+
227
+ # 檢查循環依賴
228
+ agent-ide deps --check-cycles
229
+
230
+ # 影響分析
231
+ agent-ide deps --impact src/api.ts
232
+ ```
233
+
234
+ ### 插件管理
235
+
236
+ ```bash
237
+ # 查看已安裝的插件
238
+ agent-ide plugins list
239
+
240
+ # 啟用插件
241
+ agent-ide plugins enable typescript
242
+
243
+ # 停用插件
244
+ agent-ide plugins disable javascript
245
+ ```
246
+
247
+ ## 🔧 配置
248
+
249
+ Agent IDE 支援多種配置選項,可以透過配置檔案或命令列參數設定。
250
+
251
+ ### 配置檔案
252
+
253
+ 在專案根目錄建立 `agent-ide.config.json`:
254
+
255
+ ```json
256
+ {
257
+ "indexing": {
258
+ "extensions": [".ts", ".tsx", ".js", ".jsx"],
259
+ "exclude": ["node_modules/**", "dist/**", "*.test.*"],
260
+ "maxDepth": 10
261
+ },
262
+ "search": {
263
+ "maxResults": 100,
264
+ "contextLines": 2,
265
+ "caseSensitive": false
266
+ },
267
+ "rename": {
268
+ "safeMode": true,
269
+ "backupFiles": false
270
+ },
271
+ "plugins": {
272
+ "typescript": {
273
+ "enabled": true,
274
+ "strictMode": true
275
+ },
276
+ "swift": {
277
+ "enabled": false
278
+ }
279
+ }
280
+ }
281
+ ```
282
+
283
+ ### 環境變數
284
+
285
+ ```bash
286
+ # 設定預設專案路徑
287
+ export AGENT_IDE_PROJECT_PATH=/path/to/project
288
+
289
+ # 設定快取目錄
290
+ export AGENT_IDE_CACHE_DIR=~/.agent-ide
291
+
292
+ # 啟用除錯模式
293
+ export AGENT_IDE_DEBUG=true
294
+ ```
295
+
296
+ ## 🏗️ 架構設計
297
+
298
+ ### 模組化架構
299
+
300
+ ```
301
+ Agent IDE
302
+ ├── 核心模組
303
+ │ ├── 索引引擎 # 程式碼索引和符號管理
304
+ │ ├── 搜尋引擎 # 多種搜尋策略實作
305
+ │ ├── 重新命名引擎 # 智能重新命名邏輯
306
+ │ ├── 移動服務 # 檔案移動和路徑更新
307
+ │ └── 依賴分析器 # 依賴關係分析
308
+ ├── 基礎設施
309
+ │ ├── Parser 框架 # 可插拔 Parser 系統
310
+ │ ├── 快取管理 # 多層快取策略
311
+ │ └── 儲存抽象 # 統一儲存介面
312
+ ├── 插件系統
313
+ │ ├── TypeScript Parser
314
+ │ ├── JavaScript Parser
315
+ │ └── Swift Parser (計畫中)
316
+ └── 介面層
317
+ ├── CLI 介面 # 命令列工具
318
+ └── MCP 介面 (計畫中) # MCP 協議支援
319
+ ```
320
+
321
+ ### 效能特色
322
+
323
+ - **增量索引**:只重新索引變更的檔案
324
+ - **智能快取**:多層快取系統,減少重複計算
325
+ - **並行處理**:支援多檔案並行處理
326
+ - **記憶體優化**:使用 LRU 快取控制記憶體使用
327
+
328
+ ## 🔌 插件開發
329
+
330
+ ### 建立新的 Parser 插件
331
+
332
+ ```typescript
333
+ import { ParserPlugin } from 'agent-ide';
334
+
335
+ export class MyLanguageParser implements ParserPlugin {
336
+ readonly name = 'my-language';
337
+ readonly version = '1.0.0';
338
+ readonly supportedExtensions = ['.my'];
339
+ readonly supportedLanguages = ['mylang'];
340
+
341
+ async parse(code: string, filePath: string): Promise<AST> {
342
+ // 實作語法解析邏輯
343
+ }
344
+
345
+ async extractSymbols(ast: AST): Promise<Symbol[]> {
346
+ // 實作符號提取邏輯
347
+ }
348
+
349
+ async extractDependencies(ast: AST): Promise<Dependency[]> {
350
+ // 實作依賴提取邏輯
351
+ }
352
+
353
+ async rename(ast: AST, position: Position, newName: string): Promise<CodeEdit[]> {
354
+ // 實作重新命名邏輯
355
+ }
356
+
357
+ async validate(): Promise<ValidationResult> {
358
+ return { valid: true, errors: [] };
359
+ }
360
+
361
+ async dispose(): Promise<void> {
362
+ // 清理資源
363
+ }
364
+ }
365
+ ```
366
+
367
+ ### 註冊插件
368
+
369
+ ```typescript
370
+ import { ParserRegistry } from 'agent-ide';
371
+ import { MyLanguageParser } from './my-language-parser';
372
+
373
+ const registry = ParserRegistry.getInstance();
374
+ const parser = new MyLanguageParser();
375
+ registry.register(parser);
376
+ ```
377
+
378
+ ## 🧪 測試
379
+
380
+ ```bash
381
+ # 執行所有測試
382
+ npm test
383
+
384
+ # 執行特定測試
385
+ npm test -- tests/core/search
386
+
387
+ # 監看模式
388
+ npm run test:watch
389
+
390
+ # 型別檢查
391
+ npm run typecheck
392
+
393
+ # 建置專案
394
+ npm run build
395
+ ```
396
+
397
+ ## 🤖 AI 代理使用指南
398
+
399
+ ### 給 Claude Code、Cursor、Copilot 等 AI 工具的完整使用指南
400
+
401
+ #### 1️⃣ 安裝(給 AI 的步驟)
402
+
403
+ 如果用戶想讓你使用 Agent IDE,請依序執行:
404
+
405
+ ```bash
406
+ # 檢查是否已安裝
407
+ which agent-ide
408
+
409
+ # 如果未安裝,從專案目錄安裝
410
+ cd /path/to/agent-ide
411
+ pnpm install
412
+ pnpm build
413
+ npm link
414
+
415
+ # 驗證安裝
416
+ agent-ide --version
417
+ ```
418
+
419
+ #### 2️⃣ 基本工作流程
420
+
421
+ ```bash
422
+ # Step 1: 在用戶專案中建立索引(只需執行一次)
423
+ cd /path/to/user/project
424
+ agent-ide index
425
+
426
+ # Step 2: 搜尋程式碼
427
+ agent-ide search "目標關鍵字" --format json
428
+
429
+ # Step 3: 分析影響範圍
430
+ agent-ide deps --impact src/target-file.ts
431
+
432
+ # Step 4: 預覽變更
433
+ agent-ide rename --from oldName --to newName --dry-run
434
+
435
+ # Step 5: 執行變更
436
+ agent-ide rename --from oldName --to newName
437
+ ```
438
+
439
+ #### 3️⃣ Token 優化技巧
440
+
441
+ **始終使用 JSON 格式輸出**:
442
+ ```bash
443
+ agent-ide search "pattern" --format json
444
+ agent-ide deps --format json
445
+ ```
446
+
447
+ **限制結果數量**:
448
+ ```bash
449
+ agent-ide search "pattern" --max-results 5
450
+ ```
451
+
452
+ **使用 dry-run 預覽**:
453
+ ```bash
454
+ agent-ide rename --from old --to new --dry-run
455
+ agent-ide move old.ts new.ts --dry-run
456
+ ```
457
+
458
+ #### 4️⃣ 完整重構範例
459
+
460
+ ```bash
461
+ # 場景:重新命名類別並移動檔案
462
+
463
+ # 1. 搜尋現有使用
464
+ agent-ide search "OldClassName" --format json --max-results 20
465
+
466
+ # 2. 分析依賴
467
+ agent-ide deps --impact src/models/old-class.ts
468
+
469
+ # 3. 預覽重新命名
470
+ agent-ide rename --from OldClassName --to NewClassName --dry-run
471
+
472
+ # 4. 執行重新命名
473
+ agent-ide rename --from OldClassName --to NewClassName
474
+
475
+ # 5. 移動檔案
476
+ agent-ide move src/models/old-class.ts src/models/new-class.ts
477
+
478
+ # 6. 驗證
479
+ agent-ide search "NewClassName" --format json
480
+ agent-ide deps --check-cycles
481
+ ```
482
+
483
+ #### 5️⃣ 常用命令速查
484
+
485
+ | 目的 | 命令 |
486
+ |------|------|
487
+ | 建立索引 | `agent-ide index` |
488
+ | 更新索引 | `agent-ide index --update` |
489
+ | 搜尋程式碼 | `agent-ide search "pattern" --format json` |
490
+ | 重新命名 | `agent-ide rename --from A --to B` |
491
+ | 移動檔案 | `agent-ide move old.ts new.ts` |
492
+ | 依賴分析 | `agent-ide deps --check-cycles` |
493
+ | 影響分析 | `agent-ide deps --impact file.ts` |
494
+ | 複雜度分析 | `agent-ide analyze --type complexity` |
495
+
496
+ #### 6️⃣ 輸出格式範例
497
+
498
+ **JSON 格式**(推薦):
499
+ ```json
500
+ {
501
+ "results": [
502
+ {
503
+ "file": "src/user.ts",
504
+ "line": 10,
505
+ "match": "export class User"
506
+ }
507
+ ]
508
+ }
509
+ ```
510
+
511
+ **Minimal 格式**(最省 token):
512
+ ```
513
+ src/user.ts:10: export class User
514
+ ```
515
+
516
+ #### 7️⃣ 錯誤處理
517
+
518
+ 如果命令失敗,檢查:
519
+ 1. 索引是否已建立:`agent-ide index`
520
+ 2. 路徑是否正確:使用絕對路徑
521
+ 3. 語法是否正確:查看 `agent-ide --help`
522
+
523
+ ---
524
+
525
+ ## 🔌 程式化 API 使用
526
+
527
+ Agent IDE 也可以在你的程式碼中使用:
528
+
529
+ ```typescript
530
+ import { AgentIdeMCP } from 'agent-ide';
531
+
532
+ const mcp = new AgentIdeMCP();
533
+
534
+ // 獲取所有可用工具
535
+ const tools = mcp.getTools();
536
+
537
+ // 執行工具
538
+ const result = await mcp.executeTool('code_index', {
539
+ action: 'create',
540
+ path: '/path/to/project'
541
+ });
542
+
543
+ if (result.success) {
544
+ console.log('索引成功:', result.data);
545
+ }
546
+ ```
547
+
548
+ ### API 文件
549
+
550
+ 完整的 MCP 工具參數和使用方式,請參考 [MCP_SETUP.md](./MCP_SETUP.md)
551
+
552
+ ---
553
+
554
+ ## 📚 MCP 工具快速參考
555
+
556
+ | 工具 | 功能 | 主要參數 |
557
+ |------|------|----------|
558
+ | `code_index` | 程式碼索引 | `action`, `path`, `query` |
559
+ | `code_search` | 程式碼搜尋 | `query`, `mode`, `limit` |
560
+ | `code_rename` | 重新命名 | `file`, `line`, `column`, `newName` |
561
+ | `code_move` | 檔案移動 | `source`, `destination` |
562
+ | `code_analyze` | 程式碼分析 | `path`, `type` |
563
+ | `code_deps` | 依賴分析 | `path` |
564
+ | `parser_plugins` | Parser 管理 | `action`, `plugin` |
565
+
566
+ ### 工作流程範例
567
+
568
+ ```typescript
569
+ const mcp = new AgentIdeMCP();
570
+
571
+ // 1. 建立索引
572
+ await mcp.executeTool('code_index', {
573
+ action: 'create',
574
+ path: projectPath
575
+ });
576
+
577
+ // 2. 搜尋符號
578
+ const searchResult = await mcp.executeTool('code_search', {
579
+ query: 'UserService',
580
+ path: projectPath
581
+ });
582
+
583
+ // 3. 分析依賴
584
+ await mcp.executeTool('code_deps', {
585
+ path: projectPath
586
+ });
587
+
588
+ // 4. 重新命名(預覽)
589
+ const renameResult = await mcp.executeTool('code_rename', {
590
+ file: filePath,
591
+ line: 10,
592
+ column: 14,
593
+ newName: 'CustomerService',
594
+ preview: true
595
+ });
596
+
597
+ // 5. 執行重新命名
598
+ if (renameResult.success) {
599
+ await mcp.executeTool('code_rename', {
600
+ file: filePath,
601
+ line: 10,
602
+ column: 14,
603
+ newName: 'CustomerService',
604
+ preview: false
605
+ });
606
+ }
607
+ ```
608
+
609
+ 📖 詳細的工具參數和範例,請參考 [CLAUDE_CODE_INTEGRATION.md](./CLAUDE_CODE_INTEGRATION.md)
610
+
611
+ ## 📊 效能基準
612
+
613
+ 在典型的 TypeScript 專案中:
614
+
615
+ - **索引速度**:~1000 檔案/秒
616
+ - **搜尋響應**:<50ms(已索引檔案)
617
+ - **重新命名**:<200ms(中等複雜度)
618
+ - **記憶體使用**:~100MB(10,000 檔案專案)
619
+
620
+ ## 🤝 貢獻指南
621
+
622
+ 1. Fork 專案
623
+ 2. 建立功能分支:`git checkout -b feature/amazing-feature`
624
+ 3. 提交變更:`git commit -m 'Add amazing feature'`
625
+ 4. 推送到分支:`git push origin feature/amazing-feature`
626
+ 5. 建立 Pull Request
627
+
628
+ ### 開發環境設定
629
+
630
+ ```bash
631
+ # 複製專案
632
+ git clone https://github.com/vivalalova/agent-ide.git
633
+ cd agent-ide
634
+
635
+ # 安裝依賴
636
+ pnpm install
637
+
638
+ # 執行開發模式
639
+ pnpm run dev
640
+
641
+ # 執行測試
642
+ pnpm test
643
+ ```
644
+
645
+ ## 🐛 疑難排解
646
+
647
+ ### 常見問題
648
+
649
+ **Q: 索引速度很慢**
650
+ A: 檢查是否有大量檔案被包含,考慮調整 `exclude` 設定
651
+
652
+ **Q: 搜尋結果不準確**
653
+ A: 確保索引是最新的,執行 `agent-ide index --update`
654
+
655
+ **Q: 重新命名後有錯誤**
656
+ A: 使用 `--dry-run` 預覽變更,或啟用 `safeMode`
657
+
658
+ **Q: 記憶體使用過高**
659
+ A: 調整快取設定或限制索引深度
660
+
661
+ ### 取得支援
662
+
663
+ - 🐛 回報 [問題](https://github.com/vivalalova/agent-ide/issues)
664
+ - 💬 加入 [討論](https://github.com/vivalalova/agent-ide/discussions)
665
+
666
+ ## 📄 授權
667
+
668
+ 本專案採用 [MIT 授權條款](LICENSE)。
669
+
670
+ ## 🙏 致謝
671
+
672
+ - TypeScript 團隊提供優秀的編譯器 API
673
+ - 所有貢獻者的寶貴貢獻
674
+ - 開源社群的持續支持
675
+
676
+ ---
677
+
678
+ **讓 AI 代理更聰明地理解和操作程式碼** 🤖✨
@@ -0,0 +1,19 @@
1
+ #!/usr/bin/env node
2
+
3
+ /**
4
+ * Agent IDE CLI 入口點
5
+ */
6
+
7
+ import { AgentIdeCLI } from '../dist/interfaces/cli/index.js';
8
+
9
+ async function main() {
10
+ try {
11
+ const cli = new AgentIdeCLI();
12
+ await cli.run();
13
+ } catch (error) {
14
+ console.error('CLI 執行失敗:', error.message);
15
+ process.exit(1);
16
+ }
17
+ }
18
+
19
+ main();
@@ -0,0 +1,20 @@
1
+ #!/usr/bin/env node
2
+
3
+ /**
4
+ * Agent IDE MCP Server 入口點
5
+ * 提供 stdio-based MCP Server 供 Claude Code 等 AI 工具使用
6
+ */
7
+
8
+ import { MCPServer } from '../dist/interfaces/mcp/mcp-server.js';
9
+
10
+ async function main() {
11
+ try {
12
+ const server = new MCPServer();
13
+ await server.start();
14
+ } catch (error) {
15
+ console.error('MCP Server 啟動失敗:', error.message);
16
+ process.exit(1);
17
+ }
18
+ }
19
+
20
+ main();