claude-mpm 4.25.10__py3-none-any.whl → 5.1.8__py3-none-any.whl

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.

Potentially problematic release.


This version of claude-mpm might be problematic. Click here for more details.

Files changed (507) hide show
  1. claude_mpm/VERSION +1 -1
  2. claude_mpm/agents/BASE_PM.md +12 -0
  3. claude_mpm/agents/PM_INSTRUCTIONS.md +1055 -2230
  4. claude_mpm/agents/PM_INSTRUCTIONS_TEACH.md +1322 -0
  5. claude_mpm/agents/WORKFLOW.md +4 -4
  6. claude_mpm/agents/__init__.py +6 -0
  7. claude_mpm/agents/agent_loader.py +1 -4
  8. claude_mpm/agents/base_agent_loader.py +10 -35
  9. claude_mpm/agents/templates/{circuit_breakers.md → circuit-breakers.md} +576 -66
  10. claude_mpm/agents/templates/context-management-examples.md +544 -0
  11. claude_mpm/agents/templates/pr-workflow-examples.md +427 -0
  12. claude_mpm/agents/templates/research-gate-examples.md +669 -0
  13. claude_mpm/agents/templates/structured-questions-examples.md +615 -0
  14. claude_mpm/agents/templates/ticket-completeness-examples.md +139 -0
  15. claude_mpm/agents/templates/ticketing-examples.md +277 -0
  16. claude_mpm/cli/__init__.py +28 -3
  17. claude_mpm/cli/commands/__init__.py +2 -0
  18. claude_mpm/cli/commands/agent_source.py +774 -0
  19. claude_mpm/cli/commands/agent_state_manager.py +188 -30
  20. claude_mpm/cli/commands/agents.py +959 -36
  21. claude_mpm/cli/commands/agents_cleanup.py +210 -0
  22. claude_mpm/cli/commands/agents_discover.py +338 -0
  23. claude_mpm/cli/commands/auto_configure.py +537 -239
  24. claude_mpm/cli/commands/config.py +7 -4
  25. claude_mpm/cli/commands/configure.py +924 -45
  26. claude_mpm/cli/commands/configure_navigation.py +63 -46
  27. claude_mpm/cli/commands/doctor.py +10 -2
  28. claude_mpm/cli/commands/local_deploy.py +1 -4
  29. claude_mpm/cli/commands/postmortem.py +401 -0
  30. claude_mpm/cli/commands/run.py +1 -39
  31. claude_mpm/cli/commands/skill_source.py +694 -0
  32. claude_mpm/cli/commands/skills.py +322 -19
  33. claude_mpm/cli/executor.py +22 -3
  34. claude_mpm/cli/interactive/agent_wizard.py +1028 -43
  35. claude_mpm/cli/parsers/agent_source_parser.py +171 -0
  36. claude_mpm/cli/parsers/agents_parser.py +256 -4
  37. claude_mpm/cli/parsers/auto_configure_parser.py +13 -0
  38. claude_mpm/cli/parsers/base_parser.py +25 -0
  39. claude_mpm/cli/parsers/config_parser.py +96 -43
  40. claude_mpm/cli/parsers/skill_source_parser.py +169 -0
  41. claude_mpm/cli/parsers/skills_parser.py +7 -0
  42. claude_mpm/cli/parsers/source_parser.py +138 -0
  43. claude_mpm/cli/startup.py +456 -103
  44. claude_mpm/cli/startup_display.py +4 -4
  45. claude_mpm/commands/{mpm-auto-configure.md → mpm-agents-auto-configure.md} +9 -0
  46. claude_mpm/commands/mpm-agents-detect.md +9 -0
  47. claude_mpm/commands/{mpm-agents.md → mpm-agents-list.md} +9 -0
  48. claude_mpm/commands/mpm-agents-recommend.md +9 -0
  49. claude_mpm/commands/{mpm-config.md → mpm-config-view.md} +9 -0
  50. claude_mpm/commands/mpm-doctor.md +9 -0
  51. claude_mpm/commands/mpm-help.md +14 -2
  52. claude_mpm/commands/mpm-init.md +9 -0
  53. claude_mpm/commands/mpm-monitor.md +9 -0
  54. claude_mpm/commands/mpm-postmortem.md +123 -0
  55. claude_mpm/commands/{mpm-resume.md → mpm-session-resume.md} +9 -0
  56. claude_mpm/commands/mpm-status.md +9 -0
  57. claude_mpm/commands/{mpm-organize.md → mpm-ticket-organize.md} +9 -0
  58. claude_mpm/commands/mpm-ticket-view.md +552 -0
  59. claude_mpm/commands/mpm-version.md +9 -0
  60. claude_mpm/commands/mpm.md +10 -0
  61. claude_mpm/config/agent_presets.py +488 -0
  62. claude_mpm/config/agent_sources.py +325 -0
  63. claude_mpm/config/skill_presets.py +392 -0
  64. claude_mpm/config/skill_sources.py +590 -0
  65. claude_mpm/constants.py +1 -0
  66. claude_mpm/core/claude_runner.py +5 -34
  67. claude_mpm/core/config.py +16 -0
  68. claude_mpm/core/framework/__init__.py +3 -16
  69. claude_mpm/core/framework/loaders/file_loader.py +54 -101
  70. claude_mpm/core/framework/loaders/instruction_loader.py +25 -5
  71. claude_mpm/core/interactive_session.py +83 -7
  72. claude_mpm/core/oneshot_session.py +71 -8
  73. claude_mpm/core/protocols/__init__.py +23 -0
  74. claude_mpm/core/protocols/runner_protocol.py +103 -0
  75. claude_mpm/core/protocols/session_protocol.py +131 -0
  76. claude_mpm/core/shared/singleton_manager.py +11 -4
  77. claude_mpm/core/system_context.py +38 -0
  78. claude_mpm/core/unified_config.py +22 -0
  79. claude_mpm/experimental/cli_enhancements.py +1 -5
  80. claude_mpm/hooks/claude_hooks/__pycache__/__init__.cpython-313.pyc +0 -0
  81. claude_mpm/hooks/claude_hooks/__pycache__/event_handlers.cpython-313.pyc +0 -0
  82. claude_mpm/hooks/claude_hooks/__pycache__/hook_handler.cpython-313.pyc +0 -0
  83. claude_mpm/hooks/claude_hooks/__pycache__/memory_integration.cpython-313.pyc +0 -0
  84. claude_mpm/hooks/claude_hooks/__pycache__/response_tracking.cpython-313.pyc +0 -0
  85. claude_mpm/hooks/claude_hooks/__pycache__/tool_analysis.cpython-313.pyc +0 -0
  86. claude_mpm/hooks/claude_hooks/memory_integration.py +12 -1
  87. claude_mpm/hooks/claude_hooks/services/__pycache__/__init__.cpython-313.pyc +0 -0
  88. claude_mpm/hooks/claude_hooks/services/__pycache__/connection_manager_http.cpython-313.pyc +0 -0
  89. claude_mpm/hooks/claude_hooks/services/__pycache__/duplicate_detector.cpython-313.pyc +0 -0
  90. claude_mpm/hooks/claude_hooks/services/__pycache__/state_manager.cpython-313.pyc +0 -0
  91. claude_mpm/hooks/claude_hooks/services/__pycache__/subagent_processor.cpython-313.pyc +0 -0
  92. claude_mpm/hooks/failure_learning/__init__.py +2 -8
  93. claude_mpm/hooks/failure_learning/failure_detection_hook.py +1 -6
  94. claude_mpm/hooks/failure_learning/fix_detection_hook.py +1 -6
  95. claude_mpm/hooks/failure_learning/learning_extraction_hook.py +1 -6
  96. claude_mpm/hooks/kuzu_response_hook.py +1 -5
  97. claude_mpm/models/git_repository.py +198 -0
  98. claude_mpm/services/agents/agent_builder.py +45 -9
  99. claude_mpm/services/agents/agent_preset_service.py +238 -0
  100. claude_mpm/services/agents/agent_selection_service.py +484 -0
  101. claude_mpm/services/agents/auto_deploy_index_parser.py +569 -0
  102. claude_mpm/services/agents/cache_git_manager.py +621 -0
  103. claude_mpm/services/agents/deployment/agent_deployment.py +126 -2
  104. claude_mpm/services/agents/deployment/agent_discovery_service.py +105 -73
  105. claude_mpm/services/agents/deployment/agent_lifecycle_manager.py +1 -5
  106. claude_mpm/services/agents/deployment/agent_restore_handler.py +1 -4
  107. claude_mpm/services/agents/deployment/agent_template_builder.py +236 -15
  108. claude_mpm/services/agents/deployment/agents_directory_resolver.py +101 -15
  109. claude_mpm/services/agents/deployment/async_agent_deployment.py +2 -1
  110. claude_mpm/services/agents/deployment/multi_source_deployment_service.py +115 -15
  111. claude_mpm/services/agents/deployment/refactored_agent_deployment_service.py +1 -4
  112. claude_mpm/services/agents/deployment/remote_agent_discovery_service.py +363 -0
  113. claude_mpm/services/agents/deployment/single_agent_deployer.py +2 -2
  114. claude_mpm/services/agents/deployment/system_instructions_deployer.py +168 -46
  115. claude_mpm/services/agents/deployment/validation/deployment_validator.py +2 -2
  116. claude_mpm/services/agents/git_source_manager.py +629 -0
  117. claude_mpm/services/agents/loading/framework_agent_loader.py +1 -4
  118. claude_mpm/services/agents/local_template_manager.py +47 -9
  119. claude_mpm/services/agents/single_tier_deployment_service.py +696 -0
  120. claude_mpm/services/agents/sources/__init__.py +13 -0
  121. claude_mpm/services/agents/sources/agent_sync_state.py +516 -0
  122. claude_mpm/services/agents/sources/git_source_sync_service.py +1087 -0
  123. claude_mpm/services/agents/startup_sync.py +239 -0
  124. claude_mpm/services/agents/toolchain_detector.py +474 -0
  125. claude_mpm/services/analysis/__init__.py +25 -0
  126. claude_mpm/services/analysis/postmortem_reporter.py +474 -0
  127. claude_mpm/services/analysis/postmortem_service.py +765 -0
  128. claude_mpm/services/command_deployment_service.py +200 -6
  129. claude_mpm/services/core/base.py +7 -2
  130. claude_mpm/services/core/interfaces/__init__.py +1 -3
  131. claude_mpm/services/core/interfaces/health.py +1 -4
  132. claude_mpm/services/core/models/__init__.py +2 -11
  133. claude_mpm/services/diagnostics/checks/__init__.py +4 -0
  134. claude_mpm/services/diagnostics/checks/agent_sources_check.py +577 -0
  135. claude_mpm/services/diagnostics/checks/mcp_services_check.py +7 -15
  136. claude_mpm/services/diagnostics/checks/skill_sources_check.py +587 -0
  137. claude_mpm/services/diagnostics/diagnostic_runner.py +9 -0
  138. claude_mpm/services/diagnostics/doctor_reporter.py +34 -6
  139. claude_mpm/services/git/__init__.py +21 -0
  140. claude_mpm/services/git/git_operations_service.py +494 -0
  141. claude_mpm/services/github/__init__.py +21 -0
  142. claude_mpm/services/github/github_cli_service.py +397 -0
  143. claude_mpm/services/infrastructure/monitoring/__init__.py +1 -5
  144. claude_mpm/services/infrastructure/monitoring/aggregator.py +1 -6
  145. claude_mpm/services/instructions/__init__.py +9 -0
  146. claude_mpm/services/instructions/instruction_cache_service.py +374 -0
  147. claude_mpm/services/local_ops/__init__.py +3 -13
  148. claude_mpm/services/local_ops/health_checks/__init__.py +1 -3
  149. claude_mpm/services/local_ops/health_manager.py +1 -4
  150. claude_mpm/services/mcp_config_manager.py +75 -145
  151. claude_mpm/services/mcp_gateway/core/process_pool.py +22 -16
  152. claude_mpm/services/mcp_gateway/server/mcp_gateway.py +1 -6
  153. claude_mpm/services/mcp_service_verifier.py +6 -3
  154. claude_mpm/services/monitor/daemon.py +28 -8
  155. claude_mpm/services/monitor/daemon_manager.py +96 -19
  156. claude_mpm/services/pr/__init__.py +14 -0
  157. claude_mpm/services/pr/pr_template_service.py +329 -0
  158. claude_mpm/services/project/project_organizer.py +4 -0
  159. claude_mpm/services/runner_configuration_service.py +16 -3
  160. claude_mpm/services/session_management_service.py +16 -4
  161. claude_mpm/services/skills/__init__.py +18 -0
  162. claude_mpm/services/skills/git_skill_source_manager.py +1169 -0
  163. claude_mpm/services/skills/skill_discovery_service.py +568 -0
  164. claude_mpm/services/socketio/server/core.py +1 -4
  165. claude_mpm/services/socketio/server/main.py +1 -3
  166. claude_mpm/services/unified/deployment_strategies/vercel.py +1 -5
  167. claude_mpm/services/unified/unified_deployment.py +1 -5
  168. claude_mpm/services/visualization/__init__.py +1 -5
  169. claude_mpm/templates/questions/__init__.py +2 -7
  170. claude_mpm/templates/questions/pr_strategy.py +1 -4
  171. claude_mpm/templates/questions/project_init.py +1 -4
  172. claude_mpm/templates/questions/ticket_mgmt.py +1 -4
  173. claude_mpm/utils/agent_dependency_loader.py +77 -10
  174. claude_mpm/utils/agent_filters.py +288 -0
  175. claude_mpm/utils/gitignore.py +3 -0
  176. claude_mpm/utils/migration.py +372 -0
  177. claude_mpm/utils/progress.py +387 -0
  178. {claude_mpm-4.25.10.dist-info → claude_mpm-5.1.8.dist-info}/METADATA +356 -112
  179. {claude_mpm-4.25.10.dist-info → claude_mpm-5.1.8.dist-info}/RECORD +188 -439
  180. claude_mpm/agents/templates/agent-manager.json +0 -273
  181. claude_mpm/agents/templates/agentic-coder-optimizer.json +0 -248
  182. claude_mpm/agents/templates/api_qa.json +0 -183
  183. claude_mpm/agents/templates/clerk-ops.json +0 -235
  184. claude_mpm/agents/templates/code_analyzer.json +0 -101
  185. claude_mpm/agents/templates/content-agent.json +0 -358
  186. claude_mpm/agents/templates/dart_engineer.json +0 -307
  187. claude_mpm/agents/templates/data_engineer.json +0 -225
  188. claude_mpm/agents/templates/documentation.json +0 -238
  189. claude_mpm/agents/templates/engineer.json +0 -210
  190. claude_mpm/agents/templates/gcp_ops_agent.json +0 -253
  191. claude_mpm/agents/templates/golang_engineer.json +0 -270
  192. claude_mpm/agents/templates/imagemagick.json +0 -264
  193. claude_mpm/agents/templates/java_engineer.json +0 -346
  194. claude_mpm/agents/templates/javascript_engineer_agent.json +0 -380
  195. claude_mpm/agents/templates/local_ops_agent.json +0 -1840
  196. claude_mpm/agents/templates/memory_manager.json +0 -158
  197. claude_mpm/agents/templates/nextjs_engineer.json +0 -285
  198. claude_mpm/agents/templates/ops.json +0 -185
  199. claude_mpm/agents/templates/php-engineer.json +0 -287
  200. claude_mpm/agents/templates/product_owner.json +0 -338
  201. claude_mpm/agents/templates/project_organizer.json +0 -144
  202. claude_mpm/agents/templates/prompt-engineer.json +0 -737
  203. claude_mpm/agents/templates/python_engineer.json +0 -387
  204. claude_mpm/agents/templates/qa.json +0 -243
  205. claude_mpm/agents/templates/react_engineer.json +0 -239
  206. claude_mpm/agents/templates/refactoring_engineer.json +0 -276
  207. claude_mpm/agents/templates/research.json +0 -258
  208. claude_mpm/agents/templates/ruby-engineer.json +0 -280
  209. claude_mpm/agents/templates/rust_engineer.json +0 -275
  210. claude_mpm/agents/templates/security.json +0 -202
  211. claude_mpm/agents/templates/svelte-engineer.json +0 -225
  212. claude_mpm/agents/templates/tauri_engineer.json +0 -274
  213. claude_mpm/agents/templates/ticketing.json +0 -181
  214. claude_mpm/agents/templates/typescript_engineer.json +0 -285
  215. claude_mpm/agents/templates/vercel_ops_agent.json +0 -412
  216. claude_mpm/agents/templates/version_control.json +0 -159
  217. claude_mpm/agents/templates/web_qa.json +0 -400
  218. claude_mpm/agents/templates/web_ui.json +0 -189
  219. claude_mpm/cli/README.md +0 -253
  220. claude_mpm/cli/commands/mcp_install_commands.py.backup +0 -284
  221. claude_mpm/cli/commands/mpm_init/README.md +0 -365
  222. claude_mpm/cli_module/refactoring_guide.md +0 -253
  223. claude_mpm/commands/mpm-tickets.md +0 -151
  224. claude_mpm/config/agent_capabilities.yaml +0 -658
  225. claude_mpm/config/async_logging_config.yaml +0 -145
  226. claude_mpm/core/.claude-mpm/logs/hooks_20250730.log +0 -34
  227. claude_mpm/d2/.gitignore +0 -22
  228. claude_mpm/d2/ARCHITECTURE_COMPARISON.md +0 -273
  229. claude_mpm/d2/FLASK_INTEGRATION.md +0 -156
  230. claude_mpm/d2/IMPLEMENTATION_SUMMARY.md +0 -452
  231. claude_mpm/d2/QUICKSTART.md +0 -186
  232. claude_mpm/d2/README.md +0 -232
  233. claude_mpm/d2/STORE_FIX_SUMMARY.md +0 -167
  234. claude_mpm/d2/SVELTE5_STORES_GUIDE.md +0 -180
  235. claude_mpm/d2/TESTING.md +0 -288
  236. claude_mpm/d2/index.html +0 -118
  237. claude_mpm/d2/package.json +0 -19
  238. claude_mpm/d2/src/App.svelte +0 -110
  239. claude_mpm/d2/src/components/Header.svelte +0 -153
  240. claude_mpm/d2/src/components/MainContent.svelte +0 -74
  241. claude_mpm/d2/src/components/Sidebar.svelte +0 -85
  242. claude_mpm/d2/src/components/tabs/EventsTab.svelte +0 -326
  243. claude_mpm/d2/src/lib/socketio.js +0 -144
  244. claude_mpm/d2/src/main.js +0 -7
  245. claude_mpm/d2/src/stores/events.js +0 -114
  246. claude_mpm/d2/src/stores/socket.js +0 -108
  247. claude_mpm/d2/src/stores/theme.js +0 -65
  248. claude_mpm/d2/svelte.config.js +0 -12
  249. claude_mpm/d2/vite.config.js +0 -15
  250. claude_mpm/dashboard/.claude-mpm/memories/README.md +0 -36
  251. claude_mpm/dashboard/BUILD_NUMBER +0 -1
  252. claude_mpm/dashboard/README.md +0 -121
  253. claude_mpm/dashboard/VERSION +0 -1
  254. claude_mpm/dashboard/react/components/DataInspector/DataInspector.module.css +0 -188
  255. claude_mpm/dashboard/react/components/DataInspector/DataInspector.tsx +0 -273
  256. claude_mpm/dashboard/react/components/ErrorBoundary.tsx +0 -75
  257. claude_mpm/dashboard/react/components/EventViewer/EventViewer.module.css +0 -156
  258. claude_mpm/dashboard/react/components/EventViewer/EventViewer.tsx +0 -141
  259. claude_mpm/dashboard/react/components/shared/ConnectionStatus.module.css +0 -38
  260. claude_mpm/dashboard/react/components/shared/ConnectionStatus.tsx +0 -36
  261. claude_mpm/dashboard/react/components/shared/FilterBar.module.css +0 -92
  262. claude_mpm/dashboard/react/components/shared/FilterBar.tsx +0 -89
  263. claude_mpm/dashboard/react/contexts/DashboardContext.tsx +0 -215
  264. claude_mpm/dashboard/react/entries/events.tsx +0 -165
  265. claude_mpm/dashboard/react/hooks/useEvents.ts +0 -191
  266. claude_mpm/dashboard/react/hooks/useSocket.ts +0 -225
  267. claude_mpm/dashboard/static/archive/activity_dashboard_fixed.html +0 -248
  268. claude_mpm/dashboard/static/built/REFACTORING_SUMMARY.md +0 -170
  269. claude_mpm/dashboard/static/built/assets/events.DjpNxWNo.css +0 -1
  270. claude_mpm/dashboard/static/built/components/activity-tree.js +0 -2
  271. claude_mpm/dashboard/static/built/components/activity-tree.js.map +0 -1
  272. claude_mpm/dashboard/static/built/components/agent-hierarchy.js +0 -777
  273. claude_mpm/dashboard/static/built/components/agent-inference.js +0 -2
  274. claude_mpm/dashboard/static/built/components/agent-inference.js.map +0 -1
  275. claude_mpm/dashboard/static/built/components/build-tracker.js +0 -333
  276. claude_mpm/dashboard/static/built/components/code-simple.js +0 -857
  277. claude_mpm/dashboard/static/built/components/code-tree/tree-breadcrumb.js +0 -353
  278. claude_mpm/dashboard/static/built/components/code-tree/tree-constants.js +0 -235
  279. claude_mpm/dashboard/static/built/components/code-tree/tree-search.js +0 -409
  280. claude_mpm/dashboard/static/built/components/code-tree/tree-utils.js +0 -435
  281. claude_mpm/dashboard/static/built/components/code-tree.js +0 -2
  282. claude_mpm/dashboard/static/built/components/code-tree.js.map +0 -1
  283. claude_mpm/dashboard/static/built/components/code-viewer.js +0 -2
  284. claude_mpm/dashboard/static/built/components/code-viewer.js.map +0 -1
  285. claude_mpm/dashboard/static/built/components/connection-debug.js +0 -654
  286. claude_mpm/dashboard/static/built/components/diff-viewer.js +0 -891
  287. claude_mpm/dashboard/static/built/components/event-processor.js +0 -2
  288. claude_mpm/dashboard/static/built/components/event-processor.js.map +0 -1
  289. claude_mpm/dashboard/static/built/components/event-viewer.js +0 -2
  290. claude_mpm/dashboard/static/built/components/event-viewer.js.map +0 -1
  291. claude_mpm/dashboard/static/built/components/export-manager.js +0 -2
  292. claude_mpm/dashboard/static/built/components/export-manager.js.map +0 -1
  293. claude_mpm/dashboard/static/built/components/file-change-tracker.js +0 -443
  294. claude_mpm/dashboard/static/built/components/file-change-viewer.js +0 -690
  295. claude_mpm/dashboard/static/built/components/file-tool-tracker.js +0 -2
  296. claude_mpm/dashboard/static/built/components/file-tool-tracker.js.map +0 -1
  297. claude_mpm/dashboard/static/built/components/file-viewer.js +0 -2
  298. claude_mpm/dashboard/static/built/components/file-viewer.js.map +0 -1
  299. claude_mpm/dashboard/static/built/components/hud-library-loader.js +0 -2
  300. claude_mpm/dashboard/static/built/components/hud-library-loader.js.map +0 -1
  301. claude_mpm/dashboard/static/built/components/hud-manager.js +0 -2
  302. claude_mpm/dashboard/static/built/components/hud-manager.js.map +0 -1
  303. claude_mpm/dashboard/static/built/components/hud-visualizer.js +0 -2
  304. claude_mpm/dashboard/static/built/components/hud-visualizer.js.map +0 -1
  305. claude_mpm/dashboard/static/built/components/module-viewer.js +0 -2
  306. claude_mpm/dashboard/static/built/components/module-viewer.js.map +0 -1
  307. claude_mpm/dashboard/static/built/components/nav-bar.js +0 -145
  308. claude_mpm/dashboard/static/built/components/page-structure.js +0 -429
  309. claude_mpm/dashboard/static/built/components/session-manager.js +0 -2
  310. claude_mpm/dashboard/static/built/components/session-manager.js.map +0 -1
  311. claude_mpm/dashboard/static/built/components/socket-manager.js +0 -2
  312. claude_mpm/dashboard/static/built/components/socket-manager.js.map +0 -1
  313. claude_mpm/dashboard/static/built/components/ui-state-manager.js +0 -2
  314. claude_mpm/dashboard/static/built/components/ui-state-manager.js.map +0 -1
  315. claude_mpm/dashboard/static/built/components/unified-data-viewer.js +0 -2
  316. claude_mpm/dashboard/static/built/components/unified-data-viewer.js.map +0 -1
  317. claude_mpm/dashboard/static/built/components/working-directory.js +0 -2
  318. claude_mpm/dashboard/static/built/components/working-directory.js.map +0 -1
  319. claude_mpm/dashboard/static/built/connection-manager.js +0 -536
  320. claude_mpm/dashboard/static/built/dashboard.js +0 -2
  321. claude_mpm/dashboard/static/built/dashboard.js.map +0 -1
  322. claude_mpm/dashboard/static/built/extension-error-handler.js +0 -164
  323. claude_mpm/dashboard/static/built/react/events.js +0 -30
  324. claude_mpm/dashboard/static/built/react/events.js.map +0 -1
  325. claude_mpm/dashboard/static/built/shared/dom-helpers.js +0 -396
  326. claude_mpm/dashboard/static/built/shared/event-bus.js +0 -330
  327. claude_mpm/dashboard/static/built/shared/event-filter-service.js +0 -540
  328. claude_mpm/dashboard/static/built/shared/logger.js +0 -385
  329. claude_mpm/dashboard/static/built/shared/page-structure.js +0 -249
  330. claude_mpm/dashboard/static/built/shared/tooltip-service.js +0 -253
  331. claude_mpm/dashboard/static/built/socket-client.js +0 -2
  332. claude_mpm/dashboard/static/built/socket-client.js.map +0 -1
  333. claude_mpm/dashboard/static/built/tab-isolation-fix.js +0 -185
  334. claude_mpm/dashboard/static/events.html +0 -607
  335. claude_mpm/dashboard/static/index.html +0 -635
  336. claude_mpm/dashboard/static/js/REFACTORING_SUMMARY.md +0 -170
  337. claude_mpm/dashboard/static/js/shared/dom-helpers.js +0 -396
  338. claude_mpm/dashboard/static/js/shared/event-bus.js +0 -330
  339. claude_mpm/dashboard/static/js/shared/logger.js +0 -385
  340. claude_mpm/dashboard/static/js/shared/tooltip-service.js +0 -253
  341. claude_mpm/dashboard/static/js/stores/dashboard-store.js +0 -562
  342. claude_mpm/dashboard/static/legacy/activity.html +0 -736
  343. claude_mpm/dashboard/static/legacy/agents.html +0 -786
  344. claude_mpm/dashboard/static/legacy/files.html +0 -747
  345. claude_mpm/dashboard/static/legacy/tools.html +0 -831
  346. claude_mpm/dashboard/static/monitors.html +0 -431
  347. claude_mpm/dashboard/static/navigation-test-results.md +0 -118
  348. claude_mpm/dashboard/static/production/events.html +0 -659
  349. claude_mpm/dashboard/static/production/main.html +0 -698
  350. claude_mpm/dashboard/static/production/monitors.html +0 -483
  351. claude_mpm/dashboard/static/test-archive/dashboard.html +0 -635
  352. claude_mpm/dashboard/static/test-archive/debug-events.html +0 -147
  353. claude_mpm/dashboard/static/test-archive/test-navigation.html +0 -256
  354. claude_mpm/dashboard/static/test-archive/test-react-exports.html +0 -180
  355. claude_mpm/dashboard/templates/.claude-mpm/memories/README.md +0 -36
  356. claude_mpm/dashboard/templates/.claude-mpm/memories/engineer_agent.md +0 -39
  357. claude_mpm/dashboard/templates/.claude-mpm/memories/version_control_agent.md +0 -38
  358. claude_mpm/hooks/README.md +0 -143
  359. claude_mpm/hooks/templates/README.md +0 -180
  360. claude_mpm/hooks/templates/settings.json.example +0 -147
  361. claude_mpm/schemas/agent_schema.json +0 -596
  362. claude_mpm/schemas/frontmatter_schema.json +0 -165
  363. claude_mpm/services/event_bus/README.md +0 -244
  364. claude_mpm/services/events/README.md +0 -303
  365. claude_mpm/services/framework_claude_md_generator/README.md +0 -119
  366. claude_mpm/services/mcp_gateway/README.md +0 -185
  367. claude_mpm/services/socketio/handlers/connection.py.backup +0 -217
  368. claude_mpm/services/socketio/handlers/hook.py.backup +0 -154
  369. claude_mpm/services/static/.gitkeep +0 -2
  370. claude_mpm/services/version_control/VERSION +0 -1
  371. claude_mpm/skills/bundled/.gitkeep +0 -2
  372. claude_mpm/skills/bundled/collaboration/brainstorming/SKILL.md +0 -79
  373. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/SKILL.md +0 -178
  374. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/agent-prompts.md +0 -577
  375. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/coordination-patterns.md +0 -467
  376. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/examples.md +0 -537
  377. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/troubleshooting.md +0 -730
  378. claude_mpm/skills/bundled/collaboration/git-worktrees.md +0 -317
  379. claude_mpm/skills/bundled/collaboration/requesting-code-review/SKILL.md +0 -112
  380. claude_mpm/skills/bundled/collaboration/requesting-code-review/references/code-reviewer-template.md +0 -146
  381. claude_mpm/skills/bundled/collaboration/requesting-code-review/references/review-examples.md +0 -412
  382. claude_mpm/skills/bundled/collaboration/stacked-prs.md +0 -251
  383. claude_mpm/skills/bundled/collaboration/writing-plans/SKILL.md +0 -81
  384. claude_mpm/skills/bundled/collaboration/writing-plans/references/best-practices.md +0 -362
  385. claude_mpm/skills/bundled/collaboration/writing-plans/references/plan-structure-templates.md +0 -312
  386. claude_mpm/skills/bundled/debugging/root-cause-tracing/SKILL.md +0 -152
  387. claude_mpm/skills/bundled/debugging/root-cause-tracing/find-polluter.sh +0 -63
  388. claude_mpm/skills/bundled/debugging/root-cause-tracing/references/advanced-techniques.md +0 -668
  389. claude_mpm/skills/bundled/debugging/root-cause-tracing/references/examples.md +0 -587
  390. claude_mpm/skills/bundled/debugging/root-cause-tracing/references/integration.md +0 -438
  391. claude_mpm/skills/bundled/debugging/root-cause-tracing/references/tracing-techniques.md +0 -391
  392. claude_mpm/skills/bundled/debugging/systematic-debugging/CREATION-LOG.md +0 -119
  393. claude_mpm/skills/bundled/debugging/systematic-debugging/SKILL.md +0 -148
  394. claude_mpm/skills/bundled/debugging/systematic-debugging/references/anti-patterns.md +0 -483
  395. claude_mpm/skills/bundled/debugging/systematic-debugging/references/examples.md +0 -452
  396. claude_mpm/skills/bundled/debugging/systematic-debugging/references/troubleshooting.md +0 -449
  397. claude_mpm/skills/bundled/debugging/systematic-debugging/references/workflow.md +0 -411
  398. claude_mpm/skills/bundled/debugging/systematic-debugging/test-academic.md +0 -14
  399. claude_mpm/skills/bundled/debugging/systematic-debugging/test-pressure-1.md +0 -58
  400. claude_mpm/skills/bundled/debugging/systematic-debugging/test-pressure-2.md +0 -68
  401. claude_mpm/skills/bundled/debugging/systematic-debugging/test-pressure-3.md +0 -69
  402. claude_mpm/skills/bundled/debugging/verification-before-completion/SKILL.md +0 -131
  403. claude_mpm/skills/bundled/debugging/verification-before-completion/references/gate-function.md +0 -325
  404. claude_mpm/skills/bundled/debugging/verification-before-completion/references/integration-and-workflows.md +0 -490
  405. claude_mpm/skills/bundled/debugging/verification-before-completion/references/red-flags-and-failures.md +0 -425
  406. claude_mpm/skills/bundled/debugging/verification-before-completion/references/verification-patterns.md +0 -499
  407. claude_mpm/skills/bundled/infrastructure/env-manager/INTEGRATION.md +0 -611
  408. claude_mpm/skills/bundled/infrastructure/env-manager/README.md +0 -596
  409. claude_mpm/skills/bundled/infrastructure/env-manager/SKILL.md +0 -260
  410. claude_mpm/skills/bundled/infrastructure/env-manager/examples/nextjs-env-structure.md +0 -315
  411. claude_mpm/skills/bundled/infrastructure/env-manager/references/frameworks.md +0 -436
  412. claude_mpm/skills/bundled/infrastructure/env-manager/references/security.md +0 -433
  413. claude_mpm/skills/bundled/infrastructure/env-manager/references/synchronization.md +0 -452
  414. claude_mpm/skills/bundled/infrastructure/env-manager/references/troubleshooting.md +0 -404
  415. claude_mpm/skills/bundled/infrastructure/env-manager/references/validation.md +0 -420
  416. claude_mpm/skills/bundled/main/artifacts-builder/LICENSE.txt +0 -202
  417. claude_mpm/skills/bundled/main/artifacts-builder/SKILL.md +0 -86
  418. claude_mpm/skills/bundled/main/artifacts-builder/scripts/bundle-artifact.sh +0 -54
  419. claude_mpm/skills/bundled/main/artifacts-builder/scripts/init-artifact.sh +0 -322
  420. claude_mpm/skills/bundled/main/artifacts-builder/scripts/shadcn-components.tar.gz +0 -0
  421. claude_mpm/skills/bundled/main/internal-comms/LICENSE.txt +0 -202
  422. claude_mpm/skills/bundled/main/internal-comms/SKILL.md +0 -43
  423. claude_mpm/skills/bundled/main/internal-comms/examples/3p-updates.md +0 -47
  424. claude_mpm/skills/bundled/main/internal-comms/examples/company-newsletter.md +0 -65
  425. claude_mpm/skills/bundled/main/internal-comms/examples/faq-answers.md +0 -30
  426. claude_mpm/skills/bundled/main/internal-comms/examples/general-comms.md +0 -16
  427. claude_mpm/skills/bundled/main/mcp-builder/LICENSE.txt +0 -202
  428. claude_mpm/skills/bundled/main/mcp-builder/SKILL.md +0 -160
  429. claude_mpm/skills/bundled/main/mcp-builder/reference/design_principles.md +0 -412
  430. claude_mpm/skills/bundled/main/mcp-builder/reference/evaluation.md +0 -602
  431. claude_mpm/skills/bundled/main/mcp-builder/reference/mcp_best_practices.md +0 -915
  432. claude_mpm/skills/bundled/main/mcp-builder/reference/node_mcp_server.md +0 -916
  433. claude_mpm/skills/bundled/main/mcp-builder/reference/python_mcp_server.md +0 -752
  434. claude_mpm/skills/bundled/main/mcp-builder/reference/workflow.md +0 -1237
  435. claude_mpm/skills/bundled/main/mcp-builder/scripts/example_evaluation.xml +0 -22
  436. claude_mpm/skills/bundled/main/mcp-builder/scripts/requirements.txt +0 -2
  437. claude_mpm/skills/bundled/main/skill-creator/LICENSE.txt +0 -202
  438. claude_mpm/skills/bundled/main/skill-creator/SKILL.md +0 -189
  439. claude_mpm/skills/bundled/main/skill-creator/references/best-practices.md +0 -500
  440. claude_mpm/skills/bundled/main/skill-creator/references/creation-workflow.md +0 -464
  441. claude_mpm/skills/bundled/main/skill-creator/references/examples.md +0 -619
  442. claude_mpm/skills/bundled/main/skill-creator/references/progressive-disclosure.md +0 -437
  443. claude_mpm/skills/bundled/main/skill-creator/references/skill-structure.md +0 -231
  444. claude_mpm/skills/bundled/php/espocrm-development/SKILL.md +0 -170
  445. claude_mpm/skills/bundled/php/espocrm-development/references/architecture.md +0 -602
  446. claude_mpm/skills/bundled/php/espocrm-development/references/common-tasks.md +0 -821
  447. claude_mpm/skills/bundled/php/espocrm-development/references/development-workflow.md +0 -742
  448. claude_mpm/skills/bundled/php/espocrm-development/references/frontend-customization.md +0 -726
  449. claude_mpm/skills/bundled/php/espocrm-development/references/hooks-and-services.md +0 -764
  450. claude_mpm/skills/bundled/php/espocrm-development/references/testing-debugging.md +0 -831
  451. claude_mpm/skills/bundled/react/flexlayout-react.md +0 -742
  452. claude_mpm/skills/bundled/rust/desktop-applications/SKILL.md +0 -226
  453. claude_mpm/skills/bundled/rust/desktop-applications/references/architecture-patterns.md +0 -901
  454. claude_mpm/skills/bundled/rust/desktop-applications/references/native-gui-frameworks.md +0 -901
  455. claude_mpm/skills/bundled/rust/desktop-applications/references/platform-integration.md +0 -775
  456. claude_mpm/skills/bundled/rust/desktop-applications/references/state-management.md +0 -937
  457. claude_mpm/skills/bundled/rust/desktop-applications/references/tauri-framework.md +0 -770
  458. claude_mpm/skills/bundled/rust/desktop-applications/references/testing-deployment.md +0 -961
  459. claude_mpm/skills/bundled/tauri/tauri-async-patterns.md +0 -495
  460. claude_mpm/skills/bundled/tauri/tauri-build-deploy.md +0 -599
  461. claude_mpm/skills/bundled/tauri/tauri-command-patterns.md +0 -535
  462. claude_mpm/skills/bundled/tauri/tauri-error-handling.md +0 -613
  463. claude_mpm/skills/bundled/tauri/tauri-event-system.md +0 -648
  464. claude_mpm/skills/bundled/tauri/tauri-file-system.md +0 -673
  465. claude_mpm/skills/bundled/tauri/tauri-frontend-integration.md +0 -767
  466. claude_mpm/skills/bundled/tauri/tauri-performance.md +0 -669
  467. claude_mpm/skills/bundled/tauri/tauri-state-management.md +0 -573
  468. claude_mpm/skills/bundled/tauri/tauri-testing.md +0 -384
  469. claude_mpm/skills/bundled/tauri/tauri-window-management.md +0 -628
  470. claude_mpm/skills/bundled/testing/condition-based-waiting/SKILL.md +0 -119
  471. claude_mpm/skills/bundled/testing/condition-based-waiting/example.ts +0 -158
  472. claude_mpm/skills/bundled/testing/condition-based-waiting/references/patterns-and-implementation.md +0 -253
  473. claude_mpm/skills/bundled/testing/test-driven-development/SKILL.md +0 -145
  474. claude_mpm/skills/bundled/testing/test-driven-development/references/anti-patterns.md +0 -543
  475. claude_mpm/skills/bundled/testing/test-driven-development/references/examples.md +0 -741
  476. claude_mpm/skills/bundled/testing/test-driven-development/references/integration.md +0 -470
  477. claude_mpm/skills/bundled/testing/test-driven-development/references/philosophy.md +0 -458
  478. claude_mpm/skills/bundled/testing/test-driven-development/references/workflow.md +0 -639
  479. claude_mpm/skills/bundled/testing/test-quality-inspector/SKILL.md +0 -458
  480. claude_mpm/skills/bundled/testing/test-quality-inspector/examples/example-inspection-report.md +0 -411
  481. claude_mpm/skills/bundled/testing/test-quality-inspector/references/assertion-quality.md +0 -317
  482. claude_mpm/skills/bundled/testing/test-quality-inspector/references/inspection-checklist.md +0 -270
  483. claude_mpm/skills/bundled/testing/test-quality-inspector/references/red-flags.md +0 -436
  484. claude_mpm/skills/bundled/testing/testing-anti-patterns/SKILL.md +0 -140
  485. claude_mpm/skills/bundled/testing/testing-anti-patterns/references/completeness-anti-patterns.md +0 -572
  486. claude_mpm/skills/bundled/testing/testing-anti-patterns/references/core-anti-patterns.md +0 -411
  487. claude_mpm/skills/bundled/testing/testing-anti-patterns/references/detection-guide.md +0 -569
  488. claude_mpm/skills/bundled/testing/testing-anti-patterns/references/tdd-connection.md +0 -695
  489. claude_mpm/skills/bundled/testing/webapp-testing/LICENSE.txt +0 -202
  490. claude_mpm/skills/bundled/testing/webapp-testing/SKILL.md +0 -184
  491. claude_mpm/skills/bundled/testing/webapp-testing/decision-tree.md +0 -459
  492. claude_mpm/skills/bundled/testing/webapp-testing/playwright-patterns.md +0 -479
  493. claude_mpm/skills/bundled/testing/webapp-testing/reconnaissance-pattern.md +0 -687
  494. claude_mpm/skills/bundled/testing/webapp-testing/server-management.md +0 -758
  495. claude_mpm/skills/bundled/testing/webapp-testing/troubleshooting.md +0 -868
  496. claude_mpm/templates/questions/EXAMPLES.md +0 -501
  497. claude_mpm/tools/README_SOCKETIO_DEBUG.md +0 -224
  498. claude_mpm/tools/code_tree_analyzer/README.md +0 -64
  499. /claude_mpm/agents/templates/{git_file_tracking.md → git-file-tracking.md} +0 -0
  500. /claude_mpm/agents/templates/{pm_examples.md → pm-examples.md} +0 -0
  501. /claude_mpm/agents/templates/{pm_red_flags.md → pm-red-flags.md} +0 -0
  502. /claude_mpm/agents/templates/{response_format.md → response-format.md} +0 -0
  503. /claude_mpm/agents/templates/{validation_templates.md → validation-templates.md} +0 -0
  504. {claude_mpm-4.25.10.dist-info → claude_mpm-5.1.8.dist-info}/WHEEL +0 -0
  505. {claude_mpm-4.25.10.dist-info → claude_mpm-5.1.8.dist-info}/entry_points.txt +0 -0
  506. {claude_mpm-4.25.10.dist-info → claude_mpm-5.1.8.dist-info}/licenses/LICENSE +0 -0
  507. {claude_mpm-4.25.10.dist-info → claude_mpm-5.1.8.dist-info}/top_level.txt +0 -0
