github-to-mcp-monorepo 1.0.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/.env.example +8 -0
- package/.github/CODEOWNERS +6 -0
- package/.husky/pre-commit +1 -0
- package/.nvmrc +1 -0
- package/.prettierignore +5 -0
- package/.prettierrc +7 -0
- package/.vscode/settings.json +4 -0
- package/ARCHITECTURE.md +1429 -0
- package/CHANGELOG.md +167 -0
- package/CONTRIBUTING.md +327 -0
- package/LICENSE +201 -0
- package/README.md +1028 -0
- package/SECURITY.md +248 -0
- package/VISUAL_GUIDE.md +437 -0
- package/apps/vscode/IMPLEMENTATION.md +480 -0
- package/apps/vscode/README.md +248 -0
- package/apps/vscode/package.json +381 -0
- package/apps/vscode/resources/icon.png +0 -0
- package/apps/vscode/resources/icon.svg +5 -0
- package/apps/vscode/src/commands/browseRegistry.ts +211 -0
- package/apps/vscode/src/commands/configureClaudeDesktop.ts +332 -0
- package/apps/vscode/src/commands/convert.ts +82 -0
- package/apps/vscode/src/commands/convertCurrentRepo.ts +109 -0
- package/apps/vscode/src/commands/convertFromUrl.ts +138 -0
- package/apps/vscode/src/commands/index.ts +121 -0
- package/apps/vscode/src/commands/validate.ts +197 -0
- package/apps/vscode/src/extension.ts +464 -0
- package/apps/vscode/src/global.d.ts +36 -0
- package/apps/vscode/src/test/extension.test.ts +73 -0
- package/apps/vscode/src/utils/file-generator.ts +529 -0
- package/apps/vscode/src/utils/github-api.ts +335 -0
- package/apps/vscode/src/utils/index.ts +29 -0
- package/apps/vscode/src/utils/mcp-config.ts +334 -0
- package/apps/vscode/src/utils/storage.ts +87 -0
- package/apps/vscode/src/views/McpServersTreeView.ts +160 -0
- package/apps/vscode/src/views/OutputChannelView.ts +195 -0
- package/apps/vscode/src/views/StatusBarItem.ts +251 -0
- package/apps/vscode/src/views/ToolsExplorerView.ts +314 -0
- package/apps/vscode/src/views/historyProvider.ts +75 -0
- package/apps/vscode/src/views/index.ts +12 -0
- package/apps/vscode/src/views/resultsPanel.ts +330 -0
- package/apps/vscode/src/webviews/ConversionPanel.ts +350 -0
- package/apps/vscode/src/webviews/ToolDetailsPanel.ts +448 -0
- package/apps/vscode/src/webviews/index.ts +9 -0
- package/apps/vscode/src/webviews/webview-ui/styles.ts +492 -0
- package/apps/vscode/tsconfig.json +20 -0
- package/apps/web/PLAYGROUND_GUIDE.md +499 -0
- package/apps/web/README.md +505 -0
- package/apps/web/app/api/convert/route.ts +100 -0
- package/apps/web/app/api/convert/stream/route.ts +198 -0
- package/apps/web/app/api/deploy/route.ts +157 -0
- package/apps/web/app/api/edge/route.ts +308 -0
- package/apps/web/app/api/export-docker/route.ts +284 -0
- package/apps/web/app/api/generate-openapi/route.ts +119 -0
- package/apps/web/app/api/mcp/[serverId]/route.ts +263 -0
- package/apps/web/app/api/playground/connect/route.ts +143 -0
- package/apps/web/app/api/playground/disconnect/route.ts +78 -0
- package/apps/web/app/api/playground/execute/route.ts +135 -0
- package/apps/web/app/api/playground/sessions/route.ts +103 -0
- package/apps/web/app/api/playground/tools/route.ts +117 -0
- package/apps/web/app/api/playground/v2/connect/route.ts +96 -0
- package/apps/web/app/api/playground/v2/disconnect/route.ts +88 -0
- package/apps/web/app/api/playground/v2/health/route.ts +80 -0
- package/apps/web/app/api/playground/v2/prompts/route.ts +160 -0
- package/apps/web/app/api/playground/v2/resources/route.ts +159 -0
- package/apps/web/app/api/playground/v2/sessions/route.ts +184 -0
- package/apps/web/app/api/playground/v2/tools/route.ts +167 -0
- package/apps/web/app/api/stream/route.ts +232 -0
- package/apps/web/app/batch/BatchConvertClient.tsx +190 -0
- package/apps/web/app/batch/page.tsx +37 -0
- package/apps/web/app/convert/page.tsx +269 -0
- package/apps/web/app/dashboard/page.tsx +380 -0
- package/apps/web/app/globals.css +622 -0
- package/apps/web/app/layout.tsx +120 -0
- package/apps/web/app/manifest.ts +31 -0
- package/apps/web/app/opengraph-image.tsx +112 -0
- package/apps/web/app/page.old.tsx +924 -0
- package/apps/web/app/page.tsx +77 -0
- package/apps/web/app/playground/page.tsx +306 -0
- package/apps/web/app/playground/v2/error.tsx +163 -0
- package/apps/web/app/playground/v2/layout.tsx +58 -0
- package/apps/web/app/playground/v2/loading.tsx +152 -0
- package/apps/web/app/playground/v2/page.tsx +644 -0
- package/apps/web/app/playground/v2/providers.tsx +214 -0
- package/apps/web/app/playground/v2/use-shortcuts.ts +209 -0
- package/apps/web/app/playground/v2/use-url-state.ts +296 -0
- package/apps/web/app/providers.tsx +22 -0
- package/apps/web/app/sitemap.ts +32 -0
- package/apps/web/app/twitter-image.tsx +112 -0
- package/apps/web/components/BranchSelector.tsx +401 -0
- package/apps/web/components/ClaudeConfigExport.tsx +226 -0
- package/apps/web/components/Features.tsx +84 -0
- package/apps/web/components/Footer.tsx +119 -0
- package/apps/web/components/GenerationProgress.tsx +248 -0
- package/apps/web/components/GithubUrlInput.tsx +483 -0
- package/apps/web/components/Header.tsx +175 -0
- package/apps/web/components/Hero.tsx +117 -0
- package/apps/web/components/HowItWorks.tsx +119 -0
- package/apps/web/components/InstallBanner.tsx +158 -0
- package/apps/web/components/Logo.tsx +116 -0
- package/apps/web/components/ParticleBackground.tsx +105 -0
- package/apps/web/components/Playground.tsx +472 -0
- package/apps/web/components/PlaygroundToolTester.tsx +410 -0
- package/apps/web/components/ProductCards.tsx +179 -0
- package/apps/web/components/SplitView.tsx +194 -0
- package/apps/web/components/ToolFilter.tsx +260 -0
- package/apps/web/components/ToolList.tsx +325 -0
- package/apps/web/components/batch/BatchConvert.tsx +785 -0
- package/apps/web/components/batch/index.ts +7 -0
- package/apps/web/components/convert/ConfigTabs.tsx +230 -0
- package/apps/web/components/convert/ConversionResult.tsx +482 -0
- package/apps/web/components/convert/InlinePlayground.tsx +259 -0
- package/apps/web/components/convert/LoadingSteps.tsx +311 -0
- package/apps/web/components/convert/OneClickInstall.tsx +224 -0
- package/apps/web/components/convert/ToolCard.tsx +189 -0
- package/apps/web/components/convert/TryInPlayground.tsx +242 -0
- package/apps/web/components/convert/index.ts +12 -0
- package/apps/web/components/deploy/DeployButton.tsx +369 -0
- package/apps/web/components/deploy/index.ts +7 -0
- package/apps/web/components/docker/DockerExport.tsx +690 -0
- package/apps/web/components/docker/index.ts +7 -0
- package/apps/web/components/install/OneClickInstall.tsx +676 -0
- package/apps/web/components/install/index.ts +7 -0
- package/apps/web/components/playground/CapabilityTabs.tsx +150 -0
- package/apps/web/components/playground/ConnectionStatusV2.tsx +322 -0
- package/apps/web/components/playground/EmptyStates.tsx +305 -0
- package/apps/web/components/playground/ExecutionLog.tsx +260 -0
- package/apps/web/components/playground/ExecutionLogV2.tsx +378 -0
- package/apps/web/components/playground/JsonViewer.tsx +388 -0
- package/apps/web/components/playground/PlaygroundLayout.tsx +244 -0
- package/apps/web/components/playground/PromptsPanel.tsx +385 -0
- package/apps/web/components/playground/ResourcesPanel.tsx +378 -0
- package/apps/web/components/playground/SchemaForm.tsx +477 -0
- package/apps/web/components/playground/ServerStatus.tsx +151 -0
- package/apps/web/components/playground/ShareButton.tsx +239 -0
- package/apps/web/components/playground/ToolsPanel.tsx +309 -0
- package/apps/web/components/playground/TransportConfigurator.tsx +563 -0
- package/apps/web/components/playground/index.ts +74 -0
- package/apps/web/components/playground/types.ts +202 -0
- package/apps/web/components/streaming/StreamingProgress.tsx +441 -0
- package/apps/web/components/streaming/index.ts +7 -0
- package/apps/web/components/ui/badge.tsx +42 -0
- package/apps/web/components/ui/button.tsx +88 -0
- package/apps/web/components/ui/card.tsx +75 -0
- package/apps/web/components/ui/code-block.tsx +122 -0
- package/apps/web/components/ui/index.ts +12 -0
- package/apps/web/components/ui/input.tsx +55 -0
- package/apps/web/components/ui/tabs.tsx +61 -0
- package/apps/web/hooks/index.ts +85 -0
- package/apps/web/hooks/types.ts +1173 -0
- package/apps/web/hooks/use-conversion.ts +133 -0
- package/apps/web/hooks/use-execution-history.ts +376 -0
- package/apps/web/hooks/use-generation-progress.ts +147 -0
- package/apps/web/hooks/use-local-storage.ts +88 -0
- package/apps/web/hooks/use-mcp-client.ts +623 -0
- package/apps/web/hooks/use-mcp-connection.ts +500 -0
- package/apps/web/hooks/use-mcp-execution.ts +282 -0
- package/apps/web/hooks/use-mcp-prompts.ts +441 -0
- package/apps/web/hooks/use-mcp-resources.ts +430 -0
- package/apps/web/hooks/use-mcp-tools.ts +540 -0
- package/apps/web/hooks/use-playground-store.ts +299 -0
- package/apps/web/hooks/use-playground.ts +184 -0
- package/apps/web/hooks/use-streaming-conversion.ts +227 -0
- package/apps/web/hooks/useBatchConversion.ts +271 -0
- package/apps/web/hooks/useDockerConfig.ts +161 -0
- package/apps/web/hooks/usePlatformDetection.ts +80 -0
- package/apps/web/hooks/useStreaming.ts +199 -0
- package/apps/web/lib/api/errors.ts +386 -0
- package/apps/web/lib/api/index.ts +137 -0
- package/apps/web/lib/api/logger.ts +187 -0
- package/apps/web/lib/api/middleware.ts +364 -0
- package/apps/web/lib/api/openapi.ts +977 -0
- package/apps/web/lib/api/session-manager.ts +594 -0
- package/apps/web/lib/api/types.ts +433 -0
- package/apps/web/lib/api/validation.ts +523 -0
- package/apps/web/lib/constants.ts +114 -0
- package/apps/web/lib/mcp/client.ts +1137 -0
- package/apps/web/lib/mcp/events.ts +651 -0
- package/apps/web/lib/mcp/index.ts +347 -0
- package/apps/web/lib/mcp/logger.ts +428 -0
- package/apps/web/lib/mcp/metrics.ts +703 -0
- package/apps/web/lib/mcp/retry.ts +616 -0
- package/apps/web/lib/mcp/session-manager.ts +779 -0
- package/apps/web/lib/mcp/transports.ts +988 -0
- package/apps/web/lib/mcp/types.ts +594 -0
- package/apps/web/lib/mcp-client-enhanced.ts +871 -0
- package/apps/web/lib/mcp-client.ts +778 -0
- package/apps/web/lib/mcp-errors.ts +489 -0
- package/apps/web/lib/mcp-sandbox.ts +593 -0
- package/apps/web/lib/mcp-testing.ts +428 -0
- package/apps/web/lib/mcp-types.ts +448 -0
- package/apps/web/lib/playground-store.tsx +1147 -0
- package/apps/web/lib/utils.ts +439 -0
- package/apps/web/next-env.d.ts +5 -0
- package/apps/web/next.config.js +23 -0
- package/apps/web/package.json +55 -0
- package/apps/web/postcss.config.js +6 -0
- package/apps/web/public/.well-known/ai-plugin.json +17 -0
- package/apps/web/public/logo.svg +6 -0
- package/apps/web/public/robots.txt +22 -0
- package/apps/web/public/schema.json +27 -0
- package/apps/web/tailwind.config.js +26 -0
- package/apps/web/tailwind.config.ts +123 -0
- package/apps/web/tsconfig.json +20 -0
- package/apps/web/types/deploy.ts +139 -0
- package/apps/web/types/index.ts +247 -0
- package/apps/web/vercel.json +39 -0
- package/eslint.config.mjs +23 -0
- package/llms.txt +102 -0
- package/mkdocs/docs/api/core.md +318 -0
- package/mkdocs/docs/api/index.md +128 -0
- package/mkdocs/docs/api/mcp-server.md +301 -0
- package/mkdocs/docs/api/openapi-parser.md +254 -0
- package/mkdocs/docs/assets/logo.svg +7 -0
- package/mkdocs/docs/changelog.md +118 -0
- package/mkdocs/docs/cli/generate.md +148 -0
- package/mkdocs/docs/cli/index.md +52 -0
- package/mkdocs/docs/cli/inspect.md +164 -0
- package/mkdocs/docs/cli/serve.md +136 -0
- package/mkdocs/docs/concepts/classification.md +254 -0
- package/mkdocs/docs/concepts/how-it-works.md +299 -0
- package/mkdocs/docs/concepts/index.md +77 -0
- package/mkdocs/docs/concepts/mcp-protocol.md +362 -0
- package/mkdocs/docs/concepts/tool-types.md +382 -0
- package/mkdocs/docs/contributing/architecture.md +262 -0
- package/mkdocs/docs/contributing/development.md +245 -0
- package/mkdocs/docs/contributing/index.md +73 -0
- package/mkdocs/docs/contributing/testing.md +320 -0
- package/mkdocs/docs/getting-started/configuration.md +235 -0
- package/mkdocs/docs/getting-started/index.md +54 -0
- package/mkdocs/docs/getting-started/installation.md +145 -0
- package/mkdocs/docs/getting-started/quickstart.md +160 -0
- package/mkdocs/docs/guides/batch.md +375 -0
- package/mkdocs/docs/guides/claude-desktop.md +227 -0
- package/mkdocs/docs/guides/cursor.md +188 -0
- package/mkdocs/docs/guides/custom-tools.md +367 -0
- package/mkdocs/docs/guides/index.md +78 -0
- package/mkdocs/docs/guides/private-repos.md +221 -0
- package/mkdocs/docs/guides/vscode.md +247 -0
- package/mkdocs/docs/index.md +175 -0
- package/mkdocs/docs/reference/config.md +223 -0
- package/mkdocs/docs/reference/env.md +192 -0
- package/mkdocs/docs/reference/index.md +102 -0
- package/mkdocs/docs/reference/tools.md +309 -0
- package/mkdocs/docs/stylesheets/extra.css +231 -0
- package/mkdocs/mkdocs.yml +204 -0
- package/mkdocs/overrides/.gitkeep +1 -0
- package/mkdocs/overrides/main.html +7 -0
- package/mkdocs/python-deps.txt +7 -0
- package/mkdocs/vercel.json +11 -0
- package/package.json +63 -0
- package/packages/core/package.json +61 -0
- package/packages/core/src/__tests__/bitbucket-client.test.ts +366 -0
- package/packages/core/src/__tests__/cli.test.ts +235 -0
- package/packages/core/src/__tests__/code-extractor.test.ts +378 -0
- package/packages/core/src/__tests__/docker-generator.test.ts +255 -0
- package/packages/core/src/__tests__/github-client.test.ts +390 -0
- package/packages/core/src/__tests__/gitlab-client.test.ts +319 -0
- package/packages/core/src/__tests__/go-extractor.test.ts +351 -0
- package/packages/core/src/__tests__/graphql-extractor.test.ts +330 -0
- package/packages/core/src/__tests__/java-extractor.test.ts +497 -0
- package/packages/core/src/__tests__/plugins.test.ts +467 -0
- package/packages/core/src/__tests__/readme-extractor.test.ts +258 -0
- package/packages/core/src/__tests__/redis-cache.test.ts +307 -0
- package/packages/core/src/__tests__/rust-extractor.test.ts +252 -0
- package/packages/core/src/__tests__/streaming.test.ts +251 -0
- package/packages/core/src/additional-extractors.ts +333 -0
- package/packages/core/src/cache/cache-interface.ts +179 -0
- package/packages/core/src/cache/index.ts +210 -0
- package/packages/core/src/cache/redis-cache.ts +291 -0
- package/packages/core/src/cache/upstash-cache.ts +379 -0
- package/packages/core/src/cache.ts +251 -0
- package/packages/core/src/cli.ts +822 -0
- package/packages/core/src/code-extractor.ts +696 -0
- package/packages/core/src/docker-generator.ts +470 -0
- package/packages/core/src/edge-compatible.ts +491 -0
- package/packages/core/src/extractors/go-extractor.ts +791 -0
- package/packages/core/src/extractors/index.ts +9 -0
- package/packages/core/src/extractors/java-extractor.ts +937 -0
- package/packages/core/src/extractors/rust-extractor.ts +744 -0
- package/packages/core/src/github-client.ts +319 -0
- package/packages/core/src/go-generator.ts +356 -0
- package/packages/core/src/graphql-extractor.ts +358 -0
- package/packages/core/src/index.ts +797 -0
- package/packages/core/src/langchain-exporter.ts +617 -0
- package/packages/core/src/language-parsers.ts +1114 -0
- package/packages/core/src/mcp-introspector.ts +279 -0
- package/packages/core/src/monorepo-detector.ts +378 -0
- package/packages/core/src/plugins/index.ts +370 -0
- package/packages/core/src/plugins/registry.ts +404 -0
- package/packages/core/src/plugins/types.ts +215 -0
- package/packages/core/src/providers/base-provider.ts +246 -0
- package/packages/core/src/providers/bitbucket-client.ts +464 -0
- package/packages/core/src/providers/gitlab-client.ts +388 -0
- package/packages/core/src/providers/index.ts +176 -0
- package/packages/core/src/python-generator.ts +260 -0
- package/packages/core/src/queue/index.ts +100 -0
- package/packages/core/src/queue/memory-queue.ts +445 -0
- package/packages/core/src/queue/redis-queue.ts +578 -0
- package/packages/core/src/queue/types.ts +251 -0
- package/packages/core/src/readme-extractor.ts +409 -0
- package/packages/core/src/schema-generator.ts +638 -0
- package/packages/core/src/streaming.ts +999 -0
- package/packages/core/src/types.ts +289 -0
- package/packages/core/tsconfig.json +9 -0
- package/packages/core/tsup.config.ts +25 -0
- package/packages/mcp-server/README.md +297 -0
- package/packages/mcp-server/package.json +55 -0
- package/packages/mcp-server/src/__tests__/mcp-server.test.ts +177 -0
- package/packages/mcp-server/src/__tests__/tools.test.ts +217 -0
- package/packages/mcp-server/src/index.ts +1206 -0
- package/packages/mcp-server/src/prompts/index.ts +601 -0
- package/packages/mcp-server/src/tools/export-docker.ts +362 -0
- package/packages/mcp-server/src/tools/generate-openapi.ts +162 -0
- package/packages/mcp-server/src/tools/monitor-mcp-server.ts +448 -0
- package/packages/mcp-server/src/tools/stream-convert.ts +398 -0
- package/packages/mcp-server/src/tools/test-mcp-tool.ts +531 -0
- package/packages/mcp-server/tsconfig.json +12 -0
- package/packages/mcp-server/tsup.config.ts +14 -0
- package/packages/openapi-parser/package-lock.json +3028 -0
- package/packages/openapi-parser/package.json +41 -0
- package/packages/openapi-parser/src/analyzer.ts +700 -0
- package/packages/openapi-parser/src/asyncapi-parser.ts +475 -0
- package/packages/openapi-parser/src/cli.ts +302 -0
- package/packages/openapi-parser/src/generator.ts +570 -0
- package/packages/openapi-parser/src/generators/express-analyzer.ts +649 -0
- package/packages/openapi-parser/src/generators/fastapi-analyzer.ts +960 -0
- package/packages/openapi-parser/src/generators/index.ts +200 -0
- package/packages/openapi-parser/src/generators/nextjs-analyzer.ts +768 -0
- package/packages/openapi-parser/src/generators/openapi-builder.ts +527 -0
- package/packages/openapi-parser/src/generators/types.ts +298 -0
- package/packages/openapi-parser/src/graphql-parser.ts +462 -0
- package/packages/openapi-parser/src/grpc-parser.ts +649 -0
- package/packages/openapi-parser/src/har-parser.ts +723 -0
- package/packages/openapi-parser/src/index.ts +635 -0
- package/packages/openapi-parser/src/insomnia-parser.ts +614 -0
- package/packages/openapi-parser/src/parser.ts +231 -0
- package/packages/openapi-parser/src/postman-parser.ts +611 -0
- package/packages/openapi-parser/src/ref-resolver.ts +313 -0
- package/packages/openapi-parser/src/transformer.ts +459 -0
- package/packages/openapi-parser/tests/generators/express.test.ts +209 -0
- package/packages/openapi-parser/tests/generators/fastapi.test.ts +236 -0
- package/packages/openapi-parser/tests/generators/nextjs.test.ts +273 -0
- package/packages/openapi-parser/tests/parsers.test.ts +847 -0
- package/packages/openapi-parser/tsconfig.json +9 -0
- package/packages/openapi-parser/tsup.config.ts +11 -0
- package/packages/registry/package.json +59 -0
- package/packages/registry/src/cli.ts +456 -0
- package/packages/registry/src/index.ts +44 -0
- package/packages/registry/src/popular/github.json +47 -0
- package/packages/registry/src/popular/index.ts +55 -0
- package/packages/registry/src/popular/linear.json +42 -0
- package/packages/registry/src/popular/notion.json +42 -0
- package/packages/registry/src/popular/openai.json +40 -0
- package/packages/registry/src/popular/resend.json +38 -0
- package/packages/registry/src/popular/slack.json +42 -0
- package/packages/registry/src/popular/stripe.json +163 -0
- package/packages/registry/src/popular/supabase.json +42 -0
- package/packages/registry/src/popular/twilio.json +40 -0
- package/packages/registry/src/popular/vercel.json +40 -0
- package/packages/registry/src/registry.ts +492 -0
- package/packages/registry/src/storage.ts +334 -0
- package/packages/registry/src/types.ts +275 -0
- package/packages/registry/src/updater.ts +208 -0
- package/packages/registry/tsconfig.json +10 -0
- package/packages/registry/tsup.config.ts +11 -0
- package/pnpm-workspace.yaml +3 -0
- package/scripts/build-docs.sh +16 -0
- package/server.json +9 -0
- package/templates/Dockerfile.python.template +60 -0
- package/templates/Dockerfile.typescript.template +60 -0
- package/templates/docker-compose.template.yml +68 -0
- package/tests/fixtures/express-app/index.js +34 -0
- package/tests/fixtures/express-app/routes/posts.js +43 -0
- package/tests/fixtures/express-app/routes/users.js +58 -0
- package/tests/fixtures/fastapi-app/main.py +125 -0
- package/tests/fixtures/fastapi-app/routes/admin.py +42 -0
- package/tests/fixtures/graphql/simple-schema.graphql +65 -0
- package/tests/fixtures/mocks/github-api-responses.json +63 -0
- package/tests/fixtures/nextjs-app/app/api/posts/route.ts +55 -0
- package/tests/fixtures/nextjs-app/app/api/users/[id]/route.ts +63 -0
- package/tests/fixtures/nextjs-app/app/api/users/route.ts +44 -0
- package/tests/fixtures/nextjs-app/pages/api/health.ts +28 -0
- package/tests/fixtures/openapi/petstore.yaml +179 -0
- package/tests/integration/langchain-export.test.ts +405 -0
- package/tests/integration/openapi-conversion.test.ts +221 -0
- package/tsconfig.json +18 -0
- package/vitest.config.ts +32 -0
package/SECURITY.md
ADDED
|
@@ -0,0 +1,248 @@
|
|
|
1
|
+
# Security Policy
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
GitHub to MCP takes security seriously. This document outlines our security policies, procedures for reporting vulnerabilities, and the measures we take to protect users.
|
|
6
|
+
|
|
7
|
+
## Supported Versions
|
|
8
|
+
|
|
9
|
+
| Version | Supported | End of Life |
|
|
10
|
+
| ------- | ------------------ | ----------- |
|
|
11
|
+
| 1.x | :white_check_mark: | TBD |
|
|
12
|
+
|
|
13
|
+
We provide security updates for the latest major version. Users are encouraged to upgrade to the latest version to receive security patches.
|
|
14
|
+
|
|
15
|
+
## Reporting a Vulnerability
|
|
16
|
+
|
|
17
|
+
### Process
|
|
18
|
+
|
|
19
|
+
1. **DO NOT** create a public GitHub issue for security vulnerabilities
|
|
20
|
+
2. Email security concerns to: **security@github-to-mcp.dev**
|
|
21
|
+
3. Include the following information:
|
|
22
|
+
- Type of vulnerability
|
|
23
|
+
- Full path to the affected file(s)
|
|
24
|
+
- Steps to reproduce
|
|
25
|
+
- Potential impact
|
|
26
|
+
- Suggested fix (if any)
|
|
27
|
+
|
|
28
|
+
### Response Timeline
|
|
29
|
+
|
|
30
|
+
| Action | Timeline |
|
|
31
|
+
|--------|----------|
|
|
32
|
+
| Initial acknowledgment | 24 hours |
|
|
33
|
+
| Preliminary assessment | 72 hours |
|
|
34
|
+
| Resolution target | 30 days (critical), 90 days (other) |
|
|
35
|
+
| Public disclosure | After fix is released |
|
|
36
|
+
|
|
37
|
+
### Recognition
|
|
38
|
+
|
|
39
|
+
We recognize security researchers who responsibly disclose vulnerabilities:
|
|
40
|
+
- Credit in release notes
|
|
41
|
+
- Addition to SECURITY_ACKNOWLEDGMENTS.md
|
|
42
|
+
- Bug bounty consideration (for critical vulnerabilities)
|
|
43
|
+
|
|
44
|
+
## Security Measures
|
|
45
|
+
|
|
46
|
+
### Application Security
|
|
47
|
+
|
|
48
|
+
#### Input Validation
|
|
49
|
+
- All GitHub URLs are validated before processing
|
|
50
|
+
- Repository paths are sanitized to prevent path traversal
|
|
51
|
+
- User input is escaped before rendering
|
|
52
|
+
|
|
53
|
+
#### Rate Limiting
|
|
54
|
+
- API endpoints implement rate limiting
|
|
55
|
+
- GitHub API requests use exponential backoff
|
|
56
|
+
- Abuse detection for automated requests
|
|
57
|
+
|
|
58
|
+
#### Authentication
|
|
59
|
+
- GitHub token (optional) uses secure environment variables
|
|
60
|
+
- Tokens are never logged or exposed in errors
|
|
61
|
+
- Session tokens use secure, httpOnly cookies
|
|
62
|
+
|
|
63
|
+
### Data Handling
|
|
64
|
+
|
|
65
|
+
#### Data Collection
|
|
66
|
+
We collect only:
|
|
67
|
+
- GitHub repository URLs submitted for conversion
|
|
68
|
+
- Anonymous usage analytics (can be disabled)
|
|
69
|
+
- Error logs for debugging (no PII)
|
|
70
|
+
|
|
71
|
+
#### Data Storage
|
|
72
|
+
- No persistent storage of repository content
|
|
73
|
+
- Conversion results are ephemeral (not stored)
|
|
74
|
+
- Optional local storage in browser (user-controlled)
|
|
75
|
+
|
|
76
|
+
#### Data Transmission
|
|
77
|
+
- All communications use TLS 1.3
|
|
78
|
+
- API responses include security headers
|
|
79
|
+
- No data shared with third parties
|
|
80
|
+
|
|
81
|
+
### Infrastructure Security
|
|
82
|
+
|
|
83
|
+
#### Deployment
|
|
84
|
+
- Automated security scanning in CI/CD
|
|
85
|
+
- Dependency vulnerability monitoring (Dependabot)
|
|
86
|
+
- Container image scanning (if deployed via Docker)
|
|
87
|
+
|
|
88
|
+
#### Access Control
|
|
89
|
+
- Principle of least privilege
|
|
90
|
+
- Regular access audits
|
|
91
|
+
- Multi-factor authentication for maintainers
|
|
92
|
+
|
|
93
|
+
### Code Security
|
|
94
|
+
|
|
95
|
+
#### Dependency Management
|
|
96
|
+
```bash
|
|
97
|
+
# Regular security audits
|
|
98
|
+
pnpm audit
|
|
99
|
+
|
|
100
|
+
# Update vulnerable dependencies
|
|
101
|
+
pnpm update --latest
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
#### Static Analysis
|
|
105
|
+
- TypeScript strict mode enabled
|
|
106
|
+
- ESLint security rules
|
|
107
|
+
- Automated code scanning via GitHub Advanced Security
|
|
108
|
+
|
|
109
|
+
### API Security
|
|
110
|
+
|
|
111
|
+
#### Headers
|
|
112
|
+
All responses include:
|
|
113
|
+
```http
|
|
114
|
+
X-Content-Type-Options: nosniff
|
|
115
|
+
X-Frame-Options: DENY
|
|
116
|
+
X-XSS-Protection: 1; mode=block
|
|
117
|
+
Content-Security-Policy: default-src 'self'
|
|
118
|
+
Strict-Transport-Security: max-age=31536000; includeSubDomains
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
#### CORS
|
|
122
|
+
- Strict origin validation
|
|
123
|
+
- Credentials only for same-origin
|
|
124
|
+
- Preflight caching
|
|
125
|
+
|
|
126
|
+
## Security Configuration
|
|
127
|
+
|
|
128
|
+
### Environment Variables
|
|
129
|
+
|
|
130
|
+
| Variable | Purpose | Required |
|
|
131
|
+
|----------|---------|----------|
|
|
132
|
+
| `GITHUB_TOKEN` | GitHub API access | Optional |
|
|
133
|
+
| `RATE_LIMIT_WINDOW` | Rate limit window (ms) | Optional |
|
|
134
|
+
| `RATE_LIMIT_MAX` | Max requests per window | Optional |
|
|
135
|
+
|
|
136
|
+
### Secure Defaults
|
|
137
|
+
|
|
138
|
+
The application ships with secure defaults:
|
|
139
|
+
- Rate limiting enabled
|
|
140
|
+
- Security headers enabled
|
|
141
|
+
- Error messages sanitized
|
|
142
|
+
- Debug mode disabled in production
|
|
143
|
+
|
|
144
|
+
## Audit Log
|
|
145
|
+
|
|
146
|
+
### What We Log
|
|
147
|
+
- API request timestamps
|
|
148
|
+
- Error events (sanitized)
|
|
149
|
+
- Rate limit events
|
|
150
|
+
- Security-relevant events
|
|
151
|
+
|
|
152
|
+
### What We DON'T Log
|
|
153
|
+
- Full request bodies
|
|
154
|
+
- GitHub tokens
|
|
155
|
+
- IP addresses (hashed only)
|
|
156
|
+
- Personal information
|
|
157
|
+
|
|
158
|
+
### Log Retention
|
|
159
|
+
- Production logs: 30 days
|
|
160
|
+
- Security events: 1 year
|
|
161
|
+
- Audit logs: 7 years (compliance)
|
|
162
|
+
|
|
163
|
+
## Compliance
|
|
164
|
+
|
|
165
|
+
### Standards
|
|
166
|
+
- OWASP Top 10 aware
|
|
167
|
+
- SOC 2 Type II aligned (roadmap)
|
|
168
|
+
- GDPR compliant (EU data handling)
|
|
169
|
+
|
|
170
|
+
### Certifications
|
|
171
|
+
- Planned: SOC 2 Type II
|
|
172
|
+
- Planned: ISO 27001
|
|
173
|
+
|
|
174
|
+
## Incident Response
|
|
175
|
+
|
|
176
|
+
### Severity Levels
|
|
177
|
+
|
|
178
|
+
| Level | Description | Response Time |
|
|
179
|
+
|-------|-------------|---------------|
|
|
180
|
+
| P1 - Critical | Active exploitation, data breach | Immediate |
|
|
181
|
+
| P2 - High | Vulnerability with exploit potential | 24 hours |
|
|
182
|
+
| P3 - Medium | Limited impact vulnerability | 7 days |
|
|
183
|
+
| P4 - Low | Hardening improvement | 30 days |
|
|
184
|
+
|
|
185
|
+
### Response Process
|
|
186
|
+
|
|
187
|
+
1. **Detection**: Automated monitoring or user report
|
|
188
|
+
2. **Triage**: Assess severity and impact
|
|
189
|
+
3. **Containment**: Limit exposure if active threat
|
|
190
|
+
4. **Remediation**: Develop and test fix
|
|
191
|
+
5. **Recovery**: Deploy fix and verify
|
|
192
|
+
6. **Post-mortem**: Document lessons learned
|
|
193
|
+
|
|
194
|
+
## Security Checklist for Contributors
|
|
195
|
+
|
|
196
|
+
Before submitting code:
|
|
197
|
+
|
|
198
|
+
- [ ] No hardcoded secrets or credentials
|
|
199
|
+
- [ ] User input is validated and sanitized
|
|
200
|
+
- [ ] Error messages don't leak sensitive info
|
|
201
|
+
- [ ] Dependencies are from trusted sources
|
|
202
|
+
- [ ] No use of `eval()` or similar
|
|
203
|
+
- [ ] SQL/NoSQL injection prevented (if applicable)
|
|
204
|
+
- [ ] CSRF protection in place (if applicable)
|
|
205
|
+
- [ ] File uploads validated (if applicable)
|
|
206
|
+
|
|
207
|
+
## Security Tools
|
|
208
|
+
|
|
209
|
+
### Recommended for Development
|
|
210
|
+
|
|
211
|
+
```bash
|
|
212
|
+
# Install security linting
|
|
213
|
+
pnpm add -D eslint-plugin-security
|
|
214
|
+
|
|
215
|
+
# Run security audit
|
|
216
|
+
pnpm audit
|
|
217
|
+
|
|
218
|
+
# Check for secrets
|
|
219
|
+
npx secretlint .
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
### CI/CD Integration
|
|
223
|
+
|
|
224
|
+
```yaml
|
|
225
|
+
# .github/workflows/security.yml
|
|
226
|
+
name: Security Scan
|
|
227
|
+
on: [push, pull_request]
|
|
228
|
+
jobs:
|
|
229
|
+
security:
|
|
230
|
+
runs-on: ubuntu-latest
|
|
231
|
+
steps:
|
|
232
|
+
- uses: actions/checkout@v4
|
|
233
|
+
- name: Run security audit
|
|
234
|
+
run: pnpm audit --audit-level moderate
|
|
235
|
+
- name: CodeQL Analysis
|
|
236
|
+
uses: github/codeql-action/analyze@v2
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
## Contact
|
|
240
|
+
|
|
241
|
+
- **Security Email**: security@github-to-mcp.dev
|
|
242
|
+
- **PGP Key**: [Available on request]
|
|
243
|
+
- **Response Hours**: 24/7 for P1/P2
|
|
244
|
+
|
|
245
|
+
---
|
|
246
|
+
|
|
247
|
+
Last Updated: January 2026
|
|
248
|
+
Version: 1.0
|
package/VISUAL_GUIDE.md
ADDED
|
@@ -0,0 +1,437 @@
|
|
|
1
|
+
# Visual Feature Guide
|
|
2
|
+
|
|
3
|
+
A visual walkthrough of the new web UI enhancements. (Screenshots to be added)
|
|
4
|
+
|
|
5
|
+
## 🎮 Interactive Playground
|
|
6
|
+
|
|
7
|
+
### Overview
|
|
8
|
+

