@crownpeak/dqm-react-component-dev-mcp 1.2.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 (444) hide show
  1. package/README.md +138 -0
  2. package/data/.env.example +22 -0
  3. package/data/.gitattributes +47 -0
  4. package/data/.glfrc.json +7 -0
  5. package/data/.husky/pre-commit +5 -0
  6. package/data/.nvmrc +1 -0
  7. package/data/CHANGELOG.md +75 -0
  8. package/data/CODE_OF_CONDUCT.md +129 -0
  9. package/data/CONTRIBUTING.md +203 -0
  10. package/data/DOCS-STRUCTURE.md +307 -0
  11. package/data/I18N.md +292 -0
  12. package/data/LICENSE +22 -0
  13. package/data/README.md +315 -0
  14. package/data/SECURITY.md +125 -0
  15. package/data/WIKI-DEPLOYMENT.md +348 -0
  16. package/data/docs/AI-FEATURES.md +610 -0
  17. package/data/docs/API-REFERENCE.md +1022 -0
  18. package/data/docs/AUTHENTICATION.md +301 -0
  19. package/data/docs/BACKEND-API.md +468 -0
  20. package/data/docs/DEVELOPMENT.md +375 -0
  21. package/data/docs/EXAMPLES.md +622 -0
  22. package/data/docs/MCP-SERVER.md +307 -0
  23. package/data/docs/MIGRATION-GUIDE.md +367 -0
  24. package/data/docs/NPM-PUBLISH.md +193 -0
  25. package/data/docs/QUICKSTART.md +206 -0
  26. package/data/docs/REDIS-SETUP.md +162 -0
  27. package/data/docs/SERVER.md +228 -0
  28. package/data/docs/TROUBLESHOOTING.md +657 -0
  29. package/data/docs/WIDGET-GUIDE.md +638 -0
  30. package/data/docs/WIKI-HOME.md +58 -0
  31. package/data/docs/WIKI-SIDEBAR.md +39 -0
  32. package/data/package.json +171 -0
  33. package/data/playwright.config.ts +64 -0
  34. package/data/probe/.cargo/config.toml +10 -0
  35. package/data/probe/.claude/commands/performance-review.md +15 -0
  36. package/data/probe/.clinerules +288 -0
  37. package/data/probe/.dockerignore +57 -0
  38. package/data/probe/.githooks/post-commit +11 -0
  39. package/data/probe/.githooks/pre-commit +99 -0
  40. package/data/probe/.githooks/pre-commit-vow +9 -0
  41. package/data/probe/.prompts/engineer.md +41 -0
  42. package/data/probe/.roomodes +28 -0
  43. package/data/probe/.windsurfrules +0 -0
  44. package/data/probe/BASH_TOOL_SUMMARY.md +148 -0
  45. package/data/probe/BENCHMARKING.md +256 -0
  46. package/data/probe/CLAUDE.md +226 -0
  47. package/data/probe/CODE_OF_CONDUCT.md +128 -0
  48. package/data/probe/CONTRIBUTING.md +193 -0
  49. package/data/probe/Cargo.toml +120 -0
  50. package/data/probe/Cross.toml +10 -0
  51. package/data/probe/DOCKER-README.md +224 -0
  52. package/data/probe/Dockerfile +32 -0
  53. package/data/probe/ENHANCED_DEBUG_TELEMETRY.md +188 -0
  54. package/data/probe/LICENSE +201 -0
  55. package/data/probe/Makefile +210 -0
  56. package/data/probe/README.md +824 -0
  57. package/data/probe/SECURITY.md +67 -0
  58. package/data/probe/WINDOWS-GUIDE.md +294 -0
  59. package/data/probe/benches/parsing_benchmarks.rs +370 -0
  60. package/data/probe/benches/search_benchmarks.rs +599 -0
  61. package/data/probe/benches/simd_benchmarks.rs +372 -0
  62. package/data/probe/benches/timing_benchmarks.rs +287 -0
  63. package/data/probe/build-windows.bat +229 -0
  64. package/data/probe/codex-config/config.toml +6 -0
  65. package/data/probe/docs/PERFORMANCE_OPTIMIZATION.md +161 -0
  66. package/data/probe/examples/cache_demo.rs +46 -0
  67. package/data/probe/examples/chat/.dockerignore +37 -0
  68. package/data/probe/examples/chat/ChatSessionManager.js +295 -0
  69. package/data/probe/examples/chat/Dockerfile +98 -0
  70. package/data/probe/examples/chat/LICENSE +201 -0
  71. package/data/probe/examples/chat/LOCAL_IMAGE_SUPPORT.md +195 -0
  72. package/data/probe/examples/chat/MCP_INTEGRATION.md +400 -0
  73. package/data/probe/examples/chat/README.md +338 -0
  74. package/data/probe/examples/chat/TRACING.md +226 -0
  75. package/data/probe/examples/chat/appTracer.js +968 -0
  76. package/data/probe/examples/chat/auth.js +76 -0
  77. package/data/probe/examples/chat/bin/probe-chat.js +13 -0
  78. package/data/probe/examples/chat/build.js +104 -0
  79. package/data/probe/examples/chat/cancelRequest.js +84 -0
  80. package/data/probe/examples/chat/demo-agentic-image-flow.js +88 -0
  81. package/data/probe/examples/chat/demo-local-images.js +128 -0
  82. package/data/probe/examples/chat/fileSpanExporter.js +181 -0
  83. package/data/probe/examples/chat/implement/README.md +228 -0
  84. package/data/probe/examples/chat/implement/backends/AiderBackend.js +750 -0
  85. package/data/probe/examples/chat/implement/backends/BaseBackend.js +276 -0
  86. package/data/probe/examples/chat/implement/backends/ClaudeCodeBackend.js +767 -0
  87. package/data/probe/examples/chat/implement/backends/MockBackend.js +237 -0
  88. package/data/probe/examples/chat/implement/backends/registry.js +85 -0
  89. package/data/probe/examples/chat/implement/core/BackendManager.js +567 -0
  90. package/data/probe/examples/chat/implement/core/ImplementTool.js +354 -0
  91. package/data/probe/examples/chat/implement/core/config.js +428 -0
  92. package/data/probe/examples/chat/implement/core/timeouts.js +58 -0
  93. package/data/probe/examples/chat/implement/core/utils.js +496 -0
  94. package/data/probe/examples/chat/implement/types/BackendTypes.js +126 -0
  95. package/data/probe/examples/chat/index.js +669 -0
  96. package/data/probe/examples/chat/mcpServer.js +341 -0
  97. package/data/probe/examples/chat/npm/LICENSE +15 -0
  98. package/data/probe/examples/chat/npm/README.md +168 -0
  99. package/data/probe/examples/chat/npm/bin/probe-chat.js +156 -0
  100. package/data/probe/examples/chat/npm/index.js +259 -0
  101. package/data/probe/examples/chat/npm/package.json +54 -0
  102. package/data/probe/examples/chat/package.json +102 -0
  103. package/data/probe/examples/chat/probeChat.js +456 -0
  104. package/data/probe/examples/chat/probeTool.js +491 -0
  105. package/data/probe/examples/chat/storage/JsonChatStorage.js +476 -0
  106. package/data/probe/examples/chat/telemetry.js +281 -0
  107. package/data/probe/examples/chat/test/integration/chatFlows.test.js +320 -0
  108. package/data/probe/examples/chat/test/integration/toolCalling.test.js +471 -0
  109. package/data/probe/examples/chat/test/mocks/mockLLMProvider.js +269 -0
  110. package/data/probe/examples/chat/test/test-backends.js +90 -0
  111. package/data/probe/examples/chat/test/testUtils.js +530 -0
  112. package/data/probe/examples/chat/test/unit/backendTimeout.test.js +161 -0
  113. package/data/probe/examples/chat/test/unit/packageFiles.test.js +120 -0
  114. package/data/probe/examples/chat/test/verify-tests.js +118 -0
  115. package/data/probe/examples/chat/test-agentic-image-loading.js +294 -0
  116. package/data/probe/examples/chat/test-ai-sdk-telemetry.js +204 -0
  117. package/data/probe/examples/chat/test-chat-tracing.js +38 -0
  118. package/data/probe/examples/chat/test-direct-function.js +49 -0
  119. package/data/probe/examples/chat/test-file-size-validation.js +103 -0
  120. package/data/probe/examples/chat/test-full-mcp-integration.js +258 -0
  121. package/data/probe/examples/chat/test-github-context.txt +12 -0
  122. package/data/probe/examples/chat/test-hierarchy.js +203 -0
  123. package/data/probe/examples/chat/test-image-spans.js +37 -0
  124. package/data/probe/examples/chat/test-local-image-reading.js +176 -0
  125. package/data/probe/examples/chat/test-mcp-integration.js +136 -0
  126. package/data/probe/examples/chat/test-mcp-probe-server.js +161 -0
  127. package/data/probe/examples/chat/test-mcp-with-ai.js +279 -0
  128. package/data/probe/examples/chat/test-multiple-allowed-dirs.js +111 -0
  129. package/data/probe/examples/chat/test-probe-mcp-server.js +110 -0
  130. package/data/probe/examples/chat/test-security-validation.js +145 -0
  131. package/data/probe/examples/chat/test-simple-tracing.js +32 -0
  132. package/data/probe/examples/chat/test-trace-verification.js +235 -0
  133. package/data/probe/examples/chat/test-tracing.js +114 -0
  134. package/data/probe/examples/chat/tokenCounter.js +419 -0
  135. package/data/probe/examples/chat/tokenUsageDisplay.js +134 -0
  136. package/data/probe/examples/chat/webServer.js +1103 -0
  137. package/data/probe/examples/reranker/Cargo.toml +33 -0
  138. package/data/probe/examples/reranker/DEBUG_OUTPUT_ANALYSIS.md +71 -0
  139. package/data/probe/examples/reranker/MODELS.md +66 -0
  140. package/data/probe/examples/reranker/MODEL_COMPARISON.md +60 -0
  141. package/data/probe/examples/reranker/MULTI_MODEL_ANALYSIS.md +176 -0
  142. package/data/probe/examples/reranker/PERFORMANCE_SUMMARY.md +156 -0
  143. package/data/probe/examples/reranker/README.md +347 -0
  144. package/data/probe/examples/reranker/RUST_BERT_COMPARISON.md +82 -0
  145. package/data/probe/examples/reranker/TOKENIZATION_GUIDE.md +120 -0
  146. package/data/probe/examples/reranker/check_rust_tokenizer.py +108 -0
  147. package/data/probe/examples/reranker/convert_to_torchscript.py +109 -0
  148. package/data/probe/examples/reranker/debug_scoring.py +189 -0
  149. package/data/probe/examples/reranker/debug_tokenization.py +154 -0
  150. package/data/probe/examples/reranker/download_models.sh +73 -0
  151. package/data/probe/examples/reranker/requirements.txt +13 -0
  152. package/data/probe/examples/reranker/run_comprehensive_benchmark.sh +83 -0
  153. package/data/probe/examples/reranker/rust_bert_test/Cargo.toml +12 -0
  154. package/data/probe/examples/reranker/rust_bert_test/README.md +54 -0
  155. package/data/probe/examples/reranker/simple_test.py +50 -0
  156. package/data/probe/examples/reranker/test_all_models.sh +63 -0
  157. package/data/probe/examples/reranker/test_bert_results.sh +44 -0
  158. package/data/probe/examples/reranker/test_cross_encoder.py +334 -0
  159. package/data/probe/examples/reranker/test_cross_encoder.sh +80 -0
  160. package/data/probe/examples/reranker/test_exact_comparison.py +151 -0
  161. package/data/probe/examples/reranker/test_parallel_performance.sh +56 -0
  162. package/data/probe/examples/reranker/test_scores.py +132 -0
  163. package/data/probe/install.ps1 +508 -0
  164. package/data/probe/install.sh +460 -0
  165. package/data/probe/npm/CLONE_METHOD_EXAMPLES.md +596 -0
  166. package/data/probe/npm/CONTEXT_COMPACTION.md +303 -0
  167. package/data/probe/npm/DELEGATE_TOOL_README.md +166 -0
  168. package/data/probe/npm/MAID_INTEGRATION.md +313 -0
  169. package/data/probe/npm/MCP_INTEGRATION_SUMMARY.md +241 -0
  170. package/data/probe/npm/README.md +824 -0
  171. package/data/probe/npm/bin/.gitignore +7 -0
  172. package/data/probe/npm/bin/.gitkeep +0 -0
  173. package/data/probe/npm/bin/README.md +12 -0
  174. package/data/probe/npm/bin/probe +167 -0
  175. package/data/probe/npm/docs/CLAUDE_CODE_INTEGRATION.md +414 -0
  176. package/data/probe/npm/docs/CODEX_INTEGRATION.md +502 -0
  177. package/data/probe/npm/docs/EDIT_CREATE_TOOLS.md +233 -0
  178. package/data/probe/npm/docs/RETRY_AND_FALLBACK.md +674 -0
  179. package/data/probe/npm/example-usage.js +335 -0
  180. package/data/probe/npm/examples/multi-engine-demo.js +117 -0
  181. package/data/probe/npm/examples/probe-agent-cli.js +113 -0
  182. package/data/probe/npm/examples/test-agent-edit.js +114 -0
  183. package/data/probe/npm/examples/test-edit-create.js +120 -0
  184. package/data/probe/npm/examples/test-edit-direct.js +114 -0
  185. package/data/probe/npm/index.d.ts +744 -0
  186. package/data/probe/npm/jest.config.js +52 -0
  187. package/data/probe/npm/package.json +117 -0
  188. package/data/probe/npm/scripts/build-agent.cjs +75 -0
  189. package/data/probe/npm/scripts/build-cjs.js +124 -0
  190. package/data/probe/npm/scripts/build-mcp.cjs +36 -0
  191. package/data/probe/npm/scripts/postinstall.js +216 -0
  192. package/data/probe/npm/test-codex-e2e.js +78 -0
  193. package/data/probe/npm/test-download-lock.js +109 -0
  194. package/data/probe/npm/test-grep-security.js +94 -0
  195. package/data/probe/npm/test-grep-simplified.js +63 -0
  196. package/data/probe/npm/test-grep.js +51 -0
  197. package/data/probe/npm/tests/README.md +96 -0
  198. package/data/probe/npm/tests/agent-compact-history.test.js +174 -0
  199. package/data/probe/npm/tests/allow-tests-default.test.js +151 -0
  200. package/data/probe/npm/tests/contextCompactor.test.js +498 -0
  201. package/data/probe/npm/tests/delegate-config.test.js +353 -0
  202. package/data/probe/npm/tests/delegate-integration.test.js +348 -0
  203. package/data/probe/npm/tests/extractor-integration.test.js +162 -0
  204. package/data/probe/npm/tests/extractor.test.js +317 -0
  205. package/data/probe/npm/tests/fixtures/sampleDiagrams.js +267 -0
  206. package/data/probe/npm/tests/integration/claude-code-auto-fallback.spec.js +148 -0
  207. package/data/probe/npm/tests/integration/claude-code-multi-step.spec.js +127 -0
  208. package/data/probe/npm/tests/integration/claude-code-tool-events.spec.js +163 -0
  209. package/data/probe/npm/tests/integration/codex-auto-fallback.spec.js +191 -0
  210. package/data/probe/npm/tests/integration/codex-tool-events.spec.js +147 -0
  211. package/data/probe/npm/tests/integration/examplesChatMcp.test.js +402 -0
  212. package/data/probe/npm/tests/integration/mcpDotenvSupport.test.js +174 -0
  213. package/data/probe/npm/tests/integration/mcpErrorHandling.test.js +566 -0
  214. package/data/probe/npm/tests/integration/mcpRobustness.test.js +564 -0
  215. package/data/probe/npm/tests/integration/mcpStdoutPurity.test.js +355 -0
  216. package/data/probe/npm/tests/integration/probeAgentMcp.test.js +398 -0
  217. package/data/probe/npm/tests/integration/retryFallback.test.js +368 -0
  218. package/data/probe/npm/tests/integration/schema-in-initial-message.test.js +318 -0
  219. package/data/probe/npm/tests/integration/schema-validation-loop-prevention.test.js +244 -0
  220. package/data/probe/npm/tests/integration/schemaRetryLogic.test.js +94 -0
  221. package/data/probe/npm/tests/integration/validationFlow.test.js +329 -0
  222. package/data/probe/npm/tests/manual/test-codex-basic.js +110 -0
  223. package/data/probe/npm/tests/mcp/mcpClientManager.test.js +614 -0
  224. package/data/probe/npm/tests/mcp/mcpConfig.test.js +359 -0
  225. package/data/probe/npm/tests/mcp/mcpXmlBridge.test.js +436 -0
  226. package/data/probe/npm/tests/mcp/mockMcpServer.js +510 -0
  227. package/data/probe/npm/tests/mcp-strict-syntax.test.js +319 -0
  228. package/data/probe/npm/tests/mermaidQuoteEscaping.test.js +214 -0
  229. package/data/probe/npm/tests/nestedQuoteFix.test.js +40 -0
  230. package/data/probe/npm/tests/setup.js +46 -0
  231. package/data/probe/npm/tests/unit/allowed-tools.test.js +513 -0
  232. package/data/probe/npm/tests/unit/attempt-completion-closing-tag-in-content.test.js +188 -0
  233. package/data/probe/npm/tests/unit/attemptCompletionJsonFix.test.js +238 -0
  234. package/data/probe/npm/tests/unit/attemptCompletionJsonIssue.test.js +128 -0
  235. package/data/probe/npm/tests/unit/backtickAutoFix.test.js +35 -0
  236. package/data/probe/npm/tests/unit/bash-probe-agent-integration.test.js +389 -0
  237. package/data/probe/npm/tests/unit/bash-simple-commands.test.js +324 -0
  238. package/data/probe/npm/tests/unit/bash-tool-comprehensive.test.js +371 -0
  239. package/data/probe/npm/tests/unit/bash-tool-integration.test.js +310 -0
  240. package/data/probe/npm/tests/unit/bash-tool.test.js +341 -0
  241. package/data/probe/npm/tests/unit/completion-prompt.test.js +379 -0
  242. package/data/probe/npm/tests/unit/cwd-path-options.test.js +287 -0
  243. package/data/probe/npm/tests/unit/delegate-limits.test.js +422 -0
  244. package/data/probe/npm/tests/unit/direct-content-attempt-completion.test.js +235 -0
  245. package/data/probe/npm/tests/unit/edit-create-tools.test.js +609 -0
  246. package/data/probe/npm/tests/unit/enhancedMermaidValidation.test.js +577 -0
  247. package/data/probe/npm/tests/unit/extract-content.test.js +83 -0
  248. package/data/probe/npm/tests/unit/extract-multiple-targets.test.js +89 -0
  249. package/data/probe/npm/tests/unit/fallbackManager.test.js +442 -0
  250. package/data/probe/npm/tests/unit/githubCompatibilityValidation.test.js +258 -0
  251. package/data/probe/npm/tests/unit/imageConfig.test.js +149 -0
  252. package/data/probe/npm/tests/unit/imagePathResolution.test.js +345 -0
  253. package/data/probe/npm/tests/unit/json-fixing-agent.test.js +238 -0
  254. package/data/probe/npm/tests/unit/json-validation-enhanced-errors.test.js +199 -0
  255. package/data/probe/npm/tests/unit/jsonValidationInfiniteLoopFix.test.js +228 -0
  256. package/data/probe/npm/tests/unit/maidIntegration.test.js +139 -0
  257. package/data/probe/npm/tests/unit/maxIterationsWarning.test.js +195 -0
  258. package/data/probe/npm/tests/unit/mermaidEdgeLabelFix.test.js +161 -0
  259. package/data/probe/npm/tests/unit/mermaidHtmlEntities.test.js +76 -0
  260. package/data/probe/npm/tests/unit/mermaidInfiniteLoopFix.test.js +64 -0
  261. package/data/probe/npm/tests/unit/mermaidValidation.test.js +723 -0
  262. package/data/probe/npm/tests/unit/mermaidValidationVisorExample.test.js +309 -0
  263. package/data/probe/npm/tests/unit/probe-agent-clone-realistic.test.js +643 -0
  264. package/data/probe/npm/tests/unit/probe-agent-clone.test.js +476 -0
  265. package/data/probe/npm/tests/unit/probe-agent-delegate.test.js +400 -0
  266. package/data/probe/npm/tests/unit/probe-agent-model-option.test.js +118 -0
  267. package/data/probe/npm/tests/unit/probeTool-security.test.js +283 -0
  268. package/data/probe/npm/tests/unit/readImageTool.test.js +418 -0
  269. package/data/probe/npm/tests/unit/retryManager.test.js +317 -0
  270. package/data/probe/npm/tests/unit/schema-aware-reminders.test.js +288 -0
  271. package/data/probe/npm/tests/unit/schemaDefinitionDetection.test.js +115 -0
  272. package/data/probe/npm/tests/unit/schemaUtils.test.js +1268 -0
  273. package/data/probe/npm/tests/unit/simpleTelemetry.test.js +282 -0
  274. package/data/probe/npm/tests/unit/simplified-attempt-completion.test.js +274 -0
  275. package/data/probe/npm/tests/unit/single-quote-json-bug.test.js +231 -0
  276. package/data/probe/npm/tests/unit/subgraphAutoFix.test.js +110 -0
  277. package/data/probe/npm/tests/unit/system-prompt.test.js +32 -0
  278. package/data/probe/npm/tests/unit/types-probe-agent-options.test.js +42 -0
  279. package/data/probe/npm/tests/unit/xmlParsing.test.js +720 -0
  280. package/data/probe/npm/tsconfig.json +21 -0
  281. package/data/probe/result1.txt +19 -0
  282. package/data/probe/result2.txt +26 -0
  283. package/data/probe/scripts/benchmark.sh +270 -0
  284. package/data/probe/scripts/cache_memory_analysis.rs +844 -0
  285. package/data/probe/scripts/claude-hook-wrapper.sh +56 -0
  286. package/data/probe/site/.env.example +10 -0
  287. package/data/probe/site/DEPLOYMENT.md +86 -0
  288. package/data/probe/site/README.md +183 -0
  289. package/data/probe/site/adding-languages.md +135 -0
  290. package/data/probe/site/ai-chat.md +427 -0
  291. package/data/probe/site/ai-integration.md +1488 -0
  292. package/data/probe/site/blog/agentic-flow-custom-xml-protocol.md +407 -0
  293. package/data/probe/site/blog/index.md +118 -0
  294. package/data/probe/site/blog/v0.6.0-release.md +426 -0
  295. package/data/probe/site/blog.md +8 -0
  296. package/data/probe/site/changelog.md +200 -0
  297. package/data/probe/site/cli-mode.md +437 -0
  298. package/data/probe/site/code-extraction.md +436 -0
  299. package/data/probe/site/contributing/README.md +9 -0
  300. package/data/probe/site/contributing/documentation-cross-references.md +215 -0
  301. package/data/probe/site/contributing/documentation-maintenance.md +275 -0
  302. package/data/probe/site/contributing/documentation-structure.md +75 -0
  303. package/data/probe/site/documentation-cross-references.md +215 -0
  304. package/data/probe/site/documentation-guide.md +132 -0
  305. package/data/probe/site/documentation-maintenance.md +275 -0
  306. package/data/probe/site/features.md +147 -0
  307. package/data/probe/site/how-it-works.md +118 -0
  308. package/data/probe/site/index.md +175 -0
  309. package/data/probe/site/index.md.bak +133 -0
  310. package/data/probe/site/installation.md +235 -0
  311. package/data/probe/site/integrations/docker.md +248 -0
  312. package/data/probe/site/integrations/github-actions.md +413 -0
  313. package/data/probe/site/language-support-overview.md +168 -0
  314. package/data/probe/site/mcp-integration.md +587 -0
  315. package/data/probe/site/mcp-server.md +304 -0
  316. package/data/probe/site/navigation-structure.md +76 -0
  317. package/data/probe/site/nodejs-sdk.md +798 -0
  318. package/data/probe/site/output-formats.md +625 -0
  319. package/data/probe/site/package.json +21 -0
  320. package/data/probe/site/public/_headers +28 -0
  321. package/data/probe/site/public/_redirects +11 -0
  322. package/data/probe/site/quick-start.md +289 -0
  323. package/data/probe/site/search-functionality.md +291 -0
  324. package/data/probe/site/search-reference.md +291 -0
  325. package/data/probe/site/supported-languages.md +215 -0
  326. package/data/probe/site/use-cases/README.md +8 -0
  327. package/data/probe/site/use-cases/advanced-cli.md +253 -0
  328. package/data/probe/site/use-cases/ai-code-editors.md +239 -0
  329. package/data/probe/site/use-cases/building-ai-tools.md +529 -0
  330. package/data/probe/site/use-cases/cli-ai-workflows.md +285 -0
  331. package/data/probe/site/use-cases/deploying-probe-web-interface.md +255 -0
  332. package/data/probe/site/use-cases/integrating-probe-into-ai-code-editors.md +161 -0
  333. package/data/probe/site/use-cases/nodejs-sdk.md +596 -0
  334. package/data/probe/site/use-cases/team-chat.md +350 -0
  335. package/data/probe/site/web-interface.md +434 -0
  336. package/data/probe/site/wrangler.toml +9 -0
  337. package/data/probe/test-api-key.sh +1 -0
  338. package/data/probe/test-probe-implementation/hello.js +7 -0
  339. package/data/probe/test_cases/demonstrate_early_termination_issues.sh +176 -0
  340. package/data/probe/test_cases/early_termination_issues.rs +533 -0
  341. package/data/probe/test_data/test_nested_struct.go +26 -0
  342. package/data/probe/tests/README.md +286 -0
  343. package/data/probe/tests/README_search_determinism_tests.md +116 -0
  344. package/data/probe/tests/adjacent_comment_test.rs +152 -0
  345. package/data/probe/tests/apostrophe_handling_tests.rs +132 -0
  346. package/data/probe/tests/block_filtering_with_ast_tests.rs +669 -0
  347. package/data/probe/tests/block_merging_tests.rs +396 -0
  348. package/data/probe/tests/c_outline_format_tests.rs +2179 -0
  349. package/data/probe/tests/cache_invalidation_issues.rs.disabled +682 -0
  350. package/data/probe/tests/cache_order_tests.rs +147 -0
  351. package/data/probe/tests/cache_query_scoping_tests.rs +221 -0
  352. package/data/probe/tests/cli_tests.rs +680 -0
  353. package/data/probe/tests/comment_context_integration_test.rs +240 -0
  354. package/data/probe/tests/common.rs +33 -0
  355. package/data/probe/tests/complex_block_merging_tests.rs +599 -0
  356. package/data/probe/tests/complex_query_block_filtering_tests.rs +422 -0
  357. package/data/probe/tests/control_flow_closing_braces_test.rs +91 -0
  358. package/data/probe/tests/cpp_outline_format_tests.rs +1507 -0
  359. package/data/probe/tests/csharp_outline_format_tests.rs +941 -0
  360. package/data/probe/tests/elastic_query_integration_tests.rs +922 -0
  361. package/data/probe/tests/extract_command_tests.rs +1848 -0
  362. package/data/probe/tests/extract_deduplication_tests.rs +146 -0
  363. package/data/probe/tests/extract_input_file_tests.rs +84 -0
  364. package/data/probe/tests/extract_prompt_tests.rs +102 -0
  365. package/data/probe/tests/filename_search_tests.rs +96 -0
  366. package/data/probe/tests/fixtures/user/AssemblyInfo.cs +3 -0
  367. package/data/probe/tests/github_extract_tests.rs +234 -0
  368. package/data/probe/tests/go_comment_test.rs +253 -0
  369. package/data/probe/tests/go_outline_format_tests.rs +2587 -0
  370. package/data/probe/tests/go_path_resolver_tests.rs +96 -0
  371. package/data/probe/tests/html_outline_format_tests.rs +637 -0
  372. package/data/probe/tests/integration_tests.rs +837 -0
  373. package/data/probe/tests/ip_whitelist_test.rs +148 -0
  374. package/data/probe/tests/java_outline_format_tests.rs +1611 -0
  375. package/data/probe/tests/javascript_extract_tests.rs +315 -0
  376. package/data/probe/tests/javascript_outline_format_tests.rs +1464 -0
  377. package/data/probe/tests/json_format_tests.rs +436 -0
  378. package/data/probe/tests/json_schema_validation_tests.rs +450 -0
  379. package/data/probe/tests/lib_usage.rs +60 -0
  380. package/data/probe/tests/line_comment_context_extension_test.rs +459 -0
  381. package/data/probe/tests/line_map_cache_tests.rs +114 -0
  382. package/data/probe/tests/markdown_integration_tests.rs +190 -0
  383. package/data/probe/tests/mocks/test_ip_whitelist.go +11 -0
  384. package/data/probe/tests/mocks/test_object.js +27 -0
  385. package/data/probe/tests/mocks/test_struct.go +50 -0
  386. package/data/probe/tests/multi_keyword_pattern_tests.rs +464 -0
  387. package/data/probe/tests/multi_language_syntax_integration_tests.rs +218 -0
  388. package/data/probe/tests/multiple_capture_groups_tests.rs +169 -0
  389. package/data/probe/tests/negative_compound_word_tests.rs +246 -0
  390. package/data/probe/tests/nested_symbol_extraction_tests.rs +99 -0
  391. package/data/probe/tests/outline_cross_file_interference_test.rs +335 -0
  392. package/data/probe/tests/outline_keyword_preservation_test.rs +67 -0
  393. package/data/probe/tests/output_format_edge_cases_tests.rs +693 -0
  394. package/data/probe/tests/parallel_extraction_tests.rs +178 -0
  395. package/data/probe/tests/parallel_search_tests.rs +355 -0
  396. package/data/probe/tests/path_resolver_tests.rs +698 -0
  397. package/data/probe/tests/php_outline_format_extended_tests.rs +928 -0
  398. package/data/probe/tests/php_outline_format_tests.rs +768 -0
  399. package/data/probe/tests/property_tests.proptest-regressions +9 -0
  400. package/data/probe/tests/property_tests.rs +118 -0
  401. package/data/probe/tests/python_outline_format_tests.rs +1538 -0
  402. package/data/probe/tests/query_command_json_tests.rs +438 -0
  403. package/data/probe/tests/query_command_tests.rs +232 -0
  404. package/data/probe/tests/query_command_xml_tests.rs +569 -0
  405. package/data/probe/tests/quoted_term_with_negative_keyword_tests.rs +216 -0
  406. package/data/probe/tests/required_terms_filename_tests.rs +116 -0
  407. package/data/probe/tests/ruby_outline_format_tests.rs +1011 -0
  408. package/data/probe/tests/rust_line_comment_context_test.rs +151 -0
  409. package/data/probe/tests/rust_outline_format_enhanced_tests.rs +725 -0
  410. package/data/probe/tests/rust_outline_format_tests.rs +843 -0
  411. package/data/probe/tests/schemas/xml_output_schema.xsd +38 -0
  412. package/data/probe/tests/search_determinism_tests.rs +451 -0
  413. package/data/probe/tests/search_hints_tests.rs +253 -0
  414. package/data/probe/tests/special_character_escaping_tests.rs +417 -0
  415. package/data/probe/tests/stemming_compound_word_filtering_tests.rs +535 -0
  416. package/data/probe/tests/strict_elastic_syntax_tests.rs +404 -0
  417. package/data/probe/tests/swift_outline_format_tests.rs +3319 -0
  418. package/data/probe/tests/symbols_tests.rs +166 -0
  419. package/data/probe/tests/test_file.rs +45 -0
  420. package/data/probe/tests/test_tokenize.rs +28 -0
  421. package/data/probe/tests/timeout_tests.rs +82 -0
  422. package/data/probe/tests/tokenization_tests.rs +195 -0
  423. package/data/probe/tests/tokenized_block_filtering_tests.rs +174 -0
  424. package/data/probe/tests/typescript_extract_tests.rs +214 -0
  425. package/data/probe/tests/typescript_outline_format_tests.rs +2188 -0
  426. package/data/probe/tests/xml_format_tests.rs +568 -0
  427. package/data/probe/tests/xml_schema_validation_tests.rs +497 -0
  428. package/data/scripts/postinstall.mjs +9 -0
  429. package/data/scripts/set-version.js +0 -0
  430. package/data/scripts/wiki-build.sh +111 -0
  431. package/data/scripts/wiki-deploy.sh +73 -0
  432. package/data/serve.json +12 -0
  433. package/data/test/demo-dynamic.html +134 -0
  434. package/data/test/demo-esm.html +105 -0
  435. package/data/test/demo-iife.html +78 -0
  436. package/data/tsconfig.json +7 -0
  437. package/data/vite.server.ts +483 -0
  438. package/data/vitest.config.ts +40 -0
  439. package/data/wiki/Home.md +58 -0
  440. package/data/wiki/_Sidebar.md +39 -0
  441. package/docs-mcp.config.json +20 -0
  442. package/package.json +56 -0
  443. package/src/config.js +111 -0
  444. package/src/index.js +395 -0
