claude-mpm 4.16.0__py3-none-any.whl → 4.25.10__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 (531) hide show
  1. claude_mpm/VERSION +1 -1
  2. claude_mpm/agents/BASE_ENGINEER.md +286 -0
  3. claude_mpm/agents/BASE_PM.md +272 -23
  4. claude_mpm/agents/OUTPUT_STYLE.md +3 -48
  5. claude_mpm/agents/PM_INSTRUCTIONS.md +1821 -32
  6. claude_mpm/agents/WORKFLOW.md +75 -2
  7. claude_mpm/agents/agent_loader.py +4 -4
  8. claude_mpm/agents/base_agent.json +6 -3
  9. claude_mpm/agents/frontmatter_validator.py +1 -1
  10. claude_mpm/agents/templates/api_qa.json +5 -2
  11. claude_mpm/agents/templates/circuit_breakers.md +108 -2
  12. claude_mpm/agents/templates/documentation.json +33 -6
  13. claude_mpm/agents/templates/engineer.json +5 -1
  14. claude_mpm/agents/templates/javascript_engineer_agent.json +380 -0
  15. claude_mpm/agents/templates/php-engineer.json +10 -4
  16. claude_mpm/agents/templates/pm_red_flags.md +89 -19
  17. claude_mpm/agents/templates/project_organizer.json +7 -3
  18. claude_mpm/agents/templates/python_engineer.json +8 -3
  19. claude_mpm/agents/templates/qa.json +2 -1
  20. claude_mpm/agents/templates/react_engineer.json +1 -0
  21. claude_mpm/agents/templates/research.json +82 -12
  22. claude_mpm/agents/templates/rust_engineer.json +12 -7
  23. claude_mpm/agents/templates/security.json +4 -4
  24. claude_mpm/agents/templates/svelte-engineer.json +225 -0
  25. claude_mpm/agents/templates/tauri_engineer.json +274 -0
  26. claude_mpm/agents/templates/ticketing.json +10 -6
  27. claude_mpm/agents/templates/version_control.json +4 -2
  28. claude_mpm/agents/templates/web_qa.json +2 -1
  29. claude_mpm/cli/README.md +253 -0
  30. claude_mpm/cli/__init__.py +11 -1
  31. claude_mpm/cli/commands/__init__.py +2 -0
  32. claude_mpm/cli/commands/aggregate.py +1 -1
  33. claude_mpm/cli/commands/analyze.py +3 -3
  34. claude_mpm/cli/commands/cleanup.py +1 -1
  35. claude_mpm/cli/commands/configure_agent_display.py +4 -4
  36. claude_mpm/cli/commands/debug.py +12 -12
  37. claude_mpm/cli/commands/hook_errors.py +277 -0
  38. claude_mpm/cli/commands/mcp_install_commands.py +1 -1
  39. claude_mpm/cli/commands/mcp_install_commands.py.backup +284 -0
  40. claude_mpm/cli/commands/mpm_init/README.md +365 -0
  41. claude_mpm/cli/commands/mpm_init/__init__.py +73 -0
  42. claude_mpm/cli/commands/mpm_init/core.py +573 -0
  43. claude_mpm/cli/commands/mpm_init/display.py +341 -0
  44. claude_mpm/cli/commands/mpm_init/git_activity.py +427 -0
  45. claude_mpm/cli/commands/mpm_init/modes.py +397 -0
  46. claude_mpm/cli/commands/mpm_init/prompts.py +442 -0
  47. claude_mpm/cli/commands/mpm_init_cli.py +396 -0
  48. claude_mpm/cli/commands/mpm_init_handler.py +67 -1
  49. claude_mpm/cli/commands/run.py +124 -128
  50. claude_mpm/cli/commands/skills.py +922 -0
  51. claude_mpm/cli/executor.py +58 -0
  52. claude_mpm/cli/interactive/agent_wizard.py +5 -5
  53. claude_mpm/cli/parsers/base_parser.py +35 -0
  54. claude_mpm/cli/parsers/mpm_init_parser.py +42 -0
  55. claude_mpm/cli/parsers/skills_parser.py +275 -0
  56. claude_mpm/cli/startup.py +168 -8
  57. claude_mpm/cli/startup_display.py +480 -0
  58. claude_mpm/cli/utils.py +1 -1
  59. claude_mpm/cli_module/commands.py +1 -1
  60. claude_mpm/cli_module/refactoring_guide.md +253 -0
  61. claude_mpm/commands/mpm-auto-configure.md +52 -0
  62. claude_mpm/commands/mpm-help.md +6 -0
  63. claude_mpm/commands/mpm-init.md +130 -8
  64. claude_mpm/commands/mpm-resume.md +372 -0
  65. claude_mpm/commands/mpm-tickets.md +56 -7
  66. claude_mpm/commands/mpm-version.md +113 -0
  67. claude_mpm/commands/mpm.md +2 -0
  68. claude_mpm/config/agent_capabilities.yaml +658 -0
  69. claude_mpm/config/agent_config.py +2 -2
  70. claude_mpm/config/async_logging_config.yaml +145 -0
  71. claude_mpm/constants.py +24 -0
  72. claude_mpm/core/.claude-mpm/logs/hooks_20250730.log +34 -0
  73. claude_mpm/core/api_validator.py +1 -1
  74. claude_mpm/core/claude_runner.py +14 -1
  75. claude_mpm/core/config.py +50 -0
  76. claude_mpm/core/constants.py +1 -1
  77. claude_mpm/core/factories.py +1 -1
  78. claude_mpm/core/framework/processors/metadata_processor.py +1 -1
  79. claude_mpm/core/hook_error_memory.py +381 -0
  80. claude_mpm/core/hook_manager.py +41 -2
  81. claude_mpm/core/interactive_session.py +48 -3
  82. claude_mpm/core/interfaces.py +56 -1
  83. claude_mpm/core/logger.py +3 -1
  84. claude_mpm/core/oneshot_session.py +39 -0
  85. claude_mpm/core/optimized_agent_loader.py +3 -3
  86. claude_mpm/d2/.gitignore +22 -0
  87. claude_mpm/d2/ARCHITECTURE_COMPARISON.md +273 -0
  88. claude_mpm/d2/FLASK_INTEGRATION.md +156 -0
  89. claude_mpm/d2/IMPLEMENTATION_SUMMARY.md +452 -0
  90. claude_mpm/d2/QUICKSTART.md +186 -0
  91. claude_mpm/d2/README.md +232 -0
  92. claude_mpm/d2/STORE_FIX_SUMMARY.md +167 -0
  93. claude_mpm/d2/SVELTE5_STORES_GUIDE.md +180 -0
  94. claude_mpm/d2/TESTING.md +288 -0
  95. claude_mpm/d2/index.html +118 -0
  96. claude_mpm/d2/package.json +19 -0
  97. claude_mpm/d2/src/App.svelte +110 -0
  98. claude_mpm/d2/src/components/Header.svelte +153 -0
  99. claude_mpm/d2/src/components/MainContent.svelte +74 -0
  100. claude_mpm/d2/src/components/Sidebar.svelte +85 -0
  101. claude_mpm/d2/src/components/tabs/EventsTab.svelte +326 -0
  102. claude_mpm/d2/src/lib/socketio.js +144 -0
  103. claude_mpm/d2/src/main.js +7 -0
  104. claude_mpm/d2/src/stores/events.js +114 -0
  105. claude_mpm/d2/src/stores/socket.js +108 -0
  106. claude_mpm/d2/src/stores/theme.js +65 -0
  107. claude_mpm/d2/svelte.config.js +12 -0
  108. claude_mpm/d2/vite.config.js +15 -0
  109. claude_mpm/dashboard/.claude-mpm/memories/README.md +36 -0
  110. claude_mpm/dashboard/BUILD_NUMBER +1 -0
  111. claude_mpm/dashboard/README.md +121 -0
  112. claude_mpm/dashboard/VERSION +1 -0
  113. claude_mpm/dashboard/react/components/DataInspector/DataInspector.tsx +273 -0
  114. claude_mpm/dashboard/react/components/ErrorBoundary.tsx +75 -0
  115. claude_mpm/dashboard/react/components/EventViewer/EventViewer.tsx +141 -0
  116. claude_mpm/dashboard/react/components/shared/ConnectionStatus.tsx +36 -0
  117. claude_mpm/dashboard/react/components/shared/FilterBar.tsx +89 -0
  118. claude_mpm/dashboard/react/contexts/DashboardContext.tsx +215 -0
  119. claude_mpm/dashboard/react/entries/events.tsx +165 -0
  120. claude_mpm/dashboard/react/hooks/useEvents.ts +191 -0
  121. claude_mpm/dashboard/react/hooks/useSocket.ts +225 -0
  122. claude_mpm/dashboard/static/built/REFACTORING_SUMMARY.md +170 -0
  123. claude_mpm/dashboard/static/built/components/activity-tree.js.map +1 -0
  124. claude_mpm/dashboard/static/built/components/agent-hierarchy.js +101 -101
  125. claude_mpm/dashboard/static/built/components/agent-inference.js.map +1 -0
  126. claude_mpm/dashboard/static/built/components/build-tracker.js +59 -59
  127. claude_mpm/dashboard/static/built/components/code-simple.js +107 -107
  128. claude_mpm/dashboard/static/built/components/code-tree/tree-breadcrumb.js +29 -29
  129. claude_mpm/dashboard/static/built/components/code-tree/tree-constants.js +24 -24
  130. claude_mpm/dashboard/static/built/components/code-tree/tree-search.js +27 -27
  131. claude_mpm/dashboard/static/built/components/code-tree/tree-utils.js +25 -25
  132. claude_mpm/dashboard/static/built/components/code-tree.js.map +1 -0
  133. claude_mpm/dashboard/static/built/components/code-viewer.js.map +1 -0
  134. claude_mpm/dashboard/static/built/components/connection-debug.js +101 -101
  135. claude_mpm/dashboard/static/built/components/diff-viewer.js +113 -113
  136. claude_mpm/dashboard/static/built/components/event-processor.js.map +1 -0
  137. claude_mpm/dashboard/static/built/components/event-viewer.js.map +1 -0
  138. claude_mpm/dashboard/static/built/components/export-manager.js.map +1 -0
  139. claude_mpm/dashboard/static/built/components/file-change-tracker.js +57 -57
  140. claude_mpm/dashboard/static/built/components/file-change-viewer.js +74 -74
  141. claude_mpm/dashboard/static/built/components/file-tool-tracker.js.map +1 -0
  142. claude_mpm/dashboard/static/built/components/file-viewer.js.map +1 -0
  143. claude_mpm/dashboard/static/built/components/hud-library-loader.js.map +1 -0
  144. claude_mpm/dashboard/static/built/components/hud-manager.js.map +1 -0
  145. claude_mpm/dashboard/static/built/components/hud-visualizer.js.map +1 -0
  146. claude_mpm/dashboard/static/built/components/module-viewer.js.map +1 -0
  147. claude_mpm/dashboard/static/built/components/session-manager.js.map +1 -0
  148. claude_mpm/dashboard/static/built/components/socket-manager.js.map +1 -0
  149. claude_mpm/dashboard/static/built/components/ui-state-manager.js.map +1 -0
  150. claude_mpm/dashboard/static/built/components/unified-data-viewer.js.map +1 -0
  151. claude_mpm/dashboard/static/built/components/working-directory.js.map +1 -0
  152. claude_mpm/dashboard/static/built/connection-manager.js +76 -76
  153. claude_mpm/dashboard/static/built/dashboard.js.map +1 -0
  154. claude_mpm/dashboard/static/built/extension-error-handler.js +22 -22
  155. claude_mpm/dashboard/static/built/react/events.js.map +1 -0
  156. claude_mpm/dashboard/static/built/shared/dom-helpers.js +9 -9
  157. claude_mpm/dashboard/static/built/shared/event-bus.js +5 -5
  158. claude_mpm/dashboard/static/built/shared/logger.js +16 -16
  159. claude_mpm/dashboard/static/built/shared/tooltip-service.js +6 -6
  160. claude_mpm/dashboard/static/built/socket-client.js.map +1 -0
  161. claude_mpm/dashboard/static/css/activity.css +69 -69
  162. claude_mpm/dashboard/static/css/connection-status.css +10 -10
  163. claude_mpm/dashboard/static/css/dashboard.css +15 -15
  164. claude_mpm/dashboard/static/index.html +22 -22
  165. claude_mpm/dashboard/static/js/REFACTORING_SUMMARY.md +170 -0
  166. claude_mpm/dashboard/static/js/components/activity-tree.js +178 -178
  167. claude_mpm/dashboard/static/js/components/agent-hierarchy.js +101 -101
  168. claude_mpm/dashboard/static/js/components/agent-inference.js +31 -31
  169. claude_mpm/dashboard/static/js/components/build-tracker.js +59 -59
  170. claude_mpm/dashboard/static/js/components/code-simple.js +107 -107
  171. claude_mpm/dashboard/static/js/components/connection-debug.js +101 -101
  172. claude_mpm/dashboard/static/js/components/diff-viewer.js +113 -113
  173. claude_mpm/dashboard/static/js/components/event-viewer.js +12 -12
  174. claude_mpm/dashboard/static/js/components/file-change-tracker.js +57 -57
  175. claude_mpm/dashboard/static/js/components/file-change-viewer.js +74 -74
  176. claude_mpm/dashboard/static/js/components/file-tool-tracker.js +6 -6
  177. claude_mpm/dashboard/static/js/components/file-viewer.js +42 -42
  178. claude_mpm/dashboard/static/js/components/module-viewer.js +27 -27
  179. claude_mpm/dashboard/static/js/components/session-manager.js +14 -14
  180. claude_mpm/dashboard/static/js/components/socket-manager.js +1 -1
  181. claude_mpm/dashboard/static/js/components/ui-state-manager.js +14 -14
  182. claude_mpm/dashboard/static/js/components/unified-data-viewer.js +110 -110
  183. claude_mpm/dashboard/static/js/components/working-directory.js +8 -8
  184. claude_mpm/dashboard/static/js/connection-manager.js +76 -76
  185. claude_mpm/dashboard/static/js/dashboard.js +76 -58
  186. claude_mpm/dashboard/static/js/extension-error-handler.js +22 -22
  187. claude_mpm/dashboard/static/js/shared/dom-helpers.js +9 -9
  188. claude_mpm/dashboard/static/js/shared/event-bus.js +5 -5
  189. claude_mpm/dashboard/static/js/shared/logger.js +16 -16
  190. claude_mpm/dashboard/static/js/shared/tooltip-service.js +6 -6
  191. claude_mpm/dashboard/static/js/socket-client.js +138 -121
  192. claude_mpm/dashboard/static/navigation-test-results.md +118 -0
  193. claude_mpm/dashboard/static/production/main.html +21 -21
  194. claude_mpm/dashboard/static/test-archive/dashboard.html +22 -22
  195. claude_mpm/dashboard/templates/.claude-mpm/memories/README.md +36 -0
  196. claude_mpm/dashboard/templates/.claude-mpm/memories/engineer_agent.md +39 -0
  197. claude_mpm/dashboard/templates/.claude-mpm/memories/version_control_agent.md +38 -0
  198. claude_mpm/dashboard/templates/code_simple.html +23 -23
  199. claude_mpm/dashboard/templates/index.html +18 -18
  200. claude_mpm/hooks/README.md +143 -0
  201. claude_mpm/hooks/__init__.py +8 -0
  202. claude_mpm/hooks/claude_hooks/event_handlers.py +3 -1
  203. claude_mpm/hooks/claude_hooks/hook_handler.py +24 -7
  204. claude_mpm/hooks/claude_hooks/installer.py +45 -0
  205. claude_mpm/hooks/claude_hooks/response_tracking.py +35 -1
  206. claude_mpm/hooks/session_resume_hook.py +121 -0
  207. claude_mpm/hooks/templates/README.md +180 -0
  208. claude_mpm/hooks/templates/pre_tool_use_simple.py +78 -0
  209. claude_mpm/hooks/templates/pre_tool_use_template.py +323 -0
  210. claude_mpm/hooks/templates/settings.json.example +147 -0
  211. claude_mpm/models/resume_log.py +340 -0
  212. claude_mpm/schemas/agent_schema.json +596 -0
  213. claude_mpm/schemas/frontmatter_schema.json +165 -0
  214. claude_mpm/scripts/claude-hook-handler.sh +3 -3
  215. claude_mpm/scripts/start_activity_logging.py +3 -1
  216. claude_mpm/services/agents/auto_config_manager.py +1 -1
  217. claude_mpm/services/agents/deployment/agent_configuration_manager.py +1 -1
  218. claude_mpm/services/agents/deployment/agent_format_converter.py +1 -1
  219. claude_mpm/services/agents/deployment/agent_metrics_collector.py +3 -3
  220. claude_mpm/services/agents/deployment/agent_record_service.py +1 -1
  221. claude_mpm/services/agents/deployment/agent_validator.py +17 -1
  222. claude_mpm/services/agents/deployment/async_agent_deployment.py +1 -1
  223. claude_mpm/services/agents/deployment/facade/deployment_facade.py +3 -3
  224. claude_mpm/services/agents/deployment/local_template_deployment.py +1 -1
  225. claude_mpm/services/agents/deployment/pipeline/pipeline_executor.py +2 -2
  226. claude_mpm/services/agents/loading/framework_agent_loader.py +8 -8
  227. claude_mpm/services/agents/local_template_manager.py +4 -2
  228. claude_mpm/services/agents/recommender.py +47 -0
  229. claude_mpm/services/cli/resume_service.py +617 -0
  230. claude_mpm/services/cli/session_manager.py +87 -0
  231. claude_mpm/services/cli/session_pause_manager.py +504 -0
  232. claude_mpm/services/cli/session_resume_helper.py +372 -0
  233. claude_mpm/services/cli/unified_dashboard_manager.py +1 -1
  234. claude_mpm/services/core/base.py +26 -11
  235. claude_mpm/services/core/interfaces.py +56 -1
  236. claude_mpm/services/core/models/agent_config.py +3 -0
  237. claude_mpm/services/core/models/process.py +4 -0
  238. claude_mpm/services/core/path_resolver.py +1 -1
  239. claude_mpm/services/diagnostics/checks/agent_check.py +0 -2
  240. claude_mpm/services/diagnostics/checks/instructions_check.py +1 -2
  241. claude_mpm/services/diagnostics/checks/mcp_check.py +0 -1
  242. claude_mpm/services/diagnostics/checks/monitor_check.py +0 -1
  243. claude_mpm/services/diagnostics/doctor_reporter.py +6 -4
  244. claude_mpm/services/diagnostics/models.py +21 -0
  245. claude_mpm/services/event_bus/README.md +244 -0
  246. claude_mpm/services/event_bus/direct_relay.py +3 -3
  247. claude_mpm/services/event_bus/event_bus.py +36 -3
  248. claude_mpm/services/event_bus/relay.py +23 -7
  249. claude_mpm/services/events/README.md +303 -0
  250. claude_mpm/services/events/consumers/logging.py +1 -2
  251. claude_mpm/services/framework_claude_md_generator/README.md +119 -0
  252. claude_mpm/services/infrastructure/monitoring/resources.py +1 -1
  253. claude_mpm/services/infrastructure/resume_log_generator.py +439 -0
  254. claude_mpm/services/local_ops/__init__.py +2 -0
  255. claude_mpm/services/local_ops/process_manager.py +1 -1
  256. claude_mpm/services/local_ops/resource_monitor.py +2 -2
  257. claude_mpm/services/mcp_config_manager.py +7 -131
  258. claude_mpm/services/mcp_gateway/README.md +185 -0
  259. claude_mpm/services/mcp_gateway/auto_configure.py +31 -25
  260. claude_mpm/services/mcp_gateway/config/configuration.py +1 -1
  261. claude_mpm/services/mcp_gateway/core/process_pool.py +19 -10
  262. claude_mpm/services/mcp_gateway/server/stdio_server.py +0 -2
  263. claude_mpm/services/mcp_gateway/tools/document_summarizer.py +1 -1
  264. claude_mpm/services/mcp_gateway/tools/external_mcp_services.py +26 -21
  265. claude_mpm/services/mcp_gateway/tools/kuzu_memory_service.py +6 -2
  266. claude_mpm/services/memory/failure_tracker.py +19 -4
  267. claude_mpm/services/memory/optimizer.py +1 -1
  268. claude_mpm/services/model/model_router.py +8 -9
  269. claude_mpm/services/monitor/daemon.py +1 -1
  270. claude_mpm/services/monitor/server.py +2 -2
  271. claude_mpm/services/native_agent_converter.py +356 -0
  272. claude_mpm/services/port_manager.py +1 -1
  273. claude_mpm/services/project/documentation_manager.py +2 -1
  274. claude_mpm/services/project/toolchain_analyzer.py +3 -1
  275. claude_mpm/services/runner_configuration_service.py +1 -0
  276. claude_mpm/services/self_upgrade_service.py +165 -7
  277. claude_mpm/services/session_manager.py +205 -1
  278. claude_mpm/services/skills_config.py +547 -0
  279. claude_mpm/services/skills_deployer.py +955 -0
  280. claude_mpm/services/socketio/handlers/connection.py +1 -1
  281. claude_mpm/services/socketio/handlers/connection.py.backup +217 -0
  282. claude_mpm/services/socketio/handlers/git.py +2 -2
  283. claude_mpm/services/socketio/handlers/hook.py.backup +154 -0
  284. claude_mpm/services/static/.gitkeep +2 -0
  285. claude_mpm/services/system_instructions_service.py +1 -3
  286. claude_mpm/services/unified/analyzer_strategies/performance_analyzer.py +0 -3
  287. claude_mpm/services/unified/analyzer_strategies/security_analyzer.py +0 -1
  288. claude_mpm/services/unified/deployment_strategies/cloud_strategies.py +1 -1
  289. claude_mpm/services/unified/deployment_strategies/local.py +1 -1
  290. claude_mpm/services/version_control/VERSION +1 -0
  291. claude_mpm/services/version_control/conflict_resolution.py +6 -4
  292. claude_mpm/services/version_service.py +104 -1
  293. claude_mpm/services/visualization/mermaid_generator.py +2 -3
  294. claude_mpm/skills/__init__.py +21 -0
  295. claude_mpm/skills/agent_skills_injector.py +324 -0
  296. claude_mpm/skills/bundled/.gitkeep +2 -0
  297. claude_mpm/skills/bundled/LICENSE_ATTRIBUTIONS.md +79 -0
  298. claude_mpm/skills/bundled/api-documentation.md +393 -0
  299. claude_mpm/skills/bundled/async-testing.md +571 -0
  300. claude_mpm/skills/bundled/code-review.md +143 -0
  301. claude_mpm/skills/bundled/collaboration/brainstorming/SKILL.md +79 -0
  302. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/SKILL.md +178 -0
  303. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/agent-prompts.md +577 -0
  304. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/coordination-patterns.md +467 -0
  305. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/examples.md +537 -0
  306. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/troubleshooting.md +730 -0
  307. claude_mpm/skills/bundled/collaboration/git-worktrees.md +317 -0
  308. claude_mpm/skills/bundled/collaboration/requesting-code-review/SKILL.md +112 -0
  309. claude_mpm/skills/bundled/collaboration/requesting-code-review/references/code-reviewer-template.md +146 -0
  310. claude_mpm/skills/bundled/collaboration/requesting-code-review/references/review-examples.md +412 -0
  311. claude_mpm/skills/bundled/collaboration/stacked-prs.md +251 -0
  312. claude_mpm/skills/bundled/collaboration/writing-plans/SKILL.md +81 -0
  313. claude_mpm/skills/bundled/collaboration/writing-plans/references/best-practices.md +362 -0
  314. claude_mpm/skills/bundled/collaboration/writing-plans/references/plan-structure-templates.md +312 -0
  315. claude_mpm/skills/bundled/database-migration.md +199 -0
  316. claude_mpm/skills/bundled/debugging/root-cause-tracing/SKILL.md +152 -0
  317. claude_mpm/skills/bundled/debugging/root-cause-tracing/find-polluter.sh +63 -0
  318. claude_mpm/skills/bundled/debugging/root-cause-tracing/references/advanced-techniques.md +668 -0
  319. claude_mpm/skills/bundled/debugging/root-cause-tracing/references/examples.md +587 -0
  320. claude_mpm/skills/bundled/debugging/root-cause-tracing/references/integration.md +438 -0
  321. claude_mpm/skills/bundled/debugging/root-cause-tracing/references/tracing-techniques.md +391 -0
  322. claude_mpm/skills/bundled/debugging/systematic-debugging/CREATION-LOG.md +119 -0
  323. claude_mpm/skills/bundled/debugging/systematic-debugging/SKILL.md +148 -0
  324. claude_mpm/skills/bundled/debugging/systematic-debugging/references/anti-patterns.md +483 -0
  325. claude_mpm/skills/bundled/debugging/systematic-debugging/references/examples.md +452 -0
  326. claude_mpm/skills/bundled/debugging/systematic-debugging/references/troubleshooting.md +449 -0
  327. claude_mpm/skills/bundled/debugging/systematic-debugging/references/workflow.md +411 -0
  328. claude_mpm/skills/bundled/debugging/systematic-debugging/test-academic.md +14 -0
  329. claude_mpm/skills/bundled/debugging/systematic-debugging/test-pressure-1.md +58 -0
  330. claude_mpm/skills/bundled/debugging/systematic-debugging/test-pressure-2.md +68 -0
  331. claude_mpm/skills/bundled/debugging/systematic-debugging/test-pressure-3.md +69 -0
  332. claude_mpm/skills/bundled/debugging/verification-before-completion/SKILL.md +131 -0
  333. claude_mpm/skills/bundled/debugging/verification-before-completion/references/gate-function.md +325 -0
  334. claude_mpm/skills/bundled/debugging/verification-before-completion/references/integration-and-workflows.md +490 -0
  335. claude_mpm/skills/bundled/debugging/verification-before-completion/references/red-flags-and-failures.md +425 -0
  336. claude_mpm/skills/bundled/debugging/verification-before-completion/references/verification-patterns.md +499 -0
  337. claude_mpm/skills/bundled/docker-containerization.md +194 -0
  338. claude_mpm/skills/bundled/express-local-dev.md +1429 -0
  339. claude_mpm/skills/bundled/fastapi-local-dev.md +1199 -0
  340. claude_mpm/skills/bundled/git-workflow.md +414 -0
  341. claude_mpm/skills/bundled/imagemagick.md +204 -0
  342. claude_mpm/skills/bundled/infrastructure/env-manager/INTEGRATION.md +611 -0
  343. claude_mpm/skills/bundled/infrastructure/env-manager/README.md +596 -0
  344. claude_mpm/skills/bundled/infrastructure/env-manager/SKILL.md +260 -0
  345. claude_mpm/skills/bundled/infrastructure/env-manager/examples/nextjs-env-structure.md +315 -0
  346. claude_mpm/skills/bundled/infrastructure/env-manager/references/frameworks.md +436 -0
  347. claude_mpm/skills/bundled/infrastructure/env-manager/references/security.md +433 -0
  348. claude_mpm/skills/bundled/infrastructure/env-manager/references/synchronization.md +452 -0
  349. claude_mpm/skills/bundled/infrastructure/env-manager/references/troubleshooting.md +404 -0
  350. claude_mpm/skills/bundled/infrastructure/env-manager/references/validation.md +420 -0
  351. claude_mpm/skills/bundled/infrastructure/env-manager/scripts/validate_env.py +576 -0
  352. claude_mpm/skills/bundled/json-data-handling.md +223 -0
  353. claude_mpm/skills/bundled/main/artifacts-builder/LICENSE.txt +202 -0
  354. claude_mpm/skills/bundled/main/artifacts-builder/SKILL.md +86 -0
  355. claude_mpm/skills/bundled/main/artifacts-builder/scripts/bundle-artifact.sh +54 -0
  356. claude_mpm/skills/bundled/main/artifacts-builder/scripts/init-artifact.sh +322 -0
  357. claude_mpm/skills/bundled/main/artifacts-builder/scripts/shadcn-components.tar.gz +0 -0
  358. claude_mpm/skills/bundled/main/internal-comms/LICENSE.txt +202 -0
  359. claude_mpm/skills/bundled/main/internal-comms/SKILL.md +43 -0
  360. claude_mpm/skills/bundled/main/internal-comms/examples/3p-updates.md +47 -0
  361. claude_mpm/skills/bundled/main/internal-comms/examples/company-newsletter.md +65 -0
  362. claude_mpm/skills/bundled/main/internal-comms/examples/faq-answers.md +30 -0
  363. claude_mpm/skills/bundled/main/internal-comms/examples/general-comms.md +16 -0
  364. claude_mpm/skills/bundled/main/mcp-builder/LICENSE.txt +202 -0
  365. claude_mpm/skills/bundled/main/mcp-builder/SKILL.md +160 -0
  366. claude_mpm/skills/bundled/main/mcp-builder/reference/design_principles.md +412 -0
  367. claude_mpm/skills/bundled/main/mcp-builder/reference/evaluation.md +602 -0
  368. claude_mpm/skills/bundled/main/mcp-builder/reference/mcp_best_practices.md +915 -0
  369. claude_mpm/skills/bundled/main/mcp-builder/reference/node_mcp_server.md +916 -0
  370. claude_mpm/skills/bundled/main/mcp-builder/reference/python_mcp_server.md +752 -0
  371. claude_mpm/skills/bundled/main/mcp-builder/reference/workflow.md +1237 -0
  372. claude_mpm/skills/bundled/main/mcp-builder/scripts/connections.py +157 -0
  373. claude_mpm/skills/bundled/main/mcp-builder/scripts/evaluation.py +425 -0
  374. claude_mpm/skills/bundled/main/mcp-builder/scripts/example_evaluation.xml +22 -0
  375. claude_mpm/skills/bundled/main/mcp-builder/scripts/requirements.txt +2 -0
  376. claude_mpm/skills/bundled/main/skill-creator/LICENSE.txt +202 -0
  377. claude_mpm/skills/bundled/main/skill-creator/SKILL.md +189 -0
  378. claude_mpm/skills/bundled/main/skill-creator/references/best-practices.md +500 -0
  379. claude_mpm/skills/bundled/main/skill-creator/references/creation-workflow.md +464 -0
  380. claude_mpm/skills/bundled/main/skill-creator/references/examples.md +619 -0
  381. claude_mpm/skills/bundled/main/skill-creator/references/progressive-disclosure.md +437 -0
  382. claude_mpm/skills/bundled/main/skill-creator/references/skill-structure.md +231 -0
  383. claude_mpm/skills/bundled/main/skill-creator/scripts/init_skill.py +303 -0
  384. claude_mpm/skills/bundled/main/skill-creator/scripts/package_skill.py +113 -0
  385. claude_mpm/skills/bundled/main/skill-creator/scripts/quick_validate.py +72 -0
  386. claude_mpm/skills/bundled/nextjs-local-dev.md +807 -0
  387. claude_mpm/skills/bundled/pdf.md +141 -0
  388. claude_mpm/skills/bundled/performance-profiling.md +573 -0
  389. claude_mpm/skills/bundled/php/espocrm-development/SKILL.md +170 -0
  390. claude_mpm/skills/bundled/php/espocrm-development/references/architecture.md +602 -0
  391. claude_mpm/skills/bundled/php/espocrm-development/references/common-tasks.md +821 -0
  392. claude_mpm/skills/bundled/php/espocrm-development/references/development-workflow.md +742 -0
  393. claude_mpm/skills/bundled/php/espocrm-development/references/frontend-customization.md +726 -0
  394. claude_mpm/skills/bundled/php/espocrm-development/references/hooks-and-services.md +764 -0
  395. claude_mpm/skills/bundled/php/espocrm-development/references/testing-debugging.md +831 -0
  396. claude_mpm/skills/bundled/react/flexlayout-react.md +742 -0
  397. claude_mpm/skills/bundled/refactoring-patterns.md +180 -0
  398. claude_mpm/skills/bundled/rust/desktop-applications/SKILL.md +226 -0
  399. claude_mpm/skills/bundled/rust/desktop-applications/references/architecture-patterns.md +901 -0
  400. claude_mpm/skills/bundled/rust/desktop-applications/references/native-gui-frameworks.md +901 -0
  401. claude_mpm/skills/bundled/rust/desktop-applications/references/platform-integration.md +775 -0
  402. claude_mpm/skills/bundled/rust/desktop-applications/references/state-management.md +937 -0
  403. claude_mpm/skills/bundled/rust/desktop-applications/references/tauri-framework.md +770 -0
  404. claude_mpm/skills/bundled/rust/desktop-applications/references/testing-deployment.md +961 -0
  405. claude_mpm/skills/bundled/security-scanning.md +327 -0
  406. claude_mpm/skills/bundled/systematic-debugging.md +473 -0
  407. claude_mpm/skills/bundled/tauri/tauri-async-patterns.md +495 -0
  408. claude_mpm/skills/bundled/tauri/tauri-build-deploy.md +599 -0
  409. claude_mpm/skills/bundled/tauri/tauri-command-patterns.md +535 -0
  410. claude_mpm/skills/bundled/tauri/tauri-error-handling.md +613 -0
  411. claude_mpm/skills/bundled/tauri/tauri-event-system.md +648 -0
  412. claude_mpm/skills/bundled/tauri/tauri-file-system.md +673 -0
  413. claude_mpm/skills/bundled/tauri/tauri-frontend-integration.md +767 -0
  414. claude_mpm/skills/bundled/tauri/tauri-performance.md +669 -0
  415. claude_mpm/skills/bundled/tauri/tauri-state-management.md +573 -0
  416. claude_mpm/skills/bundled/tauri/tauri-testing.md +384 -0
  417. claude_mpm/skills/bundled/tauri/tauri-window-management.md +628 -0
  418. claude_mpm/skills/bundled/test-driven-development.md +378 -0
  419. claude_mpm/skills/bundled/testing/condition-based-waiting/SKILL.md +119 -0
  420. claude_mpm/skills/bundled/testing/condition-based-waiting/example.ts +158 -0
  421. claude_mpm/skills/bundled/testing/condition-based-waiting/references/patterns-and-implementation.md +253 -0
  422. claude_mpm/skills/bundled/testing/test-driven-development/SKILL.md +145 -0
  423. claude_mpm/skills/bundled/testing/test-driven-development/references/anti-patterns.md +543 -0
  424. claude_mpm/skills/bundled/testing/test-driven-development/references/examples.md +741 -0
  425. claude_mpm/skills/bundled/testing/test-driven-development/references/integration.md +470 -0
  426. claude_mpm/skills/bundled/testing/test-driven-development/references/philosophy.md +458 -0
  427. claude_mpm/skills/bundled/testing/test-driven-development/references/workflow.md +639 -0
  428. claude_mpm/skills/bundled/testing/test-quality-inspector/SKILL.md +458 -0
  429. claude_mpm/skills/bundled/testing/test-quality-inspector/examples/example-inspection-report.md +411 -0
  430. claude_mpm/skills/bundled/testing/test-quality-inspector/references/assertion-quality.md +317 -0
  431. claude_mpm/skills/bundled/testing/test-quality-inspector/references/inspection-checklist.md +270 -0
  432. claude_mpm/skills/bundled/testing/test-quality-inspector/references/red-flags.md +436 -0
  433. claude_mpm/skills/bundled/testing/testing-anti-patterns/SKILL.md +140 -0
  434. claude_mpm/skills/bundled/testing/testing-anti-patterns/references/completeness-anti-patterns.md +572 -0
  435. claude_mpm/skills/bundled/testing/testing-anti-patterns/references/core-anti-patterns.md +411 -0
  436. claude_mpm/skills/bundled/testing/testing-anti-patterns/references/detection-guide.md +569 -0
  437. claude_mpm/skills/bundled/testing/testing-anti-patterns/references/tdd-connection.md +695 -0
  438. claude_mpm/skills/bundled/testing/webapp-testing/LICENSE.txt +202 -0
  439. claude_mpm/skills/bundled/testing/webapp-testing/SKILL.md +184 -0
  440. claude_mpm/skills/bundled/testing/webapp-testing/decision-tree.md +459 -0
  441. claude_mpm/skills/bundled/testing/webapp-testing/examples/console_logging.py +35 -0
  442. claude_mpm/skills/bundled/testing/webapp-testing/examples/element_discovery.py +44 -0
  443. claude_mpm/skills/bundled/testing/webapp-testing/examples/static_html_automation.py +34 -0
  444. claude_mpm/skills/bundled/testing/webapp-testing/playwright-patterns.md +479 -0
  445. claude_mpm/skills/bundled/testing/webapp-testing/reconnaissance-pattern.md +687 -0
  446. claude_mpm/skills/bundled/testing/webapp-testing/scripts/with_server.py +129 -0
  447. claude_mpm/skills/bundled/testing/webapp-testing/server-management.md +758 -0
  448. claude_mpm/skills/bundled/testing/webapp-testing/troubleshooting.md +868 -0
  449. claude_mpm/skills/bundled/vite-local-dev.md +1061 -0
  450. claude_mpm/skills/bundled/web-performance-optimization.md +2305 -0
  451. claude_mpm/skills/bundled/xlsx.md +157 -0
  452. claude_mpm/skills/registry.py +97 -9
  453. claude_mpm/skills/skills_registry.py +347 -0
  454. claude_mpm/skills/skills_service.py +739 -0
  455. claude_mpm/templates/questions/EXAMPLES.md +501 -0
  456. claude_mpm/templates/questions/__init__.py +43 -0
  457. claude_mpm/templates/questions/base.py +193 -0
  458. claude_mpm/templates/questions/pr_strategy.py +314 -0
  459. claude_mpm/templates/questions/project_init.py +388 -0
  460. claude_mpm/templates/questions/ticket_mgmt.py +397 -0
  461. claude_mpm/tools/README_SOCKETIO_DEBUG.md +224 -0
  462. claude_mpm/tools/__main__.py +8 -8
  463. claude_mpm/tools/code_tree_analyzer/README.md +64 -0
  464. claude_mpm/tools/code_tree_analyzer/__init__.py +45 -0
  465. claude_mpm/tools/code_tree_analyzer/analysis.py +299 -0
  466. claude_mpm/tools/code_tree_analyzer/cache.py +131 -0
  467. claude_mpm/tools/code_tree_analyzer/core.py +380 -0
  468. claude_mpm/tools/code_tree_analyzer/discovery.py +403 -0
  469. claude_mpm/tools/code_tree_analyzer/events.py +168 -0
  470. claude_mpm/tools/code_tree_analyzer/gitignore.py +308 -0
  471. claude_mpm/tools/code_tree_analyzer/models.py +39 -0
  472. claude_mpm/tools/code_tree_analyzer/multilang_analyzer.py +224 -0
  473. claude_mpm/tools/code_tree_analyzer/python_analyzer.py +284 -0
  474. claude_mpm/utils/agent_dependency_loader.py +5 -5
  475. claude_mpm/utils/dependency_cache.py +3 -1
  476. claude_mpm/utils/gitignore.py +241 -0
  477. claude_mpm/utils/log_cleanup.py +3 -3
  478. claude_mpm/utils/robust_installer.py +3 -5
  479. claude_mpm/utils/structured_questions.py +619 -0
  480. claude_mpm-4.25.10.dist-info/METADATA +789 -0
  481. {claude_mpm-4.16.0.dist-info → claude_mpm-4.25.10.dist-info}/RECORD +485 -240
  482. claude_mpm/agents/INSTRUCTIONS_OLD_DEPRECATED.md +0 -602
  483. claude_mpm/agents/templates/.claude-mpm/memories/README.md +0 -17
  484. claude_mpm/agents/templates/.claude-mpm/memories/engineer_memories.md +0 -3
  485. claude_mpm/agents/templates/logs/prompts/agent_engineer_20250826_014258_728.md +0 -39
  486. claude_mpm/agents/templates/logs/prompts/agent_engineer_20250901_010124_142.md +0 -400
  487. claude_mpm/cli/commands/mpm_init.py +0 -2008
  488. claude_mpm/dashboard/.claude-mpm/socketio-instances.json +0 -1
  489. claude_mpm/dashboard/static/archive/activity_dashboard_test.html +0 -61
  490. claude_mpm/dashboard/static/archive/test_activity_connection.html +0 -179
  491. claude_mpm/dashboard/static/archive/test_claude_tree_tab.html +0 -68
  492. claude_mpm/dashboard/static/archive/test_dashboard.html +0 -409
  493. claude_mpm/dashboard/static/archive/test_dashboard_fixed.html +0 -519
  494. claude_mpm/dashboard/static/archive/test_dashboard_verification.html +0 -181
  495. claude_mpm/dashboard/static/archive/test_file_data.html +0 -315
  496. claude_mpm/dashboard/static/archive/test_file_tree_empty_state.html +0 -243
  497. claude_mpm/dashboard/static/archive/test_file_tree_fix.html +0 -234
  498. claude_mpm/dashboard/static/archive/test_file_tree_rename.html +0 -117
  499. claude_mpm/dashboard/static/archive/test_file_tree_tab.html +0 -115
  500. claude_mpm/dashboard/static/archive/test_file_viewer.html +0 -224
  501. claude_mpm/dashboard/static/archive/test_final_activity.html +0 -220
  502. claude_mpm/dashboard/static/archive/test_tab_fix.html +0 -139
  503. claude_mpm/dashboard/static/dist/assets/events.DjpNxWNo.css +0 -1
  504. claude_mpm/dashboard/static/dist/components/activity-tree.js +0 -2
  505. claude_mpm/dashboard/static/dist/components/agent-inference.js +0 -2
  506. claude_mpm/dashboard/static/dist/components/code-tree.js +0 -2
  507. claude_mpm/dashboard/static/dist/components/code-viewer.js +0 -2
  508. claude_mpm/dashboard/static/dist/components/event-processor.js +0 -2
  509. claude_mpm/dashboard/static/dist/components/event-viewer.js +0 -2
  510. claude_mpm/dashboard/static/dist/components/export-manager.js +0 -2
  511. claude_mpm/dashboard/static/dist/components/file-tool-tracker.js +0 -2
  512. claude_mpm/dashboard/static/dist/components/file-viewer.js +0 -2
  513. claude_mpm/dashboard/static/dist/components/hud-library-loader.js +0 -2
  514. claude_mpm/dashboard/static/dist/components/hud-manager.js +0 -2
  515. claude_mpm/dashboard/static/dist/components/hud-visualizer.js +0 -2
  516. claude_mpm/dashboard/static/dist/components/module-viewer.js +0 -2
  517. claude_mpm/dashboard/static/dist/components/session-manager.js +0 -2
  518. claude_mpm/dashboard/static/dist/components/socket-manager.js +0 -2
  519. claude_mpm/dashboard/static/dist/components/ui-state-manager.js +0 -2
  520. claude_mpm/dashboard/static/dist/components/unified-data-viewer.js +0 -2
  521. claude_mpm/dashboard/static/dist/components/working-directory.js +0 -2
  522. claude_mpm/dashboard/static/dist/dashboard.js +0 -2
  523. claude_mpm/dashboard/static/dist/react/events.js +0 -30
  524. claude_mpm/dashboard/static/dist/socket-client.js +0 -2
  525. claude_mpm/dashboard/static/test-archive/test_debug.html +0 -25
  526. claude_mpm/tools/code_tree_analyzer.py +0 -1825
  527. claude_mpm-4.16.0.dist-info/METADATA +0 -453
  528. {claude_mpm-4.16.0.dist-info → claude_mpm-4.25.10.dist-info}/WHEEL +0 -0
  529. {claude_mpm-4.16.0.dist-info → claude_mpm-4.25.10.dist-info}/entry_points.txt +0 -0
  530. {claude_mpm-4.16.0.dist-info → claude_mpm-4.25.10.dist-info}/licenses/LICENSE +0 -0
  531. {claude_mpm-4.16.0.dist-info → claude_mpm-4.25.10.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,397 @@
1
+ """Ticket management question templates.
2
+
3
+ This module provides templates for gathering user preferences about ticket
4
+ prioritization, scope, and management during sprint planning and execution.
5
+
6
+ Templates:
7
+ - TicketPrioritizationTemplate: How to order/prioritize tickets
8
+ - TicketScopeTemplate: Testing and documentation requirements per ticket
9
+ - TicketDependencyTemplate: How to handle ticket dependencies
10
+
11
+ These templates help PM make informed decisions about ticket execution order
12
+ and completeness criteria.
13
+ """
14
+
15
+ from __future__ import annotations
16
+
17
+ from typing import TYPE_CHECKING
18
+
19
+ from claude_mpm.templates.questions.base import ConditionalTemplate
20
+ from claude_mpm.utils.structured_questions import (
21
+ QuestionBuilder,
22
+ QuestionSet,
23
+ )
24
+
25
+ if TYPE_CHECKING:
26
+ from claude_mpm.utils.structured_questions import StructuredQuestion
27
+
28
+
29
+ class TicketPrioritizationTemplate(ConditionalTemplate):
30
+ """Template for ticket prioritization decisions.
31
+
32
+ Asks about:
33
+ - How to order tickets (priority-based, dependency-based, etc.)
34
+ - Whether to work serially or in parallel
35
+ - How to handle blockers
36
+
37
+ Context Parameters:
38
+ num_tickets (int): Number of tickets to prioritize
39
+ has_dependencies (bool): Whether tickets have interdependencies
40
+ team_size (int): Number of engineers available
41
+
42
+ Example:
43
+ >>> template = TicketPrioritizationTemplate(
44
+ ... num_tickets=5,
45
+ ... has_dependencies=True,
46
+ ... team_size=1
47
+ ... )
48
+ >>> question_set = template.build()
49
+ """
50
+
51
+ def __init__(
52
+ self,
53
+ num_tickets: int = 1,
54
+ has_dependencies: bool = False,
55
+ team_size: int = 1,
56
+ **context,
57
+ ):
58
+ """Initialize ticket prioritization template.
59
+
60
+ Args:
61
+ num_tickets: Number of tickets to manage
62
+ has_dependencies: Whether tickets depend on each other
63
+ team_size: Number of engineers available
64
+ **context: Additional context values
65
+ """
66
+ super().__init__(
67
+ num_tickets=num_tickets,
68
+ has_dependencies=has_dependencies,
69
+ team_size=team_size,
70
+ **context,
71
+ )
72
+
73
+ def build(self) -> QuestionSet:
74
+ """Build ticket prioritization questions.
75
+
76
+ Returns:
77
+ QuestionSet with prioritization questions
78
+ """
79
+ num_tickets = self.get_context("num_tickets", 1)
80
+ has_dependencies = self.get_context("has_dependencies", False)
81
+ team_size = self.get_context("team_size", 1)
82
+
83
+ questions: list[StructuredQuestion] = []
84
+
85
+ # Question 1: Prioritization strategy (only if multiple tickets)
86
+ if num_tickets > 1:
87
+ if has_dependencies:
88
+ priority_question = (
89
+ QuestionBuilder()
90
+ .ask("How should we handle ticket dependencies?")
91
+ .header("Dependencies")
92
+ .add_option(
93
+ "Sequential execution",
94
+ "Complete tickets in dependency order (foundational work first)",
95
+ )
96
+ .add_option(
97
+ "Parallel where possible",
98
+ "Work on independent tickets in parallel, sequential for dependent ones",
99
+ )
100
+ .build()
101
+ )
102
+ else:
103
+ priority_question = (
104
+ QuestionBuilder()
105
+ .ask("How should we prioritize the tickets?")
106
+ .header("Priority")
107
+ .add_option(
108
+ "User-visible first",
109
+ "Prioritize features that directly impact users",
110
+ )
111
+ .add_option(
112
+ "Infrastructure first",
113
+ "Build foundational components before user-facing features",
114
+ )
115
+ .add_option(
116
+ "Quick wins first",
117
+ "Start with easiest tickets to build momentum",
118
+ )
119
+ .add_option(
120
+ "High risk first",
121
+ "Tackle uncertain/risky tickets early to derisk project",
122
+ )
123
+ .build()
124
+ )
125
+ questions.append(priority_question)
126
+
127
+ # Question 2: Execution strategy (only if multiple tickets and team)
128
+ if num_tickets > 1 and team_size >= 1:
129
+ execution_question = (
130
+ QuestionBuilder()
131
+ .ask("How should tickets be executed?")
132
+ .header("Execution")
133
+ .add_option(
134
+ "One at a time",
135
+ "Complete each ticket fully before starting the next",
136
+ )
137
+ .add_option(
138
+ "Parallel execution",
139
+ "Work on multiple tickets simultaneously when possible",
140
+ )
141
+ .build()
142
+ )
143
+ questions.append(execution_question)
144
+
145
+ # Fallback for single ticket or default case
146
+ if not questions:
147
+ scope_question = (
148
+ QuestionBuilder()
149
+ .ask("What should be the ticket completion criteria?")
150
+ .header("Criteria")
151
+ .add_option(
152
+ "Implementation only",
153
+ "Code implementation complete, basic functionality working",
154
+ )
155
+ .add_option(
156
+ "Implementation + tests",
157
+ "Code complete with passing unit tests",
158
+ )
159
+ .build()
160
+ )
161
+ questions.append(scope_question)
162
+
163
+ return QuestionSet(questions)
164
+
165
+
166
+ class TicketScopeTemplate(ConditionalTemplate):
167
+ """Template for ticket scope and completeness requirements.
168
+
169
+ Asks about:
170
+ - Testing requirements (unit, integration, e2e)
171
+ - Documentation requirements
172
+ - Code review requirements
173
+ - Definition of done
174
+
175
+ Context Parameters:
176
+ ticket_type (str): Type of ticket (feature, bug, refactor)
177
+ is_user_facing (bool): Whether ticket affects end users
178
+ project_maturity (str): Project stage (prototype, beta, production)
179
+
180
+ Example:
181
+ >>> template = TicketScopeTemplate(
182
+ ... ticket_type="feature",
183
+ ... is_user_facing=True,
184
+ ... project_maturity="production"
185
+ ... )
186
+ >>> question_set = template.build()
187
+ """
188
+
189
+ def __init__(
190
+ self,
191
+ ticket_type: str | None = "feature",
192
+ is_user_facing: bool = False,
193
+ project_maturity: str = "development",
194
+ **context,
195
+ ):
196
+ """Initialize ticket scope template.
197
+
198
+ Args:
199
+ ticket_type: Type of ticket (feature, bug, refactor, etc.)
200
+ is_user_facing: Whether changes affect end users
201
+ project_maturity: Stage of project (prototype, development, production)
202
+ **context: Additional context values
203
+ """
204
+ super().__init__(
205
+ ticket_type=ticket_type,
206
+ is_user_facing=is_user_facing,
207
+ project_maturity=project_maturity,
208
+ **context,
209
+ )
210
+
211
+ def build(self) -> QuestionSet:
212
+ """Build ticket scope questions.
213
+
214
+ Returns:
215
+ QuestionSet with scope questions
216
+ """
217
+ ticket_type = self.get_context("ticket_type", "feature")
218
+ is_user_facing = self.get_context("is_user_facing", False)
219
+ project_maturity = self.get_context("project_maturity", "development")
220
+
221
+ questions: list[StructuredQuestion] = []
222
+
223
+ # Question 1: Testing requirements
224
+ if project_maturity == "production" or is_user_facing:
225
+ testing_question = (
226
+ QuestionBuilder()
227
+ .ask("What testing is required for this ticket?")
228
+ .header("Testing")
229
+ .add_option(
230
+ "Comprehensive",
231
+ "Unit tests, integration tests, and e2e tests required",
232
+ )
233
+ .add_option(
234
+ "Standard",
235
+ "Unit tests and integration tests for critical paths",
236
+ )
237
+ .add_option(
238
+ "Basic",
239
+ "Unit tests for core functionality only",
240
+ )
241
+ .build()
242
+ )
243
+ else:
244
+ testing_question = (
245
+ QuestionBuilder()
246
+ .ask("What testing is required for this ticket?")
247
+ .header("Testing")
248
+ .add_option(
249
+ "Unit tests",
250
+ "Unit tests covering core functionality",
251
+ )
252
+ .add_option(
253
+ "Integration tests",
254
+ "Integration tests for component interactions",
255
+ )
256
+ .add_option(
257
+ "Manual testing",
258
+ "Manual verification sufficient for now",
259
+ )
260
+ .build()
261
+ )
262
+ questions.append(testing_question)
263
+
264
+ # Question 2: Documentation requirements
265
+ if is_user_facing or ticket_type == "feature":
266
+ docs_question = (
267
+ QuestionBuilder()
268
+ .ask("What documentation is needed?")
269
+ .header("Docs")
270
+ .add_option(
271
+ "Full documentation",
272
+ "API docs, user guide, and code comments",
273
+ )
274
+ .add_option(
275
+ "API docs only",
276
+ "Document public interfaces and usage examples",
277
+ )
278
+ .add_option(
279
+ "Code comments",
280
+ "Inline comments for complex logic only",
281
+ )
282
+ .add_option(
283
+ "None",
284
+ "Code is self-documenting, no additional docs needed",
285
+ )
286
+ .build()
287
+ )
288
+ questions.append(docs_question)
289
+
290
+ return QuestionSet(questions)
291
+
292
+
293
+ class TicketDependencyTemplate(ConditionalTemplate):
294
+ """Template for handling ticket dependencies and blocking issues.
295
+
296
+ Asks about:
297
+ - How to handle blocked tickets
298
+ - Whether to wait or work around dependencies
299
+ - Parallel work strategies
300
+
301
+ Context Parameters:
302
+ blocked_tickets (int): Number of tickets currently blocked
303
+ blocking_type (str): Type of blocker (technical, external, approval)
304
+
305
+ Example:
306
+ >>> template = TicketDependencyTemplate(
307
+ ... blocked_tickets=2,
308
+ ... blocking_type="external"
309
+ ... )
310
+ >>> question_set = template.build()
311
+ """
312
+
313
+ def __init__(
314
+ self,
315
+ blocked_tickets: int = 0,
316
+ blocking_type: str | None = None,
317
+ **context,
318
+ ):
319
+ """Initialize ticket dependency template.
320
+
321
+ Args:
322
+ blocked_tickets: Number of blocked tickets
323
+ blocking_type: Type of blocker (technical, external, approval, etc.)
324
+ **context: Additional context values
325
+ """
326
+ super().__init__(
327
+ blocked_tickets=blocked_tickets, blocking_type=blocking_type, **context
328
+ )
329
+
330
+ def build(self) -> QuestionSet:
331
+ """Build dependency handling questions.
332
+
333
+ Returns:
334
+ QuestionSet with dependency questions
335
+ """
336
+ blocked_tickets = self.get_context("blocked_tickets", 0)
337
+ blocking_type = self.get_context("blocking_type")
338
+
339
+ questions: list[StructuredQuestion] = []
340
+
341
+ # Question about handling blockers
342
+ if blocked_tickets > 0:
343
+ if blocking_type == "external":
344
+ blocker_question = (
345
+ QuestionBuilder()
346
+ .ask("How should we handle external dependencies?")
347
+ .header("Blockers")
348
+ .add_option(
349
+ "Wait for unblock",
350
+ "Pause blocked tickets until external dependency resolves",
351
+ )
352
+ .add_option(
353
+ "Mock and continue",
354
+ "Create mocks/stubs to continue development",
355
+ )
356
+ .add_option(
357
+ "Work around",
358
+ "Find alternative implementation to avoid dependency",
359
+ )
360
+ .build()
361
+ )
362
+ else:
363
+ blocker_question = (
364
+ QuestionBuilder()
365
+ .ask("How should we handle blocked tickets?")
366
+ .header("Blockers")
367
+ .add_option(
368
+ "Resolve blockers first",
369
+ "Prioritize unblocking tickets before continuing",
370
+ )
371
+ .add_option(
372
+ "Parallel work",
373
+ "Work on unblocked tickets while resolving blockers",
374
+ )
375
+ .build()
376
+ )
377
+ questions.append(blocker_question)
378
+
379
+ # Default question if no specific blockers
380
+ if not questions:
381
+ dependency_question = (
382
+ QuestionBuilder()
383
+ .ask("How should we manage ticket dependencies?")
384
+ .header("Dependencies")
385
+ .add_option(
386
+ "Strict ordering",
387
+ "Maintain strict dependency order, wait for prerequisites",
388
+ )
389
+ .add_option(
390
+ "Flexible approach",
391
+ "Start dependent work in parallel with preparation work",
392
+ )
393
+ .build()
394
+ )
395
+ questions.append(dependency_question)
396
+
397
+ return QuestionSet(questions)
@@ -0,0 +1,224 @@
1
+ # SocketIO Debug Tool
2
+
3
+ A professional debugging tool for monitoring and analyzing SocketIO events in the claude-mpm dashboard.
4
+
5
+ ## Overview
6
+
7
+ The SocketIO debug tool is an essential utility for developers working on the claude-mpm dashboard. It provides real-time monitoring, filtering, and analysis of all SocketIO events flowing through the system.
8
+
9
+ ## Features
10
+
11
+ ### 🔍 Real-Time Event Monitoring
12
+ - Live streaming of all SocketIO events
13
+ - Color-coded output with event type icons
14
+ - Automatic reconnection with exponential backoff
15
+ - Connection health monitoring with latency tracking
16
+
17
+ ### 📊 Event Analysis
18
+ - Aggregated statistics and summaries
19
+ - Event rate calculation (events/second)
20
+ - Tool usage tracking
21
+ - Session monitoring and tracking
22
+ - Pattern detection for event bursts and gaps
23
+
24
+ ### 🎯 Flexible Display Modes
25
+ - **Live Mode** (default): Real-time scrolling event display
26
+ - **Summary Mode**: Aggregated statistics and counts
27
+ - **Raw Mode**: Unformatted JSON output for debugging
28
+ - **Pretty Mode**: Enhanced formatting with colors and icons
29
+ - **Filtered Mode**: Show only specific event types
30
+
31
+ ### 💾 Data Export
32
+ - Save events to JSONL format for analysis
33
+ - Quiet mode for background logging
34
+ - Configurable output paths
35
+
36
+ ## Installation
37
+
38
+ The tool is included with claude-mpm and requires no additional installation.
39
+
40
+ ## Usage
41
+
42
+ ### Basic Commands
43
+
44
+ ```bash
45
+ # Monitor all events in real-time
46
+ claude-mpm debug socketio
47
+
48
+ # Show event summary statistics
49
+ claude-mpm debug socketio --summary
50
+
51
+ # Filter specific event types
52
+ claude-mpm debug socketio --filter PreToolUse PostToolUse
53
+
54
+ # Save events to file
55
+ claude-mpm debug socketio --output events.jsonl
56
+
57
+ # Quiet mode for scripts
58
+ claude-mpm debug socketio --quiet --output events.jsonl
59
+ ```
60
+
61
+ ### Connection Options
62
+
63
+ ```bash
64
+ # Connect to specific server
65
+ claude-mpm debug socketio --host localhost --port 8765
66
+
67
+ # Configure reconnection
68
+ claude-mpm debug socketio --max-reconnect 20 --reconnect-delay 2.0
69
+ ```
70
+
71
+ ### Display Modes
72
+
73
+ ```bash
74
+ # Live monitoring (default)
75
+ claude-mpm debug socketio --live
76
+
77
+ # Statistical summary
78
+ claude-mpm debug socketio --summary
79
+
80
+ # Raw JSON output
81
+ claude-mpm debug socketio --raw
82
+
83
+ # Enhanced pretty output
84
+ claude-mpm debug socketio --pretty
85
+ ```
86
+
87
+ ## Output Format Examples
88
+
89
+ ### Live Mode Output
90
+ ```
91
+ ╭─────────────────────────────────────────╮
92
+ │ SocketIO Event Monitor v1.0 │
93
+ ├─────────────────────────────────────────┤
94
+ │ Server: localhost:8765 │
95
+ │ Status: ✅ Connected │
96
+ │ Latency: 12ms │
97
+ │ Uptime: 00:05:42 │
98
+ ╰─────────────────────────────────────────╯
99
+
100
+ [14:23:45.123] 🔧 PreToolUse
101
+ ├─ Tool: Read
102
+ ├─ Session: abc-123-def
103
+ └─ Args: {"file_path": "README.md"}
104
+
105
+ [14:23:46.456] ✅ PostToolUse
106
+ ├─ Tool: Read
107
+ ├─ Duration: 1.33s
108
+ └─ Success: true
109
+ ```
110
+
111
+ ### Summary Mode Output
112
+ ```
113
+ SOCKETIO EVENT MONITOR SUMMARY
114
+ =====================================
115
+ Server: localhost:8765
116
+ Status: ✅ Connected
117
+ Latency: 15ms
118
+ Uptime: 00:10:23
119
+ -------------------------------------
120
+ Total Events: 147
121
+ Events/Second: 2.4
122
+ Active Sessions: 3
123
+ -------------------------------------
124
+ Event Types:
125
+ PreToolUse: 42
126
+ PostToolUse: 41
127
+ SubagentStart: 18
128
+ SubagentStop: 17
129
+ -------------------------------------
130
+ Tool Usage:
131
+ Read: 31
132
+ Write: 22
133
+ Edit: 18
134
+ Task: 15
135
+ ```
136
+
137
+ ## Event Types
138
+
139
+ Common event types you'll encounter:
140
+
141
+ - **Start/Stop**: Main session lifecycle events
142
+ - **SubagentStart/SubagentStop**: Subagent delegation events
143
+ - **PreToolUse/PostToolUse**: Tool invocation tracking
144
+ - **MemoryUpdate**: Memory system changes
145
+ - **ConfigChange**: Configuration updates
146
+ - **Error/Warning**: System issues and alerts
147
+
148
+ ## Integration with Dashboard
149
+
150
+ The debug tool connects to the same SocketIO server as the dashboard, allowing you to:
151
+
152
+ 1. Monitor events while using the dashboard
153
+ 2. Debug event flow issues
154
+ 3. Verify event data structure
155
+ 4. Track performance metrics
156
+
157
+ ## Advanced Usage
158
+
159
+ ### Filtering Multiple Event Types
160
+ ```bash
161
+ claude-mpm debug socketio --filter Start Stop SubagentStart SubagentStop
162
+ ```
163
+
164
+ ### Combining with Other Tools
165
+ ```bash
166
+ # Monitor and analyze with jq
167
+ claude-mpm debug socketio --raw | jq '.data.tool'
168
+
169
+ # Save and analyze offline
170
+ claude-mpm debug socketio --output events.jsonl
171
+ cat events.jsonl | jq 'select(.type == "PreToolUse")'
172
+ ```
173
+
174
+ ### Background Monitoring
175
+ ```bash
176
+ # Run in background with output
177
+ nohup claude-mpm debug socketio --quiet --output /var/log/claude-events.jsonl &
178
+ ```
179
+
180
+ ## Troubleshooting
181
+
182
+ ### Connection Issues
183
+ - Ensure SocketIO server is running: `claude-mpm monitor status`
184
+ - Check port availability: `claude-mpm debug connections`
185
+ - Verify firewall settings for localhost connections
186
+
187
+ ### No Events Appearing
188
+ - Start a Claude session in another terminal: `claude-mpm run`
189
+ - Check server health: `claude-mpm debug connections --check-health`
190
+ - Verify event broadcasting is enabled
191
+
192
+ ### Performance Impact
193
+ The debug tool has minimal performance impact:
194
+ - Passive event listening only
195
+ - Efficient event processing
196
+ - Optional file writing in separate thread
197
+
198
+ ## Development
199
+
200
+ ### Extending the Tool
201
+
202
+ The tool is designed to be extensible. Key files:
203
+
204
+ - `/src/claude_mpm/tools/socketio_debug.py` - Main tool implementation
205
+ - `/src/claude_mpm/cli/commands/debug.py` - CLI command integration
206
+ - `/src/claude_mpm/cli/parsers/debug_parser.py` - Argument parsing
207
+
208
+ ### Adding New Features
209
+
210
+ 1. Event filtering by regex patterns
211
+ 2. Event replay from saved files
212
+ 3. Performance profiling integration
213
+ 4. Custom event handlers
214
+
215
+ ## Related Commands
216
+
217
+ - `claude-mpm monitor status` - Check SocketIO server status
218
+ - `claude-mpm monitor start` - Start SocketIO server
219
+ - `claude-mpm debug connections` - Show active connections
220
+ - `claude-mpm run --websocket` - Run with SocketIO enabled
221
+
222
+ ## Support
223
+
224
+ For issues or feature requests, please refer to the main claude-mpm documentation or submit an issue on the project repository.
@@ -173,14 +173,14 @@ def main():
173
173
  Code Analysis Summary
174
174
  =====================
175
175
  Path: {path}
176
- Files processed: {stats.get('files_processed', 0)}
177
- Total nodes: {stats.get('total_nodes', 0)}
178
- Classes: {stats.get('classes', 0)}
179
- Functions: {stats.get('functions', 0)}
180
- Imports: {stats.get('imports', 0)}
181
- Languages: {', '.join(stats.get('languages', []))}
182
- Average complexity: {stats.get('avg_complexity', 0):.2f}
183
- Duration: {stats.get('duration', 0):.2f}s
176
+ Files processed: {stats.get("files_processed", 0)}
177
+ Total nodes: {stats.get("total_nodes", 0)}
178
+ Classes: {stats.get("classes", 0)}
179
+ Functions: {stats.get("functions", 0)}
180
+ Imports: {stats.get("imports", 0)}
181
+ Languages: {", ".join(stats.get("languages", []))}
182
+ Average complexity: {stats.get("avg_complexity", 0):.2f}
183
+ Duration: {stats.get("duration", 0):.2f}s
184
184
  """
185
185
  if output_file:
186
186
  output_file.write(summary)
@@ -0,0 +1,64 @@
1
+ # Code Tree Analyzer Module
2
+
3
+ ## Overview
4
+
5
+ The Code Tree Analyzer provides AST-based analysis of source code files across multiple programming languages.
6
+
7
+ ## Architecture
8
+
9
+ This module has been refactored from a single 1,825-line file into focused, maintainable components:
10
+
11
+ ### Core Components
12
+
13
+ - **`core.py`** - Main CodeTreeAnalyzer orchestrator
14
+ - **`models.py`** - CodeNode data structure
15
+ - **`gitignore.py`** - GitignoreManager for pattern matching
16
+ - **`python_analyzer.py`** - Python AST analysis
17
+ - **`multilang_analyzer.py`** - Multi-language support via tree-sitter
18
+
19
+ ### Supporting Modules
20
+
21
+ - **`cache.py`** - Caching logic for analyzed files
22
+ - **`discovery.py`** - Directory traversal and file discovery
23
+ - **`events.py`** - Event emission for UI updates
24
+ - **`analysis.py`** - File analysis coordination
25
+
26
+ ## Design Principles
27
+
28
+ - **Single Responsibility**: Each module handles one clear concern
29
+ - **Backward Compatibility**: All existing imports work unchanged
30
+ - **Testability**: Isolated components are easier to test
31
+ - **Maintainability**: ~200-300 lines per file, well-documented
32
+
33
+ ## Usage
34
+
35
+ ```python
36
+ from claude_mpm.tools.code_tree_analyzer import CodeTreeAnalyzer, CodeNode
37
+
38
+ # Create analyzer
39
+ analyzer = CodeTreeAnalyzer(emit_events=True)
40
+
41
+ # Analyze directory
42
+ result = analyzer.analyze_directory(Path("/path/to/code"))
43
+
44
+ # Access results
45
+ print(result['stats'])
46
+ for node in result['nodes']:
47
+ print(f"{node.name} ({node.node_type})")
48
+ ```
49
+
50
+ ## Supported Languages
51
+
52
+ - Python (via AST module)
53
+ - JavaScript/TypeScript (via tree-sitter)
54
+ - Generic support for other languages
55
+
56
+ ## Event System
57
+
58
+ The analyzer emits real-time events during analysis:
59
+ - File discovery
60
+ - Analysis progress
61
+ - Node extraction
62
+ - Error handling
63
+
64
+ These events enable live UI updates in the dashboard.