superqode 0.1.5__tar.gz → 0.1.6__tar.gz

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 (305) hide show
  1. {superqode-0.1.5/src/superqode.egg-info → superqode-0.1.6}/PKG-INFO +14 -8
  2. {superqode-0.1.5 → superqode-0.1.6}/README.md +13 -7
  3. {superqode-0.1.5 → superqode-0.1.6}/pyproject.toml +1 -1
  4. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/__init__.py +1 -1
  5. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/acp_discovery.py +3 -3
  6. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/agents/acp_registry.py +1 -1
  7. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/agents/registry.py +1 -1
  8. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/app_main.py +7 -3
  9. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/providers/local/mlx.py +31 -1
  10. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/widgets/provider_connect.py +46 -3
  11. {superqode-0.1.5 → superqode-0.1.6/src/superqode.egg-info}/PKG-INFO +14 -8
  12. {superqode-0.1.5 → superqode-0.1.6}/LICENSE +0 -0
  13. {superqode-0.1.5 → superqode-0.1.6}/setup.cfg +0 -0
  14. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/acp/__init__.py +0 -0
  15. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/acp/client.py +0 -0
  16. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/acp/permission_screen.py +0 -0
  17. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/acp/types.py +0 -0
  18. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/agent/__init__.py +0 -0
  19. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/agent/edit_strategies.py +0 -0
  20. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/agent/loop.py +0 -0
  21. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/agent/qe_report_templates.py +0 -0
  22. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/agent/system_prompts.py +0 -0
  23. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/agent_output.py +0 -0
  24. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/agent_stream.py +0 -0
  25. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/agents/__init__.py +0 -0
  26. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/agents/client.py +0 -0
  27. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/agents/data/augmentcode.com.toml +0 -0
  28. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/agents/data/cagent.dev.toml +0 -0
  29. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/agents/data/claude.com.toml +0 -0
  30. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/agents/data/codeassistant.dev.toml +0 -0
  31. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/agents/data/codex.openai.com.toml +0 -0
  32. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/agents/data/fastagent.ai.toml +0 -0
  33. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/agents/data/geminicli.com.toml +0 -0
  34. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/agents/data/goose.block.xyz.toml +0 -0
  35. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/agents/data/junie.jetbrains.com.toml +0 -0
  36. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/agents/data/kimi.moonshot.cn.toml +0 -0
  37. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/agents/data/llmlingagent.dev.toml +0 -0
  38. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/agents/data/molt.bot.toml +0 -0
  39. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/agents/data/opencode.ai.toml +0 -0
  40. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/agents/data/stakpak.dev.toml +0 -0
  41. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/agents/data/vtcode.dev.toml +0 -0
  42. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/agents/discovery.py +0 -0
  43. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/agents/messaging.py +0 -0
  44. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/agents/persona.py +0 -0
  45. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/agents/schema.py +0 -0
  46. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/agents/unified.py +0 -0
  47. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/app/__init__.py +0 -0
  48. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/app/constants.py +0 -0
  49. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/app/css.py +0 -0
  50. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/app/models.py +0 -0
  51. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/app/suggester.py +0 -0
  52. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/app/widgets.py +0 -0
  53. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/app_enhanced.py +0 -0
  54. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/approval.py +0 -0
  55. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/atomic.py +0 -0
  56. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/commands/__init__.py +0 -0
  57. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/commands/acp.py +0 -0
  58. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/commands/agents.py +0 -0
  59. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/commands/auth.py +0 -0
  60. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/commands/config.py +0 -0
  61. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/commands/init.py +0 -0
  62. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/commands/providers.py +0 -0
  63. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/commands/qe.py +0 -0
  64. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/commands/roles.py +0 -0
  65. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/commands/serve.py +0 -0
  66. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/commands/suggestions.py +0 -0
  67. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/commands/superqe.py +0 -0
  68. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/config/__init__.py +0 -0
  69. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/config/loader.py +0 -0
  70. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/config/schema.py +0 -0
  71. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/core/__init__.py +0 -0
  72. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/core/roles.py +0 -0
  73. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/danger.py +0 -0
  74. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/data/superqode-template.yaml +0 -0
  75. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/design_system.py +0 -0
  76. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/dialogs/__init__.py +0 -0
  77. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/dialogs/base.py +0 -0
  78. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/dialogs/model.py +0 -0
  79. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/dialogs/provider.py +0 -0
  80. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/diff_view.py +0 -0
  81. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/enterprise.py +0 -0
  82. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/evaluation/__init__.py +0 -0
  83. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/evaluation/adapters.py +0 -0
  84. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/evaluation/behaviors.py +0 -0
  85. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/evaluation/engine.py +0 -0
  86. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/evaluation/scenarios.py +0 -0
  87. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/execution/__init__.py +0 -0
  88. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/execution/linter.py +0 -0
  89. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/execution/modes.py +0 -0
  90. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/execution/resolver.py +0 -0
  91. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/execution/runner.py +0 -0
  92. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/file_explorer.py +0 -0
  93. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/file_viewer.py +0 -0
  94. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/flash.py +0 -0
  95. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/guidance/__init__.py +0 -0
  96. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/guidance/config.py +0 -0
  97. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/guidance/prompts.py +0 -0
  98. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/harness/__init__.py +0 -0
  99. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/harness/accelerator.py +0 -0
  100. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/harness/config.py +0 -0
  101. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/harness/validator.py +0 -0
  102. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/history.py +0 -0
  103. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/integrations/superopt_runner.py +0 -0
  104. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/logging/__init__.py +0 -0
  105. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/logging/adapters.py +0 -0
  106. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/logging/formatter.py +0 -0
  107. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/logging/integration.py +0 -0
  108. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/logging/sinks.py +0 -0
  109. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/logging/unified_log.py +0 -0
  110. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/lsp/__init__.py +0 -0
  111. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/lsp/client.py +0 -0
  112. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/main.py +0 -0
  113. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/mcp/__init__.py +0 -0
  114. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/mcp/auth_storage.py +0 -0
  115. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/mcp/client.py +0 -0
  116. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/mcp/config.py +0 -0
  117. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/mcp/integration.py +0 -0
  118. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/mcp/oauth.py +0 -0
  119. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/mcp/oauth_callback.py +0 -0
  120. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/mcp/types.py +0 -0
  121. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/memory/__init__.py +0 -0
  122. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/memory/feedback.py +0 -0
  123. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/memory/store.py +0 -0
  124. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/notifications.py +0 -0
  125. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/optimization/__init__.py +0 -0
  126. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/optimization/config.py +0 -0
  127. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/permissions/__init__.py +0 -0
  128. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/permissions/rules.py +0 -0
  129. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/plan.py +0 -0
  130. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/providers/__init__.py +0 -0
  131. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/providers/gateway/__init__.py +0 -0
  132. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/providers/gateway/base.py +0 -0
  133. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/providers/gateway/litellm_gateway.py +0 -0
  134. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/providers/gateway/openresponses_gateway.py +0 -0
  135. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/providers/health.py +0 -0
  136. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/providers/huggingface/__init__.py +0 -0
  137. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/providers/huggingface/downloader.py +0 -0
  138. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/providers/huggingface/endpoints.py +0 -0
  139. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/providers/huggingface/hub.py +0 -0
  140. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/providers/huggingface/inference.py +0 -0
  141. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/providers/huggingface/transformers_runner.py +0 -0
  142. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/providers/local/__init__.py +0 -0
  143. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/providers/local/base.py +0 -0
  144. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/providers/local/discovery.py +0 -0
  145. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/providers/local/lmstudio.py +0 -0
  146. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/providers/local/ollama.py +0 -0
  147. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/providers/local/sglang.py +0 -0
  148. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/providers/local/tgi.py +0 -0
  149. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/providers/local/tool_support.py +0 -0
  150. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/providers/local/vllm.py +0 -0
  151. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/providers/manager.py +0 -0
  152. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/providers/models.py +0 -0
  153. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/providers/models_dev.py +0 -0
  154. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/providers/openresponses/__init__.py +0 -0
  155. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/providers/openresponses/converters/__init__.py +0 -0
  156. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/providers/openresponses/converters/messages.py +0 -0
  157. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/providers/openresponses/converters/tools.py +0 -0
  158. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/providers/openresponses/schema/__init__.py +0 -0
  159. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/providers/openresponses/schema/models.py +0 -0
  160. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/providers/openresponses/streaming/__init__.py +0 -0
  161. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/providers/openresponses/streaming/parser.py +0 -0
  162. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/providers/openresponses/tools/__init__.py +0 -0
  163. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/providers/openresponses/tools/apply_patch.py +0 -0
  164. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/providers/openresponses/tools/code_interpreter.py +0 -0
  165. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/providers/openresponses/tools/file_search.py +0 -0
  166. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/providers/openresponses/tools/mcp_adapter.py +0 -0
  167. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/providers/registry.py +0 -0
  168. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/providers/usage.py +0 -0
  169. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/pure_mode.py +0 -0
  170. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/qr/__init__.py +0 -0
  171. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/qr/dashboard.py +0 -0
  172. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/qr/generator.py +0 -0
  173. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/qr/templates.py +0 -0
  174. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/safety/__init__.py +0 -0
  175. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/safety/sandbox.py +0 -0
  176. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/safety/warnings.py +0 -0
  177. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/server/__init__.py +0 -0
  178. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/server/lsp_server.py +0 -0
  179. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/server/web.py +0 -0
  180. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/session/__init__.py +0 -0
  181. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/session/persistence.py +0 -0
  182. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/session/sharing.py +0 -0
  183. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/session.py +0 -0
  184. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/sidebar.py +0 -0
  185. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/stream_view.py +0 -0
  186. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/styles/__init__.py +0 -0
  187. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/superqe/__init__.py +0 -0
  188. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/superqe/acp_runner.py +0 -0
  189. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/superqe/constitution/__init__.py +0 -0
  190. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/superqe/constitution/evaluator.py +0 -0
  191. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/superqe/constitution/loader.py +0 -0
  192. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/superqe/constitution/schema.py +0 -0
  193. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/superqe/events.py +0 -0
  194. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/superqe/frameworks/__init__.py +0 -0
  195. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/superqe/frameworks/base.py +0 -0
  196. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/superqe/frameworks/e2e.py +0 -0
  197. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/superqe/frameworks/executor.py +0 -0
  198. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/superqe/frameworks/javascript.py +0 -0
  199. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/superqe/frameworks/python.py +0 -0
  200. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/superqe/frameworks/registry.py +0 -0
  201. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/superqe/mcp_tools/__init__.py +0 -0
  202. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/superqe/mcp_tools/core_tools.py +0 -0
  203. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/superqe/mcp_tools/registry.py +0 -0
  204. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/superqe/mcp_tools/testing_tools.py +0 -0
  205. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/superqe/noise.py +0 -0
  206. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/superqe/orchestrator.py +0 -0
  207. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/superqe/roles.py +0 -0
  208. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/superqe/session.py +0 -0
  209. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/superqe/skills/__init__.py +0 -0
  210. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/superqe/skills/base.py +0 -0
  211. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/superqe/skills/core_skills.py +0 -0
  212. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/superqe/skills/registry.py +0 -0
  213. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/superqe/verifier.py +0 -0
  214. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/superqe_cli.py +0 -0
  215. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/tool_call.py +0 -0
  216. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/tools/__init__.py +0 -0
  217. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/tools/agent_tools.py +0 -0
  218. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/tools/base.py +0 -0
  219. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/tools/batch_tool.py +0 -0
  220. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/tools/diagnostics.py +0 -0
  221. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/tools/edit_tools.py +0 -0
  222. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/tools/enhanced_base.py +0 -0
  223. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/tools/file_tools.py +0 -0
  224. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/tools/file_tracking.py +0 -0
  225. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/tools/lsp_tools.py +0 -0
  226. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/tools/network_tools.py +0 -0
  227. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/tools/permissions.py +0 -0
  228. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/tools/question_tool.py +0 -0
  229. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/tools/search_tools.py +0 -0
  230. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/tools/shell_tools.py +0 -0
  231. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/tools/todo_tools.py +0 -0
  232. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/tools/validation.py +0 -0
  233. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/tools/web_tools.py +0 -0
  234. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/tui.py +0 -0
  235. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/tui_integration.py +0 -0
  236. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/tui_widgets/__init__.py +0 -0
  237. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/tui_widgets/widgets/__init__.py +0 -0
  238. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/tui_widgets/widgets/progress.py +0 -0
  239. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/tui_widgets/widgets/tool_display.py +0 -0
  240. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/undo_manager.py +0 -0
  241. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/utils/__init__.py +0 -0
  242. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/utils/error_handling.py +0 -0
  243. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/utils/fuzzy.py +0 -0
  244. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/widgets/__init__.py +0 -0
  245. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/widgets/agent_collab.py +0 -0
  246. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/widgets/agent_store.py +0 -0
  247. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/widgets/agent_switcher.py +0 -0
  248. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/widgets/animation_manager.py +0 -0
  249. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/widgets/code_context.py +0 -0
  250. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/widgets/command_palette.py +0 -0
  251. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/widgets/connection_status.py +0 -0
  252. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/widgets/conversation_history.py +0 -0
  253. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/widgets/diff_indicator.py +0 -0
  254. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/widgets/enhanced_status_bar.py +0 -0
  255. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/widgets/enhanced_toast.py +0 -0
  256. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/widgets/file_browser.py +0 -0
  257. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/widgets/file_reference.py +0 -0
  258. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/widgets/issue_timeline.py +0 -0
  259. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/widgets/leader_key.py +0 -0
  260. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/widgets/mode_switcher.py +0 -0
  261. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/widgets/model_picker.py +0 -0
  262. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/widgets/permission_preview.py +0 -0
  263. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/widgets/prompt.py +0 -0
  264. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/widgets/pty_shell.py +0 -0
  265. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/widgets/qe_dashboard.py +0 -0
  266. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/widgets/resizable_sidebar.py +0 -0
  267. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/widgets/response_changes.py +0 -0
  268. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/widgets/response_display.py +0 -0
  269. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/widgets/rich_tool_display.py +0 -0
  270. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/widgets/sidebar_panels.py +0 -0
  271. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/widgets/slash_complete.py +0 -0
  272. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/widgets/split_view.py +0 -0
  273. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/widgets/status_bar.py +0 -0
  274. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/widgets/superqode_display.py +0 -0
  275. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/widgets/thinking_display.py +0 -0
  276. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/widgets/throbber.py +0 -0
  277. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/widgets/toast.py +0 -0
  278. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/widgets/unified_output.py +0 -0
  279. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/workspace/__init__.py +0 -0
  280. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/workspace/artifacts.py +0 -0
  281. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/workspace/coordinator.py +0 -0
  282. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/workspace/diff_tracker.py +0 -0
  283. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/workspace/git_guard.py +0 -0
  284. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/workspace/git_snapshot.py +0 -0
  285. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/workspace/manager.py +0 -0
  286. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/workspace/snapshot.py +0 -0
  287. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/workspace/watcher.py +0 -0
  288. {superqode-0.1.5 → superqode-0.1.6}/src/superqode/workspace/worktree.py +0 -0
  289. {superqode-0.1.5 → superqode-0.1.6}/src/superqode.egg-info/SOURCES.txt +0 -0
  290. {superqode-0.1.5 → superqode-0.1.6}/src/superqode.egg-info/dependency_links.txt +0 -0
  291. {superqode-0.1.5 → superqode-0.1.6}/src/superqode.egg-info/entry_points.txt +0 -0
  292. {superqode-0.1.5 → superqode-0.1.6}/src/superqode.egg-info/requires.txt +0 -0
  293. {superqode-0.1.5 → superqode-0.1.6}/src/superqode.egg-info/top_level.txt +0 -0
  294. {superqode-0.1.5 → superqode-0.1.6}/tests/test_acp_client.py +0 -0
  295. {superqode-0.1.5 → superqode-0.1.6}/tests/test_cli_commands.py +0 -0
  296. {superqode-0.1.5 → superqode-0.1.6}/tests/test_linter_runner.py +0 -0
  297. {superqode-0.1.5 → superqode-0.1.6}/tests/test_login_api.py +0 -0
  298. {superqode-0.1.5 → superqode-0.1.6}/tests/test_mcp.py +0 -0
  299. {superqode-0.1.5 → superqode-0.1.6}/tests/test_mcp_integration.py +0 -0
  300. {superqode-0.1.5 → superqode-0.1.6}/tests/test_mcp_live.py +0 -0
  301. {superqode-0.1.5 → superqode-0.1.6}/tests/test_orchestrator.py +0 -0
  302. {superqode-0.1.5 → superqode-0.1.6}/tests/test_oss_integration.py +0 -0
  303. {superqode-0.1.5 → superqode-0.1.6}/tests/test_simple_login.py +0 -0
  304. {superqode-0.1.5 → superqode-0.1.6}/tests/test_tools.py +0 -0
  305. {superqode-0.1.5 → superqode-0.1.6}/tests/test_workspace.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: superqode
