claude-mpm 3.9.11__py3-none-any.whl → 4.0.4__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.
Files changed (434) hide show
  1. claude_mpm/VERSION +1 -1
  2. claude_mpm/__init__.py +2 -2
  3. claude_mpm/__main__.py +3 -2
  4. claude_mpm/agents/__init__.py +85 -79
  5. claude_mpm/agents/agent_loader.py +464 -1003
  6. claude_mpm/agents/agent_loader_integration.py +45 -45
  7. claude_mpm/agents/agents_metadata.py +29 -30
  8. claude_mpm/agents/async_agent_loader.py +156 -138
  9. claude_mpm/agents/base_agent.json +1 -1
  10. claude_mpm/agents/base_agent_loader.py +179 -151
  11. claude_mpm/agents/frontmatter_validator.py +229 -130
  12. claude_mpm/agents/schema/agent_schema.json +1 -1
  13. claude_mpm/agents/system_agent_config.py +213 -147
  14. claude_mpm/agents/templates/__init__.py +13 -13
  15. claude_mpm/agents/templates/code_analyzer.json +2 -2
  16. claude_mpm/agents/templates/data_engineer.json +1 -1
  17. claude_mpm/agents/templates/documentation.json +23 -11
  18. claude_mpm/agents/templates/engineer.json +22 -6
  19. claude_mpm/agents/templates/memory_manager.json +1 -1
  20. claude_mpm/agents/templates/ops.json +2 -2
  21. claude_mpm/agents/templates/project_organizer.json +1 -1
  22. claude_mpm/agents/templates/qa.json +1 -1
  23. claude_mpm/agents/templates/refactoring_engineer.json +222 -0
  24. claude_mpm/agents/templates/research.json +20 -14
  25. claude_mpm/agents/templates/security.json +1 -1
  26. claude_mpm/agents/templates/ticketing.json +2 -2
  27. claude_mpm/agents/templates/version_control.json +1 -1
  28. claude_mpm/agents/templates/web_qa.json +3 -1
  29. claude_mpm/agents/templates/web_ui.json +2 -2
  30. claude_mpm/cli/__init__.py +79 -51
  31. claude_mpm/cli/__main__.py +3 -2
  32. claude_mpm/cli/commands/__init__.py +20 -20
  33. claude_mpm/cli/commands/agents.py +279 -247
  34. claude_mpm/cli/commands/aggregate.py +138 -157
  35. claude_mpm/cli/commands/cleanup.py +147 -147
  36. claude_mpm/cli/commands/config.py +93 -76
  37. claude_mpm/cli/commands/info.py +17 -16
  38. claude_mpm/cli/commands/mcp.py +140 -905
  39. claude_mpm/cli/commands/mcp_command_router.py +139 -0
  40. claude_mpm/cli/commands/mcp_config_commands.py +20 -0
  41. claude_mpm/cli/commands/mcp_install_commands.py +20 -0
  42. claude_mpm/cli/commands/mcp_server_commands.py +175 -0
  43. claude_mpm/cli/commands/mcp_tool_commands.py +34 -0
  44. claude_mpm/cli/commands/memory.py +239 -203
  45. claude_mpm/cli/commands/monitor.py +330 -86
  46. claude_mpm/cli/commands/run.py +380 -429
  47. claude_mpm/cli/commands/run_config_checker.py +160 -0
  48. claude_mpm/cli/commands/socketio_monitor.py +235 -0
  49. claude_mpm/cli/commands/tickets.py +363 -220
  50. claude_mpm/cli/parser.py +24 -1156
  51. claude_mpm/cli/parsers/__init__.py +29 -0
  52. claude_mpm/cli/parsers/agents_parser.py +136 -0
  53. claude_mpm/cli/parsers/base_parser.py +331 -0
  54. claude_mpm/cli/parsers/config_parser.py +85 -0
  55. claude_mpm/cli/parsers/mcp_parser.py +152 -0
  56. claude_mpm/cli/parsers/memory_parser.py +138 -0
  57. claude_mpm/cli/parsers/monitor_parser.py +124 -0
  58. claude_mpm/cli/parsers/run_parser.py +147 -0
  59. claude_mpm/cli/parsers/tickets_parser.py +203 -0
  60. claude_mpm/cli/ticket_cli.py +7 -3
  61. claude_mpm/cli/utils.py +55 -37
  62. claude_mpm/cli_module/__init__.py +6 -6
  63. claude_mpm/cli_module/args.py +188 -140
  64. claude_mpm/cli_module/commands.py +79 -70
  65. claude_mpm/cli_module/migration_example.py +38 -60
  66. claude_mpm/config/__init__.py +32 -25
  67. claude_mpm/config/agent_config.py +151 -119
  68. claude_mpm/config/experimental_features.py +71 -73
  69. claude_mpm/config/paths.py +94 -208
  70. claude_mpm/config/socketio_config.py +84 -73
  71. claude_mpm/constants.py +35 -18
  72. claude_mpm/core/__init__.py +9 -6
  73. claude_mpm/core/agent_name_normalizer.py +68 -71
  74. claude_mpm/core/agent_registry.py +372 -521
  75. claude_mpm/core/agent_session_manager.py +74 -63
  76. claude_mpm/core/base_service.py +116 -87
  77. claude_mpm/core/cache.py +119 -153
  78. claude_mpm/core/claude_runner.py +425 -1120
  79. claude_mpm/core/config.py +263 -168
  80. claude_mpm/core/config_aliases.py +69 -61
  81. claude_mpm/core/config_constants.py +292 -0
  82. claude_mpm/core/constants.py +57 -99
  83. claude_mpm/core/container.py +211 -178
  84. claude_mpm/core/exceptions.py +233 -89
  85. claude_mpm/core/factories.py +92 -54
  86. claude_mpm/core/framework_loader.py +378 -220
  87. claude_mpm/core/hook_manager.py +198 -83
  88. claude_mpm/core/hook_performance_config.py +136 -0
  89. claude_mpm/core/injectable_service.py +61 -55
  90. claude_mpm/core/interactive_session.py +165 -155
  91. claude_mpm/core/interfaces.py +221 -195
  92. claude_mpm/core/lazy.py +96 -96
  93. claude_mpm/core/logger.py +133 -107
  94. claude_mpm/core/logging_config.py +185 -157
  95. claude_mpm/core/minimal_framework_loader.py +20 -15
  96. claude_mpm/core/mixins.py +30 -29
  97. claude_mpm/core/oneshot_session.py +215 -181
  98. claude_mpm/core/optimized_agent_loader.py +134 -138
  99. claude_mpm/core/optimized_startup.py +159 -157
  100. claude_mpm/core/pm_hook_interceptor.py +85 -72
  101. claude_mpm/core/service_registry.py +103 -101
  102. claude_mpm/core/session_manager.py +97 -87
  103. claude_mpm/core/socketio_pool.py +212 -158
  104. claude_mpm/core/tool_access_control.py +58 -51
  105. claude_mpm/core/types.py +46 -24
  106. claude_mpm/core/typing_utils.py +166 -82
  107. claude_mpm/core/unified_agent_registry.py +721 -0
  108. claude_mpm/core/unified_config.py +550 -0
  109. claude_mpm/core/unified_paths.py +549 -0
  110. claude_mpm/dashboard/index.html +1 -1
  111. claude_mpm/dashboard/open_dashboard.py +51 -17
  112. claude_mpm/dashboard/static/built/components/agent-inference.js +2 -0
  113. claude_mpm/dashboard/static/built/components/event-processor.js +2 -0
  114. claude_mpm/dashboard/static/built/components/event-viewer.js +2 -0
  115. claude_mpm/dashboard/static/built/components/export-manager.js +2 -0
  116. claude_mpm/dashboard/static/built/components/file-tool-tracker.js +2 -0
  117. claude_mpm/dashboard/static/built/components/hud-library-loader.js +2 -0
  118. claude_mpm/dashboard/static/built/components/hud-manager.js +2 -0
  119. claude_mpm/dashboard/static/built/components/hud-visualizer.js +2 -0
  120. claude_mpm/dashboard/static/built/components/module-viewer.js +2 -0
  121. claude_mpm/dashboard/static/built/components/session-manager.js +2 -0
  122. claude_mpm/dashboard/static/built/components/socket-manager.js +2 -0
  123. claude_mpm/dashboard/static/built/components/ui-state-manager.js +2 -0
  124. claude_mpm/dashboard/static/built/components/working-directory.js +2 -0
  125. claude_mpm/dashboard/static/built/dashboard.js +2 -0
  126. claude_mpm/dashboard/static/built/socket-client.js +2 -0
  127. claude_mpm/dashboard/static/css/dashboard.css +27 -8
  128. claude_mpm/dashboard/static/dist/components/agent-inference.js +2 -0
  129. claude_mpm/dashboard/static/dist/components/event-processor.js +2 -0
  130. claude_mpm/dashboard/static/dist/components/event-viewer.js +2 -0
  131. claude_mpm/dashboard/static/dist/components/export-manager.js +2 -0
  132. claude_mpm/dashboard/static/dist/components/file-tool-tracker.js +2 -0
  133. claude_mpm/dashboard/static/dist/components/hud-library-loader.js +2 -0
  134. claude_mpm/dashboard/static/dist/components/hud-manager.js +2 -0
  135. claude_mpm/dashboard/static/dist/components/hud-visualizer.js +2 -0
  136. claude_mpm/dashboard/static/dist/components/module-viewer.js +2 -0
  137. claude_mpm/dashboard/static/dist/components/session-manager.js +2 -0
  138. claude_mpm/dashboard/static/dist/components/socket-manager.js +2 -0
  139. claude_mpm/dashboard/static/dist/components/ui-state-manager.js +2 -0
  140. claude_mpm/dashboard/static/dist/components/working-directory.js +2 -0
  141. claude_mpm/dashboard/static/dist/dashboard.js +2 -0
  142. claude_mpm/dashboard/static/dist/socket-client.js +2 -0
  143. claude_mpm/dashboard/static/js/components/agent-inference.js +80 -76
  144. claude_mpm/dashboard/static/js/components/event-processor.js +71 -67
  145. claude_mpm/dashboard/static/js/components/event-viewer.js +93 -72
  146. claude_mpm/dashboard/static/js/components/export-manager.js +31 -28
  147. claude_mpm/dashboard/static/js/components/file-tool-tracker.js +110 -96
  148. claude_mpm/dashboard/static/js/components/hud-library-loader.js +11 -11
  149. claude_mpm/dashboard/static/js/components/hud-manager.js +73 -73
  150. claude_mpm/dashboard/static/js/components/hud-visualizer.js +163 -163
  151. claude_mpm/dashboard/static/js/components/module-viewer.js +305 -233
  152. claude_mpm/dashboard/static/js/components/session-manager.js +32 -29
  153. claude_mpm/dashboard/static/js/components/socket-manager.js +27 -20
  154. claude_mpm/dashboard/static/js/components/ui-state-manager.js +21 -18
  155. claude_mpm/dashboard/static/js/components/working-directory.js +74 -71
  156. claude_mpm/dashboard/static/js/dashboard.js +178 -453
  157. claude_mpm/dashboard/static/js/extension-error-handler.js +164 -0
  158. claude_mpm/dashboard/static/js/socket-client.js +133 -53
  159. claude_mpm/dashboard/templates/index.html +40 -50
  160. claude_mpm/experimental/cli_enhancements.py +60 -58
  161. claude_mpm/generators/__init__.py +1 -1
  162. claude_mpm/generators/agent_profile_generator.py +75 -65
  163. claude_mpm/hooks/__init__.py +1 -1
  164. claude_mpm/hooks/base_hook.py +33 -28
  165. claude_mpm/hooks/claude_hooks/__init__.py +1 -1
  166. claude_mpm/hooks/claude_hooks/connection_pool.py +120 -0
  167. claude_mpm/hooks/claude_hooks/event_handlers.py +743 -0
  168. claude_mpm/hooks/claude_hooks/hook_handler.py +415 -1331
  169. claude_mpm/hooks/claude_hooks/hook_wrapper.sh +4 -4
  170. claude_mpm/hooks/claude_hooks/memory_integration.py +221 -0
  171. claude_mpm/hooks/claude_hooks/response_tracking.py +348 -0
  172. claude_mpm/hooks/claude_hooks/tool_analysis.py +230 -0
  173. claude_mpm/hooks/memory_integration_hook.py +140 -100
  174. claude_mpm/hooks/tool_call_interceptor.py +89 -76
  175. claude_mpm/hooks/validation_hooks.py +57 -49
  176. claude_mpm/init.py +145 -121
  177. claude_mpm/models/__init__.py +9 -9
  178. claude_mpm/models/agent_definition.py +33 -23
  179. claude_mpm/models/agent_session.py +228 -200
  180. claude_mpm/scripts/__init__.py +1 -1
  181. claude_mpm/scripts/socketio_daemon.py +192 -75
  182. claude_mpm/scripts/socketio_server_manager.py +328 -0
  183. claude_mpm/scripts/start_activity_logging.py +25 -22
  184. claude_mpm/services/__init__.py +68 -43
  185. claude_mpm/services/agent_capabilities_service.py +271 -0
  186. claude_mpm/services/agents/__init__.py +23 -32
  187. claude_mpm/services/agents/deployment/__init__.py +3 -3
  188. claude_mpm/services/agents/deployment/agent_config_provider.py +310 -0
  189. claude_mpm/services/agents/deployment/agent_configuration_manager.py +359 -0
  190. claude_mpm/services/agents/deployment/agent_definition_factory.py +84 -0
  191. claude_mpm/services/agents/deployment/agent_deployment.py +415 -2113
  192. claude_mpm/services/agents/deployment/agent_discovery_service.py +387 -0
  193. claude_mpm/services/agents/deployment/agent_environment_manager.py +293 -0
  194. claude_mpm/services/agents/deployment/agent_filesystem_manager.py +387 -0
  195. claude_mpm/services/agents/deployment/agent_format_converter.py +453 -0
  196. claude_mpm/services/agents/deployment/agent_frontmatter_validator.py +161 -0
  197. claude_mpm/services/agents/deployment/agent_lifecycle_manager.py +345 -495
  198. claude_mpm/services/agents/deployment/agent_metrics_collector.py +279 -0
  199. claude_mpm/services/agents/deployment/agent_restore_handler.py +88 -0
  200. claude_mpm/services/agents/deployment/agent_template_builder.py +406 -0
  201. claude_mpm/services/agents/deployment/agent_validator.py +352 -0
  202. claude_mpm/services/agents/deployment/agent_version_manager.py +313 -0
  203. claude_mpm/services/agents/deployment/agent_versioning.py +6 -9
  204. claude_mpm/services/agents/deployment/agents_directory_resolver.py +79 -0
  205. claude_mpm/services/agents/deployment/async_agent_deployment.py +298 -234
  206. claude_mpm/services/agents/deployment/config/__init__.py +13 -0
  207. claude_mpm/services/agents/deployment/config/deployment_config.py +182 -0
  208. claude_mpm/services/agents/deployment/config/deployment_config_manager.py +200 -0
  209. claude_mpm/services/agents/deployment/deployment_config_loader.py +54 -0
  210. claude_mpm/services/agents/deployment/deployment_type_detector.py +124 -0
  211. claude_mpm/services/agents/deployment/facade/__init__.py +18 -0
  212. claude_mpm/services/agents/deployment/facade/async_deployment_executor.py +159 -0
  213. claude_mpm/services/agents/deployment/facade/deployment_executor.py +73 -0
  214. claude_mpm/services/agents/deployment/facade/deployment_facade.py +270 -0
  215. claude_mpm/services/agents/deployment/facade/sync_deployment_executor.py +178 -0
  216. claude_mpm/services/agents/deployment/interface_adapter.py +227 -0
  217. claude_mpm/services/agents/deployment/lifecycle_health_checker.py +85 -0
  218. claude_mpm/services/agents/deployment/lifecycle_performance_tracker.py +100 -0
  219. claude_mpm/services/agents/deployment/pipeline/__init__.py +32 -0
  220. claude_mpm/services/agents/deployment/pipeline/pipeline_builder.py +158 -0
  221. claude_mpm/services/agents/deployment/pipeline/pipeline_context.py +159 -0
  222. claude_mpm/services/agents/deployment/pipeline/pipeline_executor.py +169 -0
  223. claude_mpm/services/agents/deployment/pipeline/steps/__init__.py +19 -0
  224. claude_mpm/services/agents/deployment/pipeline/steps/agent_processing_step.py +195 -0
  225. claude_mpm/services/agents/deployment/pipeline/steps/base_step.py +119 -0
  226. claude_mpm/services/agents/deployment/pipeline/steps/configuration_step.py +79 -0
  227. claude_mpm/services/agents/deployment/pipeline/steps/target_directory_step.py +90 -0
  228. claude_mpm/services/agents/deployment/pipeline/steps/validation_step.py +100 -0
  229. claude_mpm/services/agents/deployment/processors/__init__.py +15 -0
  230. claude_mpm/services/agents/deployment/processors/agent_deployment_context.py +98 -0
  231. claude_mpm/services/agents/deployment/processors/agent_deployment_result.py +235 -0
  232. claude_mpm/services/agents/deployment/processors/agent_processor.py +258 -0
  233. claude_mpm/services/agents/deployment/refactored_agent_deployment_service.py +318 -0
  234. claude_mpm/services/agents/deployment/results/__init__.py +13 -0
  235. claude_mpm/services/agents/deployment/results/deployment_metrics.py +200 -0
  236. claude_mpm/services/agents/deployment/results/deployment_result_builder.py +249 -0
  237. claude_mpm/services/agents/deployment/strategies/__init__.py +25 -0
  238. claude_mpm/services/agents/deployment/strategies/base_strategy.py +119 -0
  239. claude_mpm/services/agents/deployment/strategies/project_strategy.py +150 -0
  240. claude_mpm/services/agents/deployment/strategies/strategy_selector.py +117 -0
  241. claude_mpm/services/agents/deployment/strategies/system_strategy.py +116 -0
  242. claude_mpm/services/agents/deployment/strategies/user_strategy.py +137 -0
  243. claude_mpm/services/agents/deployment/system_instructions_deployer.py +108 -0
  244. claude_mpm/services/agents/deployment/validation/__init__.py +19 -0
  245. claude_mpm/services/agents/deployment/validation/agent_validator.py +323 -0
  246. claude_mpm/services/agents/deployment/validation/deployment_validator.py +238 -0
  247. claude_mpm/services/agents/deployment/validation/template_validator.py +299 -0
  248. claude_mpm/services/agents/deployment/validation/validation_result.py +226 -0
  249. claude_mpm/services/agents/loading/__init__.py +2 -2
  250. claude_mpm/services/agents/loading/agent_profile_loader.py +259 -229
  251. claude_mpm/services/agents/loading/base_agent_manager.py +90 -81
  252. claude_mpm/services/agents/loading/framework_agent_loader.py +154 -129
  253. claude_mpm/services/agents/management/__init__.py +2 -2
  254. claude_mpm/services/agents/management/agent_capabilities_generator.py +72 -58
  255. claude_mpm/services/agents/management/agent_management_service.py +209 -156
  256. claude_mpm/services/agents/memory/__init__.py +9 -6
  257. claude_mpm/services/agents/memory/agent_memory_manager.py +218 -1152
  258. claude_mpm/services/agents/memory/agent_persistence_service.py +20 -16
  259. claude_mpm/services/agents/memory/analyzer.py +430 -0
  260. claude_mpm/services/agents/memory/content_manager.py +376 -0
  261. claude_mpm/services/agents/memory/template_generator.py +468 -0
  262. claude_mpm/services/agents/registry/__init__.py +7 -10
  263. claude_mpm/services/agents/registry/deployed_agent_discovery.py +122 -97
  264. claude_mpm/services/agents/registry/modification_tracker.py +351 -285
  265. claude_mpm/services/async_session_logger.py +187 -153
  266. claude_mpm/services/claude_session_logger.py +87 -72
  267. claude_mpm/services/command_handler_service.py +217 -0
  268. claude_mpm/services/communication/__init__.py +3 -2
  269. claude_mpm/services/core/__init__.py +50 -97
  270. claude_mpm/services/core/base.py +60 -53
  271. claude_mpm/services/core/interfaces/__init__.py +188 -0
  272. claude_mpm/services/core/interfaces/agent.py +351 -0
  273. claude_mpm/services/core/interfaces/communication.py +343 -0
  274. claude_mpm/services/core/interfaces/infrastructure.py +413 -0
  275. claude_mpm/services/core/interfaces/service.py +434 -0
  276. claude_mpm/services/core/interfaces.py +19 -944
  277. claude_mpm/services/event_aggregator.py +208 -170
  278. claude_mpm/services/exceptions.py +387 -308
  279. claude_mpm/services/framework_claude_md_generator/__init__.py +75 -79
  280. claude_mpm/services/framework_claude_md_generator/content_assembler.py +69 -60
  281. claude_mpm/services/framework_claude_md_generator/content_validator.py +65 -61
  282. claude_mpm/services/framework_claude_md_generator/deployment_manager.py +68 -49
  283. claude_mpm/services/framework_claude_md_generator/section_generators/__init__.py +34 -34
  284. claude_mpm/services/framework_claude_md_generator/section_generators/agents.py +25 -22
  285. claude_mpm/services/framework_claude_md_generator/section_generators/claude_pm_init.py +10 -10
  286. claude_mpm/services/framework_claude_md_generator/section_generators/core_responsibilities.py +4 -3
  287. claude_mpm/services/framework_claude_md_generator/section_generators/delegation_constraints.py +4 -3
  288. claude_mpm/services/framework_claude_md_generator/section_generators/environment_config.py +4 -3
  289. claude_mpm/services/framework_claude_md_generator/section_generators/footer.py +6 -5
  290. claude_mpm/services/framework_claude_md_generator/section_generators/header.py +8 -7
  291. claude_mpm/services/framework_claude_md_generator/section_generators/orchestration_principles.py +4 -3
  292. claude_mpm/services/framework_claude_md_generator/section_generators/role_designation.py +6 -5
  293. claude_mpm/services/framework_claude_md_generator/section_generators/subprocess_validation.py +9 -8
  294. claude_mpm/services/framework_claude_md_generator/section_generators/todo_task_tools.py +4 -3
  295. claude_mpm/services/framework_claude_md_generator/section_generators/troubleshooting.py +5 -4
  296. claude_mpm/services/framework_claude_md_generator/section_manager.py +28 -27
  297. claude_mpm/services/framework_claude_md_generator/version_manager.py +30 -28
  298. claude_mpm/services/hook_service.py +106 -114
  299. claude_mpm/services/infrastructure/__init__.py +7 -5
  300. claude_mpm/services/infrastructure/context_preservation.py +233 -199
  301. claude_mpm/services/infrastructure/daemon_manager.py +279 -0
  302. claude_mpm/services/infrastructure/logging.py +83 -76
  303. claude_mpm/services/infrastructure/monitoring.py +547 -404
  304. claude_mpm/services/mcp_gateway/__init__.py +30 -13
  305. claude_mpm/services/mcp_gateway/config/__init__.py +2 -2
  306. claude_mpm/services/mcp_gateway/config/config_loader.py +61 -56
  307. claude_mpm/services/mcp_gateway/config/config_schema.py +50 -41
  308. claude_mpm/services/mcp_gateway/config/configuration.py +82 -75
  309. claude_mpm/services/mcp_gateway/core/__init__.py +13 -20
  310. claude_mpm/services/mcp_gateway/core/base.py +80 -67
  311. claude_mpm/services/mcp_gateway/core/exceptions.py +60 -46
  312. claude_mpm/services/mcp_gateway/core/interfaces.py +87 -84
  313. claude_mpm/services/mcp_gateway/main.py +287 -137
  314. claude_mpm/services/mcp_gateway/registry/__init__.py +1 -1
  315. claude_mpm/services/mcp_gateway/registry/service_registry.py +97 -94
  316. claude_mpm/services/mcp_gateway/registry/tool_registry.py +135 -126
  317. claude_mpm/services/mcp_gateway/server/__init__.py +2 -2
  318. claude_mpm/services/mcp_gateway/server/mcp_gateway.py +105 -110
  319. claude_mpm/services/mcp_gateway/server/stdio_handler.py +105 -107
  320. claude_mpm/services/mcp_gateway/server/stdio_server.py +691 -0
  321. claude_mpm/services/mcp_gateway/tools/__init__.py +4 -2
  322. claude_mpm/services/mcp_gateway/tools/base_adapter.py +109 -119
  323. claude_mpm/services/mcp_gateway/tools/document_summarizer.py +283 -215
  324. claude_mpm/services/mcp_gateway/tools/hello_world.py +122 -120
  325. claude_mpm/services/mcp_gateway/tools/ticket_tools.py +652 -0
  326. claude_mpm/services/mcp_gateway/tools/unified_ticket_tool.py +606 -0
  327. claude_mpm/services/memory/__init__.py +2 -2
  328. claude_mpm/services/memory/builder.py +451 -362
  329. claude_mpm/services/memory/cache/__init__.py +2 -2
  330. claude_mpm/services/memory/cache/shared_prompt_cache.py +232 -194
  331. claude_mpm/services/memory/cache/simple_cache.py +107 -93
  332. claude_mpm/services/memory/indexed_memory.py +195 -193
  333. claude_mpm/services/memory/optimizer.py +267 -234
  334. claude_mpm/services/memory/router.py +571 -263
  335. claude_mpm/services/memory_hook_service.py +237 -0
  336. claude_mpm/services/port_manager.py +575 -0
  337. claude_mpm/services/project/__init__.py +3 -3
  338. claude_mpm/services/project/analyzer.py +451 -305
  339. claude_mpm/services/project/registry.py +262 -240
  340. claude_mpm/services/recovery_manager.py +287 -231
  341. claude_mpm/services/response_tracker.py +87 -67
  342. claude_mpm/services/runner_configuration_service.py +587 -0
  343. claude_mpm/services/session_management_service.py +304 -0
  344. claude_mpm/services/socketio/__init__.py +4 -4
  345. claude_mpm/services/socketio/client_proxy.py +174 -0
  346. claude_mpm/services/socketio/handlers/__init__.py +3 -3
  347. claude_mpm/services/socketio/handlers/base.py +44 -30
  348. claude_mpm/services/socketio/handlers/connection.py +166 -64
  349. claude_mpm/services/socketio/handlers/file.py +123 -108
  350. claude_mpm/services/socketio/handlers/git.py +607 -373
  351. claude_mpm/services/socketio/handlers/hook.py +185 -0
  352. claude_mpm/services/socketio/handlers/memory.py +4 -4
  353. claude_mpm/services/socketio/handlers/project.py +4 -4
  354. claude_mpm/services/socketio/handlers/registry.py +53 -38
  355. claude_mpm/services/socketio/server/__init__.py +18 -0
  356. claude_mpm/services/socketio/server/broadcaster.py +252 -0
  357. claude_mpm/services/socketio/server/core.py +399 -0
  358. claude_mpm/services/socketio/server/main.py +323 -0
  359. claude_mpm/services/socketio_client_manager.py +160 -133
  360. claude_mpm/services/socketio_server.py +36 -1885
  361. claude_mpm/services/subprocess_launcher_service.py +316 -0
  362. claude_mpm/services/system_instructions_service.py +258 -0
  363. claude_mpm/services/ticket_manager.py +19 -533
  364. claude_mpm/services/utility_service.py +285 -0
  365. claude_mpm/services/version_control/__init__.py +18 -21
  366. claude_mpm/services/version_control/branch_strategy.py +20 -10
  367. claude_mpm/services/version_control/conflict_resolution.py +37 -13
  368. claude_mpm/services/version_control/git_operations.py +52 -21
  369. claude_mpm/services/version_control/semantic_versioning.py +92 -53
  370. claude_mpm/services/version_control/version_parser.py +145 -125
  371. claude_mpm/services/version_service.py +270 -0
  372. claude_mpm/storage/__init__.py +2 -2
  373. claude_mpm/storage/state_storage.py +177 -181
  374. claude_mpm/ticket_wrapper.py +2 -2
  375. claude_mpm/utils/__init__.py +2 -2
  376. claude_mpm/utils/agent_dependency_loader.py +453 -243
  377. claude_mpm/utils/config_manager.py +157 -118
  378. claude_mpm/utils/console.py +1 -1
  379. claude_mpm/utils/dependency_cache.py +102 -107
  380. claude_mpm/utils/dependency_manager.py +52 -47
  381. claude_mpm/utils/dependency_strategies.py +131 -96
  382. claude_mpm/utils/environment_context.py +110 -102
  383. claude_mpm/utils/error_handler.py +75 -55
  384. claude_mpm/utils/file_utils.py +80 -67
  385. claude_mpm/utils/framework_detection.py +12 -11
  386. claude_mpm/utils/import_migration_example.py +12 -60
  387. claude_mpm/utils/imports.py +48 -45
  388. claude_mpm/utils/path_operations.py +100 -93
  389. claude_mpm/utils/robust_installer.py +172 -164
  390. claude_mpm/utils/session_logging.py +30 -23
  391. claude_mpm/utils/subprocess_utils.py +99 -61
  392. claude_mpm/validation/__init__.py +1 -1
  393. claude_mpm/validation/agent_validator.py +151 -111
  394. claude_mpm/validation/frontmatter_validator.py +92 -71
  395. {claude_mpm-3.9.11.dist-info → claude_mpm-4.0.4.dist-info}/METADATA +90 -22
  396. claude_mpm-4.0.4.dist-info/RECORD +417 -0
  397. {claude_mpm-3.9.11.dist-info → claude_mpm-4.0.4.dist-info}/entry_points.txt +1 -0
  398. {claude_mpm-3.9.11.dist-info → claude_mpm-4.0.4.dist-info}/licenses/LICENSE +1 -1
  399. claude_mpm/cli/commands/run_guarded.py +0 -511
  400. claude_mpm/config/memory_guardian_config.py +0 -325
  401. claude_mpm/config/memory_guardian_yaml.py +0 -335
  402. claude_mpm/core/config_paths.py +0 -150
  403. claude_mpm/core/memory_aware_runner.py +0 -353
  404. claude_mpm/dashboard/static/js/dashboard-original.js +0 -4134
  405. claude_mpm/deployment_paths.py +0 -261
  406. claude_mpm/hooks/claude_hooks/hook_handler_fixed.py +0 -454
  407. claude_mpm/models/state_models.py +0 -433
  408. claude_mpm/services/agent/__init__.py +0 -24
  409. claude_mpm/services/agent/deployment.py +0 -2548
  410. claude_mpm/services/agent/management.py +0 -598
  411. claude_mpm/services/agent/registry.py +0 -813
  412. claude_mpm/services/agents/registry/agent_registry.py +0 -813
  413. claude_mpm/services/communication/socketio.py +0 -1935
  414. claude_mpm/services/communication/websocket.py +0 -479
  415. claude_mpm/services/framework_claude_md_generator.py +0 -624
  416. claude_mpm/services/health_monitor.py +0 -893
  417. claude_mpm/services/infrastructure/graceful_degradation.py +0 -616
  418. claude_mpm/services/infrastructure/health_monitor.py +0 -775
  419. claude_mpm/services/infrastructure/memory_dashboard.py +0 -479
  420. claude_mpm/services/infrastructure/memory_guardian.py +0 -944
  421. claude_mpm/services/infrastructure/restart_protection.py +0 -642
  422. claude_mpm/services/infrastructure/state_manager.py +0 -774
  423. claude_mpm/services/mcp_gateway/manager.py +0 -334
  424. claude_mpm/services/optimized_hook_service.py +0 -542
  425. claude_mpm/services/project_analyzer.py +0 -864
  426. claude_mpm/services/project_registry.py +0 -608
  427. claude_mpm/services/standalone_socketio_server.py +0 -1300
  428. claude_mpm/services/ticket_manager_di.py +0 -318
  429. claude_mpm/services/ticketing_service_original.py +0 -510
  430. claude_mpm/utils/paths.py +0 -395
  431. claude_mpm/utils/platform_memory.py +0 -524
  432. claude_mpm-3.9.11.dist-info/RECORD +0 -306
  433. {claude_mpm-3.9.11.dist-info → claude_mpm-4.0.4.dist-info}/WHEEL +0 -0
  434. {claude_mpm-3.9.11.dist-info → claude_mpm-4.0.4.dist-info}/top_level.txt +0 -0