|
|
9
|
+
|
|
10
|
+
The playground provides a split-panel interface for testing MCP tools:
|
|
11
|
+
- **Left Panel (30%)**: Tool list with search and filtering
|
|
12
|
+
- **Right Panel (70%)**: Interactive tool tester with dynamic forms
|
|
13
|
+
- **Resizable**: Drag the center gripper to adjust panel widths
|
|
14
|
+
|
|
15
|
+
### Tool Selection
|
|
16
|
+

|
|
17
|
+
|
|
18
|
+
Features visible in this view:
|
|
19
|
+
- Tool search bar at the top
|
|
20
|
+
- Tool count indicator
|
|
21
|
+
- Source type badges (purple=OpenAPI, pink=GraphQL, cyan=README)
|
|
22
|
+
- Parameter count for each tool
|
|
23
|
+
- Selected tool highlighted with white border
|
|
24
|
+
|
|
25
|
+
### Dynamic Form Generation
|
|
26
|
+

|
|
27
|
+
|
|
28
|
+
The form automatically adapts based on the tool's schema:
|
|
29
|
+
- **String fields**: Text input or textarea
|
|
30
|
+
- **Number fields**: Number input with validation
|
|
31
|
+
- **Boolean fields**: Checkbox
|
|
32
|
+
- **Enum fields**: Dropdown select
|
|
33
|
+
- **Array fields**: Add/remove items dynamically
|
|
34
|
+
- **Object fields**: Nested property groups
|
|
35
|
+
- **Required indicators**: Red asterisk on required fields
|
|
36
|
+
|
|
37
|
+
### Execution Results
|
|
38
|
+

