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.
- package/README.md +678 -0
- package/bin/agent-ide.js +19 -0
- package/bin/mcp-server.js +20 -0
- package/dist/application/events/event-bus.d.ts +107 -0
- package/dist/application/events/event-bus.d.ts.map +1 -0
- package/dist/application/events/event-bus.js +364 -0
- package/dist/application/events/event-bus.js.map +1 -0
- package/dist/application/events/event-types.d.ts +195 -0
- package/dist/application/events/event-types.d.ts.map +1 -0
- package/dist/application/events/event-types.js +36 -0
- package/dist/application/events/event-types.js.map +1 -0
- package/dist/application/events/index.d.ts +6 -0
- package/dist/application/events/index.d.ts.map +1 -0
- package/dist/application/events/index.js +6 -0
- package/dist/application/events/index.js.map +1 -0
- package/dist/application/index.d.ts +85 -0
- package/dist/application/index.d.ts.map +1 -0
- package/dist/application/index.js +138 -0
- package/dist/application/index.js.map +1 -0
- package/dist/application/services/cache-coordinator.service.d.ts +69 -0
- package/dist/application/services/cache-coordinator.service.d.ts.map +1 -0
- package/dist/application/services/cache-coordinator.service.js +251 -0
- package/dist/application/services/cache-coordinator.service.js.map +1 -0
- package/dist/application/services/error-handler.service.d.ts +56 -0
- package/dist/application/services/error-handler.service.d.ts.map +1 -0
- package/dist/application/services/error-handler.service.js +273 -0
- package/dist/application/services/error-handler.service.js.map +1 -0
- package/dist/application/services/index.d.ts +8 -0
- package/dist/application/services/index.d.ts.map +1 -0
- package/dist/application/services/index.js +8 -0
- package/dist/application/services/index.js.map +1 -0
- package/dist/application/services/module-coordinator.service.d.ts +70 -0
- package/dist/application/services/module-coordinator.service.d.ts.map +1 -0
- package/dist/application/services/module-coordinator.service.js +418 -0
- package/dist/application/services/module-coordinator.service.js.map +1 -0
- package/dist/application/services/session-manager.service.d.ts +86 -0
- package/dist/application/services/session-manager.service.d.ts.map +1 -0
- package/dist/application/services/session-manager.service.js +318 -0
- package/dist/application/services/session-manager.service.js.map +1 -0
- package/dist/application/services/workflow-engine.service.d.ts +76 -0
- package/dist/application/services/workflow-engine.service.d.ts.map +1 -0
- package/dist/application/services/workflow-engine.service.js +405 -0
- package/dist/application/services/workflow-engine.service.js.map +1 -0
- package/dist/application/state/application-state.d.ts +164 -0
- package/dist/application/state/application-state.d.ts.map +1 -0
- package/dist/application/state/application-state.js +290 -0
- package/dist/application/state/application-state.js.map +1 -0
- package/dist/application/state/index.d.ts +15 -0
- package/dist/application/state/index.d.ts.map +1 -0
- package/dist/application/state/index.js +15 -0
- package/dist/application/state/index.js.map +1 -0
- package/dist/application/state/session-state.d.ts +114 -0
- package/dist/application/state/session-state.d.ts.map +1 -0
- package/dist/application/state/session-state.js +188 -0
- package/dist/application/state/session-state.js.map +1 -0
- package/dist/application/state/state-manager.d.ts +122 -0
- package/dist/application/state/state-manager.d.ts.map +1 -0
- package/dist/application/state/state-manager.js +234 -0
- package/dist/application/state/state-manager.js.map +1 -0
- package/dist/application/types.d.ts +280 -0
- package/dist/application/types.d.ts.map +1 -0
- package/dist/application/types.js +13 -0
- package/dist/application/types.js.map +1 -0
- package/dist/application/workflows/analysis-workflow.d.ts +239 -0
- package/dist/application/workflows/analysis-workflow.d.ts.map +1 -0
- package/dist/application/workflows/analysis-workflow.js +395 -0
- package/dist/application/workflows/analysis-workflow.js.map +1 -0
- package/dist/application/workflows/base-workflow.d.ts +108 -0
- package/dist/application/workflows/base-workflow.d.ts.map +1 -0
- package/dist/application/workflows/base-workflow.js +236 -0
- package/dist/application/workflows/base-workflow.js.map +1 -0
- package/dist/application/workflows/index.d.ts +115 -0
- package/dist/application/workflows/index.d.ts.map +1 -0
- package/dist/application/workflows/index.js +218 -0
- package/dist/application/workflows/index.js.map +1 -0
- package/dist/application/workflows/refactor-workflow.d.ts +107 -0
- package/dist/application/workflows/refactor-workflow.d.ts.map +1 -0
- package/dist/application/workflows/refactor-workflow.js +310 -0
- package/dist/application/workflows/refactor-workflow.js.map +1 -0
- package/dist/core/analysis/complexity-analyzer.d.ts +81 -0
- package/dist/core/analysis/complexity-analyzer.d.ts.map +1 -0
- package/dist/core/analysis/complexity-analyzer.js +254 -0
- package/dist/core/analysis/complexity-analyzer.js.map +1 -0
- package/dist/core/analysis/dead-code-detector.d.ts +123 -0
- package/dist/core/analysis/dead-code-detector.d.ts.map +1 -0
- package/dist/core/analysis/dead-code-detector.js +275 -0
- package/dist/core/analysis/dead-code-detector.js.map +1 -0
- package/dist/core/analysis/duplication-detector.d.ts +150 -0
- package/dist/core/analysis/duplication-detector.d.ts.map +1 -0
- package/dist/core/analysis/duplication-detector.js +433 -0
- package/dist/core/analysis/duplication-detector.js.map +1 -0
- package/dist/core/analysis/index.d.ts +9 -0
- package/dist/core/analysis/index.d.ts.map +1 -0
- package/dist/core/analysis/index.js +13 -0
- package/dist/core/analysis/index.js.map +1 -0
- package/dist/core/analysis/quality-metrics.d.ts +158 -0
- package/dist/core/analysis/quality-metrics.d.ts.map +1 -0
- package/dist/core/analysis/quality-metrics.js +442 -0
- package/dist/core/analysis/quality-metrics.js.map +1 -0
- package/dist/core/dependency/cycle-detector.d.ts +81 -0
- package/dist/core/dependency/cycle-detector.d.ts.map +1 -0
- package/dist/core/dependency/cycle-detector.js +300 -0
- package/dist/core/dependency/cycle-detector.js.map +1 -0
- package/dist/core/dependency/dependency-analyzer.d.ts +152 -0
- package/dist/core/dependency/dependency-analyzer.d.ts.map +1 -0
- package/dist/core/dependency/dependency-analyzer.js +458 -0
- package/dist/core/dependency/dependency-analyzer.js.map +1 -0
- package/dist/core/dependency/dependency-graph.d.ts +156 -0
- package/dist/core/dependency/dependency-graph.d.ts.map +1 -0
- package/dist/core/dependency/dependency-graph.js +371 -0
- package/dist/core/dependency/dependency-graph.js.map +1 -0
- package/dist/core/dependency/index.d.ts +27 -0
- package/dist/core/dependency/index.d.ts.map +1 -0
- package/dist/core/dependency/index.js +36 -0
- package/dist/core/dependency/index.js.map +1 -0
- package/dist/core/dependency/types.d.ts +168 -0
- package/dist/core/dependency/types.d.ts.map +1 -0
- package/dist/core/dependency/types.js +103 -0
- package/dist/core/dependency/types.js.map +1 -0
- package/dist/core/indexing/file-index.d.ts +117 -0
- package/dist/core/indexing/file-index.d.ts.map +1 -0
- package/dist/core/indexing/file-index.js +302 -0
- package/dist/core/indexing/file-index.js.map +1 -0
- package/dist/core/indexing/file-watcher.d.ts +110 -0
- package/dist/core/indexing/file-watcher.d.ts.map +1 -0
- package/dist/core/indexing/file-watcher.js +280 -0
- package/dist/core/indexing/file-watcher.js.map +1 -0
- package/dist/core/indexing/index-engine.d.ts +120 -0
- package/dist/core/indexing/index-engine.d.ts.map +1 -0
- package/dist/core/indexing/index-engine.js +445 -0
- package/dist/core/indexing/index-engine.js.map +1 -0
- package/dist/core/indexing/index.d.ts +25 -0
- package/dist/core/indexing/index.d.ts.map +1 -0
- package/dist/core/indexing/index.js +36 -0
- package/dist/core/indexing/index.js.map +1 -0
- package/dist/core/indexing/symbol-index.d.ts +107 -0
- package/dist/core/indexing/symbol-index.d.ts.map +1 -0
- package/dist/core/indexing/symbol-index.js +352 -0
- package/dist/core/indexing/symbol-index.js.map +1 -0
- package/dist/core/indexing/types.d.ts +222 -0
- package/dist/core/indexing/types.d.ts.map +1 -0
- package/dist/core/indexing/types.js +143 -0
- package/dist/core/indexing/types.js.map +1 -0
- package/dist/core/move/import-resolver.d.ts +54 -0
- package/dist/core/move/import-resolver.d.ts.map +1 -0
- package/dist/core/move/import-resolver.js +268 -0
- package/dist/core/move/import-resolver.js.map +1 -0
- package/dist/core/move/index.d.ts +10 -0
- package/dist/core/move/index.d.ts.map +1 -0
- package/dist/core/move/index.js +12 -0
- package/dist/core/move/index.js.map +1 -0
- package/dist/core/move/move-service.d.ts +67 -0
- package/dist/core/move/move-service.d.ts.map +1 -0
- package/dist/core/move/move-service.js +400 -0
- package/dist/core/move/move-service.js.map +1 -0
- package/dist/core/move/types.d.ts +266 -0
- package/dist/core/move/types.d.ts.map +1 -0
- package/dist/core/move/types.js +101 -0
- package/dist/core/move/types.js.map +1 -0
- package/dist/core/performance/analyzer.d.ts +62 -0
- package/dist/core/performance/analyzer.d.ts.map +1 -0
- package/dist/core/performance/analyzer.js +378 -0
- package/dist/core/performance/analyzer.js.map +1 -0
- package/dist/core/performance/cache-manager.d.ts +161 -0
- package/dist/core/performance/cache-manager.d.ts.map +1 -0
- package/dist/core/performance/cache-manager.js +375 -0
- package/dist/core/performance/cache-manager.js.map +1 -0
- package/dist/core/performance/index.d.ts +14 -0
- package/dist/core/performance/index.d.ts.map +1 -0
- package/dist/core/performance/index.js +17 -0
- package/dist/core/performance/index.js.map +1 -0
- package/dist/core/performance/interfaces.d.ts +188 -0
- package/dist/core/performance/interfaces.d.ts.map +1 -0
- package/dist/core/performance/interfaces.js +17 -0
- package/dist/core/performance/interfaces.js.map +1 -0
- package/dist/core/performance/memory-manager.d.ts +176 -0
- package/dist/core/performance/memory-manager.d.ts.map +1 -0
- package/dist/core/performance/memory-manager.js +364 -0
- package/dist/core/performance/memory-manager.js.map +1 -0
- package/dist/core/performance/monitor.d.ts +92 -0
- package/dist/core/performance/monitor.d.ts.map +1 -0
- package/dist/core/performance/monitor.js +228 -0
- package/dist/core/performance/monitor.js.map +1 -0
- package/dist/core/refactor/design-patterns.d.ts +178 -0
- package/dist/core/refactor/design-patterns.d.ts.map +1 -0
- package/dist/core/refactor/design-patterns.js +656 -0
- package/dist/core/refactor/design-patterns.js.map +1 -0
- package/dist/core/refactor/extract-function.d.ts +175 -0
- package/dist/core/refactor/extract-function.d.ts.map +1 -0
- package/dist/core/refactor/extract-function.js +478 -0
- package/dist/core/refactor/extract-function.js.map +1 -0
- package/dist/core/refactor/index.d.ts +8 -0
- package/dist/core/refactor/index.d.ts.map +1 -0
- package/dist/core/refactor/index.js +11 -0
- package/dist/core/refactor/index.js.map +1 -0
- package/dist/core/refactor/inline-function.d.ts +175 -0
- package/dist/core/refactor/inline-function.d.ts.map +1 -0
- package/dist/core/refactor/inline-function.js +425 -0
- package/dist/core/refactor/inline-function.js.map +1 -0
- package/dist/core/rename/index.d.ts +9 -0
- package/dist/core/rename/index.d.ts.map +1 -0
- package/dist/core/rename/index.js +13 -0
- package/dist/core/rename/index.js.map +1 -0
- package/dist/core/rename/reference-updater.d.ts +77 -0
- package/dist/core/rename/reference-updater.d.ts.map +1 -0
- package/dist/core/rename/reference-updater.js +400 -0
- package/dist/core/rename/reference-updater.js.map +1 -0
- package/dist/core/rename/rename-engine.d.ts +69 -0
- package/dist/core/rename/rename-engine.d.ts.map +1 -0
- package/dist/core/rename/rename-engine.js +350 -0
- package/dist/core/rename/rename-engine.js.map +1 -0
- package/dist/core/rename/scope-analyzer.d.ts +75 -0
- package/dist/core/rename/scope-analyzer.d.ts.map +1 -0
- package/dist/core/rename/scope-analyzer.js +269 -0
- package/dist/core/rename/scope-analyzer.js.map +1 -0
- package/dist/core/rename/types.d.ts +163 -0
- package/dist/core/rename/types.d.ts.map +1 -0
- package/dist/core/rename/types.js +80 -0
- package/dist/core/rename/types.js.map +1 -0
- package/dist/core/search/engines/text-engine.d.ts +52 -0
- package/dist/core/search/engines/text-engine.d.ts.map +1 -0
- package/dist/core/search/engines/text-engine.js +376 -0
- package/dist/core/search/engines/text-engine.js.map +1 -0
- package/dist/core/search/index.d.ts +10 -0
- package/dist/core/search/index.d.ts.map +1 -0
- package/dist/core/search/index.js +11 -0
- package/dist/core/search/index.js.map +1 -0
- package/dist/core/search/service.d.ts +105 -0
- package/dist/core/search/service.d.ts.map +1 -0
- package/dist/core/search/service.js +384 -0
- package/dist/core/search/service.js.map +1 -0
- package/dist/core/search/types.d.ts +357 -0
- package/dist/core/search/types.d.ts.map +1 -0
- package/dist/core/search/types.js +47 -0
- package/dist/core/search/types.js.map +1 -0
- package/dist/infrastructure/cache/cache-manager.d.ts +113 -0
- package/dist/infrastructure/cache/cache-manager.d.ts.map +1 -0
- package/dist/infrastructure/cache/cache-manager.js +279 -0
- package/dist/infrastructure/cache/cache-manager.js.map +1 -0
- package/dist/infrastructure/cache/index.d.ts +138 -0
- package/dist/infrastructure/cache/index.d.ts.map +1 -0
- package/dist/infrastructure/cache/index.js +266 -0
- package/dist/infrastructure/cache/index.js.map +1 -0
- package/dist/infrastructure/cache/memory-cache.d.ts +94 -0
- package/dist/infrastructure/cache/memory-cache.d.ts.map +1 -0
- package/dist/infrastructure/cache/memory-cache.js +327 -0
- package/dist/infrastructure/cache/memory-cache.js.map +1 -0
- package/dist/infrastructure/cache/strategies.d.ts +99 -0
- package/dist/infrastructure/cache/strategies.d.ts.map +1 -0
- package/dist/infrastructure/cache/strategies.js +230 -0
- package/dist/infrastructure/cache/strategies.js.map +1 -0
- package/dist/infrastructure/cache/types.d.ts +220 -0
- package/dist/infrastructure/cache/types.d.ts.map +1 -0
- package/dist/infrastructure/cache/types.js +42 -0
- package/dist/infrastructure/cache/types.js.map +1 -0
- package/dist/infrastructure/parser/base.d.ts +126 -0
- package/dist/infrastructure/parser/base.d.ts.map +1 -0
- package/dist/infrastructure/parser/base.js +269 -0
- package/dist/infrastructure/parser/base.js.map +1 -0
- package/dist/infrastructure/parser/factory.d.ts +141 -0
- package/dist/infrastructure/parser/factory.d.ts.map +1 -0
- package/dist/infrastructure/parser/factory.js +306 -0
- package/dist/infrastructure/parser/factory.js.map +1 -0
- package/dist/infrastructure/parser/index.d.ts +12 -0
- package/dist/infrastructure/parser/index.d.ts.map +1 -0
- package/dist/infrastructure/parser/index.js +12 -0
- package/dist/infrastructure/parser/index.js.map +1 -0
- package/dist/infrastructure/parser/interface.d.ts +108 -0
- package/dist/infrastructure/parser/interface.d.ts.map +1 -0
- package/dist/infrastructure/parser/interface.js +72 -0
- package/dist/infrastructure/parser/interface.js.map +1 -0
- package/dist/infrastructure/parser/registry.d.ts +141 -0
- package/dist/infrastructure/parser/registry.d.ts.map +1 -0
- package/dist/infrastructure/parser/registry.js +289 -0
- package/dist/infrastructure/parser/registry.js.map +1 -0
- package/dist/infrastructure/parser/types.d.ts +172 -0
- package/dist/infrastructure/parser/types.d.ts.map +1 -0
- package/dist/infrastructure/parser/types.js +147 -0
- package/dist/infrastructure/parser/types.js.map +1 -0
- package/dist/infrastructure/storage/file-system.d.ts +74 -0
- package/dist/infrastructure/storage/file-system.d.ts.map +1 -0
- package/dist/infrastructure/storage/file-system.js +334 -0
- package/dist/infrastructure/storage/file-system.js.map +1 -0
- package/dist/infrastructure/storage/file-watcher.d.ts +84 -0
- package/dist/infrastructure/storage/file-watcher.d.ts.map +1 -0
- package/dist/infrastructure/storage/file-watcher.js +249 -0
- package/dist/infrastructure/storage/file-watcher.js.map +1 -0
- package/dist/infrastructure/storage/index.d.ts +11 -0
- package/dist/infrastructure/storage/index.d.ts.map +1 -0
- package/dist/infrastructure/storage/index.js +16 -0
- package/dist/infrastructure/storage/index.js.map +1 -0
- package/dist/infrastructure/storage/path-utils.d.ts +96 -0
- package/dist/infrastructure/storage/path-utils.d.ts.map +1 -0
- package/dist/infrastructure/storage/path-utils.js +272 -0
- package/dist/infrastructure/storage/path-utils.js.map +1 -0
- package/dist/infrastructure/storage/types.d.ts +106 -0
- package/dist/infrastructure/storage/types.d.ts.map +1 -0
- package/dist/infrastructure/storage/types.js +53 -0
- package/dist/infrastructure/storage/types.js.map +1 -0
- package/dist/interfaces/cli/cli.d.ts +70 -0
- package/dist/interfaces/cli/cli.d.ts.map +1 -0
- package/dist/interfaces/cli/cli.js +1054 -0
- package/dist/interfaces/cli/cli.js.map +1 -0
- package/dist/interfaces/cli/index.d.ts +7 -0
- package/dist/interfaces/cli/index.d.ts.map +1 -0
- package/dist/interfaces/cli/index.js +22 -0
- package/dist/interfaces/cli/index.js.map +1 -0
- package/dist/interfaces/mcp/index.d.ts +7 -0
- package/dist/interfaces/mcp/index.d.ts.map +1 -0
- package/dist/interfaces/mcp/index.js +6 -0
- package/dist/interfaces/mcp/index.js.map +1 -0
- package/dist/interfaces/mcp/mcp-server.d.ts +34 -0
- package/dist/interfaces/mcp/mcp-server.d.ts.map +1 -0
- package/dist/interfaces/mcp/mcp-server.js +154 -0
- package/dist/interfaces/mcp/mcp-server.js.map +1 -0
- package/dist/interfaces/mcp/mcp.d.ts +44 -0
- package/dist/interfaces/mcp/mcp.d.ts.map +1 -0
- package/dist/interfaces/mcp/mcp.js +559 -0
- package/dist/interfaces/mcp/mcp.js.map +1 -0
- package/dist/plugins/javascript/index.d.ts +12 -0
- package/dist/plugins/javascript/index.d.ts.map +1 -0
- package/dist/plugins/javascript/index.js +16 -0
- package/dist/plugins/javascript/index.js.map +1 -0
- package/dist/plugins/javascript/parser.d.ts +81 -0
- package/dist/plugins/javascript/parser.d.ts.map +1 -0
- package/dist/plugins/javascript/parser.js +457 -0
- package/dist/plugins/javascript/parser.js.map +1 -0
- package/dist/plugins/javascript/types.d.ts +131 -0
- package/dist/plugins/javascript/types.d.ts.map +1 -0
- package/dist/plugins/javascript/types.js +366 -0
- package/dist/plugins/javascript/types.js.map +1 -0
- package/dist/plugins/swift/index.d.ts +11 -0
- package/dist/plugins/swift/index.d.ts.map +1 -0
- package/dist/plugins/swift/index.js +15 -0
- package/dist/plugins/swift/index.js.map +1 -0
- package/dist/plugins/swift/parser.d.ts +98 -0
- package/dist/plugins/swift/parser.d.ts.map +1 -0
- package/dist/plugins/swift/parser.js +612 -0
- package/dist/plugins/swift/parser.js.map +1 -0
- package/dist/plugins/swift/types.d.ts +196 -0
- package/dist/plugins/swift/types.d.ts.map +1 -0
- package/dist/plugins/swift/types.js +268 -0
- package/dist/plugins/swift/types.js.map +1 -0
- package/dist/plugins/typescript/dependency-analyzer.d.ts +78 -0
- package/dist/plugins/typescript/dependency-analyzer.d.ts.map +1 -0
- package/dist/plugins/typescript/dependency-analyzer.js +305 -0
- package/dist/plugins/typescript/dependency-analyzer.js.map +1 -0
- package/dist/plugins/typescript/index.d.ts +9 -0
- package/dist/plugins/typescript/index.d.ts.map +1 -0
- package/dist/plugins/typescript/index.js +8 -0
- package/dist/plugins/typescript/index.js.map +1 -0
- package/dist/plugins/typescript/parser.d.ts +117 -0
- package/dist/plugins/typescript/parser.d.ts.map +1 -0
- package/dist/plugins/typescript/parser.js +888 -0
- package/dist/plugins/typescript/parser.js.map +1 -0
- package/dist/plugins/typescript/symbol-extractor.d.ts +76 -0
- package/dist/plugins/typescript/symbol-extractor.d.ts.map +1 -0
- package/dist/plugins/typescript/symbol-extractor.js +339 -0
- package/dist/plugins/typescript/symbol-extractor.js.map +1 -0
- package/dist/plugins/typescript/types.d.ts +131 -0
- package/dist/plugins/typescript/types.d.ts.map +1 -0
- package/dist/plugins/typescript/types.js +331 -0
- package/dist/plugins/typescript/types.js.map +1 -0
- package/dist/shared/errors/base-error.d.ts +27 -0
- package/dist/shared/errors/base-error.d.ts.map +1 -0
- package/dist/shared/errors/base-error.js +58 -0
- package/dist/shared/errors/base-error.js.map +1 -0
- package/dist/shared/errors/config-error.d.ts +21 -0
- package/dist/shared/errors/config-error.d.ts.map +1 -0
- package/dist/shared/errors/config-error.js +34 -0
- package/dist/shared/errors/config-error.js.map +1 -0
- package/dist/shared/errors/file-error.d.ts +21 -0
- package/dist/shared/errors/file-error.d.ts.map +1 -0
- package/dist/shared/errors/file-error.js +34 -0
- package/dist/shared/errors/file-error.js.map +1 -0
- package/dist/shared/errors/index.d.ts +59 -0
- package/dist/shared/errors/index.d.ts.map +1 -0
- package/dist/shared/errors/index.js +114 -0
- package/dist/shared/errors/index.js.map +1 -0
- package/dist/shared/errors/parser-error.d.ts +72 -0
- package/dist/shared/errors/parser-error.d.ts.map +1 -0
- package/dist/shared/errors/parser-error.js +104 -0
- package/dist/shared/errors/parser-error.js.map +1 -0
- package/dist/shared/errors/validation-error.d.ts +21 -0
- package/dist/shared/errors/validation-error.d.ts.map +1 -0
- package/dist/shared/errors/validation-error.js +34 -0
- package/dist/shared/errors/validation-error.js.map +1 -0
- package/dist/shared/index.d.ts +11 -0
- package/dist/shared/index.d.ts.map +1 -0
- package/dist/shared/index.js +22 -0
- package/dist/shared/index.js.map +1 -0
- package/dist/shared/types/ast.d.ts +78 -0
- package/dist/shared/types/ast.d.ts.map +1 -0
- package/dist/shared/types/ast.js +215 -0
- package/dist/shared/types/ast.js.map +1 -0
- package/dist/shared/types/core.d.ts +65 -0
- package/dist/shared/types/core.d.ts.map +1 -0
- package/dist/shared/types/core.js +114 -0
- package/dist/shared/types/core.js.map +1 -0
- package/dist/shared/types/index.d.ts +11 -0
- package/dist/shared/types/index.d.ts.map +1 -0
- package/dist/shared/types/index.js +12 -0
- package/dist/shared/types/index.js.map +1 -0
- package/dist/shared/types/symbol.d.ts +119 -0
- package/dist/shared/types/symbol.d.ts.map +1 -0
- package/dist/shared/types/symbol.js +197 -0
- package/dist/shared/types/symbol.js.map +1 -0
- package/dist/shared/utils/array.d.ts +68 -0
- package/dist/shared/utils/array.d.ts.map +1 -0
- package/dist/shared/utils/array.js +165 -0
- package/dist/shared/utils/array.js.map +1 -0
- package/dist/shared/utils/async.d.ts +87 -0
- package/dist/shared/utils/async.d.ts.map +1 -0
- package/dist/shared/utils/async.js +185 -0
- package/dist/shared/utils/async.js.map +1 -0
- package/dist/shared/utils/index.d.ts +32 -0
- package/dist/shared/utils/index.d.ts.map +1 -0
- package/dist/shared/utils/index.js +37 -0
- package/dist/shared/utils/index.js.map +1 -0
- package/dist/shared/utils/memory-monitor.d.ts +83 -0
- package/dist/shared/utils/memory-monitor.d.ts.map +1 -0
- package/dist/shared/utils/memory-monitor.js +168 -0
- package/dist/shared/utils/memory-monitor.js.map +1 -0
- package/dist/shared/utils/object.d.ts +71 -0
- package/dist/shared/utils/object.d.ts.map +1 -0
- package/dist/shared/utils/object.js +284 -0
- package/dist/shared/utils/object.js.map +1 -0
- package/dist/shared/utils/path.d.ts +59 -0
- package/dist/shared/utils/path.d.ts.map +1 -0
- package/dist/shared/utils/path.js +201 -0
- package/dist/shared/utils/path.js.map +1 -0
- package/dist/shared/utils/string.d.ts +74 -0
- package/dist/shared/utils/string.d.ts.map +1 -0
- package/dist/shared/utils/string.js +201 -0
- package/dist/shared/utils/string.js.map +1 -0
- 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 代理更聰明地理解和操作程式碼** 🤖✨
|
package/bin/agent-ide.js
ADDED
|
@@ -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();
|