@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
package/README.md
ADDED
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
# @crownpeak/dqm-react-component-dev-mcp
|
|
2
|
+
|
|
3
|
+
MCP Server for Crownpeak DQM React Component documentation - powered by [Probe](https://probeai.dev/).
|
|
4
|
+
|
|
5
|
+
This MCP server provides intelligent documentation search for AI assistants, enabling them to find information about DQMSidebar configuration, overlay detection, backend authentication, widget integration, and more.
|
|
6
|
+
|
|
7
|
+
## Features
|
|
8
|
+
|
|
9
|
+
- **Powered by Probe**: Uses the [Probe](https://probeai.dev/) search engine for fast, relevant results
|
|
10
|
+
- **Pre-built Documentation**: All DQM documentation is bundled into the package
|
|
11
|
+
- **Zero Configuration**: Just run with `npx` - no setup required
|
|
12
|
+
- **AI Integration**: Seamlessly integrates with AI assistants via Model Context Protocol (MCP)
|
|
13
|
+
|
|
14
|
+
## Quick Start
|
|
15
|
+
|
|
16
|
+
### Claude Desktop
|
|
17
|
+
|
|
18
|
+
Add to your Claude Desktop configuration (`~/Library/Application Support/Claude/claude_desktop_config.json` on macOS):
|
|
19
|
+
|
|
20
|
+
```json
|
|
21
|
+
{
|
|
22
|
+
"mcpServers": {
|
|
23
|
+
"dqm-docs": {
|
|
24
|
+
"command": "npx",
|
|
25
|
+
"args": [
|
|
26
|
+
"-y",
|
|
27
|
+
"@crownpeak/dqm-react-component-dev-mcp@latest"
|
|
28
|
+
]
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
### VS Code Copilot
|
|
35
|
+
|
|
36
|
+
Add to your VS Code MCP configuration (`.vscode/mcp.json`):
|
|
37
|
+
|
|
38
|
+
```json
|
|
39
|
+
{
|
|
40
|
+
"servers": {
|
|
41
|
+
"dqm-docs": {
|
|
42
|
+
"command": "npx",
|
|
43
|
+
"args": ["-y", "@crownpeak/dqm-react-component-dev-mcp@latest"]
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
### Cline
|
|
50
|
+
|
|
51
|
+
Add to your project's `.cline/mcp_config.json`:
|
|
52
|
+
|
|
53
|
+
```json
|
|
54
|
+
{
|
|
55
|
+
"mcpServers": {
|
|
56
|
+
"dqm-docs": {
|
|
57
|
+
"command": "npx",
|
|
58
|
+
"args": ["-y", "@crownpeak/dqm-react-component-dev-mcp@latest"]
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
### OpenAI Codex CLI
|
|
65
|
+
|
|
66
|
+
Add to your project's `codex.toml` or global `~/.codex/config.toml`:
|
|
67
|
+
|
|
68
|
+
```toml
|
|
69
|
+
[mcp_servers.dqm-docs]
|
|
70
|
+
command = "npx"
|
|
71
|
+
args = ["-y", "@crownpeak/dqm-react-component-dev-mcp@latest"]
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
## Usage
|
|
75
|
+
|
|
76
|
+
Once configured, you can ask your AI assistant questions about DQM:
|
|
77
|
+
|
|
78
|
+
- "How do I configure overlay detection in DQMSidebar?"
|
|
79
|
+
- "What props does DQMSidebar accept?"
|
|
80
|
+
- "How do I set up backend authentication?"
|
|
81
|
+
- "How do I integrate the widget bundle?"
|
|
82
|
+
- "What is manualOffset and when should I use it?"
|
|
83
|
+
|
|
84
|
+
The AI will use the `search_dqm_docs` tool to find relevant documentation.
|
|
85
|
+
|
|
86
|
+
## Example Queries
|
|
87
|
+
|
|
88
|
+
```
|
|
89
|
+
"DQMSidebar overlayConfig"
|
|
90
|
+
"backend authentication setup"
|
|
91
|
+
"widget bundle integration"
|
|
92
|
+
"manualOffset configuration"
|
|
93
|
+
"z-index issues"
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
## Dynamic Usage (Alternative)
|
|
97
|
+
|
|
98
|
+
Instead of the pre-built package, you can point directly to the GitHub repository:
|
|
99
|
+
|
|
100
|
+
```json
|
|
101
|
+
{
|
|
102
|
+
"mcpServers": {
|
|
103
|
+
"dqm-docs": {
|
|
104
|
+
"command": "npx",
|
|
105
|
+
"args": [
|
|
106
|
+
"-y",
|
|
107
|
+
"@probelabs/docs-mcp@latest",
|
|
108
|
+
"--gitUrl",
|
|
109
|
+
"https://github.com/Crownpeak/dqm-react-component",
|
|
110
|
+
"--toolName",
|
|
111
|
+
"search_dqm_docs",
|
|
112
|
+
"--toolDescription",
|
|
113
|
+
"Search Crownpeak DQM React Component documentation"
|
|
114
|
+
]
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
## Documentation Coverage
|
|
121
|
+
|
|
122
|
+
This MCP server indexes all documentation including:
|
|
123
|
+
|
|
124
|
+
- **README.md** - Overview and quick start
|
|
125
|
+
- **docs/** - Full documentation (QUICKSTART, DEVELOPMENT, SERVER, EXAMPLES, etc.)
|
|
126
|
+
- **src/** - Source code with JSDoc comments
|
|
127
|
+
- **.github/copilot-instructions.md** - AI agent integration guide
|
|
128
|
+
|
|
129
|
+
## Related
|
|
130
|
+
|
|
131
|
+
- [DQM React Component](https://github.com/Crownpeak/dqm-react-component)
|
|
132
|
+
- [Probe Search Engine](https://probeai.dev/)
|
|
133
|
+
- [Model Context Protocol](https://modelcontextprotocol.io/)
|
|
134
|
+
- [@probelabs/docs-mcp](https://github.com/probelabs/docs-mcp)
|
|
135
|
+
|
|
136
|
+
## License
|
|
137
|
+
|
|
138
|
+
MIT © Crownpeak Technology GmbH
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Server Configuration
|
|
2
|
+
PORT=3001
|
|
3
|
+
|
|
4
|
+
# CORS Origins (comma-separated)
|
|
5
|
+
CORS_ORIGINS=http://localhost:5173,http://localhost:3000
|
|
6
|
+
|
|
7
|
+
# Crownpeak DQM API
|
|
8
|
+
DQM_API_BASE_URL=https://api.crownpeak.net/dqm-cms/v1
|
|
9
|
+
|
|
10
|
+
# JWT Secret (for session tokens)
|
|
11
|
+
# Generate a secure secret: openssl rand -base64 32
|
|
12
|
+
JWT_SECRET=your-secret-key-change-in-production
|
|
13
|
+
|
|
14
|
+
# Redis Configuration (Optional - for persistent sessions)
|
|
15
|
+
# If not set, will use in-memory storage (sessions lost on restart)
|
|
16
|
+
# REDIS_URL=redis://localhost:6379
|
|
17
|
+
# For Redis Cloud: redis://username:password@host:port
|
|
18
|
+
# For AWS ElastiCache: redis://your-elasticache-endpoint:6379
|
|
19
|
+
|
|
20
|
+
# Crownpeak DQM Credentials
|
|
21
|
+
WEBSITE_ID=<your-website-id>
|
|
22
|
+
API_KEY=<your-api-key>
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# Auto detect text files and perform LF normalization
|
|
2
|
+
* text=auto
|
|
3
|
+
|
|
4
|
+
# Source code
|
|
5
|
+
*.js text eol=lf
|
|
6
|
+
*.jsx text eol=lf
|
|
7
|
+
*.ts text eol=lf
|
|
8
|
+
*.tsx text eol=lf
|
|
9
|
+
*.json text eol=lf
|
|
10
|
+
*.css text eol=lf
|
|
11
|
+
*.scss text eol=lf
|
|
12
|
+
*.html text eol=lf
|
|
13
|
+
*.xml text eol=lf
|
|
14
|
+
*.md text eol=lf
|
|
15
|
+
*.yaml text eol=lf
|
|
16
|
+
*.yml text eol=lf
|
|
17
|
+
|
|
18
|
+
# Scripts
|
|
19
|
+
*.sh text eol=lf
|
|
20
|
+
*.bash text eol=lf
|
|
21
|
+
|
|
22
|
+
# Windows scripts
|
|
23
|
+
*.bat text eol=crlf
|
|
24
|
+
*.cmd text eol=crlf
|
|
25
|
+
*.ps1 text eol=crlf
|
|
26
|
+
|
|
27
|
+
# Binary files
|
|
28
|
+
*.png binary
|
|
29
|
+
*.jpg binary
|
|
30
|
+
*.jpeg binary
|
|
31
|
+
*.gif binary
|
|
32
|
+
*.ico binary
|
|
33
|
+
*.mov binary
|
|
34
|
+
*.mp4 binary
|
|
35
|
+
*.mp3 binary
|
|
36
|
+
*.flv binary
|
|
37
|
+
*.fla binary
|
|
38
|
+
*.swf binary
|
|
39
|
+
*.gz binary
|
|
40
|
+
*.zip binary
|
|
41
|
+
*.7z binary
|
|
42
|
+
*.ttf binary
|
|
43
|
+
*.eot binary
|
|
44
|
+
*.woff binary
|
|
45
|
+
*.woff2 binary
|
|
46
|
+
*.pyc binary
|
|
47
|
+
*.pdf binary
|
package/data/.glfrc.json
ADDED
package/data/.nvmrc
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
22
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
# Crownpeak DQM React Component - Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to this project will be documented in this file.
|
|
4
|
+
|
|
5
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
|
+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
|
+
|
|
8
|
+
## [1.2.0] - 2026-01-07
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
- **Internationalization (i18n)**: Full multi-language support using i18next
|
|
12
|
+
- Supported languages: English (default), German, Spanish
|
|
13
|
+
- Language switcher component in sidebar footer
|
|
14
|
+
- URL parameter override (`?dqmUiLang=de`)
|
|
15
|
+
- Browser language auto-detection
|
|
16
|
+
- LocalStorage persistence of user preference (`dqm_locale`)
|
|
17
|
+
- Regional variant fallbacks (e.g., `de-AT` → `de` → `en`)
|
|
18
|
+
- **New Exports**:
|
|
19
|
+
- `i18n`, `resolveLanguage` from `./i18n`
|
|
20
|
+
- `SUPPORTED_LOCALES`, `DEFAULT_LOCALE`, `normalizeLocale` from `./locale`
|
|
21
|
+
- Types: `SupportedLocale`, `AvailableLanguage`
|
|
22
|
+
- **Comprehensive i18n documentation** in `I18N.md`
|
|
23
|
+
|
|
24
|
+
## [1.1.0] - 2025-12-17
|
|
25
|
+
|
|
26
|
+
### Added
|
|
27
|
+
- **Overlay Configuration**: New `overlayConfig` option in `DQMConfig` for customizing overlay/toolbar detection
|
|
28
|
+
- `selector`: Custom CSS selector for overlay elements
|
|
29
|
+
- `validateIframe`: Option to validate iFrame contentWindow availability
|
|
30
|
+
- `pollMs`: Configurable polling interval for cross-origin iFrame detection
|
|
31
|
+
- `manualOffset`: Manual offset configuration for cases where auto-detection fails
|
|
32
|
+
- **Enhanced `useDomPresence` Hook**: Now returns comprehensive element information including:
|
|
33
|
+
- `rect`: Element bounding rectangle (height, width, top, bottom, left, right)
|
|
34
|
+
- `position`: Detected position ('top', 'bottom', 'left', 'right', 'center')
|
|
35
|
+
- `contentOffset`: Ready-to-use offsets for positioning UI elements
|
|
36
|
+
- **New Exports**:
|
|
37
|
+
- `useOverlayResistant` hook for advanced overlay handling
|
|
38
|
+
- `OverlayConfig`, `OverlayOffsetPosition`, `OverlayInfo`, `OverlayPosition` types
|
|
39
|
+
- **Standalone Widget Bundle**: New widget build (IIFE + ESM) with `initDQMWidget`, Shadow DOM isolation, and Emotion cache binding for safe embedding on any site.
|
|
40
|
+
- **Widget Tooling & Types**: Added loader utilities, TypeScript declarations, and public exports for widget consumers.
|
|
41
|
+
- **Integration Demos**: New demo pages for IIFE, ESM, dynamic loading, and standalone widget usage to test the bundled widget end-to-end.
|
|
42
|
+
- **Config Option `disableLogout`**: Allows host apps to hide the sidebar logout control when session lifecycle is managed externally.
|
|
43
|
+
|
|
44
|
+
### Changed
|
|
45
|
+
- `useOverlayResistant` hook now accepts configuration options
|
|
46
|
+
- `OverlayInfo` interface now includes `isManualOffset` flag
|
|
47
|
+
- Sidebar header, content, footer, skeleton, and FAB now respect overlay offsets for consistent spacing around external toolbars.
|
|
48
|
+
|
|
49
|
+
## [1.0.1] - 2025-12-08
|
|
50
|
+
|
|
51
|
+
### Fixed
|
|
52
|
+
- Resolved issue with error highlighting in certain browsers
|
|
53
|
+
- Fixed TypeScript type definition for DQMSidebar props
|
|
54
|
+
|
|
55
|
+
## [1.0.0] - 2025-10-30
|
|
56
|
+
|
|
57
|
+
### Added
|
|
58
|
+
- Initial release of @crownpeak/dqm-react-component
|
|
59
|
+
- DQMSidebar component for quality analysis
|
|
60
|
+
- ErrorBoundary component for error handling
|
|
61
|
+
- Full TypeScript support with type definitions
|
|
62
|
+
- Material-UI integration
|
|
63
|
+
- Real-time quality analysis dashboard
|
|
64
|
+
- Browser and source view for error highlighting
|
|
65
|
+
- Category-based filtering
|
|
66
|
+
- Accessibility compliance checking
|
|
67
|
+
- Comprehensive documentation
|
|
68
|
+
|
|
69
|
+
### Features
|
|
70
|
+
- Quality scoring and checkpoint validation
|
|
71
|
+
- WCAG 2.1 compliance checking
|
|
72
|
+
- Visual error highlighting
|
|
73
|
+
- Mobile responsive design
|
|
74
|
+
- Export functionality for highlighted errors
|
|
75
|
+
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
# Contributor Covenant Code of Conduct
|
|
2
|
+
|
|
3
|
+
## Our Pledge
|
|
4
|
+
|
|
5
|
+
We as members, contributors, and leaders pledge to make participation in our
|
|
6
|
+
community a harassment-free experience for everyone, regardless of age, body
|
|
7
|
+
size, visible or invisible disability, ethnicity, sex characteristics, gender
|
|
8
|
+
identity and expression, level of experience, education, socio-economic status,
|
|
9
|
+
nationality, personal appearance, race, religion, or sexual identity
|
|
10
|
+
and orientation.
|
|
11
|
+
|
|
12
|
+
We pledge to act and interact in ways that contribute to an open, welcoming,
|
|
13
|
+
diverse, inclusive, and healthy community.
|
|
14
|
+
|
|
15
|
+
## Our Standards
|
|
16
|
+
|
|
17
|
+
Examples of behavior that contributes to a positive environment for our
|
|
18
|
+
community include:
|
|
19
|
+
|
|
20
|
+
* Demonstrating empathy and kindness toward other people
|
|
21
|
+
* Being respectful of differing opinions, viewpoints, and experiences
|
|
22
|
+
* Giving and gracefully accepting constructive feedback
|
|
23
|
+
* Accepting responsibility and apologizing to those affected by our mistakes,
|
|
24
|
+
and learning from the experience
|
|
25
|
+
* Focusing on what is best not just for us as individuals, but for the
|
|
26
|
+
overall community
|
|
27
|
+
|
|
28
|
+
Examples of unacceptable behavior include:
|
|
29
|
+
|
|
30
|
+
* The use of sexualized language or imagery, and sexual attention or
|
|
31
|
+
advances of any kind
|
|
32
|
+
* Trolling, insulting or derogatory comments, and personal or political attacks
|
|
33
|
+
* Public or private harassment
|
|
34
|
+
* Publishing others' private information, such as a physical or email
|
|
35
|
+
address, without their explicit permission
|
|
36
|
+
* Other conduct which could reasonably be considered inappropriate in a
|
|
37
|
+
professional setting
|
|
38
|
+
|
|
39
|
+
## Enforcement Responsibilities
|
|
40
|
+
|
|
41
|
+
Community leaders are responsible for clarifying and enforcing our standards of
|
|
42
|
+
acceptable behavior and will take appropriate and fair corrective action in
|
|
43
|
+
response to any behavior that they deem inappropriate, threatening, offensive,
|
|
44
|
+
or harmful.
|
|
45
|
+
|
|
46
|
+
Community leaders have the right and responsibility to remove, edit, or reject
|
|
47
|
+
comments, commits, code, wiki edits, issues, and other contributions that are
|
|
48
|
+
not aligned to this Code of Conduct, and will communicate reasons for moderation
|
|
49
|
+
decisions when appropriate.
|
|
50
|
+
|
|
51
|
+
## Scope
|
|
52
|
+
|
|
53
|
+
This Code of Conduct applies within all community spaces, and also applies when
|
|
54
|
+
an individual is officially representing the community in public spaces.
|
|
55
|
+
Examples of representing our community include using an official e-mail address,
|
|
56
|
+
posting via an official social media account, or acting as an appointed
|
|
57
|
+
representative at an online or offline event.
|
|
58
|
+
|
|
59
|
+
## Enforcement
|
|
60
|
+
|
|
61
|
+
Instances of abusive, harassing, or otherwise unacceptable behavior may be
|
|
62
|
+
reported to the community leaders responsible for enforcement at
|
|
63
|
+
**conduct@crownpeak.com**.
|
|
64
|
+
|
|
65
|
+
All complaints will be reviewed and investigated promptly and fairly.
|
|
66
|
+
|
|
67
|
+
All community leaders are obligated to respect the privacy and security of the
|
|
68
|
+
reporter of any incident.
|
|
69
|
+
|
|
70
|
+
## Enforcement Guidelines
|
|
71
|
+
|
|
72
|
+
Community leaders will follow these Community Impact Guidelines in determining
|
|
73
|
+
the consequences for any action they deem in violation of this Code of Conduct:
|
|
74
|
+
|
|
75
|
+
### 1. Correction
|
|
76
|
+
|
|
77
|
+
**Community Impact**: Use of inappropriate language or other behavior deemed
|
|
78
|
+
unprofessional or unwelcome in the community.
|
|
79
|
+
|
|
80
|
+
**Consequence**: A private, written warning from community leaders, providing
|
|
81
|
+
clarity around the nature of the violation and an explanation of why the
|
|
82
|
+
behavior was inappropriate. A public apology may be requested.
|
|
83
|
+
|
|
84
|
+
### 2. Warning
|
|
85
|
+
|
|
86
|
+
**Community Impact**: A violation through a single incident or series
|
|
87
|
+
of actions.
|
|
88
|
+
|
|
89
|
+
**Consequence**: A warning with consequences for continued behavior. No
|
|
90
|
+
interaction with the people involved, including unsolicited interaction with
|
|
91
|
+
those enforcing the Code of Conduct, for a specified period of time. This
|
|
92
|
+
includes avoiding interactions in community spaces as well as external channels
|
|
93
|
+
like social media. Violating these terms may lead to a temporary or
|
|
94
|
+
permanent ban.
|
|
95
|
+
|
|
96
|
+
### 3. Temporary Ban
|
|
97
|
+
|
|
98
|
+
**Community Impact**: A serious violation of community standards, including
|
|
99
|
+
sustained inappropriate behavior.
|
|
100
|
+
|
|
101
|
+
**Consequence**: A temporary ban from any sort of interaction or public
|
|
102
|
+
communication with the community for a specified period of time. No public or
|
|
103
|
+
private interaction with the people involved, including unsolicited interaction
|
|
104
|
+
with those enforcing the Code of Conduct, is allowed during this period.
|
|
105
|
+
Violating these terms may lead to a permanent ban.
|
|
106
|
+
|
|
107
|
+
### 4. Permanent Ban
|
|
108
|
+
|
|
109
|
+
**Community Impact**: Demonstrating a pattern of violation of community
|
|
110
|
+
standards, including sustained inappropriate behavior, harassment of an
|
|
111
|
+
individual, or aggression toward or disparagement of classes of individuals.
|
|
112
|
+
|
|
113
|
+
**Consequence**: A permanent ban from any sort of public interaction within
|
|
114
|
+
the community.
|
|
115
|
+
|
|
116
|
+
## Attribution
|
|
117
|
+
|
|
118
|
+
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
|
|
119
|
+
version 2.0, available at
|
|
120
|
+
https://www.contributor-covenant.org/version/2/0/code_of_conduct.html.
|
|
121
|
+
|
|
122
|
+
Community Impact Guidelines were inspired by [Mozilla's code of conduct
|
|
123
|
+
enforcement ladder](https://github.com/mozilla/diversity).
|
|
124
|
+
|
|
125
|
+
[homepage]: https://www.contributor-covenant.org
|
|
126
|
+
|
|
127
|
+
For answers to common questions about this code of conduct, see the FAQ at
|
|
128
|
+
https://www.contributor-covenant.org/faq. Translations are available at
|
|
129
|
+
https://www.contributor-covenant.org/translations.
|
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
# Contributing to Crownpeak DQM React Component
|
|
2
|
+
|
|
3
|
+
Thank you for your interest in contributing! This document provides guidelines for contributing to this project.
|
|
4
|
+
|
|
5
|
+
## Table of Contents
|
|
6
|
+
|
|
7
|
+
- [Code of Conduct](#code-of-conduct)
|
|
8
|
+
- [Getting Started](#getting-started)
|
|
9
|
+
- [Development Workflow](#development-workflow)
|
|
10
|
+
- [Pull Request Process](#pull-request-process)
|
|
11
|
+
- [Coding Standards](#coding-standards)
|
|
12
|
+
- [Commit Messages](#commit-messages)
|
|
13
|
+
|
|
14
|
+
## Code of Conduct
|
|
15
|
+
|
|
16
|
+
Please be respectful and constructive in all interactions. We aim to foster an inclusive and welcoming community.
|
|
17
|
+
|
|
18
|
+
## Getting Started
|
|
19
|
+
|
|
20
|
+
1. **Fork the repository** on GitHub
|
|
21
|
+
2. **Clone your fork** locally:
|
|
22
|
+
```bash
|
|
23
|
+
git clone https://github.com/YOUR_USERNAME/crownpeak-dqm-react-component.git
|
|
24
|
+
cd dqm-react-component
|
|
25
|
+
```
|
|
26
|
+
3. **Install dependencies**:
|
|
27
|
+
```bash
|
|
28
|
+
npm install
|
|
29
|
+
```
|
|
30
|
+
4. **Create a branch** for your changes:
|
|
31
|
+
```bash
|
|
32
|
+
git checkout -b feature/your-feature-name
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## Development Workflow
|
|
36
|
+
|
|
37
|
+
### Running Development Server
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
npm run dev
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
This starts:
|
|
44
|
+
- Frontend + Backend on `http://localhost:5173` (Vite dev server with integrated backend)
|
|
45
|
+
- Backend routes (`/auth/*`, `/dqm/*`) handled by Vite plugin
|
|
46
|
+
|
|
47
|
+
### Building
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
# Build everything
|
|
51
|
+
npm run build
|
|
52
|
+
|
|
53
|
+
# Build library only
|
|
54
|
+
npm run build:lib
|
|
55
|
+
|
|
56
|
+
# Build server only
|
|
57
|
+
npm run build:server
|
|
58
|
+
|
|
59
|
+
# Build auth UI only
|
|
60
|
+
npm run build:auth-ui
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
### Linting
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
npm run lint
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
### Testing Your Changes
|
|
70
|
+
|
|
71
|
+
1. Test in development mode: `npm run dev`
|
|
72
|
+
2. Test build: `npm run build`
|
|
73
|
+
3. Test as package: `npm pack` and install in test project
|
|
74
|
+
|
|
75
|
+
## Pull Request Process
|
|
76
|
+
|
|
77
|
+
1. **Update documentation** if you change APIs or add features
|
|
78
|
+
2. **Update CHANGELOG.md** with your changes
|
|
79
|
+
3. **Ensure all builds pass**: `npm run build`
|
|
80
|
+
4. **Lint your code**: `npm run lint`
|
|
81
|
+
5. **Create a pull request** with a clear description of changes
|
|
82
|
+
6. **Link any related issues** in the PR description
|
|
83
|
+
7. **Wait for review** - maintainers will review your PR
|
|
84
|
+
|
|
85
|
+
### PR Title Format
|
|
86
|
+
|
|
87
|
+
Use conventional commits format:
|
|
88
|
+
- `feat: Add new feature`
|
|
89
|
+
- `fix: Fix bug in component`
|
|
90
|
+
- `docs: Update documentation`
|
|
91
|
+
- `refactor: Refactor code`
|
|
92
|
+
- `test: Add tests`
|
|
93
|
+
- `chore: Update dependencies`
|
|
94
|
+
|
|
95
|
+
## Coding Standards
|
|
96
|
+
|
|
97
|
+
### TypeScript
|
|
98
|
+
|
|
99
|
+
- Use TypeScript for all new code
|
|
100
|
+
- Properly type all functions and variables
|
|
101
|
+
- Export types for public APIs
|
|
102
|
+
- Use interfaces for component props
|
|
103
|
+
|
|
104
|
+
### React
|
|
105
|
+
|
|
106
|
+
- Use functional components with hooks
|
|
107
|
+
- Follow React best practices
|
|
108
|
+
- Keep components small and focused
|
|
109
|
+
- Use Material-UI components consistently
|
|
110
|
+
|
|
111
|
+
### Code Style
|
|
112
|
+
|
|
113
|
+
- Use ESLint configuration provided
|
|
114
|
+
- 2 spaces for indentation
|
|
115
|
+
- Single quotes for strings
|
|
116
|
+
- Semicolons required
|
|
117
|
+
- Trailing commas in multi-line objects/arrays
|
|
118
|
+
|
|
119
|
+
### File Organization
|
|
120
|
+
|
|
121
|
+
```
|
|
122
|
+
src/
|
|
123
|
+
├── components/ # React components
|
|
124
|
+
│ ├── auth/ # Authentication components
|
|
125
|
+
│ ├── cards/ # Card components
|
|
126
|
+
│ ├── common/ # Shared components
|
|
127
|
+
│ ├── renderers/ # HTML renderers
|
|
128
|
+
│ └── sidebar/ # Sidebar components
|
|
129
|
+
├── types/ # TypeScript types
|
|
130
|
+
└── utils/ # Utility functions
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
## Commit Messages
|
|
134
|
+
|
|
135
|
+
Follow conventional commits:
|
|
136
|
+
|
|
137
|
+
```
|
|
138
|
+
<type>(<scope>): <subject>
|
|
139
|
+
|
|
140
|
+
<body>
|
|
141
|
+
|
|
142
|
+
<footer>
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
**Types:**
|
|
146
|
+
- `feat`: New feature
|
|
147
|
+
- `fix`: Bug fix
|
|
148
|
+
- `docs`: Documentation only
|
|
149
|
+
- `style`: Code style (formatting, no code change)
|
|
150
|
+
- `refactor`: Code refactoring
|
|
151
|
+
- `test`: Adding tests
|
|
152
|
+
- `chore`: Maintenance tasks
|
|
153
|
+
|
|
154
|
+
**Examples:**
|
|
155
|
+
```
|
|
156
|
+
feat(sidebar): Add keyboard navigation support
|
|
157
|
+
|
|
158
|
+
Add arrow key navigation for checkpoint list.
|
|
159
|
+
Press Enter to expand/collapse categories.
|
|
160
|
+
|
|
161
|
+
Closes #123
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
```
|
|
165
|
+
fix(auth): Resolve session timeout issue
|
|
166
|
+
|
|
167
|
+
Session was expiring too early due to incorrect
|
|
168
|
+
timestamp calculation in Redis store.
|
|
169
|
+
|
|
170
|
+
Fixes #456
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
## Areas for Contribution
|
|
174
|
+
|
|
175
|
+
### High Priority
|
|
176
|
+
- Add unit tests (React Testing Library)
|
|
177
|
+
- Improve accessibility (ARIA labels, keyboard navigation)
|
|
178
|
+
- Add internationalization (i18n)
|
|
179
|
+
- Performance optimizations
|
|
180
|
+
|
|
181
|
+
### Documentation
|
|
182
|
+
- More usage examples
|
|
183
|
+
- Integration guides for different frameworks
|
|
184
|
+
- API documentation improvements
|
|
185
|
+
- Video tutorials
|
|
186
|
+
|
|
187
|
+
### Features
|
|
188
|
+
- Additional authentication methods
|
|
189
|
+
- Custom theming support
|
|
190
|
+
- Export analysis reports
|
|
191
|
+
- Offline mode support
|
|
192
|
+
|
|
193
|
+
## Questions?
|
|
194
|
+
|
|
195
|
+
- Open an issue for bugs or feature requests
|
|
196
|
+
- Check existing issues before creating new ones
|
|
197
|
+
- Tag your issues appropriately (bug, enhancement, question)
|
|
198
|
+
|
|
199
|
+
## License
|
|
200
|
+
|
|
201
|
+
By contributing, you agree that your contributions will be licensed under the MIT License.
|
|
202
|
+
|
|
203
|
+
Thank you for contributing!
|