claude_mpm/d2/README.md DELETED
@@ -1,232 +0,0 @@
1
- # Claude MPM Dashboard 2.0
2
-
3
- Modern Svelte 5-based dashboard for Claude Multi-Agent Project Manager with real-time event monitoring via Socket.IO.
4
-
5
- ## Features
6
-
7
- - **Svelte 5 Runes API**: Modern reactive state management with `$state`, `$derived`, and `$effect`
8
- - **Real-time Events**: Socket.IO integration for live Claude Code hook events
9
- - **Event Timeline**: Display and inspect incoming events with expandable details
10
- - **Connection Status**: Visual connection indicator with auto-reconnect
11
- - **Responsive Layout**: Clean two-column layout with navigation sidebar
12
- - **Dark Theme**: Modern dark UI optimized for long-term use
13
-
14
- ## Technology Stack
15
-
16
- - **Svelte 5** - Modern reactive UI framework with Runes API
17
- - **Vite** - Fast build tool and dev server
18
- - **Socket.IO Client v4.7.5** - Real-time WebSocket communication
19
- - **Modern CSS** - Grid/Flexbox layout with smooth transitions
20
-
21
- ## Prerequisites
22
-
23
- - Node.js 18+ and npm
24
- - Claude MPM monitor server running on port 8765
25
-
26
- ## Setup
27
-
28
- 1. **Install dependencies**:
29
- ```bash
30
- cd src/claude_mpm/dashboard2
31
- npm install
32
- ```
33
-
34
- 2. **Start development server**:
35
- ```bash
36
- npm run dev
37
- ```
38
- The dev server will start at `http://localhost:5173`
39
-
40
- 3. **Build for production**:
41
- ```bash
42
- npm run build
43
- ```
44
- Output will be in `dist/` directory
45
-
46
- ## Configuration
47
-
48
- ### Socket.IO Connection
49
-
50
- By default, the dashboard connects to `http://localhost:8765`. To change this, edit:
51
-
52
- ```javascript
53
- // src/stores/socket.svelte.js
54
- const DEFAULT_PORT = 8765;
55
- const DEFAULT_HOST = 'localhost';
56
- ```
57
-
58
- ### Event Buffer Size
59
-
60
- Events are limited to the last 1000 events. To adjust:
61
-
62
- ```javascript
63
- // src/stores/events.svelte.js
64
- const MAX_EVENTS = 1000;
65
- ```
66
-
67
- ## Project Structure
68
-
69
- ```
70
- dashboard2/
71
- ├── package.json # Dependencies and scripts
72
- ├── vite.config.js # Vite build configuration
73
- ├── public/
74
- │ └── index.html # HTML template
75
- ├── src/
76
- │ ├── main.js # Entry point
77
- │ ├── App.svelte # Main app component
78
- │ ├── components/
79
- │ │ ├── Header.svelte # Top header with connection status
80
- │ │ ├── Sidebar.svelte # Navigation sidebar
81
- │ │ ├── MainContent.svelte # Content area switcher
82
- │ │ └── tabs/
83
- │ │ └── EventsTab.svelte # Events timeline tab
84
- │ ├── stores/
85
- │ │ ├── socket.svelte.js # Socket.IO connection store
86
- │ │ └── events.svelte.js # Events buffer store
87
- │ └── lib/
88
- │ └── socketio.js # Socket.IO client wrapper
89
- └── dist/ # Build output (generated)
90
- ```
91
-
92
- ## Architecture
93
-
94
- ### Svelte 5 Runes
95
-
96
- This dashboard uses Svelte 5's modern Runes API:
97
-
98
- - **`$state()`**: Reactive local state
99
- - **`$derived()`**: Computed values that update automatically
100
- - **`$effect()`**: Side effects with automatic cleanup
101
- - **`$bindable()`**: Two-way binding for component props
102
-
103
- ### Socket.IO Events
104
-
105
- The dashboard listens for these Socket.IO events:
106
-
107
- - **`claude_event`**: Main event channel for Claude Code hook events
108
- - **`heartbeat`**: Server heartbeat every 3 minutes
109
- - **Connection events**: `connect`, `disconnect`, `reconnect_attempt`, etc.
110
-
111
- ### Event Format
112
-
113
- Events received from Socket.IO have this structure:
114
-
115
- ```javascript
116
- {
117
- "source": "hook" | "system" | "api",
118
- "type": "hook" | "session" | "agent" | "tool",
119
- "subtype": "user_prompt" | "pre_tool" | "post_tool" | "subagent_start" | "subagent_stop",
120
- "timestamp": "2025-11-20T12:34:56.789Z",
121
- "session_id": "session-uuid-here",
122
- "data": {
123
- // Event-specific data
124
- }
125
- }
126
- ```
127
-
128
- ## Development
129
-
130
- ### Running Dev Server
131
-
132
- ```bash
133
- npm run dev
134
- ```
135
-
136
- Features:
137
- - Hot Module Replacement (HMR)
138
- - Instant updates on file changes
139
- - Source maps for debugging
140
-
141
- ### Building for Production
142
-
143
- ```bash
144
- npm run build
145
- ```
146
-
147
- Outputs optimized, minified bundle to `dist/`:
148
- - `index.html` - Main HTML file
149
- - `assets/*.js` - Bundled JavaScript
150
- - `assets/*.css` - Bundled CSS
151
-
152
- ### Preview Production Build
153
-
154
- ```bash
155
- npm run preview
156
- ```
157
-
158
- Serves the production build locally for testing.
159
-
160
- ## Integration with Flask
161
-
162
- The Flask server will serve the built Svelte app from the `dist/` directory:
163
-
164
- ```python
165
- @app.route('/dashboard2')
166
- def dashboard2():
167
- return send_from_directory('dashboard2/dist', 'index.html')
168
-
169
- @app.route('/dashboard2/<path:path>')
170
- def dashboard2_assets(path):
171
- return send_from_directory('dashboard2/dist', path)
172
- ```
173
-
174
- ## Future Enhancements
175
-
176
- ### Implemented
177
- - ✅ Events tab with real-time display
178
- - ✅ Socket.IO connection management
179
- - ✅ Event filtering and clearing
180
- - ✅ Connection status indicator
181
- - ✅ Auto-scroll to newest events
182
-
183
- ### Planned
184
- - 🔲 Agents tab - Monitor active agents
185
- - 🔲 Files tab - Track file operations
186
- - 🔲 Tools tab - View tool executions
187
- - 🔲 Activity tab - System metrics and analytics
188
- - 🔲 Event search and advanced filtering
189
- - 🔲 Export events to JSON/CSV
190
- - 🔲 Customizable event notifications
191
- - 🔲 Dark/light theme toggle
192
- - 🔲 Configurable Socket.IO connection settings
193
-
194
- ## Troubleshooting
195
-
196
- ### Socket.IO Connection Fails
197
-
198
- 1. **Check server is running**:
199
- ```bash
200
- curl http://localhost:8765/health
201
- ```
202
-
203
- 2. **Check port availability**:
204
- ```bash
205
- lsof -i :8765
206
- ```
207
-
208
- 3. **Check browser console** for connection errors
209
-
210
- ### Events Not Appearing
211
-
212
- 1. **Verify Socket.IO connection status** in header (should show "Connected")
213
- 2. **Check browser console** for incoming events
214
- 3. **Trigger a Claude Code event** to generate test data
215
- 4. **Check Socket.IO server logs** for event emissions
216
-
217
- ### Build Errors
218
-
219
- 1. **Clear node_modules and reinstall**:
220
- ```bash
221
- rm -rf node_modules package-lock.json
222
- npm install
223
- ```
224
-
225
- 2. **Check Node.js version** (requires 18+):
226
- ```bash
227
- node --version
228
- ```
229
-
230
- ## License
231
-
232
- Part of Claude MPM project.
@@ -1,167 +0,0 @@
1
- # D2 Dashboard Store Architecture Fix
2
-
3
- ## Problem Identified
4
-
5
- **Error**: `effect_orphan` - Svelte 5 runes being used outside component context
6
- **Location**: `src/stores/socket.svelte.js` and `src/stores/events.svelte.js`
7
- **Impact**: Complete application failure - black screen, no UI rendering
8
-
9
- ## Root Cause
10
-
11
- The stores were using Svelte 5 runes (`$state`, `$derived`) in factory functions called at module-load time:
12
-
13
- ```javascript
14
- // ❌ WRONG - Causes effect_orphan error
15
- function createSocketStore() {
16
- let connected = $state(false); // Called at module level
17
- let reconnecting = $state(false); // Not in component context
18
- let statusText = $derived(...); // Effect created outside component
19
- // ...
20
- }
21
-
22
- export const socketStore = createSocketStore(); // ❌ Called when module loads
23
- ```
24
-
25
- **Why This Fails**:
26
- - Svelte 5 runes must be initialized during component setup
27
- - Module-level store creation happens before any component mounts
28
- - Runes are "orphaned" from component lifecycle
29
- - App fails to mount, showing black screen
30
-
31
- ## Solution Implemented
32
-
33
- Refactored to use **traditional Svelte stores** (`writable`, `derived`) for module-level stores.
34
-
35
- ### Files Changed
36
-
37
- 1. **Created**: `src/stores/socket.js` (renamed from `socket.svelte.js`)
38
- - Uses `writable()` instead of `$state()`
39
- - Uses `derived()` instead of `$derived()`
40
- - Exports stores with `subscribe` methods for Svelte auto-subscription
41
-
42
- 2. **Created**: `src/stores/events.js` (renamed from `events.svelte.js`)
43
- - Same pattern: `writable()` and `derived()` instead of runes
44
- - Proper store updates using `.set()` and `.update()`
45
-
46
- 3. **Updated**: `src/App.svelte`
47
- - Changed imports from `.svelte.js` to `.js`
48
- - Uses `$` auto-subscription syntax: `$socketStore.statusText`
49
-
50
- 4. **Updated**: `src/components/Header.svelte`
51
- - Removed unused store import
52
- - Props now receive values from parent
53
-
54
- 5. **Updated**: `src/components/tabs/EventsTab.svelte`
55
- - Changed import from `.svelte.js` to `.js`
56
- - Uses `$` auto-subscription: `$eventsStore.count`
57
-
58
- 6. **Deleted**: Old `.svelte.js` files removed
59
-
60
- ### Code Comparison
61
-
62
- **Before (Broken)**:
63
- ```javascript
64
- function createSocketStore() {
65
- let connected = $state(false);
66
- let statusText = $derived(connected ? 'Connected' : 'Disconnected');
67
- // ...
68
- }
69
- ```
70
-
71
- **After (Fixed)**:
72
- ```javascript
73
- import { writable, derived } from 'svelte/store';
74
-
75
- function createSocketStore() {
76
- const connected = writable(false);
77
- const statusText = derived(connected, ($connected) =>
78
- $connected ? 'Connected' : 'Disconnected'
79
- );
80
- // ...
81
- }
82
- ```
83
-
84
- ### Usage in Components
85
-
86
- **Before (Broken)**:
87
- ```svelte
88
- <Header
89
- statusText={socketStore.statusText}
90
- statusColor={socketStore.statusColor}
91
- />
92
- ```
93
-
94
- **After (Fixed)**:
95
- ```svelte
96
- <Header
97
- statusText={$socketStore.statusText}
98
- statusColor={$socketStore.statusColor}
99
- />
100
- ```
101
-
102
- ## Verification
103
-
104
- ### Build Status
105
- ✅ Build successful with no errors
106
- ✅ No `effect_orphan` warnings in output
107
- ✅ Bundle size: 81.01 kB (27.93 kB gzipped)
108
-
109
- ### Test Results
110
- All automated tests passed:
111
- - ✅ New store files exist (`socket.js`, `events.js`)
112
- - ✅ Old `.svelte.js` files removed
113
- - ✅ Stores use `writable`/`derived` from `svelte/store`
114
- - ✅ No rune usage in store files
115
- - ✅ Components use correct imports
116
- - ✅ Components use `$` auto-subscription syntax
117
-
118
- ## Key Learnings
119
-
120
- ### When to Use Svelte 5 Runes
121
- ✅ **Use runes IN components**:
122
- - Component-local state: `let count = $state(0)`
123
- - Component-local derived: `let doubled = $derived(count * 2)`
124
- - Component effects: `$effect(() => { ... })`
125
-
126
- ❌ **DO NOT use runes at module level**:
127
- - Global stores
128
- - Shared state between components
129
- - Anything created outside component context
130
-
131
- ### When to Use Traditional Stores
132
- ✅ **Use traditional stores for**:
133
- - Module-level reactive state
134
- - Shared state across components
135
- - Store factories called at import time
136
- - Any store created outside components
137
-
138
- ### Svelte 5 Architecture Rule
139
- **Critical**: Runes (`$state`, `$derived`, `$effect`) can ONLY be used inside component `<script>` blocks. For module-level stores, use traditional Svelte stores (`writable`, `derived`, `readable`).
140
-
141
- ## Impact Metrics
142
-
143
- - **Net LOC Impact**: +6 lines (due to more explicit store API)
144
- - **Files Modified**: 5
145
- - **Files Deleted**: 2
146
- - **Build Time**: 268ms (unchanged)
147
- - **Bundle Size**: 81KB (unchanged)
148
- - **Functionality**: 100% preserved
149
-
150
- ## Future Recommendations
151
-
152
- 1. **Documentation**: Add comments to all store files explaining why traditional stores are used
153
- 2. **Linting**: Configure ESLint to warn against runes in non-component files
154
- 3. **Training**: Educate team on Svelte 5 component vs module-level patterns
155
- 4. **Review**: Audit other projects for similar issues
156
-
157
- ## References
158
-
159
- - Svelte 5 Runes Documentation: https://svelte.dev/docs/svelte/$state
160
- - Svelte Stores Documentation: https://svelte.dev/docs/svelte-store
161
- - Issue Discussion: https://github.com/sveltejs/svelte/discussions/effect-orphan
162
-
163
- ---
164
-
165
- **Fixed By**: Claude Code Engineer
166
- **Date**: 2025-11-20
167
- **Status**: ✅ RESOLVED
@@ -1,180 +0,0 @@
1
- # Svelte 5 Store Architecture Guide
2
-
3
- ## Quick Decision Tree
4
-
5
- ```
6
- Do you need reactive state?
7
-
8
- ├─ YES → Is it used inside a component <script> block?
9
- │ │
10
- │ ├─ YES → Use Svelte 5 Runes ✅
11
- │ │ let count = $state(0)
12
- │ │ let doubled = $derived(count * 2)
13
- │ │
14
- │ └─ NO → Is it at module level / shared between components?
15
- │ │
16
- │ └─ YES → Use Traditional Stores ✅
17
- │ const count = writable(0)
18
- │ const doubled = derived(count, $count => $count * 2)
19
-
20
- └─ NO → Use regular JavaScript variables
21
- ```
22
-
23
- ## Pattern 1: Component-Local State (Use Runes)
24
-
25
- ```svelte
26
- <!-- Component.svelte -->
27
- <script>
28
- // ✅ CORRECT - Runes in component context
29
- let count = $state(0);
30
- let doubled = $derived(count * 2);
31
-
32
- $effect(() => {
33
- console.log(`Count is now ${count}`);
34
- });
35
- </script>
36
-
37
- <button onclick={() => count++}>
38
- {count} / {doubled}
39
- </button>
40
- ```
41
-
42
- ## Pattern 2: Module-Level Stores (Use Traditional Stores)
43
-
44
- ```javascript
45
- // stores/counter.js
46
- import { writable, derived } from 'svelte/store';
47
-
48
- // ✅ CORRECT - Traditional stores for module-level state
49
- function createCounterStore() {
50
- const count = writable(0);
51
- const doubled = derived(count, $count => $count * 2);
52
-
53
- return {
54
- count: { subscribe: count.subscribe },
55
- doubled: { subscribe: doubled.subscribe },
56
- increment: () => count.update(n => n + 1),
57
- reset: () => count.set(0)
58
- };
59
- }
60
-
61
- export const counterStore = createCounterStore();
62
- ```
63
-
64
- ```svelte
65
- <!-- Component.svelte -->
66
- <script>
67
- import { counterStore } from './stores/counter.js';
68
-
69
- // Use $ auto-subscription
70
- </script>
71
-
72
- <button onclick={() => counterStore.increment()}>
73
- {$counterStore.count} / {$counterStore.doubled}
74
- </button>
75
- ```
76
-
77
- ## Pattern 3: Props (Use $props)
78
-
79
- ```svelte
80
- <!-- Child.svelte -->
81
- <script>
82
- // ✅ CORRECT - $props for component props
83
- let { value, onUpdate } = $props();
84
- </script>
85
-
86
- <input bind:value oninput={() => onUpdate(value)} />
87
- ```
88
-
89
- ## Common Mistakes
90
-
91
- ### ❌ WRONG: Runes at Module Level
92
-
93
- ```javascript
94
- // stores/counter.svelte.js
95
- // ❌ This will cause effect_orphan error!
96
- function createCounterStore() {
97
- let count = $state(0); // ❌ Rune outside component
98
- // ...
99
- }
100
-
101
- export const counterStore = createCounterStore(); // ❌ Called at module load
102
- ```
103
-
104
- ### ❌ WRONG: Traditional Stores in Components
105
-
106
- ```svelte
107
- <script>
108
- import { writable } from 'svelte/store';
109
-
110
- // ❌ Unnecessary complexity for component-local state
111
- const count = writable(0);
112
- </script>
113
-
114
- <button onclick={() => count.update(n => n + 1)}>
115
- {$count}
116
- </button>
117
- ```
118
-
119
- ### ✅ CORRECT: Runes in Components
120
-
121
- ```svelte
122
- <script>
123
- // ✅ Simple and idiomatic
124
- let count = $state(0);
125
- </script>
126
-
127
- <button onclick={() => count++}>
128
- {count}
129
- </button>
130
- ```
131
-
132
- ## Migration Checklist
133
-
134
- When converting Svelte 4 → Svelte 5:
135
-
136
- ### Component-Local State
137
- - [ ] `export let prop` → `let { prop } = $props()`
138
- - [ ] `$: derived = compute(x)` → `let derived = $derived(compute(x))`
139
- - [ ] `$: { effect() }` → `$effect(() => { effect() })`
140
-
141
- ### Module-Level Stores
142
- - [ ] Keep using `writable`, `derived`, `readable`
143
- - [ ] Update components to use `$` auto-subscription
144
- - [ ] Add `.subscribe` exposure in store API
145
-
146
- ### File Naming
147
- - [ ] Component stores using runes: `Component.svelte` (not `.svelte.js`)
148
- - [ ] Module stores: `store.js` (not `.svelte.js`)
149
-
150
- ## Debugging Tips
151
-
152
- ### Error: `effect_orphan`
153
- **Cause**: Runes used outside component context
154
- **Fix**: Use traditional stores for module-level state
155
-
156
- ### Error: Cannot access `$store` before initialization
157
- **Cause**: Missing `$` prefix on store subscription
158
- **Fix**: Use `$storeName.property` in templates
159
-
160
- ### Store not updating UI
161
- **Cause**: Forgetting to use `.set()` or `.update()`
162
- **Fix**: Always mutate stores with `.set()` / `.update()`, never directly
163
-
164
- ## Performance Comparison
165
-
166
- | Pattern | Bundle Impact | Reactivity | Use Case |
167
- |---------|---------------|------------|----------|
168
- | Runes | Minimal | Fine-grained | Component-local |
169
- | Traditional Stores | Small | Observable | Shared state |
170
- | Context API | None | Manual | Dependency injection |
171
-
172
- ## Further Reading
173
-
174
- - Svelte 5 Runes: https://svelte.dev/docs/svelte/$state
175
- - Svelte Stores: https://svelte.dev/docs/svelte-store
176
- - Migration Guide: https://svelte-5-preview.vercel.app/docs/v5-migration-guide
177
-
178
- ---
179
-
180
- **Remember**: Runes are for components, stores are for modules.