|
|
39
|
+
|
|
40
|
+
After executing a tool:
|
|
41
|
+
- Success/error indicator at the top
|
|
42
|
+
- JSON-formatted response with syntax highlighting
|
|
43
|
+
- Copy button to clipboard
|
|
44
|
+
- Reset button to clear and start over
|
|
45
|
+
|
|
46
|
+
### Demo Mode
|
|
47
|
+

|
|
48
|
+
|
|
49
|
+
When no conversion has been performed:
|
|
50
|
+
- Yellow banner explaining demo mode
|
|
51
|
+
- Link to convert page
|
|
52
|
+
- Sample tools to explore the interface
|
|
53
|
+
- Same functionality as with real tools
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## 📊 Generation Progress Indicator
|
|
58
|
+
|
|
59
|
+
### Progress Display
|
|
60
|
+

|
|
61
|
+
|
|
62
|
+
Visual elements:
|
|
63
|
+
1. **Circular Progress Ring**: Animated SVG showing 0-100% completion
|
|
64
|
+
2. **Step Cards**: 4 steps with icons and descriptions
|
|
65
|
+
- Fetching Repository (10% weight)
|
|
66
|
+
- Classifying Sources (20% weight)
|
|
67
|
+
- Extracting Tools (40% weight)
|
|
68
|
+
- Generating Server (30% weight)
|
|
69
|
+
3. **Tools Found Counter**: Real-time count of discovered tools
|
|
70
|
+
4. **Status Icons**:
|
|
71
|
+
- Yellow loader for active step
|
|
72
|
+
- Green check for completed
|
|
73
|
+
- Red X for errors
|
|
74
|
+
|
|
75
|
+
### Step States
|
|
76
|
+

