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.
Files changed (388) hide show
  1. package/.env.example +8 -0
  2. package/.github/CODEOWNERS +6 -0
  3. package/.husky/pre-commit +1 -0
  4. package/.nvmrc +1 -0
  5. package/.prettierignore +5 -0
  6. package/.prettierrc +7 -0
  7. package/.vscode/settings.json +4 -0
  8. package/ARCHITECTURE.md +1429 -0
  9. package/CHANGELOG.md +167 -0
  10. package/CONTRIBUTING.md +327 -0
  11. package/LICENSE +201 -0
  12. package/README.md +1028 -0
  13. package/SECURITY.md +248 -0
  14. package/VISUAL_GUIDE.md +437 -0
  15. package/apps/vscode/IMPLEMENTATION.md +480 -0
  16. package/apps/vscode/README.md +248 -0
  17. package/apps/vscode/package.json +381 -0
  18. package/apps/vscode/resources/icon.png +0 -0
  19. package/apps/vscode/resources/icon.svg +5 -0
  20. package/apps/vscode/src/commands/browseRegistry.ts +211 -0
  21. package/apps/vscode/src/commands/configureClaudeDesktop.ts +332 -0
  22. package/apps/vscode/src/commands/convert.ts +82 -0
  23. package/apps/vscode/src/commands/convertCurrentRepo.ts +109 -0
  24. package/apps/vscode/src/commands/convertFromUrl.ts +138 -0
  25. package/apps/vscode/src/commands/index.ts +121 -0
  26. package/apps/vscode/src/commands/validate.ts +197 -0
  27. package/apps/vscode/src/extension.ts +464 -0
  28. package/apps/vscode/src/global.d.ts +36 -0
  29. package/apps/vscode/src/test/extension.test.ts +73 -0
  30. package/apps/vscode/src/utils/file-generator.ts +529 -0
  31. package/apps/vscode/src/utils/github-api.ts +335 -0
  32. package/apps/vscode/src/utils/index.ts +29 -0
  33. package/apps/vscode/src/utils/mcp-config.ts +334 -0
  34. package/apps/vscode/src/utils/storage.ts +87 -0
  35. package/apps/vscode/src/views/McpServersTreeView.ts +160 -0
  36. package/apps/vscode/src/views/OutputChannelView.ts +195 -0
  37. package/apps/vscode/src/views/StatusBarItem.ts +251 -0
  38. package/apps/vscode/src/views/ToolsExplorerView.ts +314 -0
  39. package/apps/vscode/src/views/historyProvider.ts +75 -0
  40. package/apps/vscode/src/views/index.ts +12 -0
  41. package/apps/vscode/src/views/resultsPanel.ts +330 -0
  42. package/apps/vscode/src/webviews/ConversionPanel.ts +350 -0
  43. package/apps/vscode/src/webviews/ToolDetailsPanel.ts +448 -0
  44. package/apps/vscode/src/webviews/index.ts +9 -0
  45. package/apps/vscode/src/webviews/webview-ui/styles.ts +492 -0
  46. package/apps/vscode/tsconfig.json +20 -0
  47. package/apps/web/PLAYGROUND_GUIDE.md +499 -0
  48. package/apps/web/README.md +505 -0
  49. package/apps/web/app/api/convert/route.ts +100 -0
  50. package/apps/web/app/api/convert/stream/route.ts +198 -0
  51. package/apps/web/app/api/deploy/route.ts +157 -0
  52. package/apps/web/app/api/edge/route.ts +308 -0
  53. package/apps/web/app/api/export-docker/route.ts +284 -0
  54. package/apps/web/app/api/generate-openapi/route.ts +119 -0
  55. package/apps/web/app/api/mcp/[serverId]/route.ts +263 -0
  56. package/apps/web/app/api/playground/connect/route.ts +143 -0
  57. package/apps/web/app/api/playground/disconnect/route.ts +78 -0
  58. package/apps/web/app/api/playground/execute/route.ts +135 -0
  59. package/apps/web/app/api/playground/sessions/route.ts +103 -0
  60. package/apps/web/app/api/playground/tools/route.ts +117 -0
  61. package/apps/web/app/api/playground/v2/connect/route.ts +96 -0
  62. package/apps/web/app/api/playground/v2/disconnect/route.ts +88 -0
  63. package/apps/web/app/api/playground/v2/health/route.ts +80 -0
  64. package/apps/web/app/api/playground/v2/prompts/route.ts +160 -0
  65. package/apps/web/app/api/playground/v2/resources/route.ts +159 -0
  66. package/apps/web/app/api/playground/v2/sessions/route.ts +184 -0
  67. package/apps/web/app/api/playground/v2/tools/route.ts +167 -0
  68. package/apps/web/app/api/stream/route.ts +232 -0
  69. package/apps/web/app/batch/BatchConvertClient.tsx +190 -0
  70. package/apps/web/app/batch/page.tsx +37 -0
  71. package/apps/web/app/convert/page.tsx +269 -0
  72. package/apps/web/app/dashboard/page.tsx +380 -0
  73. package/apps/web/app/globals.css +622 -0
  74. package/apps/web/app/layout.tsx +120 -0
  75. package/apps/web/app/manifest.ts +31 -0
  76. package/apps/web/app/opengraph-image.tsx +112 -0
  77. package/apps/web/app/page.old.tsx +924 -0
  78. package/apps/web/app/page.tsx +77 -0
  79. package/apps/web/app/playground/page.tsx +306 -0
  80. package/apps/web/app/playground/v2/error.tsx +163 -0
  81. package/apps/web/app/playground/v2/layout.tsx +58 -0
  82. package/apps/web/app/playground/v2/loading.tsx +152 -0
  83. package/apps/web/app/playground/v2/page.tsx +644 -0
  84. package/apps/web/app/playground/v2/providers.tsx +214 -0
  85. package/apps/web/app/playground/v2/use-shortcuts.ts +209 -0
  86. package/apps/web/app/playground/v2/use-url-state.ts +296 -0
  87. package/apps/web/app/providers.tsx +22 -0
  88. package/apps/web/app/sitemap.ts +32 -0
  89. package/apps/web/app/twitter-image.tsx +112 -0
  90. package/apps/web/components/BranchSelector.tsx +401 -0
  91. package/apps/web/components/ClaudeConfigExport.tsx +226 -0
  92. package/apps/web/components/Features.tsx +84 -0
  93. package/apps/web/components/Footer.tsx +119 -0
  94. package/apps/web/components/GenerationProgress.tsx +248 -0
  95. package/apps/web/components/GithubUrlInput.tsx +483 -0
  96. package/apps/web/components/Header.tsx +175 -0
  97. package/apps/web/components/Hero.tsx +117 -0
  98. package/apps/web/components/HowItWorks.tsx +119 -0
  99. package/apps/web/components/InstallBanner.tsx +158 -0
  100. package/apps/web/components/Logo.tsx +116 -0
  101. package/apps/web/components/ParticleBackground.tsx +105 -0
  102. package/apps/web/components/Playground.tsx +472 -0
  103. package/apps/web/components/PlaygroundToolTester.tsx +410 -0
  104. package/apps/web/components/ProductCards.tsx +179 -0
  105. package/apps/web/components/SplitView.tsx +194 -0
  106. package/apps/web/components/ToolFilter.tsx +260 -0
  107. package/apps/web/components/ToolList.tsx +325 -0
  108. package/apps/web/components/batch/BatchConvert.tsx +785 -0
  109. package/apps/web/components/batch/index.ts +7 -0
  110. package/apps/web/components/convert/ConfigTabs.tsx +230 -0
  111. package/apps/web/components/convert/ConversionResult.tsx +482 -0
  112. package/apps/web/components/convert/InlinePlayground.tsx +259 -0
  113. package/apps/web/components/convert/LoadingSteps.tsx +311 -0
  114. package/apps/web/components/convert/OneClickInstall.tsx +224 -0
  115. package/apps/web/components/convert/ToolCard.tsx +189 -0
  116. package/apps/web/components/convert/TryInPlayground.tsx +242 -0
  117. package/apps/web/components/convert/index.ts +12 -0
  118. package/apps/web/components/deploy/DeployButton.tsx +369 -0
  119. package/apps/web/components/deploy/index.ts +7 -0
  120. package/apps/web/components/docker/DockerExport.tsx +690 -0
  121. package/apps/web/components/docker/index.ts +7 -0
  122. package/apps/web/components/install/OneClickInstall.tsx +676 -0
  123. package/apps/web/components/install/index.ts +7 -0
  124. package/apps/web/components/playground/CapabilityTabs.tsx +150 -0
  125. package/apps/web/components/playground/ConnectionStatusV2.tsx +322 -0
  126. package/apps/web/components/playground/EmptyStates.tsx +305 -0
  127. package/apps/web/components/playground/ExecutionLog.tsx +260 -0
  128. package/apps/web/components/playground/ExecutionLogV2.tsx +378 -0
  129. package/apps/web/components/playground/JsonViewer.tsx +388 -0
  130. package/apps/web/components/playground/PlaygroundLayout.tsx +244 -0
  131. package/apps/web/components/playground/PromptsPanel.tsx +385 -0
  132. package/apps/web/components/playground/ResourcesPanel.tsx +378 -0
  133. package/apps/web/components/playground/SchemaForm.tsx +477 -0
  134. package/apps/web/components/playground/ServerStatus.tsx +151 -0
  135. package/apps/web/components/playground/ShareButton.tsx +239 -0
  136. package/apps/web/components/playground/ToolsPanel.tsx +309 -0
  137. package/apps/web/components/playground/TransportConfigurator.tsx +563 -0
  138. package/apps/web/components/playground/index.ts +74 -0
  139. package/apps/web/components/playground/types.ts +202 -0
  140. package/apps/web/components/streaming/StreamingProgress.tsx +441 -0
  141. package/apps/web/components/streaming/index.ts +7 -0
  142. package/apps/web/components/ui/badge.tsx +42 -0
  143. package/apps/web/components/ui/button.tsx +88 -0
  144. package/apps/web/components/ui/card.tsx +75 -0
  145. package/apps/web/components/ui/code-block.tsx +122 -0
  146. package/apps/web/components/ui/index.ts +12 -0
  147. package/apps/web/components/ui/input.tsx +55 -0
  148. package/apps/web/components/ui/tabs.tsx +61 -0
  149. package/apps/web/hooks/index.ts +85 -0
  150. package/apps/web/hooks/types.ts +1173 -0
  151. package/apps/web/hooks/use-conversion.ts +133 -0
  152. package/apps/web/hooks/use-execution-history.ts +376 -0
  153. package/apps/web/hooks/use-generation-progress.ts +147 -0
  154. package/apps/web/hooks/use-local-storage.ts +88 -0
  155. package/apps/web/hooks/use-mcp-client.ts +623 -0
  156. package/apps/web/hooks/use-mcp-connection.ts +500 -0
  157. package/apps/web/hooks/use-mcp-execution.ts +282 -0
  158. package/apps/web/hooks/use-mcp-prompts.ts +441 -0
  159. package/apps/web/hooks/use-mcp-resources.ts +430 -0
  160. package/apps/web/hooks/use-mcp-tools.ts +540 -0
  161. package/apps/web/hooks/use-playground-store.ts +299 -0
  162. package/apps/web/hooks/use-playground.ts +184 -0
  163. package/apps/web/hooks/use-streaming-conversion.ts +227 -0
  164. package/apps/web/hooks/useBatchConversion.ts +271 -0
  165. package/apps/web/hooks/useDockerConfig.ts +161 -0
  166. package/apps/web/hooks/usePlatformDetection.ts +80 -0
  167. package/apps/web/hooks/useStreaming.ts +199 -0
  168. package/apps/web/lib/api/errors.ts +386 -0
  169. package/apps/web/lib/api/index.ts +137 -0
  170. package/apps/web/lib/api/logger.ts +187 -0
  171. package/apps/web/lib/api/middleware.ts +364 -0
  172. package/apps/web/lib/api/openapi.ts +977 -0
  173. package/apps/web/lib/api/session-manager.ts +594 -0
  174. package/apps/web/lib/api/types.ts +433 -0
  175. package/apps/web/lib/api/validation.ts +523 -0
  176. package/apps/web/lib/constants.ts +114 -0
  177. package/apps/web/lib/mcp/client.ts +1137 -0
  178. package/apps/web/lib/mcp/events.ts +651 -0
  179. package/apps/web/lib/mcp/index.ts +347 -0
  180. package/apps/web/lib/mcp/logger.ts +428 -0
  181. package/apps/web/lib/mcp/metrics.ts +703 -0
  182. package/apps/web/lib/mcp/retry.ts +616 -0
  183. package/apps/web/lib/mcp/session-manager.ts +779 -0
  184. package/apps/web/lib/mcp/transports.ts +988 -0
  185. package/apps/web/lib/mcp/types.ts +594 -0
  186. package/apps/web/lib/mcp-client-enhanced.ts +871 -0
  187. package/apps/web/lib/mcp-client.ts +778 -0
  188. package/apps/web/lib/mcp-errors.ts +489 -0
  189. package/apps/web/lib/mcp-sandbox.ts +593 -0
  190. package/apps/web/lib/mcp-testing.ts +428 -0
  191. package/apps/web/lib/mcp-types.ts +448 -0
  192. package/apps/web/lib/playground-store.tsx +1147 -0
  193. package/apps/web/lib/utils.ts +439 -0
  194. package/apps/web/next-env.d.ts +5 -0
  195. package/apps/web/next.config.js +23 -0
  196. package/apps/web/package.json +55 -0
  197. package/apps/web/postcss.config.js +6 -0
  198. package/apps/web/public/.well-known/ai-plugin.json +17 -0
  199. package/apps/web/public/logo.svg +6 -0
  200. package/apps/web/public/robots.txt +22 -0
  201. package/apps/web/public/schema.json +27 -0
  202. package/apps/web/tailwind.config.js +26 -0
  203. package/apps/web/tailwind.config.ts +123 -0
  204. package/apps/web/tsconfig.json +20 -0
  205. package/apps/web/types/deploy.ts +139 -0
  206. package/apps/web/types/index.ts +247 -0
  207. package/apps/web/vercel.json +39 -0
  208. package/eslint.config.mjs +23 -0
  209. package/llms.txt +102 -0
  210. package/mkdocs/docs/api/core.md +318 -0
  211. package/mkdocs/docs/api/index.md +128 -0
  212. package/mkdocs/docs/api/mcp-server.md +301 -0
  213. package/mkdocs/docs/api/openapi-parser.md +254 -0
  214. package/mkdocs/docs/assets/logo.svg +7 -0
  215. package/mkdocs/docs/changelog.md +118 -0
  216. package/mkdocs/docs/cli/generate.md +148 -0
  217. package/mkdocs/docs/cli/index.md +52 -0
  218. package/mkdocs/docs/cli/inspect.md +164 -0
  219. package/mkdocs/docs/cli/serve.md +136 -0
  220. package/mkdocs/docs/concepts/classification.md +254 -0
  221. package/mkdocs/docs/concepts/how-it-works.md +299 -0
  222. package/mkdocs/docs/concepts/index.md +77 -0
  223. package/mkdocs/docs/concepts/mcp-protocol.md +362 -0
  224. package/mkdocs/docs/concepts/tool-types.md +382 -0
  225. package/mkdocs/docs/contributing/architecture.md +262 -0
  226. package/mkdocs/docs/contributing/development.md +245 -0
  227. package/mkdocs/docs/contributing/index.md +73 -0
  228. package/mkdocs/docs/contributing/testing.md +320 -0
  229. package/mkdocs/docs/getting-started/configuration.md +235 -0
  230. package/mkdocs/docs/getting-started/index.md +54 -0
  231. package/mkdocs/docs/getting-started/installation.md +145 -0
  232. package/mkdocs/docs/getting-started/quickstart.md +160 -0
  233. package/mkdocs/docs/guides/batch.md +375 -0
  234. package/mkdocs/docs/guides/claude-desktop.md +227 -0
  235. package/mkdocs/docs/guides/cursor.md +188 -0
  236. package/mkdocs/docs/guides/custom-tools.md +367 -0
  237. package/mkdocs/docs/guides/index.md +78 -0
  238. package/mkdocs/docs/guides/private-repos.md +221 -0
  239. package/mkdocs/docs/guides/vscode.md +247 -0
  240. package/mkdocs/docs/index.md +175 -0
  241. package/mkdocs/docs/reference/config.md +223 -0
  242. package/mkdocs/docs/reference/env.md +192 -0
  243. package/mkdocs/docs/reference/index.md +102 -0
  244. package/mkdocs/docs/reference/tools.md +309 -0
  245. package/mkdocs/docs/stylesheets/extra.css +231 -0
  246. package/mkdocs/mkdocs.yml +204 -0
  247. package/mkdocs/overrides/.gitkeep +1 -0
  248. package/mkdocs/overrides/main.html +7 -0
  249. package/mkdocs/python-deps.txt +7 -0
  250. package/mkdocs/vercel.json +11 -0
  251. package/package.json +63 -0
  252. package/packages/core/package.json +61 -0
  253. package/packages/core/src/__tests__/bitbucket-client.test.ts +366 -0
  254. package/packages/core/src/__tests__/cli.test.ts +235 -0
  255. package/packages/core/src/__tests__/code-extractor.test.ts +378 -0
  256. package/packages/core/src/__tests__/docker-generator.test.ts +255 -0
  257. package/packages/core/src/__tests__/github-client.test.ts +390 -0
  258. package/packages/core/src/__tests__/gitlab-client.test.ts +319 -0
  259. package/packages/core/src/__tests__/go-extractor.test.ts +351 -0
  260. package/packages/core/src/__tests__/graphql-extractor.test.ts +330 -0
  261. package/packages/core/src/__tests__/java-extractor.test.ts +497 -0
  262. package/packages/core/src/__tests__/plugins.test.ts +467 -0
  263. package/packages/core/src/__tests__/readme-extractor.test.ts +258 -0
  264. package/packages/core/src/__tests__/redis-cache.test.ts +307 -0
  265. package/packages/core/src/__tests__/rust-extractor.test.ts +252 -0
  266. package/packages/core/src/__tests__/streaming.test.ts +251 -0
  267. package/packages/core/src/additional-extractors.ts +333 -0
  268. package/packages/core/src/cache/cache-interface.ts +179 -0
  269. package/packages/core/src/cache/index.ts +210 -0
  270. package/packages/core/src/cache/redis-cache.ts +291 -0
  271. package/packages/core/src/cache/upstash-cache.ts +379 -0
  272. package/packages/core/src/cache.ts +251 -0
  273. package/packages/core/src/cli.ts +822 -0
  274. package/packages/core/src/code-extractor.ts +696 -0
  275. package/packages/core/src/docker-generator.ts +470 -0
  276. package/packages/core/src/edge-compatible.ts +491 -0
  277. package/packages/core/src/extractors/go-extractor.ts +791 -0
  278. package/packages/core/src/extractors/index.ts +9 -0
  279. package/packages/core/src/extractors/java-extractor.ts +937 -0
  280. package/packages/core/src/extractors/rust-extractor.ts +744 -0
  281. package/packages/core/src/github-client.ts +319 -0
  282. package/packages/core/src/go-generator.ts +356 -0
  283. package/packages/core/src/graphql-extractor.ts +358 -0
  284. package/packages/core/src/index.ts +797 -0
  285. package/packages/core/src/langchain-exporter.ts +617 -0
  286. package/packages/core/src/language-parsers.ts +1114 -0
  287. package/packages/core/src/mcp-introspector.ts +279 -0
  288. package/packages/core/src/monorepo-detector.ts +378 -0
  289. package/packages/core/src/plugins/index.ts +370 -0
  290. package/packages/core/src/plugins/registry.ts +404 -0
  291. package/packages/core/src/plugins/types.ts +215 -0
  292. package/packages/core/src/providers/base-provider.ts +246 -0
  293. package/packages/core/src/providers/bitbucket-client.ts +464 -0
  294. package/packages/core/src/providers/gitlab-client.ts +388 -0
  295. package/packages/core/src/providers/index.ts +176 -0
  296. package/packages/core/src/python-generator.ts +260 -0
  297. package/packages/core/src/queue/index.ts +100 -0
  298. package/packages/core/src/queue/memory-queue.ts +445 -0
  299. package/packages/core/src/queue/redis-queue.ts +578 -0
  300. package/packages/core/src/queue/types.ts +251 -0
  301. package/packages/core/src/readme-extractor.ts +409 -0
  302. package/packages/core/src/schema-generator.ts +638 -0
  303. package/packages/core/src/streaming.ts +999 -0
  304. package/packages/core/src/types.ts +289 -0
  305. package/packages/core/tsconfig.json +9 -0
  306. package/packages/core/tsup.config.ts +25 -0
  307. package/packages/mcp-server/README.md +297 -0
  308. package/packages/mcp-server/package.json +55 -0
  309. package/packages/mcp-server/src/__tests__/mcp-server.test.ts +177 -0
  310. package/packages/mcp-server/src/__tests__/tools.test.ts +217 -0
  311. package/packages/mcp-server/src/index.ts +1206 -0
  312. package/packages/mcp-server/src/prompts/index.ts +601 -0
  313. package/packages/mcp-server/src/tools/export-docker.ts +362 -0
  314. package/packages/mcp-server/src/tools/generate-openapi.ts +162 -0
  315. package/packages/mcp-server/src/tools/monitor-mcp-server.ts +448 -0
  316. package/packages/mcp-server/src/tools/stream-convert.ts +398 -0
  317. package/packages/mcp-server/src/tools/test-mcp-tool.ts +531 -0
  318. package/packages/mcp-server/tsconfig.json +12 -0
  319. package/packages/mcp-server/tsup.config.ts +14 -0
  320. package/packages/openapi-parser/package-lock.json +3028 -0
  321. package/packages/openapi-parser/package.json +41 -0
  322. package/packages/openapi-parser/src/analyzer.ts +700 -0
  323. package/packages/openapi-parser/src/asyncapi-parser.ts +475 -0
  324. package/packages/openapi-parser/src/cli.ts +302 -0
  325. package/packages/openapi-parser/src/generator.ts +570 -0
  326. package/packages/openapi-parser/src/generators/express-analyzer.ts +649 -0
  327. package/packages/openapi-parser/src/generators/fastapi-analyzer.ts +960 -0
  328. package/packages/openapi-parser/src/generators/index.ts +200 -0
  329. package/packages/openapi-parser/src/generators/nextjs-analyzer.ts +768 -0
  330. package/packages/openapi-parser/src/generators/openapi-builder.ts +527 -0
  331. package/packages/openapi-parser/src/generators/types.ts +298 -0
  332. package/packages/openapi-parser/src/graphql-parser.ts +462 -0
  333. package/packages/openapi-parser/src/grpc-parser.ts +649 -0
  334. package/packages/openapi-parser/src/har-parser.ts +723 -0
  335. package/packages/openapi-parser/src/index.ts +635 -0
  336. package/packages/openapi-parser/src/insomnia-parser.ts +614 -0
  337. package/packages/openapi-parser/src/parser.ts +231 -0
  338. package/packages/openapi-parser/src/postman-parser.ts +611 -0
  339. package/packages/openapi-parser/src/ref-resolver.ts +313 -0
  340. package/packages/openapi-parser/src/transformer.ts +459 -0
  341. package/packages/openapi-parser/tests/generators/express.test.ts +209 -0
  342. package/packages/openapi-parser/tests/generators/fastapi.test.ts +236 -0
  343. package/packages/openapi-parser/tests/generators/nextjs.test.ts +273 -0
  344. package/packages/openapi-parser/tests/parsers.test.ts +847 -0
  345. package/packages/openapi-parser/tsconfig.json +9 -0
  346. package/packages/openapi-parser/tsup.config.ts +11 -0
  347. package/packages/registry/package.json +59 -0
  348. package/packages/registry/src/cli.ts +456 -0
  349. package/packages/registry/src/index.ts +44 -0
  350. package/packages/registry/src/popular/github.json +47 -0
  351. package/packages/registry/src/popular/index.ts +55 -0
  352. package/packages/registry/src/popular/linear.json +42 -0
  353. package/packages/registry/src/popular/notion.json +42 -0
  354. package/packages/registry/src/popular/openai.json +40 -0
  355. package/packages/registry/src/popular/resend.json +38 -0
  356. package/packages/registry/src/popular/slack.json +42 -0
  357. package/packages/registry/src/popular/stripe.json +163 -0
  358. package/packages/registry/src/popular/supabase.json +42 -0
  359. package/packages/registry/src/popular/twilio.json +40 -0
  360. package/packages/registry/src/popular/vercel.json +40 -0
  361. package/packages/registry/src/registry.ts +492 -0
  362. package/packages/registry/src/storage.ts +334 -0
  363. package/packages/registry/src/types.ts +275 -0
  364. package/packages/registry/src/updater.ts +208 -0
  365. package/packages/registry/tsconfig.json +10 -0
  366. package/packages/registry/tsup.config.ts +11 -0
  367. package/pnpm-workspace.yaml +3 -0
  368. package/scripts/build-docs.sh +16 -0
  369. package/server.json +9 -0
  370. package/templates/Dockerfile.python.template +60 -0
  371. package/templates/Dockerfile.typescript.template +60 -0
  372. package/templates/docker-compose.template.yml +68 -0
  373. package/tests/fixtures/express-app/index.js +34 -0
  374. package/tests/fixtures/express-app/routes/posts.js +43 -0
  375. package/tests/fixtures/express-app/routes/users.js +58 -0
  376. package/tests/fixtures/fastapi-app/main.py +125 -0
  377. package/tests/fixtures/fastapi-app/routes/admin.py +42 -0
  378. package/tests/fixtures/graphql/simple-schema.graphql +65 -0
  379. package/tests/fixtures/mocks/github-api-responses.json +63 -0
  380. package/tests/fixtures/nextjs-app/app/api/posts/route.ts +55 -0
  381. package/tests/fixtures/nextjs-app/app/api/users/[id]/route.ts +63 -0
  382. package/tests/fixtures/nextjs-app/app/api/users/route.ts +44 -0
  383. package/tests/fixtures/nextjs-app/pages/api/health.ts +28 -0
  384. package/tests/fixtures/openapi/petstore.yaml +179 -0
  385. package/tests/integration/langchain-export.test.ts +405 -0
  386. package/tests/integration/openapi-conversion.test.ts +221 -0
  387. package/tsconfig.json +18 -0
  388. 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