@@ -1,3 +1,5 @@
1
+ from pathlib import Path
2
+
1
3
  """
2
4
  Claude Code Frontmatter Validator
3
5
 
@@ -6,216 +8,235 @@ Critical for ensuring agents work correctly with Claude Desktop.
6
8
  """
7
9
 
8
10
  import re
9
- from pathlib import Path
10
11
  from typing import Dict, List, Optional, Tuple
12
+
11
13
  import yaml
12
14
 
13
15
 
14
16
  class FrontmatterValidator:
15
17
  """Validates agent frontmatter against Claude Code specification."""
16
-
18
+
17
19
  # Claude Code name pattern: lowercase letters, numbers, hyphens only
18
20
  # NO UNDERSCORES, NO UPPERCASE, NO SPECIAL CHARACTERS
19
- NAME_PATTERN = re.compile(r'^[a-z0-9]+(-[a-z0-9]+)*$')
20
-
21
+ NAME_PATTERN = re.compile(r"^[a-z0-9]+(-[a-z0-9]+)*$")
22
+
21
23
  # Valid tool names (from Claude Code spec)
22
24
  VALID_TOOLS = {
23
- 'Read', 'Write', 'Edit', 'MultiEdit', 'Bash', 'Grep', 'Glob', 'LS',
24
- 'WebSearch', 'WebFetch', 'TodoWrite', 'BashOutput', 'KillBash',
25
- 'NotebookEdit', 'Task', 'ExitPlanMode'
25
+ "Read",
26
+ "Write",
27
+ "Edit",
28
+ "MultiEdit",
29
+ "Bash",
30
+ "Grep",
31
+ "Glob",
32
+ "LS",
33
+ "WebSearch",
34
+ "WebFetch",
35
+ "TodoWrite",
36
+ "BashOutput",
37
+ "KillBash",
38
+ "NotebookEdit",
39
+ "Task",
40
+ "ExitPlanMode",
26
41
  }