|
|
77
|
+
|
|
78
|
+
Each step shows its current state:
|
|
79
|
+
- **Pending**: Gray with waiting icon
|
|
80
|
+
- **Active**: Yellow with spinner animation
|
|
81
|
+
- **Complete**: Green with checkmark
|
|
82
|
+
- **Error**: Red with error icon and message
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
## 🎯 Branch/Tag/Commit Selection
|
|
87
|
+
|
|
88
|
+
### Branch Selector
|
|
89
|
+

|
|
90
|
+
|
|
91
|
+
Interface components:
|
|
92
|
+
1. **Three Tabs**: Branches, Tags, Commit
|
|
93
|
+
2. **Search Bar**: Filter refs by name
|
|
94
|
+
3. **Default Branch Badge**: Highlights repository default
|
|
95
|
+
4. **Ref List**: Scrollable list of available references
|
|
96
|
+
5. **Selected State**: Blue background on selected ref
|
|
97
|
+
|
|
98
|
+
### Branch Tab
|
|
99
|
+

|
|
100
|
+
|
|
101
|
+
Shows:
|
|
102
|
+
- Active development branches
|
|
103
|
+
- Default branch marked with badge
|
|
104
|
+
- Search to filter by name
|
|
105
|
+
- Recent branches appear first
|
|
106
|
+
|
|
107
|
+
### Tags Tab
|
|
108
|
+

