@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,175 @@
1
+ ---
2
+ layout: home
3
+ title: Probe - Local, AI-Ready Code Intelligence
4
+ hero:
5
+ name: Probe
6
+ text: "Local, AI-Ready\nCode Intelligence"
7
+ tagline: Make AI work with large codebases, and natively understand it.
8
+ image:
9
+ src: /logo.png
10
+ alt: Probe Logo
11
+ actions:
12
+ - theme: brand
13
+ text: Get Started →
14
+ link: /quick-start
15
+ - theme: alt
16
+ text: GitHub Repo
17
+ link: https://github.com/probelabs/probe
18
+ - theme: alt
19
+ text: Join Discord
20
+ link: https://discord.gg/t5QmP9EWSS
21
+ ---
22
+
23
+ <div class="quick-start-section">
24
+ <div class="container">
25
+ <div class="quick-start-grid">
26
+ <div class="quick-start-option">
27
+ <h3>Core Search</h3>
28
+ <div class="pre-wrapper">
29
+ <div class="language-bash"><pre><code>npx -y @probelabs/probe@latest "+stemming -lexer"</code></pre></div>
30
+ </div>
31
+ <p class="option-description">Fast semantic code search with elastic search syntax</p>
32
+ </div>
33
+ <div class="quick-start-option">
34
+ <h3>AI Chat</h3>
35
+ <div class="pre-wrapper">
36
+ <div class="language-bash"><pre><code>npx -y @probelabs/probe-chat@latest --web</code></pre></div>
37
+ </div>
38
+ <p class="option-description">Built-in AI agent. <small>OpenAI or Anthropic (API key required)</small></p>
39
+ </div>
40
+ <div class="quick-start-option">
41
+ <h3>MCP Server</h3>
42
+ <div class="pre-wrapper">
43
+ <div class="language-bash"><pre><code>probe mcp</code></pre></div>
44
+ </div>
45
+ <p class="option-description">Model Context Protocol server for AI editors</p>
46
+ </div>
47
+ <div class="quick-start-option">
48
+ <h3>Probe Agent</h3>
49
+ <div class="pre-wrapper">
50
+ <div class="language-bash"><pre><code>npx -y @probelabs/probe@latest extract "main.rs:42" --prompt engineer</code></pre></div>
51
+ </div>
52
+ <p class="option-description">LLM-optimized code extraction with prompt templates</p>
53
+ </div>
54
+ </div>
55
+ </div>
56
+ </div>
57
+
58
+ <StarsBackground />
59
+
60
+
61
+ <div class="main-content">
62
+ <HomeFeatures />
63
+
64
+ </div>
65
+
66
+ <style>
67
+ .quick-start-section,
68
+ .vision-section {
69
+ padding: 1rem 0;
70
+ }
71
+
72
+ .quick-start-section {
73
+ text-align: center;
74
+ margin-top: -1rem;
75
+ }
76
+
77
+ .quick-start-grid {
78
+ display: grid;
79
+ grid-template-columns: 1fr 1fr;
80
+ grid-template-rows: 1fr 1fr;
81
+ gap: 2rem;
82
+ max-width: 1200px;
83
+ margin: 0 auto;
84
+ }
85
+
86
+ .quick-start-option {
87
+ text-align: center;
88
+ }
89
+
90
+ .quick-start-option h3 {
91
+ margin-bottom: 0.5rem;
92
+ color: var(--vp-c-text-1);
93
+ margin-top: 0px;
94
+ }
95
+
96
+ .pre-wrapper {
97
+ display: flex;
98
+ justify-content: center;
99
+ margin: 0.5rem auto;
100
+ width: auto;
101
+ overflow-x: auto;
102
+ }
103
+
104
+ .pre-wrapper pre {
105
+ width: auto;
106
+ padding: 0.75rem 0.75rem;
107
+ border-radius: 6px;
108
+ box-shadow: 0 2px 4px rgba(0,0,0,0.05);
109
+ transition: box-shadow 0.2s ease;
110
+ display: inline-block;
111
+ overflow-x: auto;
112
+ }
113
+
114
+ .pre-wrapper pre:hover {
115
+ box-shadow: 0 4px 8px rgba(0,0,0,0.1);
116
+ }
117
+
118
+ .option-description {
119
+ font-size: 0.9rem;
120
+ color: var(--vp-c-text-2);
121
+ margin-top: 0.5rem;
122
+ }
123
+
124
+ .container {
125
+ margin: 0 auto;
126
+ padding: 0 0.5rem;
127
+ max-width: 1200px;
128
+ }
129
+
130
+ .vision-section p {
131
+ font-size: 1rem;
132
+ line-height: 1.6;
133
+ margin: 0.75rem 0;
134
+ color: var(--vp-c-text-2);
135
+ }
136
+
137
+ .vision-section h2 {
138
+ margin-top: 1.5rem;
139
+ }
140
+
141
+ h2 {
142
+ font-size: 1.5rem;
143
+ margin-bottom: 0.75rem;
144
+ color: var(--vp-c-text-1);
145
+ }
146
+
147
+ @media (max-width: 640px) {
148
+ .quick-start-grid {
149
+ grid-template-columns: 1fr;
150
+ gap: 1rem;
151
+ }
152
+
153
+ .quick-start-option {
154
+ width: 100%;
155
+ }
156
+
157
+ .container {
158
+ padding: 0 0.25rem;
159
+ }
160
+
161
+ .pre-wrapper {
162
+ padding: 0;
163
+ }
164
+
165
+ .pre-wrapper pre {
166
+ padding: 0.5rem 0.25rem;
167
+ font-size: 0.9rem;
168
+ width: 100%;
169
+ }
170
+
171
+ .quick-start-section {
172
+ padding: 0.5rem 0;
173
+ }
174
+ }
175
+ </style>
@@ -0,0 +1,133 @@
1
+ ---
2
+ # https://vitepress.dev/reference/default-theme-home-page
3
+ layout: home
4
+
5
+ hero:
6
+ name: "Probe"
7
+ text: "Local, AI-Ready\nCode Intelligence"
8
+ tagline: Make AI work with large codebases, and natively understand it.
9
+ image:
10
+ src: /logo.png
11
+ alt: Probe Logo
12
+ actions:
13
+ - theme: brand
14
+ text: Get Started →
15
+ link: /quick-start
16
+ - theme: alt
17
+ text: GitHub Repo
18
+ link: https://github.com/probelabs/probe
19
+
20
+ features:
21
+ - icon: 🔬
22
+ title: Deep Code Understanding
23
+ details: Extract complete functions, classes and structures. Not just lines of code - full context every time.
24
+
25
+ - icon: ⚡
26
+ title: Built for Speed
27
+ details: Search massive codebases instantly. Powered by ripgrep and tree-sitter for performance that scales with your projects.
28
+
29
+ - icon: 🛡️
30
+ title: Totally Local
31
+ details: Your code never leaves your machine. Full privacy with zero data collection or cloud dependencies.
32
+
33
+ - icon: 🧮
34
+ title: Smarter Results
35
+ details: BM25 & TF-IDF algorithms deliver the most relevant code first. Find what you need without the noise.
36
+
37
+ - icon: 🌍
38
+ title: Multi-Language
39
+ details: Works with Rust, JavaScript, Python, Go, Java, C++, Swift, Ruby and more. One tool for all your code.
40
+
41
+ - icon: 🤖
42
+ title: AI-Ready
43
+ details: Built for modern workflows with integrated AI chat and MCP server for seamless assistant integration.
44
+ ---
45
+
46
+ <StarsBackground />
47
+
48
+ <div class="main-content">
49
+
50
+ <FeatureSection>
51
+ <template #content>
52
+ <h2>Semantic Code Search</h2>
53
+
54
+ <p>Find code patterns with precision using AST-based search. No more regex headaches or partial matches.</p>
55
+
56
+ <p>Search for optional chaining patterns:</p>
57
+
58
+ <div class="language-bash"><pre><code>ast-grep -p '$A?.$B' src/</code></pre></div>
59
+ </template>
60
+ <template #code>
61
+ <div class="language-typescript"><pre><code>function processUser(user: User) {
62
+ if (!user?.isActive) {
63
+ return;
64
+ }
65
+
66
+ // Process active user
67
+ user.lastSeen = new Date();
68
+ notifyUserActivity(user);
69
+ }</code></pre></div>
70
+ </template>
71
+ </FeatureSection>
72
+
73
+ <FeatureSection>
74
+ <template #content>
75
+ <h2>Quick Start</h2>
76
+
77
+ <p>Get started with a single command:</p>
78
+
79
+ <div class="language-bash"><pre><code>curl -fsSL https://raw.githubusercontent.com/probelabs/probe/main/install.sh | bash</code></pre></div>
80
+
81
+ <p>Then start exploring your code:</p>
82
+
83
+ <div class="language-bash"><pre><code>probe search "user authentication" ./src</code></pre></div>
84
+ </template>
85
+ <template #code>
86
+ <div class="language-typescript"><pre><code>// Example of using Probe's Node.js SDK
87
+ import { search } from '@probelabs/probe';
88
+
89
+ const results = await search({
90
+ query: "user authentication",
91
+ path: "./src",
92
+ options: {
93
+ contextLines: 3
94
+ }
95
+ });
96
+
97
+ console.log(`Found ${results.length} matches`);</code></pre></div>
98
+ </template>
99
+ </FeatureSection>
100
+
101
+ <FeatureSection>
102
+ <template #content>
103
+ <h2>AI Integration</h2>
104
+
105
+ <p>Probe offers powerful AI integration capabilities that allow you to leverage large language models to understand and navigate your codebase more effectively:</p>
106
+
107
+ <ul>
108
+ <li><strong>AI Chat Mode</strong>: Interactive CLI interface</li>
109
+ <li><strong>MCP Server Integration</strong>: Seamless AI editor integration</li>
110
+ <li><strong>Node.js SDK</strong>: Programmatic access to search</li>
111
+ </ul>
112
+ </template>
113
+ <template #code>
114
+ <div class="language-typescript"><pre><code>import { search } from '@probelabs/probe';
115
+ import { ChatOpenAI } from '@langchain/openai';
116
+ import { tools } from '@probelabs/probe';
117
+
118
+ // Create AI assistant with code search
119
+ const searchTool = tools.createSearchTool();
120
+ const model = new ChatOpenAI()
121
+ .withTools([searchTool]);
122
+
123
+ // Ask questions about your code
124
+ const result = await model.invoke([
125
+ { role: "system",
126
+ content: "You are a code assistant." },
127
+ { role: "user",
128
+ content: "How is auth implemented?" }
129
+ ]);</code></pre></div>
130
+ </template>
131
+ </FeatureSection>
132
+
133
+ </div>
@@ -0,0 +1,235 @@
1
+ # Installation
2
+
3
+ Probe can be installed in several ways, depending on your preferences and system requirements.
4
+
5
+ ## Quick Installation
6
+
7
+ You can install Probe in several ways - choose the method that best fits your environment:
8
+
9
+ ### Using Docker (Recommended for containerized environments)
10
+
11
+ ```bash
12
+ # Pull the CLI image
13
+ docker pull probelabs/probe:latest
14
+
15
+ # Create an alias for easy usage
16
+ alias probe='docker run --rm -v $(pwd):/workspace probelabs/probe'
17
+
18
+ # For the AI chat interface
19
+ docker pull probelabs/probe-chat:latest
20
+ ```
21
+
22
+ **Benefits of Docker installation**:
23
+ - No local dependencies required
24
+ - Consistent environment across systems
25
+ - Multi-platform support (AMD64, ARM64)
26
+ - Easy CI/CD integration
27
+ - Isolated execution environment
28
+
29
+ [→ Full Docker documentation](./integrations/docker.md)
30
+
31
+ ### Using npm (Recommended for Node.js users)
32
+
33
+ ```bash
34
+ npm install -g @probelabs/probe@latest
35
+ ```
36
+
37
+ ### Using curl (For macOS and Linux)
38
+
39
+ ```bash
40
+ curl -fsSL https://raw.githubusercontent.com/probelabs/probe/main/install.sh | bash
41
+ ```
42
+
43
+ **What the curl script does**:
44
+
45
+ 1. Detects your operating system and architecture
46
+ 2. Fetches the latest release from GitHub
47
+ 3. Downloads the appropriate binary for your system
48
+ 4. Verifies the checksum for security
49
+ 5. Installs the binary to `/usr/local/bin`
50
+
51
+ ### Using PowerShell (For Windows)
52
+
53
+ ```powershell
54
+ iwr -useb https://raw.githubusercontent.com/probelabs/probe/main/install.ps1 | iex
55
+ ```
56
+
57
+ **What the PowerShell script does**:
58
+
59
+ 1. Detects your system architecture (x86_64 or ARM64)
60
+ 2. Fetches the latest release from GitHub
61
+ 3. Downloads the appropriate Windows binary
62
+ 4. Verifies the checksum for security
63
+ 5. Installs the binary to your user directory (`%LOCALAPPDATA%\Probe`) by default
64
+ 6. Provides instructions to add the binary to your PATH if needed
65
+
66
+ **Installation options**:
67
+
68
+ The PowerShell script supports several options:
69
+
70
+ ```powershell
71
+ # Install for current user (default)
72
+ iwr -useb https://raw.githubusercontent.com/probelabs/probe/main/install.ps1 | iex
73
+
74
+ # Install system-wide (requires admin privileges)
75
+ iwr -useb https://raw.githubusercontent.com/probelabs/probe/main/install.ps1 | iex -args "--system"
76
+
77
+ # Install to a custom directory
78
+ iwr -useb https://raw.githubusercontent.com/probelabs/probe/main/install.ps1 | iex -args "--dir", "C:\Tools\Probe"
79
+
80
+ # Show help
81
+ iwr -useb https://raw.githubusercontent.com/probelabs/probe/main/install.ps1 | iex -args "--help"
82
+ ```
83
+
84
+ ## Requirements
85
+
86
+ - **Operating Systems**: macOS, Linux, or Windows
87
+ - **Architectures**: x86_64 (all platforms) or ARM64 (macOS and Windows)
88
+ - **Tools**:
89
+ - For macOS/Linux: `curl`, `bash`, and `sudo`/root privileges
90
+ - For Windows: PowerShell 5.1 or later
91
+
92
+ ## Manual Installation
93
+
94
+ If you prefer to install manually or the quick installation script doesn't work for your system:
95
+
96
+ 1. Download the appropriate binary for your platform from the [GitHub Releases](https://github.com/probelabs/probe/releases) page:
97
+ - `probe-x86_64-linux.tar.gz` for Linux (x86_64)
98
+ - `probe-x86_64-darwin.tar.gz` for macOS (Intel)
99
+ - `probe-aarch64-darwin.tar.gz` for macOS (Apple Silicon)
100
+ - `probe-x86_64-windows.zip` for Windows (x86_64)
101
+ - `probe-aarch64-windows.zip` for Windows (ARM64)
102
+
103
+ 2. Extract the archive:
104
+ ```bash
105
+ # For Linux/macOS
106
+ tar -xzf probe-*-*.tar.gz
107
+
108
+ # For Windows (using PowerShell)
109
+ Expand-Archive -Path probe-*-windows.zip -DestinationPath .\probe
110
+ ```
111
+
112
+ 3. Move the binary to a location in your PATH:
113
+ ```bash
114
+ # For Linux/macOS
115
+ sudo mv probe /usr/local/bin/
116
+
117
+ # For Windows (using PowerShell)
118
+ # Create a directory for the binary (if it doesn't exist)
119
+ $installDir = "$env:LOCALAPPDATA\Probe"
120
+ New-Item -ItemType Directory -Path $installDir -Force
121
+
122
+ # Move the binary
123
+ Move-Item -Path .\probe\probe.exe -Destination $installDir
124
+
125
+ # Add to PATH (optional)
126
+ [Environment]::SetEnvironmentVariable('PATH', [Environment]::GetEnvironmentVariable('PATH', 'User') + ";$installDir", 'User')
127
+ ```
128
+
129
+ ## Building from Source
130
+
131
+ For developers who want to build Probe from source:
132
+
133
+ 1. Install Rust and Cargo (if not already installed):
134
+
135
+ For macOS/Linux:
136
+ ```bash
137
+ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
138
+ ```
139
+
140
+ For Windows:
141
+ ```powershell
142
+ # Download and run the Rust installer
143
+ Invoke-WebRequest -Uri https://win.rustup.rs/x86_64 -OutFile rustup-init.exe
144
+ .\rustup-init.exe
145
+ # Follow the on-screen instructions
146
+ ```
147
+
148
+ 2. Clone the repository:
149
+ ```bash
150
+ git clone https://github.com/probelabs/probe.git
151
+ cd probe
152
+ ```
153
+
154
+ 3. Build the project:
155
+ ```bash
156
+ cargo build --release
157
+ ```
158
+
159
+ 4. (Optional) Install globally:
160
+ ```bash
161
+ cargo install --path .
162
+ ```
163
+
164
+ This will install the binary to your Cargo bin directory, which is typically:
165
+ - `$HOME/.cargo/bin` on macOS/Linux
166
+ - `%USERPROFILE%\.cargo\bin` on Windows
167
+
168
+ ## Verifying the Installation
169
+
170
+ To verify that Probe has been installed correctly:
171
+
172
+ For macOS/Linux:
173
+ ```bash
174
+ probe --version
175
+ ```
176
+
177
+ For Windows:
178
+ ```powershell
179
+ probe --version
180
+ ```
181
+
182
+ This should display the version number of the installed Probe binary.
183
+
184
+ If you get a "command not found" error on Windows, make sure the installation directory is in your PATH or use the full path to the executable:
185
+ ```powershell
186
+ # If installed to the default user location
187
+ & "$env:LOCALAPPDATA\Probe\probe.exe" --version
188
+
189
+ # If installed to the default system location
190
+ & "$env:ProgramFiles\Probe\probe.exe" --version
191
+ ```
192
+
193
+ ## Troubleshooting
194
+
195
+ - **Permissions**:
196
+ - For macOS/Linux: Ensure you can write to `/usr/local/bin`
197
+ - For Windows: Ensure you have write permissions to the installation directory
198
+ - **System Requirements**: Double-check your OS/architecture compatibility
199
+ - **PATH Issues**:
200
+ - For Windows: Restart your terminal after adding the installation directory to PATH
201
+ - For macOS/Linux: Verify that `/usr/local/bin` is in your PATH
202
+ - **Manual Install**: If the quick install script fails, try the manual installation method
203
+ - **GitHub Issues**: Report issues on the [GitHub repository](https://github.com/probelabs/probe/issues)
204
+
205
+ ## Uninstalling
206
+
207
+ To uninstall Probe:
208
+
209
+ ```bash
210
+ # If installed via npm
211
+ npm uninstall -g @probelabs/probe@latest
212
+
213
+ # If installed via curl script or manually on macOS/Linux
214
+ sudo rm /usr/local/bin/probe
215
+ ```
216
+
217
+ For Windows:
218
+
219
+ ```powershell
220
+ # If installed via PowerShell script to default user location
221
+ Remove-Item -Path "$env:LOCALAPPDATA\Probe\probe.exe" -Force
222
+
223
+ # If installed via PowerShell script to system location
224
+ Remove-Item -Path "$env:ProgramFiles\Probe\probe.exe" -Force
225
+
226
+ # If you added the installation directory to PATH, you may want to remove it
227
+ # For user PATH:
228
+ $userPath = [Environment]::GetEnvironmentVariable('PATH', 'User')
229
+ $userPath = ($userPath -split ';' | Where-Object { $_ -ne "$env:LOCALAPPDATA\Probe" }) -join ';'
230
+ [Environment]::SetEnvironmentVariable('PATH', $userPath, 'User')
231
+
232
+ # For system PATH (requires admin privileges):
233
+ $systemPath = [Environment]::GetEnvironmentVariable('PATH', 'Machine')
234
+ $systemPath = ($systemPath -split ';' | Where-Object { $_ -ne "$env:ProgramFiles\Probe" }) -join ';'
235
+ [Environment]::SetEnvironmentVariable('PATH', $systemPath, 'Machine')