@@ -0,0 +1,253 @@
1
+ # Advanced CLI: Speed, Token Limits, and Large Repos
2
+
3
+ This guide covers advanced techniques for using Probe's command-line interface effectively, especially when working with large codebases and integrating with AI tools.
4
+
5
+ ## Overview
6
+
7
+ Probe's CLI is designed for performance and flexibility, but working with large repositories or preparing results for AI models requires some additional techniques. This guide will show you how to optimize your workflow for speed, manage token limits, and effectively handle large codebases.
8
+
9
+ ## Merging Code Blocks and Session-Based Caching
10
+
11
+ ### Controlling Block Merging
12
+
13
+ By default, Probe merges adjacent code blocks to provide better context. You can control this behavior:
14
+
15
+ ```bash
16
+ # Disable merging completely
17
+ probe search "authentication" --no-merge
18
+
19
+ # Adjust the threshold for merging (default is 5 lines)
20
+ probe search "authentication" --merge-threshold 10
21
+ ```
22
+
23
+ When to use:
24
+ - Use `--no-merge` when you need precise, separate results
25
+ - Increase `--merge-threshold` when you want more context between related blocks
26
+ - Decrease `--merge-threshold` for more focused results
27
+
28
+ ### Session-Based Caching
29
+
30
+ When performing multiple related searches, use session-based caching to avoid seeing the same code blocks repeatedly:
31
+
32
+ ```bash
33
+ # First search - generates a session ID
34
+ probe search "authentication" --session ""
35
+ # Session: a1b2c3d4 (example output)
36
+
37
+ # Subsequent searches - reuse the session ID
38
+ probe search "login" --session "a1b2c3d4"
39
+ # Will skip code blocks already shown in the previous search
40
+ ```
41
+
42
+ This is particularly useful when:
43
+ - Exploring a topic with multiple related searches
44
+ - Working with AI assistants to avoid repetitive results
45
+ - Building up a comprehensive understanding of a feature
46
+
47
+ ## Dealing with Huge Monorepos
48
+
49
+ Large monorepos present unique challenges. Here are strategies to handle them effectively:
50
+
51
+ ### Targeted Directory Searches
52
+
53
+ Instead of searching the entire repository, target specific directories:
54
+
55
+ ```bash
56
+ # Search only in the authentication module
57
+ probe search "password reset" ./src/auth
58
+
59
+ # Search multiple specific directories
60
+ probe search "user profile" ./src/users ./src/profiles ./src/auth
61
+ ```
62
+
63
+ ### Custom Ignore Patterns
64
+
65
+ Use custom ignore patterns to exclude irrelevant directories:
66
+
67
+ ```bash
68
+ # Exclude generated code, tests, and third-party libraries
69
+ probe search "api" --ignore "node_modules,dist,build,vendor,test,__tests__"
70
+ ```
71
+
72
+ ### Two-Phase Search Approach
73
+
74
+ For very large repositories, use a two-phase approach:
75
+
76
+ ```bash
77
+ # Phase 1: Find relevant files
78
+ probe search "authentication" --files-only > auth-files.txt
79
+
80
+ # Phase 2: Search only in those files
81
+ cat auth-files.txt | xargs probe search "password reset"
82
+ ```
83
+
84
+ ### Parallel Processing
85
+
86
+ For extremely large codebases, split the search across multiple processes:
87
+
88
+ ```bash
89
+ # Split the search across multiple directories
90
+ find ./src -type d -maxdepth 1 | xargs -P 4 -I {} probe search "error handling" {} --format json
91
+ ```
92
+
93
+ ## Scripting with grep, xargs, etc.
94
+
95
+ Probe integrates well with standard Unix tools for powerful workflows:
96
+
97
+ ### Piping and Filtering
98
+
99
+ ```bash
100
+ # Find code, then filter with grep
101
+ probe search "database" | grep "connection"
102
+
103
+ # Process results with awk
104
+ probe search "function" --format plain | awk '/export/ {print $0}'
105
+
106
+ # Count occurrences
107
+ probe search "TODO" --format plain | grep -c "TODO"
108
+ ```
109
+
110
+ ### Advanced xargs Usage
111
+
112
+ ```bash
113
+ # Extract code from all files matching a pattern
114
+ probe search "class" --files-only | xargs -I {} probe extract {}
115
+
116
+ # Process multiple search terms
117
+ echo -e "auth\nuser\nprofile" | xargs -I {} probe search "{}" ./src
118
+ ```
119
+
120
+ ### Creating Custom Reports
121
+
122
+ ```bash
123
+ # Generate a markdown report of all TODO comments
124
+ probe search "TODO" --format markdown > todo-report.md
125
+
126
+ # Create a JSON report of error handling patterns
127
+ probe search "try|catch|error" --format json > error-handling.json
128
+ ```
129
+
130
+ ## Token-Limiting for AI Context Windows
131
+
132
+ When using Probe with AI models, managing token count is crucial:
133
+
134
+ ### Limiting Output Size
135
+
136
+ ```bash
137
+ # Limit by token count (for AI context windows)
138
+ probe search "authentication flow" --max-tokens 8000
139
+
140
+ # Limit by byte size
141
+ probe search "authentication flow" --max-bytes 16000
142
+
143
+ # Limit by result count
144
+ probe search "authentication flow" --max-results 5
145
+ ```
146
+
147
+ ### Format Selection for AI
148
+
149
+ Different AI models work better with different formats:
150
+
151
+ ```bash
152
+ # Markdown format for most AI models
153
+ probe search "authentication" --format markdown
154
+
155
+ # Plain text for simpler models
156
+ probe search "authentication" --format plain
157
+
158
+ # JSON for programmatic processing
159
+ probe search "authentication" --format json
160
+ ```
161
+
162
+ ### Optimizing for Token Efficiency
163
+
164
+ ```bash
165
+ # Exclude filenames to save tokens
166
+ probe search "authentication" --exclude-filenames
167
+
168
+ # Use more specific search terms to reduce noise
169
+ probe search "authentication function"
170
+
171
+ # Focus on specific file types
172
+ probe search "authentication" ./src --ignore "*.test.js,*.spec.js,*.css,*.html"
173
+ ```
174
+
175
+ ## Performance Optimization Techniques
176
+
177
+ ### Search Speed Optimization
178
+
179
+ ```bash
180
+ # Use frequency-based search (default)
181
+ probe search "authentication" --frequency
182
+
183
+ # Use more specific search terms for better precision
184
+ probe search "exactString function"
185
+
186
+ # Search only filenames first, then content
187
+ probe search "config" --files-only
188
+ ```
189
+
190
+ ### Result Ranking Control
191
+
192
+ ```bash
193
+ # Use different ranking algorithms
194
+ probe search "authentication" --reranker hybrid # Default
195
+ probe search "authentication" --reranker bm25 # Better for longer documents
196
+ probe search "authentication" --reranker tfidf # Classic algorithm
197
+ ```
198
+
199
+ ### Memory Usage Optimization
200
+
201
+ For very large repositories or limited memory environments:
202
+
203
+ ```bash
204
+ # Process files in smaller batches
205
+ find ./src -name "*.js" | split -l 100 - batch_
206
+ for batch in batch_*; do
207
+ probe search "memory leak" $(cat $batch)
208
+ rm $batch
209
+ done
210
+ ```
211
+
212
+ ## Practical Examples
213
+
214
+ ### Finding Security Issues
215
+
216
+ ```bash
217
+ # Search for common security vulnerabilities
218
+ probe search "password|token|secret|api_key" --format markdown > security-audit.md
219
+
220
+ # Look for SQL injection vulnerabilities
221
+ probe search "exec|eval|SELECT.*FROM.*WHERE" --format json > sql-injection-check.json
222
+ ```
223
+
224
+ ### Code Quality Analysis
225
+
226
+ ```bash
227
+ # Find TODO comments
228
+ probe search "TODO|FIXME|HACK" > todos.txt
229
+
230
+ # Look for large functions
231
+ probe query "function $NAME($$$PARAMS) $$$BODY" ./src --language javascript > large-functions.txt
232
+
233
+ # Find deprecated API usage
234
+ probe search "deprecated" --format markdown > deprecated-usage.md
235
+ ```
236
+
237
+ ### Documentation Generation
238
+
239
+ ```bash
240
+ # Extract all exported functions
241
+ probe query "export function $NAME($$$PARAMS) $$$BODY" ./src --language typescript > exported-functions.txt
242
+
243
+ # Generate API documentation
244
+ probe query "export function $NAME($$$PARAMS) $$$BODY" ./src --language typescript | \
245
+ probe extract > api-docs.md
246
+ ```
247
+
248
+ ## Next Steps
249
+
250
+ - For AI integration, see [Integrating Probe into AI Code Editors](/use-cases/integrating-probe-into-ai-code-editors)
251
+ - For team collaboration, check out [Deploying the Probe Web Interface](/use-cases/deploying-probe-web-interface)
252
+ - For programmatic access, explore [Building AI Tools on Probe](/use-cases/building-ai-tools)
253
+ - For complete command reference, see the [CLI Reference (Commands & Flags)](/cli-mode)
@@ -0,0 +1,239 @@
1
+ # Using Probe with AI Code Editors
2
+
3
+ This guide explains how to integrate Probe with AI-powered code editors to enhance your coding experience with intelligent code search and understanding.
4
+
5
+ ## Overview
6
+
7
+ AI code editors and assistants are powerful tools, but they often struggle with large codebases because they can't efficiently search and understand your entire project. Probe solves this problem by providing a specialized code search capability that AI assistants can use to find and understand relevant code.
8
+
9
+ By integrating Probe with your AI code editor, you enable your AI assistant to:
10
+
11
+ - Search your codebase with natural language queries
12
+ - Find specific code structures and patterns
13
+ - Extract complete code blocks with proper context
14
+ - Understand the relationships between different parts of your code
15
+
16
+ ## Migrating from @probelabs/probe-mcp
17
+
18
+ If you're currently using the standalone `@probelabs/probe-mcp` package, `probe mcp` is a **drop-in replacement**. Simply change your MCP configuration from:
19
+
20
+ ```json
21
+ "args": ["-y", "@probelabs/probe-mcp"]
22
+ ```
23
+
24
+ to:
25
+
26
+ ```json
27
+ "args": ["-y", "@probelabs/probe", "mcp"]
28
+ ```
29
+
30
+ All the same tools, parameters, and functionality - just with the integrated command!
31
+
32
+ ## Integration Options
33
+
34
+ ### 1. MCP Server Integration (Recommended)
35
+
36
+ The Model Context Protocol (MCP) server integration is the most powerful way to connect Probe with AI editors. It allows the AI to directly use Probe's search capabilities through a standardized protocol.
37
+
38
+ #### Setting Up MCP Integration
39
+
40
+ 1. **Create an MCP configuration file** in your project:
41
+
42
+ For Cline, create `.cline/mcp_config.json`:
43
+
44
+ ```json
45
+ {
46
+ "mcpServers": {
47
+ "probe": {
48
+ "command": "npx",
49
+ "args": [
50
+ "-y",
51
+ "@probelabs/probe",
52
+ "mcp"
53
+ ]
54
+ }
55
+ }
56
+ }
57
+ ```
58
+
59
+ For Roo, Cursor, Windsurf, and other editors, the MCP configuration follows a similar pattern. Check your editor's documentation for specific details.
60
+
61
+ 2. **Start your AI editor** and begin asking questions about your codebase.
62
+
63
+ 3. **Use natural language queries** to search your code:
64
+ - "Find all authentication-related functions in the project"
65
+ - "Show me how error handling is implemented"
66
+ - "Search for code that processes user input"
67
+
68
+ ### 2. Manual Search and Copy
69
+
70
+ If your AI editor doesn't support MCP, you can still use Probe manually:
71
+
72
+ 1. **Run Probe searches** in your terminal:
73
+ ```bash
74
+ probe search "authentication" ./src
75
+ ```
76
+
77
+ 2. **Copy the results** into your conversation with the AI assistant.
78
+
79
+ 3. **Ask follow-up questions** based on the code you've shared.
80
+
81
+ ## Example Workflows
82
+
83
+ ### Exploring a New Codebase
84
+
85
+ When joining a new project or exploring an unfamiliar codebase:
86
+
87
+ 1. **Ask for an overview**: "Can you help me understand the structure of this project?"
88
+ 2. **Explore key components**: "Show me the main entry points of the application"
89
+ 3. **Dive deeper**: "How is authentication implemented in this project?"
90
+
91
+ ### Implementing New Features
92
+
93
+ When adding new functionality to an existing project:
94
+
95
+ 1. **Find similar patterns**: "Show me examples of API endpoints in this codebase"
96
+ 2. **Understand dependencies**: "What modules would I need to modify to add a new user role?"
97
+ 3. **Get implementation guidance**: "Based on the existing code, how should I implement this new feature?"
98
+
99
+ ### Debugging Issues
100
+
101
+ When troubleshooting problems:
102
+
103
+ 1. **Find error handling**: "Show me how errors are handled in the authentication flow"
104
+ 2. **Trace execution paths**: "Find all places where user input is validated"
105
+ 3. **Identify patterns**: "Are there similar issues elsewhere in the codebase?"
106
+
107
+ ## Editor-Specific Setup
108
+
109
+ ### Cline
110
+
111
+ 1. Create `.cline/mcp_config.json` with the configuration shown above
112
+ 2. Start Cline in your project directory
113
+ 3. Ask questions about your codebase
114
+
115
+ ### Roo Code
116
+
117
+ 1. Visit [Roo Code on GitHub](https://github.com/RooVetGit/Roo-Code) for installation instructions
118
+ 2. Configure Roo to use Probe via MCP
119
+ 3. Roo can be configured the same way as other editors via MCP
120
+
121
+ ### VSCode with Cursor or Windsurf
122
+
123
+ 1. Install the Cursor or Windsurf extension
124
+ 2. Configure the extension to use external tools
125
+ 3. Add the Probe MCP configuration to your settings
126
+
127
+ ## Advanced Configuration
128
+
129
+ ### Custom Search Paths
130
+
131
+ You can configure the MCP server to search specific directories by default:
132
+
133
+ ```json
134
+ {
135
+ "mcpServers": {
136
+ "probe": {
137
+ "command": "npx",
138
+ "args": [
139
+ "-y",
140
+ "@probelabs/probe",
141
+ "mcp"
142
+ ],
143
+ "env": {
144
+ "PROBE_DEFAULT_PATHS": "/path/to/project1,/path/to/project2"
145
+ }
146
+ }
147
+ }
148
+ }
149
+ ```
150
+
151
+ ### Limiting Results
152
+
153
+ For large codebases, you can limit the amount of code returned:
154
+
155
+ ```json
156
+ {
157
+ "mcpServers": {
158
+ "probe": {
159
+ "command": "npx",
160
+ "args": [
161
+ "-y",
162
+ "@probelabs/probe",
163
+ "mcp"
164
+ ],
165
+ "env": {
166
+ "PROBE_MAX_TOKENS": "20000"
167
+ }
168
+ }
169
+ }
170
+ }
171
+ ```
172
+
173
+ ## Optimizing Probe Usage in AI Editors
174
+
175
+ To get the most out of Probe in your AI code editor, you can provide custom instructions to guide how the AI uses Probe's tools. Below is an example from a `.roomodes` configuration file that optimizes Probe usage:
176
+
177
+ ```json
178
+ {
179
+ "customModes": [
180
+ {
181
+ "slug": "ask-probe",
182
+ "name": "Ask Probe",
183
+ "roleDefinition": "You are Roo, a code intelligence assistant powered by the Probe MCP tools. Always prefer Probe MCP tools for searching the code. Rather then guessing, start with using `search_code` tool, with exact keywords, and extend your search deeper. AVOID reading full files, unless absolutelly necessary. Use this tools as a scalpel, not a hammer. Use 'exact' parameter if you looking for something specific. Avoid searching with too common keywords, like 'if', 'for', 'while', etc. If you need to extract a specific code block, use `extract_code` tool. If you need to find a specific code structure, use `query_code` tool. If you are unsure about the results, refine your query or ask for clarification.",
184
+ "groups": [
185
+ "read",
186
+ "mcp"
187
+ ],
188
+ "customInstructions": "Leverage Probe MCP tools effectively:\n\n1. **search_code**:\n - Use simple, unique keywords (e.g., 'rpc' over 'rpc layer')\n - Use ElasticSearch query language: ALWAYS use + for required terms, and omit for general and optional, - for excluded terms, and AND/OR for logic. Prefer explicit searches, with this syntax.\n\n2. **query_code**:\n - Craft tree-sitter patterns (e.g., 'fn $NAME($$$PARAMS) $$$BODY') for specific structures\n - Match patterns to the language (e.g., Rust, Python)\n - Use sparingly for precise structural queries\n\n3. **extract_code**:\n - Extract blocks by line number (e.g., '/file.rs:42') or full files for context\n - Include `contextLines` only if AST parsing fails\n\n**Approach**:\n- Start with a clear search strategy\n- Interpret results concisely, tying them to the user's question\n- If unsure, refine queries or ask for clarification"
189
+ }
190
+ ]
191
+ }
192
+ ```
193
+
194
+ This configuration instructs the AI to:
195
+ - Use Probe MCP tools as the primary method for code search
196
+ - Start with specific keywords rather than guessing
197
+ - Use the appropriate tool for each task (search_code, query_code, extract_code)
198
+ - Follow best practices for each tool, such as using ElasticSearch query syntax
199
+ - Avoid common pitfalls like searching with overly generic terms
200
+
201
+ ## Best Practices
202
+
203
+ 1. **Be specific in your queries**: Instead of "show me the code," ask "show me the authentication implementation in the user service"
204
+
205
+ 2. **Provide context**: Tell the AI what you're trying to accomplish so it can formulate better searches
206
+
207
+ 3. **Use follow-up questions**: Build on previous results to explore the code more deeply
208
+
209
+ 4. **Combine with documentation**: Ask the AI to explain the code it finds by referencing project documentation
210
+
211
+ 5. **Iterate on searches**: If you don't find what you're looking for, try reformulating your query
212
+
213
+ 6. **Consider privacy implications**: Remember that when using Probe with external AI services, code snippets are sent to those services
214
+
215
+ ## Troubleshooting
216
+
217
+ ### Common Issues
218
+
219
+ | Issue | Solution |
220
+ |-------|----------|
221
+ | AI doesn't use Probe | Explicitly ask the AI to use Probe: "Using Probe, search for..." |
222
+ | Empty search results | Try a simpler query or check if you're searching in the right directory |
223
+ | Too much code returned | Use more specific queries or configure result limits |
224
+ | MCP server not starting | Check your MCP configuration and ensure npx is installed |
225
+ | Privacy concerns with sensitive code | Use local AI models or limit searches to non-sensitive code areas |
226
+
227
+ ### Getting Help
228
+
229
+ If you encounter issues with the MCP integration:
230
+
231
+ 1. Check the [MCP Server Reference](/mcp-server) for detailed information
232
+ 2. Visit the [Probe GitHub repository](https://github.com/probelabs/probe) for the latest updates
233
+ 3. Open an issue if you encounter a bug or have a feature request
234
+
235
+ ## Next Steps
236
+
237
+ - Learn about [Probe's CLI capabilities](/cli-mode) for advanced usage
238
+ - Explore [hosting a team chat](/use-cases/team-chat) for collaborative code exploration
239
+ - Check out [building custom tools](/use-cases/nodejs-sdk) with the Node.js SDK