|
|
109
|
+
|
|
110
|
+
Shows:
|
|
111
|
+
- Released versions/tags
|
|
112
|
+
- Semantic version sorting (if applicable)
|
|
113
|
+
- Search to find specific releases
|
|
114
|
+
- Useful for converting stable versions
|
|
115
|
+
|
|
116
|
+
### Commit Tab
|
|
117
|
+

|
|
118
|
+
|
|
119
|
+
Features:
|
|
120
|
+
- Text input for commit SHA
|
|
121
|
+
- Supports full or short SHA
|
|
122
|
+
- No API requests needed
|
|
123
|
+
- Direct commit reference
|
|
124
|
+
|
|
125
|
+
---
|
|
126
|
+
|
|
127
|
+
## 📋 Claude Config Export
|
|
128
|
+
|
|
129
|
+
### Config Overview
|
|
130
|
+

|
|
131
|
+
|
|
132
|
+
Three configuration methods with tabs:
|
|
133
|
+
1. **NPX Method** (Zero-install)
|
|
134
|
+
2. **Local Method** (Clone and build)
|
|
135
|
+
3. **Python Method** (Python-based)
|
|
136
|
+
|
|
137
|
+
### NPX Configuration
|
|
138
|
+

|
|
139
|
+
|
|
140
|
+
Shows:
|
|
141
|
+
- JSON configuration snippet
|
|
142
|
+
- Copy button with animation
|
|
143
|
+
- Download JSON button
|
|
144
|
+
- Step-by-step setup instructions
|
|
145
|
+
- Platform-specific paths
|
|
146
|
+
|
|
147
|
+
### Copy Animation
|
|
148
|
+