27
-
42
+
28
43
  # Valid model tiers
29
- VALID_MODELS = {'opus', 'sonnet', 'haiku'}
30
-
44
+ VALID_MODELS = {"opus", "sonnet", "haiku"}
45
+
31
46
  # Required fields in frontmatter
32
- REQUIRED_FIELDS = {'name', 'description', 'tools'}
33
-
47
+ REQUIRED_FIELDS = {"name", "description", "tools"}
48
+
34
49
  @classmethod
35
50
  def validate_name(cls, name: str) -> Tuple[bool, Optional[str]]:
36
51
  """
37
52
  Validate agent name field against Claude Code spec.
38
-
53
+
39
54
  Args:
40
55
  name: Agent name to validate
41
-
56
+
42
57
  Returns:
43
58
  (is_valid, error_message)
44
59
  """
45
60
  if not name:
46
61
  return False, "Name field is required"
47
-
62
+
48
63
  if not cls.NAME_PATTERN.match(name):
49
64
  return False, (
50
65
  f"Invalid name '{name}'. Must match pattern ^[a-z0-9]+(-[a-z0-9]+)*$ "
51
66
  "(lowercase letters, numbers, and hyphens only - NO underscores!)"
52
67
  )
53
-
68
+
54
69
  if len(name) > 50:
55
70
  return False, f"Name '{name}' too long (max 50 characters)"
56
-
71
+
57
72
  return True, None
58
-
73
+
59
74
  @classmethod
60
75
  def validate_tools(cls, tools: str) -> Tuple[bool, Optional[str]]:
61
76
  """
62
77
  Validate tools field format and content.
63
-
78
+
64
79
  CRITICAL: Tools must be comma-separated WITHOUT spaces!
65
-
80
+
66
81
  Args:
67
82
  tools: Tools string to validate
68
-
83
+
69
84
  Returns:
70
85
  (is_valid, error_message)
71
86
  """
72
87
  if not tools:
73
88
  return False, "Tools field is required"
74
-
89
+
75
90
  # Check for spaces after commas (CRITICAL ERROR)
76
- if ', ' in tools:
91
+ if ", " in tools:
77
92
  return False, (
78
93
  f"CRITICAL: Tools contain spaces after commas! '{tools}' "
79
94
  "Must be comma-separated WITHOUT spaces (e.g., 'Read,Write,Edit')"
80
95
  )
81
-
96
+
82
97
  # Validate individual tools
83
- tool_list = tools.split(',')
98
+ tool_list = tools.split(",")
84
99
  invalid_tools = [t for t in tool_list if t not in cls.VALID_TOOLS]