@@ -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
+ ![Playground Overview](docs/images/playground-overview.png)
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
+ ![Tool Selection](docs/images/tool-selection.png)
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
+ ![Dynamic Forms](docs/images/dynamic-forms.png)
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
+ ![Execution Results](docs/images/execution-results.png)
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
+ ![Demo Mode](docs/images/demo-mode.png)
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
+ ![Progress Indicator](docs/images/progress-indicator.png)
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
+ ![Step States](docs/images/step-states.png)
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
+ ![Branch Selector](docs/images/branch-selector.png)
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
+ ![Branches Tab](docs/images/branches-tab.png)
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
+ ![Tags Tab](docs/images/tags-tab.png)
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
+ ![Commit Tab](docs/images/commit-tab.png)
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
+ ![Config Export](docs/images/config-export.png)
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
+ ![NPX Config](docs/images/npx-config.png)
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
+ ![Copy Animation](docs/images/copy-animation.png)
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
+ ![Setup Instructions](docs/images/setup-instructions.png)
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
+ ![Filter Interface](docs/images/filter-interface.png)
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
+ ![Search Example](docs/images/search-example.png)
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
+ ![Category Filter](docs/images/category-filter.png)
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
+ ![Sort Options](docs/images/sort-options.png)
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
+ ![Tool Cards](docs/images/tool-cards.png)
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
+ ![Expanded Tool](docs/images/expanded-tool.png)
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
+ ![Grouped View](docs/images/grouped-view.png)
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
+ ![Expand All](docs/images/expand-all.png)
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
+ ![Resizing](docs/images/split-resize.png)
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
+ ![Maximize Buttons](docs/images/maximize-buttons.png)
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
+ ![Responsive](docs/images/responsive-split.png)
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
+ ![Color Palette](docs/images/color-palette.png)
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
+ ![Typography](docs/images/typography.png)
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
+ ![Glass Morphism](docs/images/glass-effects.png)
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
+ ![Desktop View](docs/images/desktop-view.png)
313
+
314
+ Full features visible:
315
+ - Side-by-side panels
316
+ - All toolbars expanded
317
+ - Maximum information density
318
+
319
+ ### Tablet View (768x1024)
320
+ ![Tablet View](docs/images/tablet-view.png)
321
+
322
+ Adapted layout:
323
+ - Narrower panels
324
+ - Compact toolbars
325
+ - Touch-friendly targets
326
+
327
+ ### Mobile View (375x667)
328
+ ![Mobile View](docs/images/mobile-view.png)
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
+ ![Page Transitions](docs/images/page-transitions.png)
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
+ ![Loading States](docs/images/loading-states.png)
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
+ ![Micro-interactions](docs/images/micro-interactions.png)
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