|
|
149
|
+
|
|
150
|
+
Visual feedback:
|
|
151
|
+
- Button changes to "Copied!" with checkmark
|
|
152
|
+
- Green color on success
|
|
153
|
+
- Animated transition
|
|
154
|
+
- Returns to normal after 2 seconds
|
|
155
|
+
|
|
156
|
+
### Setup Instructions
|
|
157
|
+

|
|
158
|
+
|
|
159
|
+
Includes:
|
|
160
|
+
1. Where to find Claude Desktop config file (by platform)
|
|
161
|
+
2. How to paste the configuration
|
|
162
|
+
3. How to restart Claude
|
|
163
|
+
4. How to verify the server is working
|
|
164
|
+
|
|
165
|
+
---
|
|
166
|
+
|
|
167
|
+
## 🔍 Tool Filtering & Search
|
|
168
|
+
|
|
169
|
+
### Filter Interface
|
|
170
|
+

|
|
171
|
+
|
|
172
|
+
Components:
|
|
173
|
+
1. **Search Bar**: Real-time text search
|
|
174
|
+
2. **Category Chips**: OpenAPI, GraphQL, README filters
|
|
175
|
+
3. **Sort Buttons**: Alphabetical, Source, Confidence
|
|
176
|
+
4. **Results Counter**: Shows X of Y tools
|
|
177
|
+
|
|
178
|
+
### Search in Action
|
|
179
|
+