85
-
100
+
86
101
  if invalid_tools:
87
- return False, f"Invalid tools: {', '.join(invalid_tools)}. Valid tools: {', '.join(sorted(cls.VALID_TOOLS))}"
88
-
102
+ return (
103
+ False,
104
+ f"Invalid tools: {', '.join(invalid_tools)}. Valid tools: {', '.join(sorted(cls.VALID_TOOLS))}",
105
+ )
106
+
89
107
  return True, None
90
-
108
+
91
109
  @classmethod
92
110
  def validate_model(cls, model: str) -> Tuple[bool, Optional[str]]:
93
111
  """
94
112
  Validate model field.
95
-
113
+
96
114
  Args:
97
115
  model: Model tier to validate
98
-
116
+
99
117
  Returns:
100
118
  (is_valid, error_message)
101
119
  """
102
120
  if model and model not in cls.VALID_MODELS:
103
- return False, f"Invalid model '{model}'. Must be one of: {', '.join(cls.VALID_MODELS)}"
104
-
121
+ return (
122
+ False,
123
+ f"Invalid model '{model}'. Must be one of: {', '.join(cls.VALID_MODELS)}",
124
+ )
125
+
105
126
  return True, None
106
-
127
+
107
128
  @classmethod
108
129
  def validate_frontmatter(cls, frontmatter: Dict) -> List[str]:
109
130
  """
110
131
  Validate complete frontmatter structure.
111
-
132
+
112
133
  Args:
113
134
  frontmatter: Parsed frontmatter dictionary
114
-
135
+
115
136
  Returns:
116
137
  List of validation errors (empty if valid)
117
138
  """
118
139
  errors = []
119
-
140
+
120
141
  # Check required fields
121
142
  missing = cls.REQUIRED_FIELDS - set(frontmatter.keys())
122
143
  if missing:
123
144
  errors.append(f"Missing required fields: {', '.join(missing)}")
124
-
145
+
125
146
  # Validate name
126
- if 'name' in frontmatter:
127
- valid, error = cls.validate_name(frontmatter['name'])
147
+ if "name" in frontmatter:
148
+ valid, error = cls.validate_name(frontmatter["name"])
128
149
  if not valid:
129
150
  errors.append(error)
130
-
151
+
131
152
  # Validate tools
132
- if 'tools' in frontmatter:
133
- valid, error = cls.validate_tools(frontmatter['tools'])
153
+ if "tools" in frontmatter:
154
+ valid, error = cls.validate_tools(frontmatter["tools"])
134
155
  if not valid:
135
156
  errors.append(error)
136
-
157
+
137
158
  # Validate model
138
- if 'model' in frontmatter:
139
- valid, error = cls.validate_model(frontmatter['model'])
159
+ if "model" in frontmatter:
160
+ valid, error = cls.validate_model(frontmatter["model"])
140
161
  if not valid:
141
162
  errors.append(error)
142
-
163
+
143
164
  # Validate description
144
- if 'description' in frontmatter:
145
- desc = frontmatter['description']
165
+ if "description" in frontmatter:
166
+ desc = frontmatter["description"]
146
167
  if len(desc) < 10:
147
168
  errors.append(f"Description too short ({len(desc)} chars, min 10)")
148
169
  if len(desc) > 200:
149
170
  errors.append(f"Description too long ({len(desc)} chars, max 200)")
150
-
171
+
151
172
  return errors
152
-
173
+
153
174
  @classmethod