3
- Version: 0.1.5
3
+ Version: 0.1.6
4
4
  Summary: SuperQode: Super Quality Engineering for Agentic Coding Teams
5
5
  Author-email: Shashi Jagtap <info@super-agentic.ai>
6
6
  Maintainer-email: Shashi Jagtap <info@super-agentic.ai>
@@ -69,9 +69,8 @@ Requires-Dist: mkdocs-minify-plugin>=0.7.0; extra == "docs"
69
69
  Dynamic: license-file
70
70
 
71
71
  <p align="center">
72
- <img src="https://raw.githubusercontent.com/SuperagenticAI/superqode/main/assets/super-qode-header.png" alt="SuperQode Banner">
72
+ <img src="https://raw.githubusercontent.com/SuperagenticAI/superqode/main/assets/superqode.png" alt="SuperQode TUI">
73
73
  </p>
74
-
75
74
  <p align="center">
76
75
  <img src="https://raw.githubusercontent.com/SuperagenticAI/superqode/main/assets/superqode-logo.png" alt="SuperQode Logo" width="200">
77
76
  </p>
@@ -106,6 +105,8 @@ Dynamic: license-file
106
105
 
107
106
  ---
108
107
 
108
+
109
+
109
110
  ## What is SuperQode and SuperQE?