|
|
180
|
+
|
|
181
|
+
Demonstrates:
|
|
182
|
+
- Search query "get repo"
|
|
183
|
+
- Filtered results highlighting matches
|
|
184
|
+
- Updated results counter
|
|
185
|
+
- Other filters remain active
|
|
186
|
+
|
|
187
|
+
### Category Filtering
|
|
188
|
+

|
|
189
|
+
|
|
190
|
+
Shows:
|
|
191
|
+
- Selected categories have colored backgrounds
|
|
192
|
+
- Multiple categories can be selected
|
|
193
|
+
- Results update in real-time
|
|
194
|
+
- Clear indication of active filters
|
|
195
|
+
|
|
196
|
+
### Sort Options
|
|
197
|
+

|
|
198
|
+
|
|
199
|
+
Three sorting modes:
|
|
200
|
+
- **Alphabetical**: A-Z by tool name
|
|
201
|
+
- **By Source**: Grouped by OpenAPI, GraphQL, README
|
|
202
|
+
- **By Confidence**: Highest confidence first
|
|
203
|
+
|
|
204
|
+
---
|
|
205
|
+
|
|
206
|
+
## ✨ Enhanced Tool Display
|
|
207
|
+
|
|
208
|
+
### Tool Cards
|
|
209
|
+

|
|
210
|
+
|
|
211
|
+
Card components:
|
|
212
|
+
- Tool name and description
|
|
213
|
+
- Source type badge with color
|
|
214
|
+
- Parameter count
|
|
215
|
+
- Expand/collapse chevron
|
|
216
|
+
- Hover effects
|
|
217
|
+
|
|
218
|
+
### Expanded Tool
|
|
219
|
+

|
|
220
|
+
|
|
221
|
+
Shows when expanded:
|
|
222
|
+
- Full description
|
|
223
|
+
- Input schema (JSON formatted)
|
|
224
|
+
- Output schema (if available)
|
|
225
|
+
- Required parameters highlighted
|
|
226
|
+
- Copy schema button
|
|
227
|
+
|
|
228
|
+
### Grouped View
|
|
229
|
+

|
|
230
|
+
|
|
231
|
+
When sorting by source:
|
|
232
|
+
- Tools grouped under headers
|
|
233
|
+
- OpenAPI, GraphQL, README sections
|
|
234
|
+
- Color-coded section headers
|
|
235
|
+
- Collapsible groups
|
|
236
|
+
|
|
237
|
+
### Expand All
|
|
238
|
+

|
|
239
|
+
|
|
240
|
+
Toolbar buttons:
|
|
241
|
+
- "Expand All" - Opens all tool details
|
|
242
|
+
- "Collapse All" - Closes all tool details
|
|
243
|
+
- Quick way to scan through all schemas
|
|
244
|
+
|
|
245
|
+
---
|
|
246
|
+
|
|
247
|
+
## 🎨 SplitView Component
|
|
248
|
+
|
|
249
|
+
### Resizing
|
|
250
|
+

|
|
251
|
+
|
|
252
|
+
Interaction:
|
|
253
|
+
- Drag the center gripper left/right
|
|
254
|
+
- Respects minimum widths (250px left, 400px right)
|
|
255
|
+
- Smooth transition during drag
|
|
256
|
+
- Gripper highlights on hover
|
|
257
|
+
|
|
258
|
+
### Maximize/Minimize
|
|
259
|
+

|
|
260
|
+
|
|
261
|
+
Each panel has buttons:
|
|
262
|
+
- **Maximize Left**: Expand left panel to 80%
|
|
263
|
+
- **Maximize Right**: Expand right panel to 80%
|
|
264
|
+
- **Minimize**: Return to default split
|
|
265
|
+
- Icons change based on state
|
|
266
|
+
|
|
267
|
+
### Responsive Behavior
|
|
268
|
+

|
|
269
|
+
|
|
270
|
+
On smaller screens:
|
|
271
|
+
- Maintains minimum widths
|
|
272
|
+
- Vertical stacking on mobile
|
|
273
|
+
- Touch-friendly gripper
|
|
274
|
+
- Preserves functionality
|
|
275
|
+
|
|
276
|
+
---
|
|
277
|
+
|
|
278
|
+
## 🎨 Design System
|
|
279
|
+
|
|
280
|
+
### Color Palette
|
|
281
|
+

|
|
282
|
+
|
|
283
|
+
Source type colors:
|
|
284
|
+
- **OpenAPI**: Purple (`#a855f7`)
|
|
285
|
+
- **GraphQL**: Pink (`#ec4899`)
|
|
286
|
+
- **README**: Cyan (`#06b6d4`)
|
|
287
|
+
- **Universal**: Blue (`#3b82f6`)
|
|
288
|
+
|
|
289
|
+
### Typography
|
|
290
|
+

