@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.
- package/README.md +138 -0
- package/data/.env.example +22 -0
- package/data/.gitattributes +47 -0
- package/data/.glfrc.json +7 -0
- package/data/.husky/pre-commit +5 -0
- package/data/.nvmrc +1 -0
- package/data/CHANGELOG.md +75 -0
- package/data/CODE_OF_CONDUCT.md +129 -0
- package/data/CONTRIBUTING.md +203 -0
- package/data/DOCS-STRUCTURE.md +307 -0
- package/data/I18N.md +292 -0
- package/data/LICENSE +22 -0
- package/data/README.md +315 -0
- package/data/SECURITY.md +125 -0
- package/data/WIKI-DEPLOYMENT.md +348 -0
- package/data/docs/AI-FEATURES.md +610 -0
- package/data/docs/API-REFERENCE.md +1022 -0
- package/data/docs/AUTHENTICATION.md +301 -0
- package/data/docs/BACKEND-API.md +468 -0
- package/data/docs/DEVELOPMENT.md +375 -0
- package/data/docs/EXAMPLES.md +622 -0
- package/data/docs/MCP-SERVER.md +307 -0
- package/data/docs/MIGRATION-GUIDE.md +367 -0
- package/data/docs/NPM-PUBLISH.md +193 -0
- package/data/docs/QUICKSTART.md +206 -0
- package/data/docs/REDIS-SETUP.md +162 -0
- package/data/docs/SERVER.md +228 -0
- package/data/docs/TROUBLESHOOTING.md +657 -0
- package/data/docs/WIDGET-GUIDE.md +638 -0
- package/data/docs/WIKI-HOME.md +58 -0
- package/data/docs/WIKI-SIDEBAR.md +39 -0
- package/data/package.json +171 -0
- package/data/playwright.config.ts +64 -0
- package/data/probe/.cargo/config.toml +10 -0
- package/data/probe/.claude/commands/performance-review.md +15 -0
- package/data/probe/.clinerules +288 -0
- package/data/probe/.dockerignore +57 -0
- package/data/probe/.githooks/post-commit +11 -0
- package/data/probe/.githooks/pre-commit +99 -0
- package/data/probe/.githooks/pre-commit-vow +9 -0
- package/data/probe/.prompts/engineer.md +41 -0
- package/data/probe/.roomodes +28 -0
- package/data/probe/.windsurfrules +0 -0
- package/data/probe/BASH_TOOL_SUMMARY.md +148 -0
- package/data/probe/BENCHMARKING.md +256 -0
- package/data/probe/CLAUDE.md +226 -0
- package/data/probe/CODE_OF_CONDUCT.md +128 -0
- package/data/probe/CONTRIBUTING.md +193 -0
- package/data/probe/Cargo.toml +120 -0
- package/data/probe/Cross.toml +10 -0
- package/data/probe/DOCKER-README.md +224 -0
- package/data/probe/Dockerfile +32 -0
- package/data/probe/ENHANCED_DEBUG_TELEMETRY.md +188 -0
- package/data/probe/LICENSE +201 -0
- package/data/probe/Makefile +210 -0
- package/data/probe/README.md +824 -0
- package/data/probe/SECURITY.md +67 -0
- package/data/probe/WINDOWS-GUIDE.md +294 -0
- package/data/probe/benches/parsing_benchmarks.rs +370 -0
- package/data/probe/benches/search_benchmarks.rs +599 -0
- package/data/probe/benches/simd_benchmarks.rs +372 -0
- package/data/probe/benches/timing_benchmarks.rs +287 -0
- package/data/probe/build-windows.bat +229 -0
- package/data/probe/codex-config/config.toml +6 -0
- package/data/probe/docs/PERFORMANCE_OPTIMIZATION.md +161 -0
- package/data/probe/examples/cache_demo.rs +46 -0
- package/data/probe/examples/chat/.dockerignore +37 -0
- package/data/probe/examples/chat/ChatSessionManager.js +295 -0
- package/data/probe/examples/chat/Dockerfile +98 -0
- package/data/probe/examples/chat/LICENSE +201 -0
- package/data/probe/examples/chat/LOCAL_IMAGE_SUPPORT.md +195 -0
- package/data/probe/examples/chat/MCP_INTEGRATION.md +400 -0
- package/data/probe/examples/chat/README.md +338 -0
- package/data/probe/examples/chat/TRACING.md +226 -0
- package/data/probe/examples/chat/appTracer.js +968 -0
- package/data/probe/examples/chat/auth.js +76 -0
- package/data/probe/examples/chat/bin/probe-chat.js +13 -0
- package/data/probe/examples/chat/build.js +104 -0
- package/data/probe/examples/chat/cancelRequest.js +84 -0
- package/data/probe/examples/chat/demo-agentic-image-flow.js +88 -0
- package/data/probe/examples/chat/demo-local-images.js +128 -0
- package/data/probe/examples/chat/fileSpanExporter.js +181 -0
- package/data/probe/examples/chat/implement/README.md +228 -0
- package/data/probe/examples/chat/implement/backends/AiderBackend.js +750 -0
- package/data/probe/examples/chat/implement/backends/BaseBackend.js +276 -0
- package/data/probe/examples/chat/implement/backends/ClaudeCodeBackend.js +767 -0
- package/data/probe/examples/chat/implement/backends/MockBackend.js +237 -0
- package/data/probe/examples/chat/implement/backends/registry.js +85 -0
- package/data/probe/examples/chat/implement/core/BackendManager.js +567 -0
- package/data/probe/examples/chat/implement/core/ImplementTool.js +354 -0
- package/data/probe/examples/chat/implement/core/config.js +428 -0
- package/data/probe/examples/chat/implement/core/timeouts.js +58 -0
- package/data/probe/examples/chat/implement/core/utils.js +496 -0
- package/data/probe/examples/chat/implement/types/BackendTypes.js +126 -0
- package/data/probe/examples/chat/index.js +669 -0
- package/data/probe/examples/chat/mcpServer.js +341 -0
- package/data/probe/examples/chat/npm/LICENSE +15 -0
- package/data/probe/examples/chat/npm/README.md +168 -0
- package/data/probe/examples/chat/npm/bin/probe-chat.js +156 -0
- package/data/probe/examples/chat/npm/index.js +259 -0
- package/data/probe/examples/chat/npm/package.json +54 -0
- package/data/probe/examples/chat/package.json +102 -0
- package/data/probe/examples/chat/probeChat.js +456 -0
- package/data/probe/examples/chat/probeTool.js +491 -0
- package/data/probe/examples/chat/storage/JsonChatStorage.js +476 -0
- package/data/probe/examples/chat/telemetry.js +281 -0
- package/data/probe/examples/chat/test/integration/chatFlows.test.js +320 -0
- package/data/probe/examples/chat/test/integration/toolCalling.test.js +471 -0
- package/data/probe/examples/chat/test/mocks/mockLLMProvider.js +269 -0
- package/data/probe/examples/chat/test/test-backends.js +90 -0
- package/data/probe/examples/chat/test/testUtils.js +530 -0
- package/data/probe/examples/chat/test/unit/backendTimeout.test.js +161 -0
- package/data/probe/examples/chat/test/unit/packageFiles.test.js +120 -0
- package/data/probe/examples/chat/test/verify-tests.js +118 -0
- package/data/probe/examples/chat/test-agentic-image-loading.js +294 -0
- package/data/probe/examples/chat/test-ai-sdk-telemetry.js +204 -0
- package/data/probe/examples/chat/test-chat-tracing.js +38 -0
- package/data/probe/examples/chat/test-direct-function.js +49 -0
- package/data/probe/examples/chat/test-file-size-validation.js +103 -0
- package/data/probe/examples/chat/test-full-mcp-integration.js +258 -0
- package/data/probe/examples/chat/test-github-context.txt +12 -0
- package/data/probe/examples/chat/test-hierarchy.js +203 -0
- package/data/probe/examples/chat/test-image-spans.js +37 -0
- package/data/probe/examples/chat/test-local-image-reading.js +176 -0
- package/data/probe/examples/chat/test-mcp-integration.js +136 -0
- package/data/probe/examples/chat/test-mcp-probe-server.js +161 -0
- package/data/probe/examples/chat/test-mcp-with-ai.js +279 -0
- package/data/probe/examples/chat/test-multiple-allowed-dirs.js +111 -0
- package/data/probe/examples/chat/test-probe-mcp-server.js +110 -0
- package/data/probe/examples/chat/test-security-validation.js +145 -0
- package/data/probe/examples/chat/test-simple-tracing.js +32 -0
- package/data/probe/examples/chat/test-trace-verification.js +235 -0
- package/data/probe/examples/chat/test-tracing.js +114 -0
- package/data/probe/examples/chat/tokenCounter.js +419 -0
- package/data/probe/examples/chat/tokenUsageDisplay.js +134 -0
- package/data/probe/examples/chat/webServer.js +1103 -0
- package/data/probe/examples/reranker/Cargo.toml +33 -0
- package/data/probe/examples/reranker/DEBUG_OUTPUT_ANALYSIS.md +71 -0
- package/data/probe/examples/reranker/MODELS.md +66 -0
- package/data/probe/examples/reranker/MODEL_COMPARISON.md +60 -0
- package/data/probe/examples/reranker/MULTI_MODEL_ANALYSIS.md +176 -0
- package/data/probe/examples/reranker/PERFORMANCE_SUMMARY.md +156 -0
- package/data/probe/examples/reranker/README.md +347 -0
- package/data/probe/examples/reranker/RUST_BERT_COMPARISON.md +82 -0
- package/data/probe/examples/reranker/TOKENIZATION_GUIDE.md +120 -0
- package/data/probe/examples/reranker/check_rust_tokenizer.py +108 -0
- package/data/probe/examples/reranker/convert_to_torchscript.py +109 -0
- package/data/probe/examples/reranker/debug_scoring.py +189 -0
- package/data/probe/examples/reranker/debug_tokenization.py +154 -0
- package/data/probe/examples/reranker/download_models.sh +73 -0
- package/data/probe/examples/reranker/requirements.txt +13 -0
- package/data/probe/examples/reranker/run_comprehensive_benchmark.sh +83 -0
- package/data/probe/examples/reranker/rust_bert_test/Cargo.toml +12 -0
- package/data/probe/examples/reranker/rust_bert_test/README.md +54 -0
- package/data/probe/examples/reranker/simple_test.py +50 -0
- package/data/probe/examples/reranker/test_all_models.sh +63 -0
- package/data/probe/examples/reranker/test_bert_results.sh +44 -0
- package/data/probe/examples/reranker/test_cross_encoder.py +334 -0
- package/data/probe/examples/reranker/test_cross_encoder.sh +80 -0
- package/data/probe/examples/reranker/test_exact_comparison.py +151 -0
- package/data/probe/examples/reranker/test_parallel_performance.sh +56 -0
- package/data/probe/examples/reranker/test_scores.py +132 -0
- package/data/probe/install.ps1 +508 -0
- package/data/probe/install.sh +460 -0
- package/data/probe/npm/CLONE_METHOD_EXAMPLES.md +596 -0
- package/data/probe/npm/CONTEXT_COMPACTION.md +303 -0
- package/data/probe/npm/DELEGATE_TOOL_README.md +166 -0
- package/data/probe/npm/MAID_INTEGRATION.md +313 -0
- package/data/probe/npm/MCP_INTEGRATION_SUMMARY.md +241 -0
- package/data/probe/npm/README.md +824 -0
- package/data/probe/npm/bin/.gitignore +7 -0
- package/data/probe/npm/bin/.gitkeep +0 -0
- package/data/probe/npm/bin/README.md +12 -0
- package/data/probe/npm/bin/probe +167 -0
- package/data/probe/npm/docs/CLAUDE_CODE_INTEGRATION.md +414 -0
- package/data/probe/npm/docs/CODEX_INTEGRATION.md +502 -0
- package/data/probe/npm/docs/EDIT_CREATE_TOOLS.md +233 -0
- package/data/probe/npm/docs/RETRY_AND_FALLBACK.md +674 -0
- package/data/probe/npm/example-usage.js +335 -0
- package/data/probe/npm/examples/multi-engine-demo.js +117 -0
- package/data/probe/npm/examples/probe-agent-cli.js +113 -0
- package/data/probe/npm/examples/test-agent-edit.js +114 -0
- package/data/probe/npm/examples/test-edit-create.js +120 -0
- package/data/probe/npm/examples/test-edit-direct.js +114 -0
- package/data/probe/npm/index.d.ts +744 -0
- package/data/probe/npm/jest.config.js +52 -0
- package/data/probe/npm/package.json +117 -0
- package/data/probe/npm/scripts/build-agent.cjs +75 -0
- package/data/probe/npm/scripts/build-cjs.js +124 -0
- package/data/probe/npm/scripts/build-mcp.cjs +36 -0
- package/data/probe/npm/scripts/postinstall.js +216 -0
- package/data/probe/npm/test-codex-e2e.js +78 -0
- package/data/probe/npm/test-download-lock.js +109 -0
- package/data/probe/npm/test-grep-security.js +94 -0
- package/data/probe/npm/test-grep-simplified.js +63 -0
- package/data/probe/npm/test-grep.js +51 -0
- package/data/probe/npm/tests/README.md +96 -0
- package/data/probe/npm/tests/agent-compact-history.test.js +174 -0
- package/data/probe/npm/tests/allow-tests-default.test.js +151 -0
- package/data/probe/npm/tests/contextCompactor.test.js +498 -0
- package/data/probe/npm/tests/delegate-config.test.js +353 -0
- package/data/probe/npm/tests/delegate-integration.test.js +348 -0
- package/data/probe/npm/tests/extractor-integration.test.js +162 -0
- package/data/probe/npm/tests/extractor.test.js +317 -0
- package/data/probe/npm/tests/fixtures/sampleDiagrams.js +267 -0
- package/data/probe/npm/tests/integration/claude-code-auto-fallback.spec.js +148 -0
- package/data/probe/npm/tests/integration/claude-code-multi-step.spec.js +127 -0
- package/data/probe/npm/tests/integration/claude-code-tool-events.spec.js +163 -0
- package/data/probe/npm/tests/integration/codex-auto-fallback.spec.js +191 -0
- package/data/probe/npm/tests/integration/codex-tool-events.spec.js +147 -0
- package/data/probe/npm/tests/integration/examplesChatMcp.test.js +402 -0
- package/data/probe/npm/tests/integration/mcpDotenvSupport.test.js +174 -0
- package/data/probe/npm/tests/integration/mcpErrorHandling.test.js +566 -0
- package/data/probe/npm/tests/integration/mcpRobustness.test.js +564 -0
- package/data/probe/npm/tests/integration/mcpStdoutPurity.test.js +355 -0
- package/data/probe/npm/tests/integration/probeAgentMcp.test.js +398 -0
- package/data/probe/npm/tests/integration/retryFallback.test.js +368 -0
- package/data/probe/npm/tests/integration/schema-in-initial-message.test.js +318 -0
- package/data/probe/npm/tests/integration/schema-validation-loop-prevention.test.js +244 -0
- package/data/probe/npm/tests/integration/schemaRetryLogic.test.js +94 -0
- package/data/probe/npm/tests/integration/validationFlow.test.js +329 -0
- package/data/probe/npm/tests/manual/test-codex-basic.js +110 -0
- package/data/probe/npm/tests/mcp/mcpClientManager.test.js +614 -0
- package/data/probe/npm/tests/mcp/mcpConfig.test.js +359 -0
- package/data/probe/npm/tests/mcp/mcpXmlBridge.test.js +436 -0
- package/data/probe/npm/tests/mcp/mockMcpServer.js +510 -0
- package/data/probe/npm/tests/mcp-strict-syntax.test.js +319 -0
- package/data/probe/npm/tests/mermaidQuoteEscaping.test.js +214 -0
- package/data/probe/npm/tests/nestedQuoteFix.test.js +40 -0
- package/data/probe/npm/tests/setup.js +46 -0
- package/data/probe/npm/tests/unit/allowed-tools.test.js +513 -0
- package/data/probe/npm/tests/unit/attempt-completion-closing-tag-in-content.test.js +188 -0
- package/data/probe/npm/tests/unit/attemptCompletionJsonFix.test.js +238 -0
- package/data/probe/npm/tests/unit/attemptCompletionJsonIssue.test.js +128 -0
- package/data/probe/npm/tests/unit/backtickAutoFix.test.js +35 -0
- package/data/probe/npm/tests/unit/bash-probe-agent-integration.test.js +389 -0
- package/data/probe/npm/tests/unit/bash-simple-commands.test.js +324 -0
- package/data/probe/npm/tests/unit/bash-tool-comprehensive.test.js +371 -0
- package/data/probe/npm/tests/unit/bash-tool-integration.test.js +310 -0
- package/data/probe/npm/tests/unit/bash-tool.test.js +341 -0
- package/data/probe/npm/tests/unit/completion-prompt.test.js +379 -0
- package/data/probe/npm/tests/unit/cwd-path-options.test.js +287 -0
- package/data/probe/npm/tests/unit/delegate-limits.test.js +422 -0
- package/data/probe/npm/tests/unit/direct-content-attempt-completion.test.js +235 -0
- package/data/probe/npm/tests/unit/edit-create-tools.test.js +609 -0
- package/data/probe/npm/tests/unit/enhancedMermaidValidation.test.js +577 -0
- package/data/probe/npm/tests/unit/extract-content.test.js +83 -0
- package/data/probe/npm/tests/unit/extract-multiple-targets.test.js +89 -0
- package/data/probe/npm/tests/unit/fallbackManager.test.js +442 -0
- package/data/probe/npm/tests/unit/githubCompatibilityValidation.test.js +258 -0
- package/data/probe/npm/tests/unit/imageConfig.test.js +149 -0
- package/data/probe/npm/tests/unit/imagePathResolution.test.js +345 -0
- package/data/probe/npm/tests/unit/json-fixing-agent.test.js +238 -0
- package/data/probe/npm/tests/unit/json-validation-enhanced-errors.test.js +199 -0
- package/data/probe/npm/tests/unit/jsonValidationInfiniteLoopFix.test.js +228 -0
- package/data/probe/npm/tests/unit/maidIntegration.test.js +139 -0
- package/data/probe/npm/tests/unit/maxIterationsWarning.test.js +195 -0
- package/data/probe/npm/tests/unit/mermaidEdgeLabelFix.test.js +161 -0
- package/data/probe/npm/tests/unit/mermaidHtmlEntities.test.js +76 -0
- package/data/probe/npm/tests/unit/mermaidInfiniteLoopFix.test.js +64 -0
- package/data/probe/npm/tests/unit/mermaidValidation.test.js +723 -0
- package/data/probe/npm/tests/unit/mermaidValidationVisorExample.test.js +309 -0
- package/data/probe/npm/tests/unit/probe-agent-clone-realistic.test.js +643 -0
- package/data/probe/npm/tests/unit/probe-agent-clone.test.js +476 -0
- package/data/probe/npm/tests/unit/probe-agent-delegate.test.js +400 -0
- package/data/probe/npm/tests/unit/probe-agent-model-option.test.js +118 -0
- package/data/probe/npm/tests/unit/probeTool-security.test.js +283 -0
- package/data/probe/npm/tests/unit/readImageTool.test.js +418 -0
- package/data/probe/npm/tests/unit/retryManager.test.js +317 -0
- package/data/probe/npm/tests/unit/schema-aware-reminders.test.js +288 -0
- package/data/probe/npm/tests/unit/schemaDefinitionDetection.test.js +115 -0
- package/data/probe/npm/tests/unit/schemaUtils.test.js +1268 -0
- package/data/probe/npm/tests/unit/simpleTelemetry.test.js +282 -0
- package/data/probe/npm/tests/unit/simplified-attempt-completion.test.js +274 -0
- package/data/probe/npm/tests/unit/single-quote-json-bug.test.js +231 -0
- package/data/probe/npm/tests/unit/subgraphAutoFix.test.js +110 -0
- package/data/probe/npm/tests/unit/system-prompt.test.js +32 -0
- package/data/probe/npm/tests/unit/types-probe-agent-options.test.js +42 -0
- package/data/probe/npm/tests/unit/xmlParsing.test.js +720 -0
- package/data/probe/npm/tsconfig.json +21 -0
- package/data/probe/result1.txt +19 -0
- package/data/probe/result2.txt +26 -0
- package/data/probe/scripts/benchmark.sh +270 -0
- package/data/probe/scripts/cache_memory_analysis.rs +844 -0
- package/data/probe/scripts/claude-hook-wrapper.sh +56 -0
- package/data/probe/site/.env.example +10 -0
- package/data/probe/site/DEPLOYMENT.md +86 -0
- package/data/probe/site/README.md +183 -0
- package/data/probe/site/adding-languages.md +135 -0
- package/data/probe/site/ai-chat.md +427 -0
- package/data/probe/site/ai-integration.md +1488 -0
- package/data/probe/site/blog/agentic-flow-custom-xml-protocol.md +407 -0
- package/data/probe/site/blog/index.md +118 -0
- package/data/probe/site/blog/v0.6.0-release.md +426 -0
- package/data/probe/site/blog.md +8 -0
- package/data/probe/site/changelog.md +200 -0
- package/data/probe/site/cli-mode.md +437 -0
- package/data/probe/site/code-extraction.md +436 -0
- package/data/probe/site/contributing/README.md +9 -0
- package/data/probe/site/contributing/documentation-cross-references.md +215 -0
- package/data/probe/site/contributing/documentation-maintenance.md +275 -0
- package/data/probe/site/contributing/documentation-structure.md +75 -0
- package/data/probe/site/documentation-cross-references.md +215 -0
- package/data/probe/site/documentation-guide.md +132 -0
- package/data/probe/site/documentation-maintenance.md +275 -0
- package/data/probe/site/features.md +147 -0
- package/data/probe/site/how-it-works.md +118 -0
- package/data/probe/site/index.md +175 -0
- package/data/probe/site/index.md.bak +133 -0
- package/data/probe/site/installation.md +235 -0
- package/data/probe/site/integrations/docker.md +248 -0
- package/data/probe/site/integrations/github-actions.md +413 -0
- package/data/probe/site/language-support-overview.md +168 -0
- package/data/probe/site/mcp-integration.md +587 -0
- package/data/probe/site/mcp-server.md +304 -0
- package/data/probe/site/navigation-structure.md +76 -0
- package/data/probe/site/nodejs-sdk.md +798 -0
- package/data/probe/site/output-formats.md +625 -0
- package/data/probe/site/package.json +21 -0
- package/data/probe/site/public/_headers +28 -0
- package/data/probe/site/public/_redirects +11 -0
- package/data/probe/site/quick-start.md +289 -0
- package/data/probe/site/search-functionality.md +291 -0
- package/data/probe/site/search-reference.md +291 -0
- package/data/probe/site/supported-languages.md +215 -0
- package/data/probe/site/use-cases/README.md +8 -0
- package/data/probe/site/use-cases/advanced-cli.md +253 -0
- package/data/probe/site/use-cases/ai-code-editors.md +239 -0
- package/data/probe/site/use-cases/building-ai-tools.md +529 -0
- package/data/probe/site/use-cases/cli-ai-workflows.md +285 -0
- package/data/probe/site/use-cases/deploying-probe-web-interface.md +255 -0
- package/data/probe/site/use-cases/integrating-probe-into-ai-code-editors.md +161 -0
- package/data/probe/site/use-cases/nodejs-sdk.md +596 -0
- package/data/probe/site/use-cases/team-chat.md +350 -0
- package/data/probe/site/web-interface.md +434 -0
- package/data/probe/site/wrangler.toml +9 -0
- package/data/probe/test-api-key.sh +1 -0
- package/data/probe/test-probe-implementation/hello.js +7 -0
- package/data/probe/test_cases/demonstrate_early_termination_issues.sh +176 -0
- package/data/probe/test_cases/early_termination_issues.rs +533 -0
- package/data/probe/test_data/test_nested_struct.go +26 -0
- package/data/probe/tests/README.md +286 -0
- package/data/probe/tests/README_search_determinism_tests.md +116 -0
- package/data/probe/tests/adjacent_comment_test.rs +152 -0
- package/data/probe/tests/apostrophe_handling_tests.rs +132 -0
- package/data/probe/tests/block_filtering_with_ast_tests.rs +669 -0
- package/data/probe/tests/block_merging_tests.rs +396 -0
- package/data/probe/tests/c_outline_format_tests.rs +2179 -0
- package/data/probe/tests/cache_invalidation_issues.rs.disabled +682 -0
- package/data/probe/tests/cache_order_tests.rs +147 -0
- package/data/probe/tests/cache_query_scoping_tests.rs +221 -0
- package/data/probe/tests/cli_tests.rs +680 -0
- package/data/probe/tests/comment_context_integration_test.rs +240 -0
- package/data/probe/tests/common.rs +33 -0
- package/data/probe/tests/complex_block_merging_tests.rs +599 -0
- package/data/probe/tests/complex_query_block_filtering_tests.rs +422 -0
- package/data/probe/tests/control_flow_closing_braces_test.rs +91 -0
- package/data/probe/tests/cpp_outline_format_tests.rs +1507 -0
- package/data/probe/tests/csharp_outline_format_tests.rs +941 -0
- package/data/probe/tests/elastic_query_integration_tests.rs +922 -0
- package/data/probe/tests/extract_command_tests.rs +1848 -0
- package/data/probe/tests/extract_deduplication_tests.rs +146 -0
- package/data/probe/tests/extract_input_file_tests.rs +84 -0
- package/data/probe/tests/extract_prompt_tests.rs +102 -0
- package/data/probe/tests/filename_search_tests.rs +96 -0
- package/data/probe/tests/fixtures/user/AssemblyInfo.cs +3 -0
- package/data/probe/tests/github_extract_tests.rs +234 -0
- package/data/probe/tests/go_comment_test.rs +253 -0
- package/data/probe/tests/go_outline_format_tests.rs +2587 -0
- package/data/probe/tests/go_path_resolver_tests.rs +96 -0
- package/data/probe/tests/html_outline_format_tests.rs +637 -0
- package/data/probe/tests/integration_tests.rs +837 -0
- package/data/probe/tests/ip_whitelist_test.rs +148 -0
- package/data/probe/tests/java_outline_format_tests.rs +1611 -0
- package/data/probe/tests/javascript_extract_tests.rs +315 -0
- package/data/probe/tests/javascript_outline_format_tests.rs +1464 -0
- package/data/probe/tests/json_format_tests.rs +436 -0
- package/data/probe/tests/json_schema_validation_tests.rs +450 -0
- package/data/probe/tests/lib_usage.rs +60 -0
- package/data/probe/tests/line_comment_context_extension_test.rs +459 -0
- package/data/probe/tests/line_map_cache_tests.rs +114 -0
- package/data/probe/tests/markdown_integration_tests.rs +190 -0
- package/data/probe/tests/mocks/test_ip_whitelist.go +11 -0
- package/data/probe/tests/mocks/test_object.js +27 -0
- package/data/probe/tests/mocks/test_struct.go +50 -0
- package/data/probe/tests/multi_keyword_pattern_tests.rs +464 -0
- package/data/probe/tests/multi_language_syntax_integration_tests.rs +218 -0
- package/data/probe/tests/multiple_capture_groups_tests.rs +169 -0
- package/data/probe/tests/negative_compound_word_tests.rs +246 -0
- package/data/probe/tests/nested_symbol_extraction_tests.rs +99 -0
- package/data/probe/tests/outline_cross_file_interference_test.rs +335 -0
- package/data/probe/tests/outline_keyword_preservation_test.rs +67 -0
- package/data/probe/tests/output_format_edge_cases_tests.rs +693 -0
- package/data/probe/tests/parallel_extraction_tests.rs +178 -0
- package/data/probe/tests/parallel_search_tests.rs +355 -0
- package/data/probe/tests/path_resolver_tests.rs +698 -0
- package/data/probe/tests/php_outline_format_extended_tests.rs +928 -0
- package/data/probe/tests/php_outline_format_tests.rs +768 -0
- package/data/probe/tests/property_tests.proptest-regressions +9 -0
- package/data/probe/tests/property_tests.rs +118 -0
- package/data/probe/tests/python_outline_format_tests.rs +1538 -0
- package/data/probe/tests/query_command_json_tests.rs +438 -0
- package/data/probe/tests/query_command_tests.rs +232 -0
- package/data/probe/tests/query_command_xml_tests.rs +569 -0
- package/data/probe/tests/quoted_term_with_negative_keyword_tests.rs +216 -0
- package/data/probe/tests/required_terms_filename_tests.rs +116 -0
- package/data/probe/tests/ruby_outline_format_tests.rs +1011 -0
- package/data/probe/tests/rust_line_comment_context_test.rs +151 -0
- package/data/probe/tests/rust_outline_format_enhanced_tests.rs +725 -0
- package/data/probe/tests/rust_outline_format_tests.rs +843 -0
- package/data/probe/tests/schemas/xml_output_schema.xsd +38 -0
- package/data/probe/tests/search_determinism_tests.rs +451 -0
- package/data/probe/tests/search_hints_tests.rs +253 -0
- package/data/probe/tests/special_character_escaping_tests.rs +417 -0
- package/data/probe/tests/stemming_compound_word_filtering_tests.rs +535 -0
- package/data/probe/tests/strict_elastic_syntax_tests.rs +404 -0
- package/data/probe/tests/swift_outline_format_tests.rs +3319 -0
- package/data/probe/tests/symbols_tests.rs +166 -0
- package/data/probe/tests/test_file.rs +45 -0
- package/data/probe/tests/test_tokenize.rs +28 -0
- package/data/probe/tests/timeout_tests.rs +82 -0
- package/data/probe/tests/tokenization_tests.rs +195 -0
- package/data/probe/tests/tokenized_block_filtering_tests.rs +174 -0
- package/data/probe/tests/typescript_extract_tests.rs +214 -0
- package/data/probe/tests/typescript_outline_format_tests.rs +2188 -0
- package/data/probe/tests/xml_format_tests.rs +568 -0
- package/data/probe/tests/xml_schema_validation_tests.rs +497 -0
- package/data/scripts/postinstall.mjs +9 -0
- package/data/scripts/set-version.js +0 -0
- package/data/scripts/wiki-build.sh +111 -0
- package/data/scripts/wiki-deploy.sh +73 -0
- package/data/serve.json +12 -0
- package/data/test/demo-dynamic.html +134 -0
- package/data/test/demo-esm.html +105 -0
- package/data/test/demo-iife.html +78 -0
- package/data/tsconfig.json +7 -0
- package/data/vite.server.ts +483 -0
- package/data/vitest.config.ts +40 -0
- package/data/wiki/Home.md +58 -0
- package/data/wiki/_Sidebar.md +39 -0
- package/docs-mcp.config.json +20 -0
- package/package.json +56 -0
- package/src/config.js +111 -0
- 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')
|