110
111
 
111
112
  **SuperQE** is the quality paradigm and automation CLI: Super Quality Engineering for Agentic AI. It uses QE coding agents to break and validate code written by coding agents. SuperQE can spawn a team of QE agents with different testing personas in a multi-agent setup to stress your code from many angles.
@@ -114,6 +115,14 @@ Dynamic: license-file
114
115
 
115
116
  **Note (Enterprise):** Enterprise adds powerful automation, deep evaluation testing, and enterprise integrations (Moltbot first; more bot integrations coming).
116
117
 
118
+ ## Demo Video
119
+
120
+ Watch the demo: [SuperQode Demo](https://www.youtube.com/watch?v=x2V323HgXRk)
121
+
122
+ <p align="center">
123
+ <img src="https://raw.githubusercontent.com/SuperagenticAI/superqode/main/assets/super-qode-header.png" alt="SuperQode Banner">
124
+ </p>
125
+
117
126
  ## Quick Start
118
127
 
119
128
  ### Installation
@@ -127,7 +136,8 @@ uv tool install superqode
127
136
  pip install superqode
128
137
  ```
129
138
 
130
- **Alternate (No Python Required)**
139
+ **Alternate (No Python Required, SuperQode TUI Only)**
140
+ > Note: SuperQE (CLI) requires the Python install above (uv or pip).
131
141
  ```bash
132
142
  # Using Homebrew (macOS/Linux)
133
143
  brew install SuperagenticAI/superqode/superqode
@@ -144,10 +154,6 @@ cd your-project
144
154
  superqode
145
155
  ```
146
156
 
147
- <p align="center">
148
- <img src="https://raw.githubusercontent.com/SuperagenticAI/superqode/main/assets/superqode.png" alt="SuperQode TUI">
149
- </p>
150
-
151
157
  **Automated QE (CI/CD)**
152
158
  ```bash
153
159
  cd your-project
@@ -1,7 +1,6 @@
1
1
  <p align="center">
2
- <img src="https://raw.githubusercontent.com/SuperagenticAI/superqode/main/assets/super-qode-header.png" alt="SuperQode Banner">
2
+ <img src="https://raw.githubusercontent.com/SuperagenticAI/superqode/main/assets/superqode.png" alt="SuperQode TUI">
3
3
  </p>
4
-
5
4
  <p align="center">
6
5
  <img src="https://raw.githubusercontent.com/SuperagenticAI/superqode/main/assets/superqode-logo.png" alt="SuperQode Logo" width="200">
7
6
  </p>
@@ -36,6 +35,8 @@
36
35
 
37
36
  ---
38
37
 
38
+
39
+
39
40
  ## What is SuperQode and SuperQE?
40
41
 
41
42
  **SuperQE** is the quality paradigm and automation CLI: Super Quality Engineering for Agentic AI. It uses QE coding agents to break and validate code written by coding agents. SuperQE can spawn a team of QE agents with different testing personas in a multi-agent setup to stress your code from many angles.
@@ -44,6 +45,14 @@
44
45
 
45
46
  **Note (Enterprise):** Enterprise adds powerful automation, deep evaluation testing, and enterprise integrations (Moltbot first; more bot integrations coming).
46
47
 
48
+ ## Demo Video
49
+
50
+ Watch the demo: [SuperQode Demo](https://www.youtube.com/watch?v=x2V323HgXRk)
51
+
52
+ <p align="center">
53
+ <img src="https://raw.githubusercontent.com/SuperagenticAI/superqode/main/assets/super-qode-header.png" alt="SuperQode Banner">
54
+ </p>
55
+
47
56
  ## Quick Start
48
57
 
49
58
  ### Installation
@@ -57,7 +66,8 @@ uv tool install superqode
57
66
  pip install superqode
58
67
  ```
59
68
 
60
- **Alternate (No Python Required)**
69
+ **Alternate (No Python Required, SuperQode TUI Only)**
70
+ > Note: SuperQE (CLI) requires the Python install above (uv or pip).
61
71
  ```bash
62
72
  # Using Homebrew (macOS/Linux)
63
73
  brew install SuperagenticAI/superqode/superqode
@@ -74,10 +84,6 @@ cd your-project
74
84
  superqode
75
85
  ```
76
86
 
77
- <p align="center">
78
- <img src="https://raw.githubusercontent.com/SuperagenticAI/superqode/main/assets/superqode.png" alt="SuperQode TUI">
79
- </p>
80
-
81
87
  **Automated QE (CI/CD)**
82
88
  ```bash
83
89
  cd your-project
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "superqode"
3
- version = "0.1.5"
3
+ version = "0.1.6"
4
4
  description = "SuperQode: Super Quality Engineering for Agentic Coding Teams"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.12"
@@ -30,4 +30,4 @@ __all__ = [
30
30
  "sidebar",
31
31
  ]
32
32
 
33
- __version__ = "0.1.5"
33
+ __version__ = "0.1.6"
@@ -365,10 +365,10 @@ KNOWN_AGENTS: List[Dict[str, Any]] = [
365
365
  {
366
366
  "name": "fast-agent",
367
367
  "short_name": "fast-agent",
368
- "command": ["fast-agent", "--acp"],
368
+ "command": ["fast-agent-acp", "-x"],
369
369
  "alt_commands": [
370
- ["fastagent", "--acp"],
371
- ["npx", "-y", "fast-agent", "--acp"],
370
+ ["fast-agent-acp"],
371
+ ["fast-agent", "serve","--transport","acp"],
372
372
  ],
373
373
  "icon": "🚀",
374
374
  "color": "#14b8a6",
@@ -243,7 +243,7 @@ ACP_AGENTS_REGISTRY: dict[str, AgentMetadata] = {
243
243
  "author_name": "fast-agent",
244
244
  "author_url": "https://github.com/evalstate",
245
245
  "description": "Create and interact with sophisticated Agents and Workflows in minutes. MCP native.",
246
- "run_command": "fast-agent --acp",
246
+ "run_command": "fast-agent-acp -x",
247
247
  "status": "available",
248
248
  "installation_command": "uv tool install fast-agent-mcp",
249
249
  "installation_instructions": "Install fast-agent via uv. Native MCP support.",
@@ -232,7 +232,7 @@ AGENTS: Dict[str, AgentDef] = {
232
232
  docs_url="https://github.com/evalstate/fast-agent",
233
233
  capabilities=["Workflows", "MCP native", "Fast setup"],
234
234
  connection_type="stdio",
235
- command="fast-agent --acp",
235
+ command="fast-agent-acp",
236
236
  ),
237
237
  "llmling-agent": AgentDef(
238
238
  id="llmling-agent",
@@ -3552,7 +3552,9 @@ class SuperQodeApp(App):
3552
3552
  log.add_info(
3553
3553
  "⚡ Power QE roles: unit, integration, api, ui, accessibility, security, usability"
3554
3554
  )
3555
- log.add_info("💡 Update each role's job_description in superqode.yaml for best results.")
3555
+ log.add_info(
3556
+ "💡 Update each role's job_description in superqode.yaml for best results."
3557
+ )
3556
3558
  else:
3557
3559
  # Fallback: create basic config if template not found
3558
3560
  default_config = """# =============================================================================
@@ -3703,7 +3705,9 @@ team:
3703
3705
  log.add_info(
3704
3706
  "⚡ Power QE roles: unit, integration, api, ui, accessibility, security, usability"
3705
3707
  )
3706
- log.add_info("💡 Update each role's job_description in superqode.yaml for best results.")
3708
+ log.add_info(
3709
+ "💡 Update each role's job_description in superqode.yaml for best results."
3710
+ )
3707
3711
 
3708
3712
  t = Text()
3709
3713
  t.append("\n Quick start:\n", style=THEME["muted"])
@@ -4945,7 +4949,7 @@ team:
4945
4949
  command = "cagent --acp"
4946
4950
  model_display = f"cagent/{model}" if model else "cagent/auto"
4947
4951
  elif agent_type == "fast-agent":
4948
- command = "fast-agent --acp"
4952
+ command = "fast-agent-acp -x"
4949
4953
  model_display = f"fast-agent/{model}" if model else "fast-agent/auto"
4950
4954
  elif agent_type == "llmling-agent":
4951
4955
  command = "llmling-agent --acp"
@@ -142,6 +142,36 @@ class MLXClient(LocalProviderClient):
142
142
 
143
143
  return models
144
144
 
145
+ @staticmethod
146
+ def _model_from_cache(model_info: Dict[str, Any], running: bool = False) -> LocalModel:
147
+ """Build a LocalModel from cached HuggingFace model metadata."""
148
+ model_id = model_info["id"]
149
+
150
+ format_note = ""
151
+ if "mlx" in model_id.lower():
152
+ format_note = " (MLX format)"
153
+ elif "4bit" in model_id.lower() or "8bit" in model_id.lower():
154
+ format_note = " (quantized)"
155
+
156
+ return LocalModel(
157
+ id=model_id,
158
+ name=f"{model_id.split('/')[-1]} (cached){format_note}",
159
+ size_bytes=model_info["size_bytes"],
160
+ quantization=detect_quantization(model_id),
161
+ context_window=4096,
162
+ supports_tools=likely_supports_tools(model_id),
163
+ supports_vision=False,
164
+ family=detect_model_family(model_id),
165
+ running=running,
166
+ modified_at=model_info.get("modified"),
167
+ details={
168
+ "cached_path": model_info.get("path"),
169
+ "source": "huggingface_cache",
170
+ "supported_formats": ["MLX", "safetensors"],
171
+ "notes": "Works with mlx_lm.convert and mlx_lm.server",
172
+ },
173
+ )
174
+
145
175
  @staticmethod
146
176
  def _get_directory_size(path: str) -> int:
147
177
  """Get total size of directory in bytes."""
@@ -311,7 +341,7 @@ class MLXClient(LocalProviderClient):
311
341
  async def list_models(self) -> List[LocalModel]:
312
342
  """List available models from MLX server."""
313
343
  try:
314
- response = await self._async_request("GET", "/v1/models")
344
+ response = await self._async_request("GET", "/v1/models", timeout=8.0)
315
345
  models = response.get("data", [])
316
346
 
317
347
  result = []
@@ -420,7 +420,11 @@ class ProviderConnectWidget(Container):
420
420
  return
421
421
 
422
422
  # Try getting models from the database (includes live models.dev data)
423
- db_models = get_models_for_provider(provider_id)
423
+ # Only use DB models if we did not load local models for local providers.
424
+ if not self._models:
425
+ db_models = get_models_for_provider(provider_id)
426
+ else:
427
+ db_models = {}
424
428
 
425
429
  if db_models:
426
430
  # Store both model IDs and their info
@@ -468,11 +472,50 @@ class ProviderConnectWidget(Container):
468
472
  return
469
473
 
470
474
  client = client_class()
475
+
476
+ if provider_id == "mlx":
477
+ # MLX server can be slow to respond during model load.
478
+ # Try listing models directly before falling back to cache.
479
+ models = []
480
+ try:
481
+ models = await client.list_models()
482
+ except Exception:
483
+ models = []
484
+
485
+ if not models:
486
+ try:
487
+ models = MLXClient.get_available_models()
488
+ except Exception:
489
+ models = []
490
+
491
+ cached = []
492
+ try:
493
+ cache_models = MLXClient.discover_huggingface_models()
494
+ for model_info in cache_models:
495
+ model_id = model_info["id"]
496
+ if any(m.id == model_id for m in models):
497
+ continue
498
+ cached.append(MLXClient._model_from_cache(model_info, running=False))
499
+ except Exception:
500
+ cached = []
501
+
502
+ # Running models first, then cached models
503
+ models = models + cached
504
+ models_sorted = sorted(models, key=lambda m: (not m.running, m.name))
505
+
506
+ self._models = [m.id for m in models_sorted]
507
+ self._local_models = {m.id: m for m in models_sorted}
508
+ self._model_info = {}
509
+ return
510
+
471
511
  if await client.is_available():
472
512
  models = await client.list_models()
473
513
 
474
- self._models = [m.id for m in models]
475
- self._local_models = {m.id: m for m in models}
514
+ # Preserve order while ensuring running models appear first.
515
+ models_sorted = sorted(models, key=lambda m: (not m.running, m.name))
516
+
517
+ self._models = [m.id for m in models_sorted]
518
+ self._local_models = {m.id: m for m in models_sorted}
476
519
  self._model_info = {}
477
520
  else:
478
521
  self._models = []
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: superqode
3
- Version: 0.1.5
3
+ Version: 0.1.6
4
4
  Summary: SuperQode: Super Quality Engineering for Agentic Coding Teams
5
5
  Author-email: Shashi Jagtap <info@super-agentic.ai>
6
6
  Maintainer-email: Shashi Jagtap <info@super-agentic.ai>
@@ -69,9 +69,8 @@ Requires-Dist: mkdocs-minify-plugin>=0.7.0; extra == "docs"
69
69
  Dynamic: license-file
70
70
 
71
71
  <p align="center">
72
- <img src="https://raw.githubusercontent.com/SuperagenticAI/superqode/main/assets/super-qode-header.png" alt="SuperQode Banner">
72
+ <img src="https://raw.githubusercontent.com/SuperagenticAI/superqode/main/assets/superqode.png" alt="SuperQode TUI">
73
73
  </p>
74
-
75
74
  <p align="center">
76
75
  <img src="https://raw.githubusercontent.com/SuperagenticAI/superqode/main/assets/superqode-logo.png" alt="SuperQode Logo" width="200">
77
76
  </p>
@@ -106,6 +105,8 @@ Dynamic: license-file
106
105
 
107
106
  ---
108
107
 
108
+
109
+
109
110
  ## What is SuperQode and SuperQE?
110
111
 
111
112
  **SuperQE** is the quality paradigm and automation CLI: Super Quality Engineering for Agentic AI. It uses QE coding agents to break and validate code written by coding agents. SuperQE can spawn a team of QE agents with different testing personas in a multi-agent setup to stress your code from many angles.
@@ -114,6 +115,14 @@ Dynamic: license-file
114
115
 
115
116
  **Note (Enterprise):** Enterprise adds powerful automation, deep evaluation testing, and enterprise integrations (Moltbot first; more bot integrations coming).
116
117
 
118
+ ## Demo Video
119
+
120
+ Watch the demo: [SuperQode Demo](https://www.youtube.com/watch?v=x2V323HgXRk)
121
+
122
+ <p align="center">
123
+ <img src="https://raw.githubusercontent.com/SuperagenticAI/superqode/main/assets/super-qode-header.png" alt="SuperQode Banner">
124
+ </p>
125
+
117
126
  ## Quick Start
118
127
 
119
128
  ### Installation
@@ -127,7 +136,8 @@ uv tool install superqode
127
136
  pip install superqode
128
137
  ```
129
138
 
130
- **Alternate (No Python Required)**
139
+ **Alternate (No Python Required, SuperQode TUI Only)**
140
+ > Note: SuperQE (CLI) requires the Python install above (uv or pip).
131
141
  ```bash
132
142
  # Using Homebrew (macOS/Linux)
133
143
  brew install SuperagenticAI/superqode/superqode
@@ -144,10 +154,6 @@ cd your-project
144
154
  superqode
145
155
  ```
146
156
 
147
- <p align="center">
148
- <img src="https://raw.githubusercontent.com/SuperagenticAI/superqode/main/assets/superqode.png" alt="SuperQode TUI">
149
- </p>
150
-
151
157
  **Automated QE (CI/CD)**
152
158
  ```bash
153
159
  cd your-project
File without changes
File without changes