154
175
  def validate_agent_file(cls, file_path: Path) -> List[str]:
155
176
  """
156
177
  Validate an agent markdown file.
157
-
178
+
158
179
  Args:
159
180
  file_path: Path to agent .md file
160
-
181
+
161
182
  Returns:
162
183
  List of validation errors (empty if valid)
163
184
  """
164
185
  errors = []
165
-
186
+
166
187
  try:
167
- with open(file_path, 'r') as f:
188
+ with open(file_path, "r") as f:
168
189
  content = f.read()
169
-
190
+
170
191
  # Check for frontmatter markers
171
- if not content.startswith('---\n'):
192
+ if not content.startswith("---\n"):
172
193
  errors.append("File must start with '---' frontmatter marker")
173
194
  return errors
174
-
195
+
175
196
  # Extract frontmatter
176
- end_marker = content.find('\n---\n', 4)
197
+ end_marker = content.find("\n---\n", 4)
177
198
  if end_marker == -1:
178
199
  errors.append("Missing closing '---' frontmatter marker")
179
200
  return errors
180
-
201
+
181
202
  frontmatter_text = content[4:end_marker]
182
-
203
+
183
204
  # Parse YAML
184
205
  try:
185
206
  frontmatter = yaml.safe_load(frontmatter_text)
186
207
  except yaml.YAMLError as e:
187
208
  errors.append(f"Invalid YAML in frontmatter: {e}")
188
209
  return errors
189
-
210
+
190
211
  # Validate frontmatter content
191
212
  validation_errors = cls.validate_frontmatter(frontmatter)
192
213
  errors.extend(validation_errors)
193
-
214
+
194
215
  except Exception as e:
195
216
  errors.append(f"Error reading file: {e}")
196
-
217
+
197
218
  return errors
198
219
 
199
220
 
200
221
  def main():
201
222
  """Command-line validation tool."""
202
223
  import sys
203
-
224
+
204
225
  if len(sys.argv) < 2:
205
226
  print("Usage: python frontmatter_validator.py <agent.md> [agent2.md ...]")
206
227
  sys.exit(1)
207
-
228
+
208
229
  all_valid = True
209
-
230
+
210
231
  for file_path in sys.argv[1:]:
211
232
  path = Path(file_path)
212
233
  if not path.exists():
213
234
  print(f"❌ {file_path}: File not found")
214
235
  all_valid = False
215
236
  continue
216
-
237
+
217
238
  errors = FrontmatterValidator.validate_agent_file(path)
218
-
239
+
219
240
  if errors:
220
241
  print(f"❌ {file_path}:")
221
242
  for error in errors:
@@ -223,9 +244,9 @@ def main():
223
244
  all_valid = False
224
245
  else:
225
246
  print(f"✅ {file_path}: Valid")
226
-
247
+
227
248
  sys.exit(0 if all_valid else 1)
228
249
 
229
250
 
230
251
  if __name__ == "__main__":
231
- main()
252
+ main()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: claude-mpm
3
- Version: 3.9.11
3
+ Version: 4.0.4
4
4
  Summary: Claude Multi-agent Project Manager - Clean orchestration with ticket management
5
5
  Home-page: https://github.com/bobmatnyc/claude-mpm
6
6
  Author: Claude MPM Team
@@ -46,6 +46,7 @@ Requires-Dist: pytest-cov; extra == "dev"
46
46
  Requires-Dist: black; extra == "dev"
47
47
  Requires-Dist: flake8; extra == "dev"
48
48
  Requires-Dist: mypy; extra == "dev"
49
+ Requires-Dist: pre-commit; extra == "dev"
49
50
  Provides-Extra: docs
50
51
  Requires-Dist: sphinx>=7.2.0; extra == "docs"
51
52
  Requires-Dist: sphinx-rtd-theme>=1.3.0; extra == "docs"
@@ -107,14 +108,16 @@ A powerful orchestration framework for Claude Code that enables multi-agent work
107
108
 
108
109
  ## Features
109
110
 
110
- - 🤖 **Multi-Agent System**: Automatically delegates tasks to specialized agents (PM, Research, Engineer, QA, Documentation, Security, Ops, Data Engineer, Test Integration, Version Control)
111
+ - 🤖 **Multi-Agent System**: 15 specialized agents for comprehensive project management
111
112
  - 🧠 **Agent Memory System**: Persistent learning with project-specific knowledge retention
112
113
  - 🔄 **Session Management**: Resume previous sessions with `--resume`
113
114
  - 📊 **Real-Time Monitoring**: Live dashboard with `--monitor` flag
114
- - 🛡️ **Memory Guardian (Experimental)**: Automatic memory monitoring and intelligent restarts to prevent crashes
115
+ - 🔌 **MCP Gateway**: Model Context Protocol integration for extensible tool capabilities
115
116
  - 📁 **Multi-Project Support**: Per-session working directories
116
117
  - 🔍 **Git Integration**: View diffs and track changes across projects
117
118
  - 🎯 **Smart Task Orchestration**: PM agent intelligently routes work to specialists
119
+ - ⚡ **50-80% Performance Improvement**: Through intelligent caching and lazy loading
120
+ - 🔒 **Enhanced Security**: Comprehensive input validation and sanitization framework
118
121
 
119
122
  ## Quick Installation
120
123
 
@@ -133,46 +136,88 @@ claude-mpm
133
136
  # Start with monitoring dashboard
134
137
  claude-mpm run --monitor
135
138
 
