claude-mpm 4.20.3__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 (454) hide show
  1. claude_mpm/VERSION +1 -1
  2. claude_mpm/agents/BASE_PM.md +23 -6
  3. claude_mpm/agents/OUTPUT_STYLE.md +3 -48
  4. claude_mpm/agents/PM_INSTRUCTIONS.md +1783 -34
  5. claude_mpm/agents/WORKFLOW.md +75 -2
  6. claude_mpm/agents/base_agent.json +6 -3
  7. claude_mpm/agents/frontmatter_validator.py +1 -1
  8. claude_mpm/agents/templates/api_qa.json +5 -2
  9. claude_mpm/agents/templates/circuit_breakers.md +108 -2
  10. claude_mpm/agents/templates/documentation.json +33 -6
  11. claude_mpm/agents/templates/javascript_engineer_agent.json +380 -0
  12. claude_mpm/agents/templates/php-engineer.json +10 -4
  13. claude_mpm/agents/templates/pm_red_flags.md +89 -19
  14. claude_mpm/agents/templates/project_organizer.json +7 -3
  15. claude_mpm/agents/templates/qa.json +2 -1
  16. claude_mpm/agents/templates/react_engineer.json +1 -0
  17. claude_mpm/agents/templates/research.json +82 -12
  18. claude_mpm/agents/templates/security.json +4 -4
  19. claude_mpm/agents/templates/tauri_engineer.json +274 -0
  20. claude_mpm/agents/templates/ticketing.json +10 -6
  21. claude_mpm/agents/templates/version_control.json +4 -2
  22. claude_mpm/agents/templates/web_qa.json +2 -1
  23. claude_mpm/cli/README.md +253 -0
  24. claude_mpm/cli/__init__.py +11 -1
  25. claude_mpm/cli/commands/aggregate.py +1 -1
  26. claude_mpm/cli/commands/analyze.py +3 -3
  27. claude_mpm/cli/commands/cleanup.py +1 -1
  28. claude_mpm/cli/commands/configure_agent_display.py +4 -4
  29. claude_mpm/cli/commands/debug.py +12 -12
  30. claude_mpm/cli/commands/hook_errors.py +277 -0
  31. claude_mpm/cli/commands/mcp_install_commands.py +1 -1
  32. claude_mpm/cli/commands/mcp_install_commands.py.backup +284 -0
  33. claude_mpm/cli/commands/mpm_init/README.md +365 -0
  34. claude_mpm/cli/commands/mpm_init/__init__.py +73 -0
  35. claude_mpm/cli/commands/mpm_init/core.py +573 -0
  36. claude_mpm/cli/commands/mpm_init/display.py +341 -0
  37. claude_mpm/cli/commands/mpm_init/git_activity.py +427 -0
  38. claude_mpm/cli/commands/mpm_init/modes.py +397 -0
  39. claude_mpm/cli/commands/mpm_init/prompts.py +442 -0
  40. claude_mpm/cli/commands/mpm_init_cli.py +396 -0
  41. claude_mpm/cli/commands/mpm_init_handler.py +67 -1
  42. claude_mpm/cli/commands/run.py +124 -128
  43. claude_mpm/cli/commands/skills.py +522 -34
  44. claude_mpm/cli/executor.py +56 -0
  45. claude_mpm/cli/interactive/agent_wizard.py +5 -5
  46. claude_mpm/cli/parsers/base_parser.py +28 -0
  47. claude_mpm/cli/parsers/mpm_init_parser.py +42 -0
  48. claude_mpm/cli/parsers/skills_parser.py +138 -0
  49. claude_mpm/cli/startup.py +111 -8
  50. claude_mpm/cli/startup_display.py +480 -0
  51. claude_mpm/cli/utils.py +1 -1
  52. claude_mpm/cli_module/commands.py +1 -1
  53. claude_mpm/cli_module/refactoring_guide.md +253 -0
  54. claude_mpm/commands/mpm-help.md +3 -0
  55. claude_mpm/commands/mpm-init.md +19 -3
  56. claude_mpm/commands/mpm-resume.md +372 -0
  57. claude_mpm/commands/mpm-tickets.md +56 -7
  58. claude_mpm/commands/mpm.md +1 -0
  59. claude_mpm/config/agent_capabilities.yaml +658 -0
  60. claude_mpm/config/async_logging_config.yaml +145 -0
  61. claude_mpm/constants.py +12 -0
  62. claude_mpm/core/.claude-mpm/logs/hooks_20250730.log +34 -0
  63. claude_mpm/core/api_validator.py +1 -1
  64. claude_mpm/core/claude_runner.py +14 -1
  65. claude_mpm/core/config.py +8 -0
  66. claude_mpm/core/constants.py +1 -1
  67. claude_mpm/core/framework/processors/metadata_processor.py +1 -1
  68. claude_mpm/core/hook_error_memory.py +381 -0
  69. claude_mpm/core/hook_manager.py +41 -2
  70. claude_mpm/core/interactive_session.py +48 -3
  71. claude_mpm/core/interfaces.py +56 -1
  72. claude_mpm/core/logger.py +3 -1
  73. claude_mpm/core/oneshot_session.py +39 -0
  74. claude_mpm/d2/.gitignore +22 -0
  75. claude_mpm/d2/ARCHITECTURE_COMPARISON.md +273 -0
  76. claude_mpm/d2/FLASK_INTEGRATION.md +156 -0
  77. claude_mpm/d2/IMPLEMENTATION_SUMMARY.md +452 -0
  78. claude_mpm/d2/QUICKSTART.md +186 -0
  79. claude_mpm/d2/README.md +232 -0
  80. claude_mpm/d2/STORE_FIX_SUMMARY.md +167 -0
  81. claude_mpm/d2/SVELTE5_STORES_GUIDE.md +180 -0
  82. claude_mpm/d2/TESTING.md +288 -0
  83. claude_mpm/d2/index.html +118 -0
  84. claude_mpm/d2/package.json +19 -0
  85. claude_mpm/d2/src/App.svelte +110 -0
  86. claude_mpm/d2/src/components/Header.svelte +153 -0
  87. claude_mpm/d2/src/components/MainContent.svelte +74 -0
  88. claude_mpm/d2/src/components/Sidebar.svelte +85 -0
  89. claude_mpm/d2/src/components/tabs/EventsTab.svelte +326 -0
  90. claude_mpm/d2/src/lib/socketio.js +144 -0
  91. claude_mpm/d2/src/main.js +7 -0
  92. claude_mpm/d2/src/stores/events.js +114 -0
  93. claude_mpm/d2/src/stores/socket.js +108 -0
  94. claude_mpm/d2/src/stores/theme.js +65 -0
  95. claude_mpm/d2/svelte.config.js +12 -0
  96. claude_mpm/d2/vite.config.js +15 -0
  97. claude_mpm/dashboard/.claude-mpm/memories/README.md +36 -0
  98. claude_mpm/dashboard/BUILD_NUMBER +1 -0
  99. claude_mpm/dashboard/README.md +121 -0
  100. claude_mpm/dashboard/VERSION +1 -0
  101. claude_mpm/dashboard/react/components/DataInspector/DataInspector.tsx +273 -0
  102. claude_mpm/dashboard/react/components/ErrorBoundary.tsx +75 -0
  103. claude_mpm/dashboard/react/components/EventViewer/EventViewer.tsx +141 -0
  104. claude_mpm/dashboard/react/components/shared/ConnectionStatus.tsx +36 -0
  105. claude_mpm/dashboard/react/components/shared/FilterBar.tsx +89 -0
  106. claude_mpm/dashboard/react/contexts/DashboardContext.tsx +215 -0
  107. claude_mpm/dashboard/react/entries/events.tsx +165 -0
  108. claude_mpm/dashboard/react/hooks/useEvents.ts +191 -0
  109. claude_mpm/dashboard/react/hooks/useSocket.ts +225 -0
  110. claude_mpm/dashboard/static/built/REFACTORING_SUMMARY.md +170 -0
  111. claude_mpm/dashboard/static/built/components/activity-tree.js.map +1 -0
  112. claude_mpm/dashboard/static/built/components/agent-hierarchy.js +101 -101
  113. claude_mpm/dashboard/static/built/components/agent-inference.js.map +1 -0
  114. claude_mpm/dashboard/static/built/components/build-tracker.js +59 -59
  115. claude_mpm/dashboard/static/built/components/code-simple.js +107 -107
  116. claude_mpm/dashboard/static/built/components/code-tree/tree-breadcrumb.js +29 -29
  117. claude_mpm/dashboard/static/built/components/code-tree/tree-constants.js +24 -24
  118. claude_mpm/dashboard/static/built/components/code-tree/tree-search.js +27 -27
  119. claude_mpm/dashboard/static/built/components/code-tree/tree-utils.js +25 -25
  120. claude_mpm/dashboard/static/built/components/code-tree.js.map +1 -0
  121. claude_mpm/dashboard/static/built/components/code-viewer.js.map +1 -0
  122. claude_mpm/dashboard/static/built/components/connection-debug.js +101 -101
  123. claude_mpm/dashboard/static/built/components/diff-viewer.js +113 -113
  124. claude_mpm/dashboard/static/built/components/event-processor.js.map +1 -0
  125. claude_mpm/dashboard/static/built/components/event-viewer.js.map +1 -0
  126. claude_mpm/dashboard/static/built/components/export-manager.js.map +1 -0
  127. claude_mpm/dashboard/static/built/components/file-change-tracker.js +57 -57
  128. claude_mpm/dashboard/static/built/components/file-change-viewer.js +74 -74
  129. claude_mpm/dashboard/static/built/components/file-tool-tracker.js.map +1 -0
  130. claude_mpm/dashboard/static/built/components/file-viewer.js.map +1 -0
  131. claude_mpm/dashboard/static/built/components/hud-library-loader.js.map +1 -0
  132. claude_mpm/dashboard/static/built/components/hud-manager.js.map +1 -0
  133. claude_mpm/dashboard/static/built/components/hud-visualizer.js.map +1 -0
  134. claude_mpm/dashboard/static/built/components/module-viewer.js.map +1 -0
  135. claude_mpm/dashboard/static/built/components/session-manager.js.map +1 -0
  136. claude_mpm/dashboard/static/built/components/socket-manager.js.map +1 -0
  137. claude_mpm/dashboard/static/built/components/ui-state-manager.js.map +1 -0
  138. claude_mpm/dashboard/static/built/components/unified-data-viewer.js.map +1 -0
  139. claude_mpm/dashboard/static/built/components/working-directory.js.map +1 -0
  140. claude_mpm/dashboard/static/built/connection-manager.js +76 -76
  141. claude_mpm/dashboard/static/built/dashboard.js.map +1 -0
  142. claude_mpm/dashboard/static/built/extension-error-handler.js +22 -22
  143. claude_mpm/dashboard/static/built/react/events.js.map +1 -0
  144. claude_mpm/dashboard/static/built/shared/dom-helpers.js +9 -9
  145. claude_mpm/dashboard/static/built/shared/event-bus.js +5 -5
  146. claude_mpm/dashboard/static/built/shared/logger.js +16 -16
  147. claude_mpm/dashboard/static/built/shared/tooltip-service.js +6 -6
  148. claude_mpm/dashboard/static/built/socket-client.js.map +1 -0
  149. claude_mpm/dashboard/static/css/activity.css +69 -69
  150. claude_mpm/dashboard/static/css/connection-status.css +10 -10
  151. claude_mpm/dashboard/static/css/dashboard.css +15 -15
  152. claude_mpm/dashboard/static/index.html +22 -22
  153. claude_mpm/dashboard/static/js/REFACTORING_SUMMARY.md +170 -0
  154. claude_mpm/dashboard/static/js/components/activity-tree.js +178 -178
  155. claude_mpm/dashboard/static/js/components/agent-hierarchy.js +101 -101
  156. claude_mpm/dashboard/static/js/components/agent-inference.js +31 -31
  157. claude_mpm/dashboard/static/js/components/build-tracker.js +59 -59
  158. claude_mpm/dashboard/static/js/components/code-simple.js +107 -107
  159. claude_mpm/dashboard/static/js/components/connection-debug.js +101 -101
  160. claude_mpm/dashboard/static/js/components/diff-viewer.js +113 -113
  161. claude_mpm/dashboard/static/js/components/event-viewer.js +12 -12
  162. claude_mpm/dashboard/static/js/components/file-change-tracker.js +57 -57
  163. claude_mpm/dashboard/static/js/components/file-change-viewer.js +74 -74
  164. claude_mpm/dashboard/static/js/components/file-tool-tracker.js +6 -6
  165. claude_mpm/dashboard/static/js/components/file-viewer.js +42 -42
  166. claude_mpm/dashboard/static/js/components/module-viewer.js +27 -27
  167. claude_mpm/dashboard/static/js/components/session-manager.js +14 -14
  168. claude_mpm/dashboard/static/js/components/socket-manager.js +1 -1
  169. claude_mpm/dashboard/static/js/components/ui-state-manager.js +14 -14
  170. claude_mpm/dashboard/static/js/components/unified-data-viewer.js +110 -110
  171. claude_mpm/dashboard/static/js/components/working-directory.js +8 -8
  172. claude_mpm/dashboard/static/js/connection-manager.js +76 -76
  173. claude_mpm/dashboard/static/js/dashboard.js +76 -58
  174. claude_mpm/dashboard/static/js/extension-error-handler.js +22 -22
  175. claude_mpm/dashboard/static/js/shared/dom-helpers.js +9 -9
  176. claude_mpm/dashboard/static/js/shared/event-bus.js +5 -5
  177. claude_mpm/dashboard/static/js/shared/logger.js +16 -16
  178. claude_mpm/dashboard/static/js/shared/tooltip-service.js +6 -6
  179. claude_mpm/dashboard/static/js/socket-client.js +138 -121
  180. claude_mpm/dashboard/static/navigation-test-results.md +118 -0
  181. claude_mpm/dashboard/static/production/main.html +21 -21
  182. claude_mpm/dashboard/static/test-archive/dashboard.html +22 -22
  183. claude_mpm/dashboard/templates/.claude-mpm/memories/README.md +36 -0
  184. claude_mpm/dashboard/templates/.claude-mpm/memories/engineer_agent.md +39 -0
  185. claude_mpm/dashboard/templates/.claude-mpm/memories/version_control_agent.md +38 -0
  186. claude_mpm/dashboard/templates/code_simple.html +23 -23
  187. claude_mpm/dashboard/templates/index.html +18 -18
  188. claude_mpm/hooks/README.md +143 -0
  189. claude_mpm/hooks/claude_hooks/event_handlers.py +3 -1
  190. claude_mpm/hooks/claude_hooks/hook_handler.py +24 -7
  191. claude_mpm/hooks/claude_hooks/installer.py +45 -0
  192. claude_mpm/hooks/templates/README.md +180 -0
  193. claude_mpm/hooks/templates/pre_tool_use_simple.py +78 -0
  194. claude_mpm/hooks/templates/pre_tool_use_template.py +323 -0
  195. claude_mpm/hooks/templates/settings.json.example +147 -0
  196. claude_mpm/schemas/agent_schema.json +596 -0
  197. claude_mpm/schemas/frontmatter_schema.json +165 -0
  198. claude_mpm/scripts/claude-hook-handler.sh +3 -3
  199. claude_mpm/scripts/start_activity_logging.py +3 -1
  200. claude_mpm/services/agents/deployment/agent_format_converter.py +1 -1
  201. claude_mpm/services/agents/deployment/agent_metrics_collector.py +3 -3
  202. claude_mpm/services/agents/deployment/facade/deployment_facade.py +3 -3
  203. claude_mpm/services/agents/deployment/pipeline/pipeline_executor.py +2 -2
  204. claude_mpm/services/agents/loading/framework_agent_loader.py +8 -8
  205. claude_mpm/services/agents/local_template_manager.py +3 -1
  206. claude_mpm/services/cli/session_pause_manager.py +504 -0
  207. claude_mpm/services/cli/session_resume_helper.py +36 -16
  208. claude_mpm/services/cli/unified_dashboard_manager.py +1 -1
  209. claude_mpm/services/core/base.py +26 -11
  210. claude_mpm/services/core/interfaces.py +56 -1
  211. claude_mpm/services/core/models/agent_config.py +3 -0
  212. claude_mpm/services/core/models/process.py +4 -0
  213. claude_mpm/services/diagnostics/checks/agent_check.py +0 -2
  214. claude_mpm/services/diagnostics/checks/instructions_check.py +1 -2
  215. claude_mpm/services/diagnostics/checks/mcp_check.py +0 -1
  216. claude_mpm/services/diagnostics/checks/monitor_check.py +0 -1
  217. claude_mpm/services/diagnostics/doctor_reporter.py +6 -4
  218. claude_mpm/services/diagnostics/models.py +21 -0
  219. claude_mpm/services/event_bus/README.md +244 -0
  220. claude_mpm/services/event_bus/direct_relay.py +3 -3
  221. claude_mpm/services/event_bus/event_bus.py +36 -3
  222. claude_mpm/services/event_bus/relay.py +23 -7
  223. claude_mpm/services/events/README.md +303 -0
  224. claude_mpm/services/events/consumers/logging.py +1 -2
  225. claude_mpm/services/framework_claude_md_generator/README.md +119 -0
  226. claude_mpm/services/infrastructure/monitoring/resources.py +1 -1
  227. claude_mpm/services/local_ops/__init__.py +2 -0
  228. claude_mpm/services/local_ops/process_manager.py +1 -1
  229. claude_mpm/services/local_ops/resource_monitor.py +2 -2
  230. claude_mpm/services/mcp_gateway/README.md +185 -0
  231. claude_mpm/services/mcp_gateway/auto_configure.py +31 -25
  232. claude_mpm/services/mcp_gateway/config/configuration.py +1 -1
  233. claude_mpm/services/mcp_gateway/core/process_pool.py +19 -10
  234. claude_mpm/services/mcp_gateway/server/stdio_server.py +0 -2
  235. claude_mpm/services/mcp_gateway/tools/document_summarizer.py +1 -1
  236. claude_mpm/services/mcp_gateway/tools/external_mcp_services.py +26 -21
  237. claude_mpm/services/mcp_gateway/tools/kuzu_memory_service.py +6 -2
  238. claude_mpm/services/memory/failure_tracker.py +19 -4
  239. claude_mpm/services/memory/optimizer.py +1 -1
  240. claude_mpm/services/model/model_router.py +8 -9
  241. claude_mpm/services/monitor/daemon.py +1 -1
  242. claude_mpm/services/monitor/server.py +2 -2
  243. claude_mpm/services/native_agent_converter.py +356 -0
  244. claude_mpm/services/port_manager.py +1 -1
  245. claude_mpm/services/project/documentation_manager.py +2 -1
  246. claude_mpm/services/project/toolchain_analyzer.py +3 -1
  247. claude_mpm/services/runner_configuration_service.py +1 -0
  248. claude_mpm/services/self_upgrade_service.py +165 -7
  249. claude_mpm/services/skills_config.py +547 -0
  250. claude_mpm/services/skills_deployer.py +955 -0
  251. claude_mpm/services/socketio/handlers/connection.py +1 -1
  252. claude_mpm/services/socketio/handlers/connection.py.backup +217 -0
  253. claude_mpm/services/socketio/handlers/git.py +2 -2
  254. claude_mpm/services/socketio/handlers/hook.py.backup +154 -0
  255. claude_mpm/services/static/.gitkeep +2 -0
  256. claude_mpm/services/system_instructions_service.py +1 -3
  257. claude_mpm/services/unified/analyzer_strategies/performance_analyzer.py +0 -3
  258. claude_mpm/services/unified/analyzer_strategies/security_analyzer.py +0 -1
  259. claude_mpm/services/unified/deployment_strategies/cloud_strategies.py +1 -1
  260. claude_mpm/services/version_control/VERSION +1 -0
  261. claude_mpm/services/version_control/conflict_resolution.py +6 -4
  262. claude_mpm/services/visualization/mermaid_generator.py +2 -3
  263. claude_mpm/skills/__init__.py +3 -3
  264. claude_mpm/skills/agent_skills_injector.py +42 -49
  265. claude_mpm/skills/bundled/.gitkeep +2 -0
  266. claude_mpm/skills/bundled/collaboration/brainstorming/SKILL.md +4 -0
  267. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/SKILL.md +108 -114
  268. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/agent-prompts.md +577 -0
  269. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/coordination-patterns.md +467 -0
  270. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/examples.md +537 -0
  271. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/troubleshooting.md +730 -0
  272. claude_mpm/skills/bundled/collaboration/git-worktrees.md +317 -0
  273. claude_mpm/skills/bundled/collaboration/requesting-code-review/SKILL.md +46 -41
  274. claude_mpm/skills/bundled/collaboration/requesting-code-review/references/review-examples.md +412 -0
  275. claude_mpm/skills/bundled/collaboration/stacked-prs.md +251 -0
  276. claude_mpm/skills/bundled/collaboration/writing-plans/SKILL.md +36 -73
  277. claude_mpm/skills/bundled/collaboration/writing-plans/references/best-practices.md +362 -0
  278. claude_mpm/skills/bundled/collaboration/writing-plans/references/plan-structure-templates.md +312 -0
  279. claude_mpm/skills/bundled/debugging/root-cause-tracing/SKILL.md +100 -125
  280. claude_mpm/skills/bundled/debugging/root-cause-tracing/find-polluter.sh +63 -0
  281. claude_mpm/skills/bundled/debugging/root-cause-tracing/references/advanced-techniques.md +668 -0
  282. claude_mpm/skills/bundled/debugging/root-cause-tracing/references/examples.md +587 -0
  283. claude_mpm/skills/bundled/debugging/root-cause-tracing/references/integration.md +438 -0
  284. claude_mpm/skills/bundled/debugging/root-cause-tracing/references/tracing-techniques.md +391 -0
  285. claude_mpm/skills/bundled/debugging/verification-before-completion/SKILL.md +28 -72
  286. claude_mpm/skills/bundled/debugging/verification-before-completion/references/gate-function.md +11 -0
  287. claude_mpm/skills/bundled/debugging/verification-before-completion/references/integration-and-workflows.md +490 -0
  288. claude_mpm/skills/bundled/debugging/verification-before-completion/references/red-flags-and-failures.md +425 -0
  289. claude_mpm/skills/bundled/debugging/verification-before-completion/references/verification-patterns.md +272 -0
  290. claude_mpm/skills/bundled/infrastructure/env-manager/INTEGRATION.md +611 -0
  291. claude_mpm/skills/bundled/infrastructure/env-manager/README.md +596 -0
  292. claude_mpm/skills/bundled/infrastructure/env-manager/SKILL.md +260 -0
  293. claude_mpm/skills/bundled/infrastructure/env-manager/examples/nextjs-env-structure.md +315 -0
  294. claude_mpm/skills/bundled/infrastructure/env-manager/references/frameworks.md +436 -0
  295. claude_mpm/skills/bundled/infrastructure/env-manager/references/security.md +433 -0
  296. claude_mpm/skills/bundled/infrastructure/env-manager/references/synchronization.md +452 -0
  297. claude_mpm/skills/bundled/infrastructure/env-manager/references/troubleshooting.md +404 -0
  298. claude_mpm/skills/bundled/infrastructure/env-manager/references/validation.md +420 -0
  299. claude_mpm/skills/bundled/infrastructure/env-manager/scripts/validate_env.py +576 -0
  300. claude_mpm/skills/bundled/main/artifacts-builder/LICENSE.txt +202 -0
  301. claude_mpm/skills/bundled/main/artifacts-builder/SKILL.md +13 -1
  302. claude_mpm/skills/bundled/main/artifacts-builder/scripts/bundle-artifact.sh +54 -0
  303. claude_mpm/skills/bundled/main/artifacts-builder/scripts/init-artifact.sh +322 -0
  304. claude_mpm/skills/bundled/main/artifacts-builder/scripts/shadcn-components.tar.gz +0 -0
  305. claude_mpm/skills/bundled/main/internal-comms/LICENSE.txt +202 -0
  306. claude_mpm/skills/bundled/main/internal-comms/SKILL.md +11 -0
  307. claude_mpm/skills/bundled/main/mcp-builder/LICENSE.txt +202 -0
  308. claude_mpm/skills/bundled/main/mcp-builder/SKILL.md +109 -277
  309. claude_mpm/skills/bundled/main/mcp-builder/reference/design_principles.md +412 -0
  310. claude_mpm/skills/bundled/main/mcp-builder/reference/workflow.md +1237 -0
  311. claude_mpm/skills/bundled/main/mcp-builder/scripts/connections.py +17 -10
  312. claude_mpm/skills/bundled/main/mcp-builder/scripts/evaluation.py +92 -39
  313. claude_mpm/skills/bundled/main/mcp-builder/scripts/example_evaluation.xml +22 -0
  314. claude_mpm/skills/bundled/main/mcp-builder/scripts/requirements.txt +2 -0
  315. claude_mpm/skills/bundled/main/skill-creator/LICENSE.txt +202 -0
  316. claude_mpm/skills/bundled/main/skill-creator/SKILL.md +135 -155
  317. claude_mpm/skills/bundled/main/skill-creator/references/best-practices.md +500 -0
  318. claude_mpm/skills/bundled/main/skill-creator/references/creation-workflow.md +464 -0
  319. claude_mpm/skills/bundled/main/skill-creator/references/examples.md +619 -0
  320. claude_mpm/skills/bundled/main/skill-creator/references/progressive-disclosure.md +437 -0
  321. claude_mpm/skills/bundled/main/skill-creator/references/skill-structure.md +231 -0
  322. claude_mpm/skills/bundled/main/skill-creator/scripts/init_skill.py +13 -12
  323. claude_mpm/skills/bundled/main/skill-creator/scripts/package_skill.py +5 -3
  324. claude_mpm/skills/bundled/main/skill-creator/scripts/quick_validate.py +19 -12
  325. claude_mpm/skills/bundled/performance-profiling.md +6 -0
  326. claude_mpm/skills/bundled/php/espocrm-development/SKILL.md +170 -0
  327. claude_mpm/skills/bundled/php/espocrm-development/references/architecture.md +602 -0
  328. claude_mpm/skills/bundled/php/espocrm-development/references/common-tasks.md +821 -0
  329. claude_mpm/skills/bundled/php/espocrm-development/references/development-workflow.md +742 -0
  330. claude_mpm/skills/bundled/php/espocrm-development/references/frontend-customization.md +726 -0
  331. claude_mpm/skills/bundled/php/espocrm-development/references/hooks-and-services.md +764 -0
  332. claude_mpm/skills/bundled/php/espocrm-development/references/testing-debugging.md +831 -0
  333. claude_mpm/skills/bundled/react/flexlayout-react.md +742 -0
  334. claude_mpm/skills/bundled/rust/desktop-applications/SKILL.md +226 -0
  335. claude_mpm/skills/bundled/rust/desktop-applications/references/architecture-patterns.md +901 -0
  336. claude_mpm/skills/bundled/rust/desktop-applications/references/native-gui-frameworks.md +901 -0
  337. claude_mpm/skills/bundled/rust/desktop-applications/references/platform-integration.md +775 -0
  338. claude_mpm/skills/bundled/rust/desktop-applications/references/state-management.md +937 -0
  339. claude_mpm/skills/bundled/rust/desktop-applications/references/tauri-framework.md +770 -0
  340. claude_mpm/skills/bundled/rust/desktop-applications/references/testing-deployment.md +961 -0
  341. claude_mpm/skills/bundled/tauri/tauri-async-patterns.md +495 -0
  342. claude_mpm/skills/bundled/tauri/tauri-build-deploy.md +599 -0
  343. claude_mpm/skills/bundled/tauri/tauri-command-patterns.md +535 -0
  344. claude_mpm/skills/bundled/tauri/tauri-error-handling.md +613 -0
  345. claude_mpm/skills/bundled/tauri/tauri-event-system.md +648 -0
  346. claude_mpm/skills/bundled/tauri/tauri-file-system.md +673 -0
  347. claude_mpm/skills/bundled/tauri/tauri-frontend-integration.md +767 -0
  348. claude_mpm/skills/bundled/tauri/tauri-performance.md +669 -0
  349. claude_mpm/skills/bundled/tauri/tauri-state-management.md +573 -0
  350. claude_mpm/skills/bundled/tauri/tauri-testing.md +384 -0
  351. claude_mpm/skills/bundled/tauri/tauri-window-management.md +628 -0
  352. claude_mpm/skills/bundled/testing/condition-based-waiting/SKILL.md +21 -25
  353. claude_mpm/skills/bundled/testing/condition-based-waiting/example.ts +158 -0
  354. claude_mpm/skills/bundled/testing/condition-based-waiting/references/patterns-and-implementation.md +253 -0
  355. claude_mpm/skills/bundled/testing/test-quality-inspector/SKILL.md +458 -0
  356. claude_mpm/skills/bundled/testing/test-quality-inspector/examples/example-inspection-report.md +411 -0
  357. claude_mpm/skills/bundled/testing/test-quality-inspector/references/assertion-quality.md +317 -0
  358. claude_mpm/skills/bundled/testing/test-quality-inspector/references/inspection-checklist.md +270 -0
  359. claude_mpm/skills/bundled/testing/test-quality-inspector/references/red-flags.md +436 -0
  360. claude_mpm/skills/bundled/testing/testing-anti-patterns/SKILL.md +86 -250
  361. claude_mpm/skills/bundled/testing/testing-anti-patterns/references/completeness-anti-patterns.md +572 -0
  362. claude_mpm/skills/bundled/testing/testing-anti-patterns/references/core-anti-patterns.md +411 -0
  363. claude_mpm/skills/bundled/testing/testing-anti-patterns/references/detection-guide.md +569 -0
  364. claude_mpm/skills/bundled/testing/testing-anti-patterns/references/tdd-connection.md +695 -0
  365. claude_mpm/skills/bundled/testing/webapp-testing/LICENSE.txt +202 -0
  366. claude_mpm/skills/bundled/testing/webapp-testing/SKILL.md +145 -57
  367. claude_mpm/skills/bundled/testing/webapp-testing/decision-tree.md +459 -0
  368. claude_mpm/skills/bundled/testing/webapp-testing/examples/console_logging.py +6 -6
  369. claude_mpm/skills/bundled/testing/webapp-testing/examples/element_discovery.py +13 -9
  370. claude_mpm/skills/bundled/testing/webapp-testing/examples/static_html_automation.py +8 -8
  371. claude_mpm/skills/bundled/testing/webapp-testing/playwright-patterns.md +479 -0
  372. claude_mpm/skills/bundled/testing/webapp-testing/reconnaissance-pattern.md +687 -0
  373. claude_mpm/skills/bundled/testing/webapp-testing/scripts/with_server.py +37 -15
  374. claude_mpm/skills/bundled/testing/webapp-testing/server-management.md +758 -0
  375. claude_mpm/skills/bundled/testing/webapp-testing/troubleshooting.md +868 -0
  376. claude_mpm/skills/skills_registry.py +44 -48
  377. claude_mpm/skills/skills_service.py +117 -108
  378. claude_mpm/templates/questions/EXAMPLES.md +501 -0
  379. claude_mpm/templates/questions/__init__.py +43 -0
  380. claude_mpm/templates/questions/base.py +193 -0
  381. claude_mpm/templates/questions/pr_strategy.py +314 -0
  382. claude_mpm/templates/questions/project_init.py +388 -0
  383. claude_mpm/templates/questions/ticket_mgmt.py +397 -0
  384. claude_mpm/tools/README_SOCKETIO_DEBUG.md +224 -0
  385. claude_mpm/tools/__main__.py +8 -8
  386. claude_mpm/tools/code_tree_analyzer/README.md +64 -0
  387. claude_mpm/tools/code_tree_analyzer/__init__.py +45 -0
  388. claude_mpm/tools/code_tree_analyzer/analysis.py +299 -0
  389. claude_mpm/tools/code_tree_analyzer/cache.py +131 -0
  390. claude_mpm/tools/code_tree_analyzer/core.py +380 -0
  391. claude_mpm/tools/code_tree_analyzer/discovery.py +403 -0
  392. claude_mpm/tools/code_tree_analyzer/events.py +168 -0
  393. claude_mpm/tools/code_tree_analyzer/gitignore.py +308 -0
  394. claude_mpm/tools/code_tree_analyzer/models.py +39 -0
  395. claude_mpm/tools/code_tree_analyzer/multilang_analyzer.py +224 -0
  396. claude_mpm/tools/code_tree_analyzer/python_analyzer.py +284 -0
  397. claude_mpm/utils/agent_dependency_loader.py +3 -3
  398. claude_mpm/utils/dependency_cache.py +3 -1
  399. claude_mpm/utils/gitignore.py +241 -0
  400. claude_mpm/utils/log_cleanup.py +3 -3
  401. claude_mpm/utils/robust_installer.py +3 -5
  402. claude_mpm/utils/structured_questions.py +619 -0
  403. {claude_mpm-4.20.3.dist-info → claude_mpm-4.25.10.dist-info}/METADATA +218 -31
  404. {claude_mpm-4.20.3.dist-info → claude_mpm-4.25.10.dist-info}/RECORD +409 -246
  405. claude_mpm/agents/templates/.claude-mpm/memories/README.md +0 -17
  406. claude_mpm/agents/templates/.claude-mpm/memories/engineer_memories.md +0 -3
  407. claude_mpm/agents/templates/logs/prompts/agent_engineer_20250826_014258_728.md +0 -39
  408. claude_mpm/agents/templates/logs/prompts/agent_engineer_20250901_010124_142.md +0 -400
  409. claude_mpm/cli/commands/mpm_init.py +0 -2093
  410. claude_mpm/dashboard/.claude-mpm/socketio-instances.json +0 -1
  411. claude_mpm/dashboard/static/archive/activity_dashboard_test.html +0 -61
  412. claude_mpm/dashboard/static/archive/test_activity_connection.html +0 -179
  413. claude_mpm/dashboard/static/archive/test_claude_tree_tab.html +0 -68
  414. claude_mpm/dashboard/static/archive/test_dashboard.html +0 -409
  415. claude_mpm/dashboard/static/archive/test_dashboard_fixed.html +0 -519
  416. claude_mpm/dashboard/static/archive/test_dashboard_verification.html +0 -181
  417. claude_mpm/dashboard/static/archive/test_file_data.html +0 -315
  418. claude_mpm/dashboard/static/archive/test_file_tree_empty_state.html +0 -243
  419. claude_mpm/dashboard/static/archive/test_file_tree_fix.html +0 -234
  420. claude_mpm/dashboard/static/archive/test_file_tree_rename.html +0 -117
  421. claude_mpm/dashboard/static/archive/test_file_tree_tab.html +0 -115
  422. claude_mpm/dashboard/static/archive/test_file_viewer.html +0 -224
  423. claude_mpm/dashboard/static/archive/test_final_activity.html +0 -220
  424. claude_mpm/dashboard/static/archive/test_tab_fix.html +0 -139
  425. claude_mpm/dashboard/static/dist/assets/events.DjpNxWNo.css +0 -1
  426. claude_mpm/dashboard/static/dist/components/activity-tree.js +0 -2
  427. claude_mpm/dashboard/static/dist/components/agent-inference.js +0 -2
  428. claude_mpm/dashboard/static/dist/components/code-tree.js +0 -2
  429. claude_mpm/dashboard/static/dist/components/code-viewer.js +0 -2
  430. claude_mpm/dashboard/static/dist/components/event-processor.js +0 -2
  431. claude_mpm/dashboard/static/dist/components/event-viewer.js +0 -2
  432. claude_mpm/dashboard/static/dist/components/export-manager.js +0 -2
  433. claude_mpm/dashboard/static/dist/components/file-tool-tracker.js +0 -2
  434. claude_mpm/dashboard/static/dist/components/file-viewer.js +0 -2
  435. claude_mpm/dashboard/static/dist/components/hud-library-loader.js +0 -2
  436. claude_mpm/dashboard/static/dist/components/hud-manager.js +0 -2
  437. claude_mpm/dashboard/static/dist/components/hud-visualizer.js +0 -2
  438. claude_mpm/dashboard/static/dist/components/module-viewer.js +0 -2
  439. claude_mpm/dashboard/static/dist/components/session-manager.js +0 -2
  440. claude_mpm/dashboard/static/dist/components/socket-manager.js +0 -2
  441. claude_mpm/dashboard/static/dist/components/ui-state-manager.js +0 -2
  442. claude_mpm/dashboard/static/dist/components/unified-data-viewer.js +0 -2
  443. claude_mpm/dashboard/static/dist/components/working-directory.js +0 -2
  444. claude_mpm/dashboard/static/dist/dashboard.js +0 -2
  445. claude_mpm/dashboard/static/dist/react/events.js +0 -30
  446. claude_mpm/dashboard/static/dist/socket-client.js +0 -2
  447. claude_mpm/dashboard/static/test-archive/test_debug.html +0 -25
  448. claude_mpm/skills/bundled/debugging/verification-before-completion/references/common-failures.md +0 -213
  449. claude_mpm/tools/code_tree_analyzer.py +0 -1825
  450. /claude_mpm/skills/bundled/collaboration/requesting-code-review/{code-reviewer.md → references/code-reviewer-template.md} +0 -0
  451. {claude_mpm-4.20.3.dist-info → claude_mpm-4.25.10.dist-info}/WHEEL +0 -0
  452. {claude_mpm-4.20.3.dist-info → claude_mpm-4.25.10.dist-info}/entry_points.txt +0 -0
  453. {claude_mpm-4.20.3.dist-info → claude_mpm-4.25.10.dist-info}/licenses/LICENSE +0 -0
  454. {claude_mpm-4.20.3.dist-info → claude_mpm-4.25.10.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,253 @@
1
+ # CLI Refactoring Guide
2
+
3
+ This guide shows how to refactor the main() function in `/src/claude_mpm/cli.py` to reduce complexity from 16 to under 10.
4
+
5
+ ## Current Issues
6
+
7
+ 1. **High Cyclomatic Complexity (16)**
8
+ - Multiple nested conditionals
9
+ - Duplicate argument definitions
10
+ - Mixed concerns in one function
11
+
12
+ 2. **Code Duplication**
13
+ - Arguments defined twice (global level + run subcommand)
14
+ - Similar patterns repeated for each command
15
+
16
+ 3. **Poor Maintainability**
17
+ - Adding new commands requires multiple changes
18
+ - Hard to test individual components
19
+
20
+ ## Refactoring Steps
21
+
22
+ ### Step 1: Update imports in cli.py
23
+
24
+ ```python
25
+ # Add to imports
26
+ from .cli import ArgumentRegistry, CommandRegistry, register_standard_commands
27
+ ```
28
+
29
+ ### Step 2: Replace main() function
30
+
31
+ Replace the entire `main()` function with:
32
+
33
+ ```python
34
+ def main(argv: Optional[list] = None):
35
+ """Main CLI entry point with reduced complexity."""
36
+ # Initialize registries
37
+ arg_registry = ArgumentRegistry()
38
+ cmd_registry = CommandRegistry(arg_registry)
39
+
40
+ # Register standard commands
41
+ register_standard_commands(cmd_registry)
42
+
43
+ # Create parser
44
+ parser = argparse.ArgumentParser(
45
+ prog="claude-mpm",
46
+ description=f"Claude Multi-Agent Project Manager v{__version__}",
47
+ epilog="By default, runs an orchestrated Claude session."
48
+ )
49
+
50
+ # Store version for ArgumentRegistry
51
+ parser._version = f"claude-mpm {__version__}"
52
+
53
+ # Apply global arguments
54
+ arg_registry.apply_arguments(parser, groups=['global'])
55
+
56
+ # Apply run arguments at top level (for default behavior)
57
+ arg_registry.apply_arguments(parser, groups=['run'], exclude=['no_hooks'])
58
+
59
+ # Set up subcommands
60
+ cmd_registry.setup_subcommands(parser)
61
+
62
+ # Parse arguments
63
+ args = parser.parse_args(argv)
64
+
65
+ # Set up logging
66
+ _setup_logging(args)
67
+
68
+ # Initialize hook service
69
+ hook_manager = _initialize_hook_service(args)
70
+
71
+ try:
72
+ # Execute command
73
+ result = cmd_registry.execute_command(args, hook_manager=hook_manager)
74
+ if result is None and not args.command:
75
+ parser.print_help()
76
+ return 1
77
+ return result or 0
78
+
79
+ except KeyboardInterrupt:
80
+ get_logger("cli").info("Session interrupted by user")
81
+ return 0
82
+ except Exception as e:
83
+ logger = get_logger("cli")
84
+ logger.error(f"Error: {e}")
85
+ if args.debug:
86
+ import traceback
87
+ traceback.print_exc()
88
+ return 1
89
+ finally:
90
+ if hook_manager:
91
+ hook_manager.stop_service()
92
+ ```
93
+
94
+ ### Step 3: Extract helper functions
95
+
96
+ Add these helper functions after main():
97
+
98
+ ```python
99
+ def _setup_logging(args):
100
+ """Set up logging based on arguments."""
101
+ if args.debug and args.logging == "OFF":
102
+ args.logging = "DEBUG"
103
+
104
+ if args.logging != "OFF":
105
+ setup_logging(level=args.logging, log_dir=args.log_dir)
106
+ else:
107
+ import logging
108
+ logger = logging.getLogger("cli")
109
+ logger.setLevel(logging.WARNING)
110
+
111
+
112
+ def _initialize_hook_service(args):
113
+ """Initialize hook service if enabled."""
114
+ if getattr(args, 'no_hooks', False):
115
+ return None
116
+
117
+ try:
118
+ from .config.hook_config import HookConfig
119
+
120
+ if not HookConfig.is_hooks_enabled():
121
+ get_logger("cli").info("Hooks disabled via configuration")
122
+ return None
123
+
124
+ hook_manager = HookServiceManager(log_dir=args.log_dir)
125
+ if hook_manager.start_service():
126
+ logger = get_logger("cli")
127
+ logger.info(f"Hook service started on port {hook_manager.port}")
128
+ print(f"Hook service started on port {hook_manager.port}")
129
+ return hook_manager
130
+ else:
131
+ logger = get_logger("cli")
132
+ logger.warning("Failed to start hook service")
133
+ print("Failed to start hook service, continuing without hooks")
134
+ return None
135
+
136
+ except Exception as e:
137
+ get_logger("cli").warning(f"Hook service init failed: {e}")
138
+ return None
139
+ ```
140
+
141
+ ### Step 4: Update command handler signatures
142
+
143
+ Ensure all command handlers accept `**kwargs`:
144
+
145
+ ```python
146
+ def run_session(args, hook_manager=None, **kwargs):
147
+ """Run an orchestrated Claude session."""
148
+ # ... existing implementation
149
+
150
+ def list_tickets(args, **kwargs):
151
+ """List recent tickets."""
152
+ # ... existing implementation
153
+
154
+ def show_info(args, hook_manager=None, **kwargs):
155
+ """Show framework and configuration information."""
156
+ # ... existing implementation
157
+ ```
158
+
159
+ ## Benefits Achieved
160
+
161
+ ### Complexity Reduction
162
+ - **Before**: Cyclomatic complexity of 16
163
+ - **After**: Cyclomatic complexity of ~8
164
+
165
+ ### Code Organization
166
+ - Centralized argument definitions
167
+ - No duplicate argument definitions
168
+ - Clear separation of concerns
169
+ - Easier to add new commands
170
+
171
+ ### Maintainability
172
+ - New commands can be added with a single `register()` call
173
+ - Arguments are defined once and reused
174
+ - Helper functions are testable in isolation
175
+ - Registry pattern allows for extension
176
+
177
+ ## Adding New Commands
178
+
179
+ With the registry system, adding a new command is simple:
180
+
181
+ ```python
182
+ # In your code or plugin
183
+ def my_command(args, **kwargs):
184
+ """Implementation of your command."""
185
+ print(f"Running my command with args: {args}")
186
+ return 0
187
+
188
+ # Register it
189
+ cmd_registry.register(
190
+ name='mycommand',
191
+ help_text='Description of my command',
192
+ handler=my_command,
193
+ argument_groups=['framework'], # Reuse existing argument groups
194
+ extra_args={
195
+ 'custom_arg': {
196
+ 'flags': ['--custom'],
197
+ 'type': str,
198
+ 'help': 'A custom argument for this command'
199
+ }
200
+ }
201
+ )
202
+ ```
203
+
204
+ ## Testing
205
+
206
+ The refactored code is easier to test:
207
+
208
+ ```python
209
+ # Test argument registry
210
+ def test_argument_registry():
211
+ registry = ArgumentRegistry()
212
+ parser = argparse.ArgumentParser()
213
+ registry.apply_arguments(parser, groups=['logging'])
214
+
215
+ # Verify logging arguments were added
216
+ args = parser.parse_args(['--logging', 'DEBUG'])
217
+ assert args.logging == 'DEBUG'
218
+
219
+ # Test command registry
220
+ def test_command_registry():
221
+ arg_reg = ArgumentRegistry()
222
+ cmd_reg = CommandRegistry(arg_reg)
223
+
224
+ called = False
225
+ def test_handler(args, **kwargs):
226
+ nonlocal called
227
+ called = True
228
+ return 0
229
+
230
+ cmd_reg.register('test', 'Test command', test_handler)
231
+
232
+ parser = argparse.ArgumentParser()
233
+ cmd_reg.setup_subcommands(parser)
234
+
235
+ args = parser.parse_args(['test'])
236
+ result = cmd_reg.execute_command(args)
237
+
238
+ assert called
239
+ assert result == 0
240
+ ```
241
+
242
+ ## Migration Checklist
243
+
244
+ - [ ] Create `/src/claude_mpm/cli/` directory
245
+ - [ ] Create `args.py` with ArgumentRegistry
246
+ - [ ] Create `commands.py` with CommandRegistry
247
+ - [ ] Create `__init__.py` to export classes
248
+ - [ ] Update imports in `cli.py`
249
+ - [ ] Replace main() function
250
+ - [ ] Add helper functions
251
+ - [ ] Update command handler signatures
252
+ - [ ] Test the refactored CLI
253
+ - [ ] Verify complexity is reduced to ≤10
@@ -87,6 +87,9 @@ Available Commands:
87
87
  /mpm-init [update]
88
88
  Initialize or update project documentation
89
89
 
90
+ /mpm-resume
91
+ Create session resume files for easy work resumption
92
+
90
93
  /mpm-monitor [start|stop|restart|status|port]
91
94
  Manage Socket.IO monitoring server and dashboard
92
95
 
@@ -44,6 +44,7 @@ This command has two primary modes:
44
44
  - **🧠 Memory System**: Initializes project knowledge retention
45
45
  - **🔧 Tool Configuration**: Sets up linting, formatting, testing
46
46
  - **📝 Holistic Review**: Final organization and validation pass
47
+ - **🔒 GitIgnore Management**: Automatically excludes claude-mpm config directories
47
48
 
48
49
  ## Options
49
50
 
@@ -205,14 +206,27 @@ When enabled, performs:
205
206
  - Initializes memory files for project knowledge
206
207
  - Documents memory usage patterns
207
208
 
208
- ### 7. Holistic Organization (Final Step)
209
+ ### 7. GitIgnore Management (Automatic)
210
+ During initialization:
211
+ - **Automatic Updates**: Adds `.claude-mpm/` and `.claude/agents/` to `.gitignore`
212
+ - **Smart Detection**: Skips entries that already exist (no duplicates)
213
+ - **Safe Operation**: Creates `.gitignore` if missing, preserves existing content
214
+ - **Non-Blocking**: Continues initialization even if `.gitignore` update fails
215
+
216
+ **Entries Added**:
217
+ - `.claude-mpm/`: Configuration directory (sessions, logs, etc.)
218
+ - `.claude/agents/`: Agent runtime files
219
+
220
+ This ensures claude-mpm configuration files never get committed to version control.
221
+
222
+ ### 8. Holistic Organization (Final Step)
209
223
  After all tasks, performs a comprehensive review:
210
224
  - Reorganizes content by priority
211
225
  - Validates completeness
212
226
  - Ensures single-path principle
213
227
  - Adds meta-instructions for maintenance
214
228
 
215
- ### 8. Update Mode Features (NEW)
229
+ ### 9. Update Mode Features (NEW)
216
230
  When updating existing documentation:
217
231
  - **Smart Merging**: Intelligently merges new content with existing
218
232
  - **Custom Preservation**: Keeps your project-specific sections
@@ -309,7 +323,7 @@ Working on:
309
323
 
310
324
  📝 Files Modified:
311
325
  • src/claude_mpm/services/cli/resume_service.py (new)
312
- • src/claude_mpm/cli/commands/mpm_init.py (updated)
326
+ • src/claude_mpm/cli/commands/mpm_init/ (refactored into package)
313
327
 
314
328
  🎯 Next Steps:
315
329
  • Implement ResumeService class
@@ -470,6 +484,7 @@ The command delegates to the Agentic Coder Optimizer agent which:
470
484
  - ✅ **Memory system**: Initialized for knowledge retention
471
485
  - ✅ **Developer docs**: Technical documentation (with AST analysis)
472
486
  - ✅ **Priority organization**: Instructions ranked by importance
487
+ - ✅ **.gitignore**: Configuration directories automatically excluded
473
488
 
474
489
  ### For Existing Projects (Update Mode)
475
490
  - ✅ **Updated CLAUDE.md**: Refreshed with latest standards
@@ -478,6 +493,7 @@ The command delegates to the Agentic Coder Optimizer agent which:
478
493
  - ✅ **Structure verified**: Missing directories created
479
494
  - ✅ **Files organized**: Misplaced files moved (if --organize)
480
495
  - ✅ **Change summary**: Report of what was updated
496
+ - ✅ **.gitignore**: Config directories added if not present
481
497
 
482
498
  ### For Quick Update Mode (`/mpm-init update`)
483
499
  - ✅ **Activity Report**: Summary of recent 30-day git activity
@@ -0,0 +1,372 @@
1
+ # /mpm-resume - Load Previous Session
2
+
3
+ Load and display context from the most recent paused session to seamlessly continue your work.
4
+
5
+ ## Usage
6
+
7
+ ```
8
+ /mpm-resume
9
+ ```
10
+
11
+ ## Description
12
+
13
+ This command **loads and displays** the most recent paused session from automatic session saves, allowing you to resume work with full context restoration.
14
+
15
+ Unlike `/mpm-init pause` which *creates* a new session save, this command *loads* existing session data that was automatically created when context usage reached 70% (140k/200k tokens).
16
+
17
+ **Key Points:**
18
+ - Reads from `.claude-mpm/sessions/` directory (automatically created at 70% context)
19
+ - Displays up to ~40,000 tokens (~20% of 200k context budget)
20
+ - Shows session summary, completed work, in-progress tasks, and git context
21
+ - Does NOT create any new files - only reads and displays
22
+
23
+ ## What Gets Displayed
24
+
25
+ When you run `/mpm-resume`, PM will display:
26
+
27
+ ### Session Summary
28
+ - **Time Elapsed**: How long ago the session was paused
29
+ - **Context Usage**: Token usage at time of pause (e.g., "67.6% - 135,259/200,000 tokens")
30
+ - **Working On**: What you were working on when paused
31
+ - **Session Duration**: How long the previous session lasted
32
+
33
+ ### Completed Work
34
+ - List of accomplishments from the paused session
35
+ - What was delivered and committed
36
+ - Key milestones achieved
37
+
38
+ ### Current Tasks
39
+ - **In Progress**: Tasks that were being worked on
40
+ - **Pending**: Tasks that were planned but not started
41
+ - **Completed**: Recently finished tasks for context
42
+
43
+ ### Git Context
44
+ - **Branch**: Current branch name
45
+ - **Recent Commits**: Last 5-10 commits with SHAs and messages
46
+ - **Status**: Clean/dirty working directory
47
+ - **Changes Since Pause**: New commits made since session was saved
48
+
49
+ ### Next Recommended Actions
50
+ - Priority-ordered list of next steps
51
+ - Estimated time for each task
52
+ - Status and blockers for pending work
53
+
54
+ ## Session Storage Location
55
+
56
+ Sessions are automatically saved to:
57
+ ```
58
+ <project-root>/.claude-mpm/sessions/session-YYYYMMDD-HHMMSS.json
59
+ ```
60
+
61
+ **Legacy location** (backward compatible):
62
+ ```
63
+ <project-root>/.claude-mpm/sessions/pause/session-YYYYMMDD-HHMMSS.json
64
+ ```
65
+
66
+ The system automatically checks both locations and uses the most recent session.
67
+
68
+ ## Example Output
69
+
70
+ ```
71
+ ================================================================================
72
+ 📋 PAUSED SESSION FOUND
73
+ ================================================================================
74
+
75
+ Paused: 2 hours ago
76
+
77
+ Last working on: Week 2 Skills Integration - Content Preparation
78
+
79
+ Completed:
80
+ ✓ Week 1: Complete infrastructure - 8,900 lines of production-ready code
81
+ ✓ Week 1: Skills loading system with automatic progressive disclosure
82
+ ✓ Week 2: 15 of 23 skills downloaded (65% complete)
83
+ ✓ Week 2: 2 Tier 1 skills refactored to progressive disclosure
84
+ ✓ Code quality: All CRITICAL and HIGH issues resolved
85
+
86
+ Next steps:
87
+ • Refactor Tier 2 skills (verification-before-completion, webapp-testing)
88
+ • Download remaining 8 skills from community repositories
89
+ • Refactor remaining 13 skills to progressive disclosure
90
+ • Generate license attributions for all bundled skills
91
+
92
+ Git changes since pause: 3 commits
93
+
94
+ Recent commits:
95
+ ac765731 - feat(skills): Week 2 progress - 15 skills downloaded (Bob Matsuoka)
96
+ 205e532e - fix(skills): address CRITICAL and HIGH priority issues (Bob Matsuoka)
97
+ 06a6d6a0 - feat: add automated pre-publish cleanup to release (Bob Matsuoka)
98
+
99
+ Context Usage: 67.6% (135,259/200,000 tokens)
100
+ Session Duration: 12 hours
101
+
102
+ ================================================================================
103
+ Use this context to resume work, or start fresh if not relevant.
104
+ ================================================================================
105
+ ```
106
+
107
+ ## Implementation
108
+
109
+ When PM receives `/mpm-resume`, it should:
110
+
111
+ 1. **Check for Sessions**
112
+ ```python
113
+ from claude_mpm.services.cli.session_resume_helper import SessionResumeHelper
114
+
115
+ helper = SessionResumeHelper()
116
+ if not helper.has_paused_sessions():
117
+ return "No paused sessions found"
118
+ ```
119
+
120
+ 2. **Load Most Recent Session**
121
+ ```python
122
+ session_data = helper.get_most_recent_session()
123
+ if not session_data:
124
+ return "Failed to load session data"
125
+ ```
126
+
127
+ 3. **Format and Display Context**
128
+ ```python
129
+ # Extract key information
130
+ conversation = session_data.get("conversation", {})
131
+ git_context = session_data.get("git_context", {})
132
+ context_usage = session_data.get("context_usage", {})
133
+ todos = session_data.get("todos", {})
134
+
135
+ # Display formatted output (see Example Output above)
136
+ ```
137
+
138
+ 4. **Calculate Git Changes**
139
+ ```python
140
+ # Get commits since pause
141
+ paused_at = session_data.get("paused_at")
142
+ new_commits = helper.get_git_changes_since_pause(paused_at, [])
143
+ ```
144
+
145
+ 5. **Limit Output to ~40k Tokens**
146
+ - Session summary: ~2k tokens
147
+ - Accomplishments (first 10): ~3k tokens
148
+ - Next steps (first 10): ~3k tokens
149
+ - Git context: ~5k tokens
150
+ - Todos: ~2k tokens
151
+ - Recent commits (up to 10): ~5k tokens
152
+ - **Total**: ~20k tokens (well under 40k limit)
153
+
154
+ ## Token Budget Management
155
+
156
+ **Context Budget**: 200,000 tokens total
157
+ **Resume Load**: ~20,000-40,000 tokens (10-20% of context)
158
+
159
+ This leaves 160,000+ tokens for actual work after loading session context.
160
+
161
+ ## Session Data Format
162
+
163
+ Sessions are stored as JSON with this structure:
164
+
165
+ ```json
166
+ {
167
+ "session_id": "session-YYYYMMDD-HHMMSS",
168
+ "paused_at": "ISO-8601 timestamp",
169
+ "duration_hours": 12,
170
+ "context_usage": {
171
+ "tokens_used": 135259,
172
+ "tokens_total": 200000,
173
+ "percentage": 67.6
174
+ },
175
+ "conversation": {
176
+ "primary_task": "What user was working on",
177
+ "current_phase": "Current phase of work",
178
+ "summary": "Brief summary",
179
+ "accomplishments": ["list of completed items"],
180
+ "next_steps": [
181
+ {
182
+ "priority": 1,
183
+ "task": "Task description",
184
+ "estimated_hours": "8-12",
185
+ "status": "ready"
186
+ }
187
+ ]
188
+ },
189
+ "git_context": {
190
+ "branch": "main",
191
+ "recent_commits": [...],
192
+ "status": {...}
193
+ },
194
+ "todos": {
195
+ "active": [...],
196
+ "completed": [...]
197
+ }
198
+ }
199
+ ```
200
+
201
+ ## When to Use This Command
202
+
203
+ Use `/mpm-resume` when:
204
+ - **Starting a new session**: After closing and reopening Claude CLI
205
+ - **Context unclear**: You need to remember what you were working on
206
+ - **After a break**: Coming back after hours or days
207
+ - **Team handoff**: Another developer wants to understand current state
208
+ - **Lost context**: Accidentally closed CLI and need to recover
209
+
210
+ ## Differences from Automatic Resume
211
+
212
+ | Feature | Automatic Resume (70% context) | /mpm-resume Command |
213
+ |---------|-------------------------------|---------------------|
214
+ | **Trigger** | Automatic at 70% context | Manual user command |
215
+ | **When** | PM startup (if session exists) | Anytime during session |
216
+ | **Creates Files** | No (reads existing) | No (reads existing) |
217
+ | **Session Source** | Same (`.claude-mpm/sessions/`) | Same (`.claude-mpm/sessions/`) |
218
+ | **Display Format** | Identical | Identical |
219
+ | **Token Usage** | ~20-40k tokens | ~20-40k tokens |
220
+
221
+ Both features use the **same underlying system** (`SessionResumeHelper`), just triggered differently.
222
+
223
+ ## No Files Created
224
+
225
+ **IMPORTANT**: This command does NOT create any new files.
226
+
227
+ It ONLY reads from existing session files that were automatically created by the system at 70% context usage.
228
+
229
+ If you want to manually create a session save (for example, at 50% context before hitting 70%), use a different workflow or wait for automatic save at 70%.
230
+
231
+ ## Related Features
232
+
233
+ - **Automatic Session Save**: System creates sessions at 70% context automatically
234
+ - **Automatic Session Resume**: PM startup hook displays sessions automatically
235
+ - `/mpm-init pause`: Manual session pause workflow (if available)
236
+ - `/mpm-init context`: Analyze git history for intelligent resumption
237
+ - `/mpm-status`: Check current MPM status
238
+
239
+ ## Error Handling
240
+
241
+ ### No Sessions Found
242
+ ```
243
+ No paused sessions found in .claude-mpm/sessions/
244
+
245
+ To create a session save, continue working until context reaches 70% (140k tokens),
246
+ at which point the system will automatically save your session state.
247
+ ```
248
+
249
+ ### Failed to Load Session
250
+ ```
251
+ Paused session file found but failed to load.
252
+
253
+ File: .claude-mpm/sessions/session-20251107-152740.json
254
+ Error: Invalid JSON format
255
+
256
+ You may need to manually inspect or delete this file.
257
+ ```
258
+
259
+ ### Invalid Session Format
260
+ ```
261
+ Session file loaded but missing required fields.
262
+
263
+ The session file may be corrupted or from an older version.
264
+ Consider running /mpm-doctor to check system health.
265
+ ```
266
+
267
+ ## Benefits
268
+
269
+ - **Instant Context**: Get full context in seconds without reading git logs
270
+ - **No Mental Load**: Don't need to remember what you were doing
271
+ - **Zero File Creation**: Pure read operation, no side effects
272
+ - **Team Collaboration**: Share context with team members
273
+ - **Graceful Recovery**: Recover from accidental CLI closures
274
+ - **Smart Filtering**: Only shows relevant information (~20k tokens)
275
+ - **Git Awareness**: See what changed since pause
276
+
277
+ ## Best Practices
278
+
279
+ 1. **Use Early**: Run `/mpm-resume` at start of each session if sessions exist
280
+ 2. **Check Git Changes**: Pay attention to commits made since pause
281
+ 3. **Validate Context**: Verify the session is still relevant before continuing
282
+ 4. **Clear Old Sessions**: Periodically clean up old session files
283
+ 5. **Combine with Git**: Use alongside `git log` for complete picture
284
+
285
+ ## Technical Details
286
+
287
+ **Implementation Files:**
288
+ - Service: `/src/claude_mpm/services/cli/session_resume_helper.py`
289
+ - Hook: `/src/claude_mpm/hooks/session_resume_hook.py`
290
+ - Command: This file
291
+
292
+ **Key Functions:**
293
+ - `SessionResumeHelper.has_paused_sessions()` - Check if sessions exist
294
+ - `SessionResumeHelper.get_most_recent_session()` - Load latest session
295
+ - `SessionResumeHelper.format_resume_prompt()` - Format display output
296
+ - `SessionResumeHelper.get_git_changes_since_pause()` - Calculate git delta
297
+
298
+ **Token Estimation:**
299
+ - Session metadata: 1-2k tokens
300
+ - Accomplishments (10 items): 2-4k tokens
301
+ - Next steps (10 items): 2-4k tokens
302
+ - Git commits (10 commits): 3-5k tokens
303
+ - Todos (20 items): 2-3k tokens
304
+ - Formatting/structure: 1-2k tokens
305
+ - **Total**: 11-20k tokens (safely under 40k limit)
306
+
307
+ ## Troubleshooting
308
+
309
+ ### Session Not Found
310
+ **Problem**: Command reports no sessions exist
311
+
312
+ **Solutions:**
313
+ 1. Check directory exists: `ls .claude-mpm/sessions/`
314
+ 2. Check for legacy location: `ls .claude-mpm/sessions/pause/`
315
+ 3. Verify session files: `ls .claude-mpm/sessions/session-*.json`
316
+ 4. Session auto-saves at 70% context - may not exist yet
317
+
318
+ ### Git Changes Not Showing
319
+ **Problem**: "No git changes since pause" but commits were made
320
+
321
+ **Solutions:**
322
+ 1. Verify git repository: `git status`
323
+ 2. Check commit timestamps: `git log --since="<pause_time>"`
324
+ 3. Ensure session timestamp is correct
325
+ 4. Check timezone issues
326
+
327
+ ### Display Too Large
328
+ **Problem**: Session context exceeds token budget
329
+
330
+ **Solutions:**
331
+ 1. System automatically limits to first 10 items
332
+ 2. Full session details available in JSON file
333
+ 3. Use `cat .claude-mpm/sessions/session-*.json` for complete data
334
+ 4. Summary is optimized for 20k tokens max
335
+
336
+ ## Example Session Resume Workflow
337
+
338
+ ```bash
339
+ # User starts new Claude CLI session
340
+ $ claude-code
341
+
342
+ # PM automatically checks for sessions on startup
343
+ # (Automatic resume hook displays session if found)
344
+
345
+ # OR user manually requests resume
346
+ User: "/mpm-resume"
347
+
348
+ # PM loads and displays session context
349
+ PM: [Displays formatted session context as shown in Example Output]
350
+
351
+ # User decides to continue work
352
+ User: "Let's continue with the next priority task"
353
+
354
+ # PM uses session context to understand what to do next
355
+ PM: "Based on the paused session, the next priority is to refactor
356
+ the verification-before-completion skill. I'll delegate this to Engineer..."
357
+ ```
358
+
359
+ ## Version History
360
+
361
+ - **v4.21.1**: Fixed command behavior - now loads sessions instead of creating files
362
+ - **v4.21.0**: Added `/mpm-resume` command (incorrect behavior - created files)
363
+ - **v4.19.0**: Automatic session resume infrastructure implemented
364
+ - **v4.18.x**: Session pause/resume foundation
365
+
366
+ ## Support
367
+
368
+ For issues or questions:
369
+ - Run `/mpm-doctor` to check system health
370
+ - Check logs: `.claude-mpm/logs/claude-mpm.log`
371
+ - Verify session files: `ls -la .claude-mpm/sessions/`
372
+ - Review documentation: `/docs/features/session-auto-resume.md`