|
|
291
|
+
|
|
292
|
+
Font scales:
|
|
293
|
+
- Headings: `text-2xl` to `text-5xl`, bold
|
|
294
|
+
- Body: `text-sm` to `text-base`
|
|
295
|
+
- Labels: `text-xs`, neutral color
|
|
296
|
+
- Monospace: Code and JSON
|
|
297
|
+
|
|
298
|
+
### Glass Effects
|
|
299
|
+

|
|
300
|
+
|
|
301
|
+
UI pattern:
|
|
302
|
+
- Semi-transparent backgrounds (`bg-neutral-900/50`)
|
|
303
|
+
- Backdrop blur (`backdrop-blur-sm`)
|
|
304
|
+
- Subtle borders (`border-neutral-800`)
|
|
305
|
+
- Layered depth
|
|
306
|
+
|
|
307
|
+
---
|
|
308
|
+
|
|
309
|
+
## 📱 Responsive Design
|
|
310
|
+
|
|
311
|
+
### Desktop View (1920x1080)
|
|
312
|
+

|
|
313
|
+
|
|
314
|
+
Full features visible:
|
|
315
|
+
- Side-by-side panels
|
|
316
|
+
- All toolbars expanded
|
|
317
|
+
- Maximum information density
|
|
318
|
+
|
|
319
|
+
### Tablet View (768x1024)
|
|
320
|
+

|
|
321
|
+
|
|
322
|
+
Adapted layout:
|
|
323
|
+
- Narrower panels
|
|
324
|
+
- Compact toolbars
|
|
325
|
+
- Touch-friendly targets
|
|
326
|
+
|
|
327
|
+
### Mobile View (375x667)
|
|
328
|
+

|
|
329
|
+
|
|
330
|
+
Mobile optimizations:
|
|
331
|
+
- Vertical stacking
|
|
332
|
+
- Full-width panels
|
|
333
|
+
- Simplified navigation
|
|
334
|
+
- Hamburger menu
|
|
335
|
+
|
|
336
|
+
---
|
|
337
|
+
|
|
338
|
+
## 🎬 Animations
|
|
339
|
+
|
|
340
|
+
### Page Transitions
|
|
341
|
+

|
|
342
|
+
|
|
343
|
+
Framer Motion effects:
|
|
344
|
+
- Fade in on mount
|
|
345
|
+
- Slide up for cards
|
|
346
|
+
- Stagger children
|
|
347
|
+
- Exit animations
|
|
348
|
+
|
|
349
|
+
### Loading States
|
|
350
|
+

|
|
351
|
+
|
|
352
|
+
Various loaders:
|
|
353
|
+
- Spinning circle for async operations
|
|
354
|
+
- Skeleton screens for content
|
|
355
|
+
- Progress bars for steps
|
|
356
|
+
- Shimmer effects
|
|
357
|
+
|
|
358
|
+
### Micro-interactions
|
|
359
|
+

|
|
360
|
+
|
|
361
|
+
Subtle feedback:
|
|
362
|
+
- Button hover states
|
|
363
|
+
- Focus outlines
|
|
364
|
+
- Active states
|
|
365
|
+
- Success checkmarks
|
|
366
|
+
- Error shakes
|
|
367
|
+
|
|
368
|
+
---
|
|
369
|
+
|
|
370
|
+
## 🔗 Navigation Flow
|
|
371
|
+
|
|
372
|
+
### User Journey Map
|
|
373
|
+
```
|
|
374
|
+
Home Page
|
|
375
|
+
↓
|
|
376
|
+
Convert Page → Enter URL
|
|
377
|
+
↓
|
|
378
|
+
├─→ Select Branch (optional)
|
|
379
|
+
↓
|
|
380
|
+
Click Convert → Progress Display
|
|
381
|
+
↓
|
|
382
|
+
Results Page
|
|
383
|
+
├─→ Tools Tab (with filtering)
|
|
384
|
+
├─→ Config Tab (copy/download)
|
|
385
|
+
├─→ Code Tab (view generated)
|
|
386
|
+
└─→ Install Tab (instructions)
|
|
387
|
+
↓
|
|
388
|
+
Playground Link → Test Tools
|
|
389
|
+
↓
|
|
390
|
+
Select Tool → Fill Form → Execute → View Results
|
|
391
|
+
```
|
|
392
|
+
|
|
393
|
+
---
|
|
394
|
+
|
|
395
|
+
## 📖 Notes for Screenshot Creation
|
|
396
|
+
|
|
397
|
+
When capturing screenshots, ensure:
|
|
398
|
+
|
|
399
|
+
1. **High Resolution**: 2x retina (e.g., 2880x1800 for desktop)
|
|
400
|
+
2. **Clean State**: No Lorem Ipsum, use real examples
|
|
401
|
+
3. **Annotations**: Add callouts for important features
|
|
402
|
+
4. **Consistency**: Same theme/colors across all screenshots
|
|
403
|
+
5. **Focus**: Highlight the feature being demonstrated
|
|
404
|
+
6. **Context**: Show enough surrounding UI for orientation
|
|
405
|
+
|
|
406
|
+
### Recommended Tools
|
|
407
|
+
|
|
408
|
+
- **macOS**: `Cmd + Shift + 4` for selection capture
|
|
409
|
+
- **Windows**: `Windows + Shift + S` for Snipping Tool
|
|
410
|
+
- **Annotation**: Skitch, Monosnap, or Snagit
|
|
411
|
+
- **GIF Recording**: LICEcap or Kap for animations
|
|
412
|
+
|
|
413
|
+
### Example Repositories for Screenshots
|
|
414
|
+
|
|
415
|
+
Use these well-known repos for demonstration:
|
|
416
|
+
- **OpenAPI**: `stripe/stripe-node`, `twilio/twilio-node`
|
|
417
|
+
- **GraphQL**: `apollographql/apollo-client`
|
|
418
|
+
- **MCP Server**: `modelcontextprotocol/servers`
|
|
419
|
+
- **CLI Tool**: `vercel/vercel`
|
|
420
|
+
|
|
421
|
+
---
|
|
422
|
+
|
|
423
|
+
## 🎯 Key Messages to Convey
|
|
424
|
+
|
|
425
|
+
When creating visuals, emphasize:
|
|
426
|
+
|
|
427
|
+
1. **Ease of Use**: Simple, intuitive interfaces
|
|
428
|
+
2. **Power**: Comprehensive feature set
|
|
429
|
+
3. **Speed**: Real-time feedback and updates
|
|
430
|
+
4. **Flexibility**: Multiple workflows supported
|
|
431
|
+
5. **Professional**: Polished, production-ready UI
|
|
432
|
+
|
|
433
|
+
---
|
|
434
|
+
|
|
435
|
+
**Status**: Placeholder document - Screenshots to be added
|
|
436
|
+
**Last Updated**: January 17, 2026
|
|
437
|
+
**Format**: PNG or GIF recommended, max 2MB per image
|