136
- # Start with memory protection (prevents crashes from large conversations)
137
- claude-mpm run-guarded
139
+ # Use MCP Gateway for external tool integration
140
+ claude-mpm mcp
141
+
142
+ # Manage memory for large conversation histories
143
+ claude-mpm cleanup-memory
138
144
  ```
139
145
 
140
146
  See [QUICKSTART.md](QUICKSTART.md) for complete usage examples.
141
147
 
142
148
 
143
- ## Architecture
149
+ ## Architecture (v3.8.2+)
150
+
151
+ Following the TSK-0053 refactoring, Claude MPM features:
144
152
 
145
- Claude MPM v3.8.2+ features a **modern service-oriented architecture** with interface-based design, dependency injection, and intelligent caching for 50-80% performance improvements.
153
+ - **Service-Oriented Architecture**: Five specialized service domains
154
+ - **Interface-Based Contracts**: All services implement explicit interfaces
155
+ - **Dependency Injection**: Service container with automatic resolution
156
+ - **50-80% Performance Improvement**: Through lazy loading and intelligent caching
157
+ - **Enhanced Security**: Comprehensive input validation and sanitization framework
146
158
 
147
159
  See [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md) for detailed architecture information.
148
160
 
149
161
  ## Key Capabilities
150
162
 
151
163
  ### Multi-Agent Orchestration
152
- The PM agent automatically delegates work to specialized agents including Research, Engineer, QA, Documentation, Security, Ops, Data Engineer, Test Integration, and Version Control.
164
+
165
+ Claude MPM includes 15 specialized agents:
166
+
167
+ #### Core Development
168
+ - **Engineer** - Software development and implementation
169
+ - **Research** - Code analysis and research
170
+ - **Documentation** - Documentation creation and maintenance
171
+ - **QA** - Testing and quality assurance
172
+ - **Security** - Security analysis and implementation
173
+
174
+ #### Operations & Infrastructure
175
+ - **Ops** - Operations and deployment
176
+ - **Version Control** - Git and version management
177
+ - **Data Engineer** - Data pipeline and ETL development
178
+
179
+ #### Web Development
180
+ - **Web UI** - Frontend and UI development
181
+ - **Web QA** - Web testing and E2E validation
182
+
183
+ #### Project Management
184
+ - **Ticketing** - Issue tracking and management
185
+ - **Project Organizer** - File organization and structure
186
+ - **Memory Manager** - Project memory and context management
187
+
188
+ #### Code Quality
189
+ - **Refactoring Engineer** - Code refactoring and optimization
190
+ - **Code Analyzer** - Static code analysis with AST and tree-sitter
153
191
 
154
192
  ### Agent Memory System
155
193
  Agents learn project-specific patterns and remember insights across sessions. Initialize with `claude-mpm memory init`.
156
194
 
157
- ### Memory Guardian System (Experimental)
158
- **⚠️ Beta Feature** - Prevents memory-related crashes through intelligent monitoring and automatic restarts with state preservation.
195
+ ### MCP Gateway (Model Context Protocol)
159
196
 
160
- ```bash
161
- # Start with memory protection (recommended for long sessions)
162
- claude-mpm run-guarded --accept-experimental
197
+ Claude MPM includes a powerful MCP Gateway that enables:
198
+ - Integration with external tools and services
199
+ - Custom tool development
200
+ - Protocol-based communication
201
+ - Extensible architecture
163
202
 
164
- # Custom memory threshold for your system
165
- claude-mpm run-guarded --memory-threshold 16000 --accept-experimental # 16GB
166
- ```
203
+ See [MCP Gateway Documentation](docs/developer/13-mcp-gateway/README.md) for details.
167
204
 
168
- **Why Memory Guardian?** Large conversation histories can consume 2GB+ of memory, causing system instability. The Memory Guardian monitors memory usage and performs controlled restarts while preserving your conversation context and work progress.
205
+ ### Memory Management
169
206
 
170
- **Note:** This is an experimental feature in beta. Use `--accept-experimental` to suppress warnings.
207
+ Large conversation histories can consume 2GB+ of memory. Use the `cleanup-memory` command to manage Claude conversation history:
208
+
209
+ ```bash
210
+ # Clean up old conversation history
211
+ claude-mpm cleanup-memory
212
+
213
+ # Keep only recent conversations
214
+ claude-mpm cleanup-memory --days 7
215
+ ```
171
216
 
172
217
  ### Real-Time Monitoring
173
218
  The `--monitor` flag opens a web dashboard showing live agent activity, file operations, and session management.
174
219
 
175
- See [docs/MEMORY.md](docs/MEMORY.md), [docs/USER_GUIDE_MEMORY_GUARDIAN.md](docs/USER_GUIDE_MEMORY_GUARDIAN.md), and [docs/developer/11-dashboard/README.md](docs/developer/11-dashboard/README.md) for details.
220
+ See [docs/MEMORY.md](docs/MEMORY.md) and [docs/developer/11-dashboard/README.md](docs/developer/11-dashboard/README.md) for details.
176
221
 
177
222
 
178
223
  ## Documentation
@@ -182,15 +227,13 @@ See [docs/MEMORY.md](docs/MEMORY.md), [docs/USER_GUIDE_MEMORY_GUARDIAN.md](docs/
182
227
  - **[Installation Guide](docs/user/installation.md)** - Complete installation options
183
228
  - **[User Guide](docs/user/)** - Detailed usage documentation
184
229
  - **[Memory System](docs/MEMORY.md)** - Agent memory documentation
185
- - **[Memory Guardian Guide](docs/USER_GUIDE_MEMORY_GUARDIAN.md)** - Comprehensive memory protection documentation
186
230
  - **[Troubleshooting](docs/user/troubleshooting.md)** - Common issues and solutions
187
231
 
188
232
  ### Developer Documentation
189
233
  - **[Architecture Overview](docs/ARCHITECTURE.md)** - Service-oriented architecture and design
190
234
  - **[API Reference](docs/api/)** - Complete API documentation with Sphinx
191
235
  - **[Service Layer Guide](docs/developer/SERVICES.md)** - Service interfaces and implementations
192
- - **[Memory Guardian Technical](docs/MEMORY_GUARDIAN_TECHNICAL.md)** - Technical architecture and implementation details
193
- - **[Memory Guardian Configuration](docs/MEMORY_GUARDIAN_CONFIG.md)** - Complete configuration reference
236
+ - **[MCP Gateway Guide](docs/developer/13-mcp-gateway/README.md)** - Model Context Protocol integration
194
237
  - **[Performance Guide](docs/PERFORMANCE.md)** - Optimization and caching strategies
195
238
  - **[Security Guide](docs/SECURITY.md)** - Security framework and best practices
196
239
  - **[Testing Guide](docs/TESTING.md)** - Testing patterns and strategies
@@ -210,9 +253,34 @@ See [CHANGELOG.md](CHANGELOG.md) for full history and [docs/MIGRATION.md](docs/M
210
253
 
211
254
  ## Development
212
255
 
256
+ ### Quick Development Setup
257
+ ```bash
258
+ # Complete development setup with code formatting and quality tools
259
+ make dev-complete
260
+
261
+ # Or step by step:
262
+ make setup-dev # Install in development mode
263
+ make setup-pre-commit # Set up automated code formatting
264
+ ```
265
+
266
+ ### Code Quality & Formatting
267
+ The project uses automated code formatting and quality checks:
268
+ - **Black** for code formatting
269
+ - **isort** for import sorting
270
+ - **flake8** for linting
271
+ - **mypy** for type checking
272
+ - **Pre-commit hooks** for automatic enforcement
273
+
274
+ See [docs/developer/CODE_FORMATTING.md](docs/developer/CODE_FORMATTING.md) for details.
275
+
213
276
  ### Contributing
214
277
  Contributions are welcome! Please see our [project structure guide](docs/STRUCTURE.md) and follow the established patterns.
215
278
 
279
+ **Development Workflow**:
280
+ 1. Run `make dev-complete` to set up your environment
281
+ 2. Code formatting happens automatically on commit
282
+ 3. All code must pass quality checks before merging
283
+
216
284
  ### Project Structure
217
285
  See [docs/STRUCTURE.md](docs/STRUCTURE.md) for codebase organization.
218
286