claude-mpm 3.7.8__tar.gz → 3.9.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (289) hide show
  1. claude_mpm-3.9.0/CLAUDE.md +257 -0
  2. {claude_mpm-3.7.8/src/claude_mpm.egg-info → claude_mpm-3.9.0}/PKG-INFO +38 -128
  3. claude_mpm-3.9.0/README.md +101 -0
  4. claude_mpm-3.9.0/VERSION +1 -0
  5. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/pyproject.toml +2 -1
  6. claude_mpm-3.9.0/scripts/ticket +38 -0
  7. claude_mpm-3.9.0/src/claude_mpm/VERSION +1 -0
  8. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/agents/BASE_PM.md +0 -106
  9. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/agents/INSTRUCTIONS.md +0 -96
  10. claude_mpm-3.9.0/src/claude_mpm/agents/MEMORY.md +94 -0
  11. claude_mpm-3.9.0/src/claude_mpm/agents/WORKFLOW.md +86 -0
  12. claude_mpm-3.9.0/src/claude_mpm/agents/templates/code_analyzer.json +103 -0
  13. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/agents/templates/data_engineer.json +1 -1
  14. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/agents/templates/documentation.json +1 -1
  15. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/agents/templates/engineer.json +1 -1
  16. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/agents/templates/ops.json +1 -1
  17. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/agents/templates/qa.json +1 -1
  18. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/agents/templates/research.json +1 -1
  19. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/agents/templates/security.json +1 -1
  20. claude_mpm-3.9.0/src/claude_mpm/agents/templates/ticketing.json +156 -0
  21. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/agents/templates/version_control.json +1 -1
  22. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/agents/templates/web_qa.json +2 -2
  23. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/agents/templates/web_ui.json +2 -2
  24. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/cli/__init__.py +2 -2
  25. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/cli/commands/__init__.py +2 -1
  26. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/cli/commands/agents.py +8 -3
  27. claude_mpm-3.9.0/src/claude_mpm/cli/commands/tickets.py +640 -0
  28. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/cli/parser.py +217 -5
  29. claude_mpm-3.9.0/src/claude_mpm/config/__init__.py +38 -0
  30. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/config/socketio_config.py +8 -5
  31. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/constants.py +13 -0
  32. claude_mpm-3.9.0/src/claude_mpm/core/__init__.py +32 -0
  33. claude_mpm-3.9.0/src/claude_mpm/core/cache.py +596 -0
  34. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/core/claude_runner.py +166 -622
  35. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/core/config.py +7 -3
  36. claude_mpm-3.9.0/src/claude_mpm/core/constants.py +339 -0
  37. claude_mpm-3.9.0/src/claude_mpm/core/container.py +857 -0
  38. claude_mpm-3.9.0/src/claude_mpm/core/exceptions.py +392 -0
  39. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/core/framework_loader.py +249 -93
  40. claude_mpm-3.9.0/src/claude_mpm/core/interactive_session.py +479 -0
  41. claude_mpm-3.9.0/src/claude_mpm/core/interfaces.py +963 -0
  42. claude_mpm-3.9.0/src/claude_mpm/core/lazy.py +467 -0
  43. claude_mpm-3.9.0/src/claude_mpm/core/logging_config.py +444 -0
  44. claude_mpm-3.9.0/src/claude_mpm/core/oneshot_session.py +465 -0
  45. claude_mpm-3.9.0/src/claude_mpm/core/optimized_agent_loader.py +485 -0
  46. claude_mpm-3.9.0/src/claude_mpm/core/optimized_startup.py +490 -0
  47. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/core/service_registry.py +52 -26
  48. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/core/socketio_pool.py +162 -5
  49. claude_mpm-3.9.0/src/claude_mpm/core/types.py +292 -0
  50. claude_mpm-3.9.0/src/claude_mpm/core/typing_utils.py +477 -0
  51. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/hooks/claude_hooks/hook_handler.py +213 -99
  52. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/init.py +2 -1
  53. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/services/__init__.py +78 -14
  54. claude_mpm-3.9.0/src/claude_mpm/services/agent/__init__.py +24 -0
  55. claude_mpm-3.7.8/src/claude_mpm/services/agents/deployment/agent_deployment.py → claude_mpm-3.9.0/src/claude_mpm/services/agent/deployment.py +569 -268
  56. claude_mpm-3.9.0/src/claude_mpm/services/agents/deployment/agent_deployment.py +2667 -0
  57. claude_mpm-3.9.0/src/claude_mpm/services/agents/management/agent_management_service.py +598 -0
  58. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/services/agents/memory/agent_memory_manager.py +160 -4
  59. claude_mpm-3.9.0/src/claude_mpm/services/agents/registry/agent_registry.py +813 -0
  60. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/services/async_session_logger.py +8 -3
  61. claude_mpm-3.9.0/src/claude_mpm/services/communication/__init__.py +21 -0
  62. claude_mpm-3.9.0/src/claude_mpm/services/communication/socketio.py +1933 -0
  63. claude_mpm-3.9.0/src/claude_mpm/services/communication/websocket.py +479 -0
  64. claude_mpm-3.9.0/src/claude_mpm/services/core/__init__.py +123 -0
  65. claude_mpm-3.9.0/src/claude_mpm/services/core/base.py +247 -0
  66. {claude_mpm-3.7.8/src/claude_mpm → claude_mpm-3.9.0/src/claude_mpm/services}/core/interfaces.py +412 -0
  67. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/services/framework_claude_md_generator/__init__.py +10 -3
  68. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/services/framework_claude_md_generator/deployment_manager.py +14 -11
  69. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/services/framework_claude_md_generator/section_generators/todo_task_tools.py +23 -23
  70. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/services/framework_claude_md_generator.py +3 -2
  71. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/services/health_monitor.py +4 -3
  72. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/services/hook_service.py +64 -4
  73. claude_mpm-3.9.0/src/claude_mpm/services/infrastructure/__init__.py +21 -0
  74. claude_mpm-3.9.0/src/claude_mpm/services/infrastructure/logging.py +202 -0
  75. claude_mpm-3.9.0/src/claude_mpm/services/infrastructure/monitoring.py +893 -0
  76. claude_mpm-3.9.0/src/claude_mpm/services/memory/indexed_memory.py +648 -0
  77. claude_mpm-3.9.0/src/claude_mpm/services/project/__init__.py +21 -0
  78. claude_mpm-3.9.0/src/claude_mpm/services/project/analyzer.py +864 -0
  79. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/services/project_analyzer.py +95 -2
  80. claude_mpm-3.9.0/src/claude_mpm/services/project_registry.py +608 -0
  81. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/services/recovery_manager.py +15 -9
  82. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/services/response_tracker.py +3 -5
  83. claude_mpm-3.9.0/src/claude_mpm/services/socketio/__init__.py +25 -0
  84. claude_mpm-3.9.0/src/claude_mpm/services/socketio/handlers/__init__.py +25 -0
  85. claude_mpm-3.9.0/src/claude_mpm/services/socketio/handlers/base.py +121 -0
  86. claude_mpm-3.9.0/src/claude_mpm/services/socketio/handlers/connection.py +198 -0
  87. claude_mpm-3.9.0/src/claude_mpm/services/socketio/handlers/file.py +213 -0
  88. claude_mpm-3.9.0/src/claude_mpm/services/socketio/handlers/git.py +723 -0
  89. claude_mpm-3.9.0/src/claude_mpm/services/socketio/handlers/memory.py +27 -0
  90. claude_mpm-3.9.0/src/claude_mpm/services/socketio/handlers/project.py +25 -0
  91. claude_mpm-3.9.0/src/claude_mpm/services/socketio/handlers/registry.py +145 -0
  92. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/services/socketio_client_manager.py +12 -7
  93. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/services/socketio_server.py +156 -30
  94. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/services/ticket_manager.py +172 -9
  95. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/services/ticket_manager_di.py +1 -1
  96. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/services/version_control/semantic_versioning.py +80 -7
  97. claude_mpm-3.9.0/src/claude_mpm/services/version_control/version_parser.py +528 -0
  98. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/utils/error_handler.py +1 -1
  99. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/validation/agent_validator.py +27 -14
  100. claude_mpm-3.9.0/src/claude_mpm/validation/frontmatter_validator.py +231 -0
  101. {claude_mpm-3.7.8 → claude_mpm-3.9.0/src/claude_mpm.egg-info}/PKG-INFO +38 -128
  102. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm.egg-info/SOURCES.txt +42 -1
  103. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm.egg-info/requires.txt +6 -1
  104. claude_mpm-3.7.8/CLAUDE.md +0 -198
  105. claude_mpm-3.7.8/README.md +0 -195
  106. claude_mpm-3.7.8/VERSION +0 -1
  107. claude_mpm-3.7.8/scripts/ticket +0 -69
  108. claude_mpm-3.7.8/src/claude_mpm/VERSION +0 -1
  109. claude_mpm-3.7.8/src/claude_mpm/agents/templates/code_analyzer.json +0 -103
  110. claude_mpm-3.7.8/src/claude_mpm/agents/templates/ticketing.json +0 -161
  111. claude_mpm-3.7.8/src/claude_mpm/cli/commands/tickets.py +0 -63
  112. claude_mpm-3.7.8/src/claude_mpm/config/__init__.py +0 -47
  113. claude_mpm-3.7.8/src/claude_mpm/core/__init__.py +0 -42
  114. claude_mpm-3.7.8/src/claude_mpm/core/container.py +0 -347
  115. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/LICENSE +0 -0
  116. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/MANIFEST.in +0 -0
  117. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/claude-mpm +0 -0
  118. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/requirements.txt +0 -0
  119. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/scripts/run_mpm.py +0 -0
  120. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/setup.cfg +0 -0
  121. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/setup.py +0 -0
  122. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/__init__.py +0 -0
  123. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/__main__.py +0 -0
  124. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/agents/BASE_AGENT_TEMPLATE.md +0 -0
  125. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/agents/__init__.py +0 -0
  126. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/agents/agent_loader.py +0 -0
  127. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/agents/agent_loader_integration.py +0 -0
  128. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/agents/agents_metadata.py +0 -0
  129. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/agents/async_agent_loader.py +0 -0
  130. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/agents/backups/INSTRUCTIONS.md +0 -0
  131. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/agents/base_agent.json +0 -0
  132. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/agents/base_agent_loader.py +0 -0
  133. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/agents/frontmatter_validator.py +0 -0
  134. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/agents/schema/agent_schema.json +0 -0
  135. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/agents/system_agent_config.py +0 -0
  136. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/agents/templates/.claude-mpm/memories/README.md +0 -0
  137. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/agents/templates/.claude-mpm/memories/engineer_agent.md +0 -0
  138. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/agents/templates/.claude-mpm/memories/qa_agent.md +0 -0
  139. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/agents/templates/.claude-mpm/memories/research_agent.md +0 -0
  140. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/agents/templates/.claude-mpm/memories/version_control_agent.md +0 -0
  141. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/agents/templates/__init__.py +0 -0
  142. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/agents/templates/backup/data_engineer_agent_20250726_234551.json +0 -0
  143. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/agents/templates/backup/documentation_agent_20250726_234551.json +0 -0
  144. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/agents/templates/backup/engineer_agent_20250726_234551.json +0 -0
  145. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/agents/templates/backup/ops_agent_20250726_234551.json +0 -0
  146. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/agents/templates/backup/qa_agent_20250726_234551.json +0 -0
  147. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/agents/templates/backup/research_agent_20250726_234551.json +0 -0
  148. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/agents/templates/backup/security_agent_20250726_234551.json +0 -0
  149. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/agents/templates/backup/version_control_agent_20250726_234551.json +0 -0
  150. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/cli/__main__.py +0 -0
  151. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/cli/commands/aggregate.py +0 -0
  152. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/cli/commands/config.py +0 -0
  153. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/cli/commands/info.py +0 -0
  154. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/cli/commands/memory.py +0 -0
  155. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/cli/commands/monitor.py +0 -0
  156. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/cli/commands/run.py +0 -0
  157. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/cli/ticket_cli.py +0 -0
  158. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/cli/utils.py +0 -0
  159. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/cli_module/__init__.py +0 -0
  160. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/cli_module/args.py +0 -0
  161. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/cli_module/commands.py +0 -0
  162. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/cli_module/migration_example.py +0 -0
  163. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/config/agent_config.py +0 -0
  164. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/config/paths.py +0 -0
  165. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/core/agent_name_normalizer.py +0 -0
  166. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/core/agent_registry.py +0 -0
  167. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/core/agent_session_manager.py +0 -0
  168. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/core/base_service.py +0 -0
  169. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/core/config_aliases.py +0 -0
  170. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/core/config_paths.py +0 -0
  171. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/core/factories.py +0 -0
  172. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/core/hook_manager.py +0 -0
  173. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/core/injectable_service.py +0 -0
  174. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/core/logger.py +0 -0
  175. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/core/minimal_framework_loader.py +0 -0
  176. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/core/mixins.py +0 -0
  177. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/core/pm_hook_interceptor.py +0 -0
  178. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/core/session_manager.py +0 -0
  179. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/core/tool_access_control.py +0 -0
  180. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/dashboard/index.html +0 -0
  181. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/dashboard/open_dashboard.py +0 -0
  182. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/dashboard/static/css/dashboard.css +0 -0
  183. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/dashboard/static/js/components/agent-inference.js +0 -0
  184. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/dashboard/static/js/components/event-processor.js +0 -0
  185. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/dashboard/static/js/components/event-viewer.js +0 -0
  186. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/dashboard/static/js/components/export-manager.js +0 -0
  187. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/dashboard/static/js/components/file-tool-tracker.js +0 -0
  188. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/dashboard/static/js/components/hud-library-loader.js +0 -0
  189. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/dashboard/static/js/components/hud-manager.js +0 -0
  190. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/dashboard/static/js/components/hud-visualizer.js +0 -0
  191. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/dashboard/static/js/components/module-viewer.js +0 -0
  192. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/dashboard/static/js/components/session-manager.js +0 -0
  193. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/dashboard/static/js/components/socket-manager.js +0 -0
  194. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/dashboard/static/js/components/ui-state-manager.js +0 -0
  195. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/dashboard/static/js/components/working-directory.js +0 -0
  196. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/dashboard/static/js/dashboard-original.js +0 -0
  197. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/dashboard/static/js/dashboard.js +0 -0
  198. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/dashboard/static/js/socket-client.js +0 -0
  199. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/dashboard/templates/index.html +0 -0
  200. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/dashboard/test_dashboard.html +0 -0
  201. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/deployment_paths.py +0 -0
  202. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/experimental/cli_enhancements.py +0 -0
  203. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/generators/__init__.py +0 -0
  204. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/generators/agent_profile_generator.py +0 -0
  205. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/hooks/__init__.py +0 -0
  206. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/hooks/base_hook.py +0 -0
  207. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/hooks/claude_hooks/__init__.py +0 -0
  208. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/hooks/claude_hooks/hook_wrapper.sh +0 -0
  209. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/hooks/memory_integration_hook.py +0 -0
  210. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/hooks/tool_call_interceptor.py +0 -0
  211. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/hooks/validation_hooks.py +0 -0
  212. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/models/__init__.py +0 -0
  213. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/models/agent_definition.py +0 -0
  214. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/models/agent_session.py +0 -0
  215. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/scripts/__init__.py +0 -0
  216. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/scripts/socketio_daemon.py +0 -0
  217. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/scripts/start_activity_logging.py +0 -0
  218. /claude_mpm-3.7.8/src/claude_mpm/services/agents/management/agent_management_service.py → /claude_mpm-3.9.0/src/claude_mpm/services/agent/management.py +0 -0
  219. /claude_mpm-3.7.8/src/claude_mpm/services/agents/registry/agent_registry.py → /claude_mpm-3.9.0/src/claude_mpm/services/agent/registry.py +0 -0
  220. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/services/agents/__init__.py +0 -0
  221. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/services/agents/deployment/__init__.py +0 -0
  222. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/services/agents/deployment/agent_lifecycle_manager.py +0 -0
  223. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/services/agents/deployment/agent_versioning.py +0 -0
  224. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/services/agents/deployment/async_agent_deployment.py +0 -0
  225. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/services/agents/loading/__init__.py +0 -0
  226. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/services/agents/loading/agent_profile_loader.py +0 -0
  227. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/services/agents/loading/base_agent_manager.py +0 -0
  228. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/services/agents/loading/framework_agent_loader.py +0 -0
  229. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/services/agents/management/__init__.py +0 -0
  230. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/services/agents/management/agent_capabilities_generator.py +0 -0
  231. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/services/agents/memory/__init__.py +0 -0
  232. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/services/agents/memory/agent_persistence_service.py +0 -0
  233. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/services/agents/registry/__init__.py +0 -0
  234. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/services/agents/registry/deployed_agent_discovery.py +0 -0
  235. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/services/agents/registry/modification_tracker.py +0 -0
  236. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/services/claude_session_logger.py +0 -0
  237. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/services/event_aggregator.py +0 -0
  238. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/services/exceptions.py +0 -0
  239. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/services/framework_claude_md_generator/content_assembler.py +0 -0
  240. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/services/framework_claude_md_generator/content_validator.py +0 -0
  241. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/services/framework_claude_md_generator/section_generators/__init__.py +0 -0
  242. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/services/framework_claude_md_generator/section_generators/agents.py +0 -0
  243. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/services/framework_claude_md_generator/section_generators/claude_pm_init.py +0 -0
  244. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/services/framework_claude_md_generator/section_generators/core_responsibilities.py +0 -0
  245. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/services/framework_claude_md_generator/section_generators/delegation_constraints.py +0 -0
  246. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/services/framework_claude_md_generator/section_generators/environment_config.py +0 -0
  247. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/services/framework_claude_md_generator/section_generators/footer.py +0 -0
  248. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/services/framework_claude_md_generator/section_generators/header.py +0 -0
  249. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/services/framework_claude_md_generator/section_generators/orchestration_principles.py +0 -0
  250. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/services/framework_claude_md_generator/section_generators/role_designation.py +0 -0
  251. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/services/framework_claude_md_generator/section_generators/subprocess_validation.py +0 -0
  252. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/services/framework_claude_md_generator/section_generators/troubleshooting.py +0 -0
  253. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/services/framework_claude_md_generator/section_manager.py +0 -0
  254. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/services/framework_claude_md_generator/version_manager.py +0 -0
  255. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/services/memory/__init__.py +0 -0
  256. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/services/memory/builder.py +0 -0
  257. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/services/memory/cache/__init__.py +0 -0
  258. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/services/memory/cache/shared_prompt_cache.py +0 -0
  259. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/services/memory/cache/simple_cache.py +0 -0
  260. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/services/memory/optimizer.py +0 -0
  261. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/services/memory/router.py +0 -0
  262. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/services/optimized_hook_service.py +0 -0
  263. /claude_mpm-3.7.8/src/claude_mpm/services/project_registry.py → /claude_mpm-3.9.0/src/claude_mpm/services/project/registry.py +0 -0
  264. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/services/standalone_socketio_server.py +0 -0
  265. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/services/ticketing_service_original.py +0 -0
  266. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/services/version_control/__init__.py +0 -0
  267. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/services/version_control/branch_strategy.py +0 -0
  268. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/services/version_control/conflict_resolution.py +0 -0
  269. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/services/version_control/git_operations.py +0 -0
  270. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/ticket_wrapper.py +0 -0
  271. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/utils/__init__.py +0 -0
  272. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/utils/agent_dependency_loader.py +0 -0
  273. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/utils/config_manager.py +0 -0
  274. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/utils/console.py +0 -0
  275. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/utils/dependency_cache.py +0 -0
  276. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/utils/dependency_manager.py +0 -0
  277. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/utils/dependency_strategies.py +0 -0
  278. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/utils/environment_context.py +0 -0
  279. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/utils/framework_detection.py +0 -0
  280. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/utils/import_migration_example.py +0 -0
  281. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/utils/imports.py +0 -0
  282. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/utils/path_operations.py +0 -0
  283. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/utils/paths.py +0 -0
  284. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/utils/robust_installer.py +0 -0
  285. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/utils/session_logging.py +0 -0
  286. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm/validation/__init__.py +0 -0
  287. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm.egg-info/dependency_links.txt +0 -0
  288. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm.egg-info/entry_points.txt +0 -0
  289. {claude_mpm-3.7.8 → claude_mpm-3.9.0}/src/claude_mpm.egg-info/top_level.txt +0 -0
@@ -0,0 +1,257 @@
1
+ # Claude MPM Development Guidelines
2
+
3
+ This document provides development guidelines for the claude-mpm project codebase.
4
+
5
+ ## Project Overview
6
+
7
+ Claude MPM (Multi-Agent Project Manager) is a framework that extends Claude Desktop with multi-agent orchestration capabilities, featuring a modern service-oriented architecture with interface-based contracts and dependency injection.
8
+
9
+ ## Architecture (v3.8.2+)
10
+
11
+ Following the TSK-0053 refactoring, Claude MPM features:
12
+
13
+ - **Service-Oriented Architecture**: Five specialized service domains
14
+ - **Interface-Based Contracts**: All services implement explicit interfaces
15
+ - **Dependency Injection**: Service container with automatic resolution
16
+ - **Performance Optimizations**: Lazy loading, multi-level caching, connection pooling
17
+ - **Security Framework**: Input validation, path traversal prevention, secure operations
18
+ - **Backward Compatibility**: Lazy imports maintain existing import paths
19
+
20
+ ## Key Documentation
21
+
22
+ ### Architecture and Development
23
+ - 🏗️ **Architecture Overview**: See [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md) for service-oriented architecture
24
+ - 📁 **Project Structure**: See [docs/STRUCTURE.md](docs/STRUCTURE.md) for file organization
25
+ - 🔧 **Service Layer Guide**: See [docs/developer/SERVICES.md](docs/developer/SERVICES.md) for service development
26
+ - ⚡ **Performance Guide**: See [docs/PERFORMANCE.md](docs/PERFORMANCE.md) for optimization patterns
27
+ - 🔒 **Security Guide**: See [docs/SECURITY.md](docs/SECURITY.md) for security framework
28
+ - 🧪 **Testing Guide**: See [docs/TESTING.md](docs/TESTING.md) for testing strategies
29
+ - 📚 **Migration Guide**: See [docs/MIGRATION.md](docs/MIGRATION.md) for upgrade instructions
30
+
31
+ ### Operations and Quality
32
+ - 🧪 **Quality Assurance**: See [docs/QA.md](docs/QA.md) for testing guidelines
33
+ - 🚀 **Deployment**: See [docs/DEPLOY.md](docs/DEPLOY.md) for versioning and deployment
34
+ - 📊 **Logging**: See [docs/RESPONSE_LOGGING_CONFIG.md](docs/RESPONSE_LOGGING_CONFIG.md) for response logging configuration
35
+ - 🔢 **Versioning**: See [docs/VERSIONING.md](docs/VERSIONING.md) for version management
36
+ - 🧠 **Memory System**: See [docs/MEMORY.md](docs/MEMORY.md) for agent memory management
37
+
38
+ ## Development Guidelines
39
+
40
+ ### Critical Principles
41
+
42
+ **🔴 NEVER ASSUME - ALWAYS VERIFY**
43
+ - **NEVER assume** file locations, configurations, or implementations
44
+ - **ALWAYS verify** by reading actual files and checking current state
45
+ - **ALWAYS check** existing code patterns before implementing
46
+ - **NEVER guess** at directory structures or file contents
47
+ - **ALWAYS confirm** dependencies and imports exist before using them
48
+
49
+ ### Project Structure Requirements
50
+
51
+ 1. **File Organization**: Always refer to `docs/STRUCTURE.md` when creating new files
52
+ - **Scripts**: ALL scripts go in `/scripts/`, NEVER in project root
53
+ - **Tests**: ALL tests go in `/tests/`, NEVER in project root
54
+ - **Python modules**: Always under `/src/claude_mpm/`
55
+
56
+ 2. **Import Conventions**:
57
+ - Use full package names: `from claude_mpm.module import ...`
58
+ - Never use relative imports in main code
59
+ - Check existing patterns before adding new imports
60
+
61
+ ### Testing Requirements
62
+
63
+ **After significant changes, always run:**
64
+ ```bash
65
+ # Quick E2E tests
66
+ ./scripts/run_e2e_tests.sh
67
+
68
+ # Full test suite
69
+ ./scripts/run_all_tests.sh
70
+
71
+ # Lint and type checks
72
+ ./scripts/run_lint.sh
73
+ ```
74
+
75
+ See [docs/QA.md](docs/QA.md) for detailed testing procedures.
76
+
77
+ ### Key System Components
78
+
79
+ When modifying the codebase, understand these core systems:
80
+
81
+ 1. **Framework Loader** (`src/claude_mpm/core/framework_loader.py`)
82
+ - Loads PM instructions from `src/claude_mpm/agents/INSTRUCTIONS.md`
83
+ - Manages agent discovery and capabilities
84
+ - DO NOT duplicate CLAUDE.md content here
85
+
86
+ 2. **Hook System** (`src/claude_mpm/hooks/`)
87
+ - Extensibility through pre/post hooks
88
+ - Response logging via `SubagentStop` and `Stop` events
89
+ - Structured JSON responses for proper logging
90
+
91
+ 3. **Services Layer** (`src/claude_mpm/services/`)
92
+ - **Core Services**: Foundation interfaces and base classes
93
+ - **Agent Services**: Agent lifecycle, deployment, and management
94
+ - **Communication Services**: Real-time WebSocket and SocketIO
95
+ - **Project Services**: Project analysis and workspace management
96
+ - **Infrastructure Services**: Logging, monitoring, and error handling
97
+ - **Legacy Structure**: Maintained for backward compatibility
98
+
99
+ 4. **CLI System** (`src/claude_mpm/cli/`)
100
+ - Modular command structure
101
+ - See [CLI Architecture](src/claude_mpm/cli/README.md) for adding new commands
102
+
103
+ ### Common Development Tasks
104
+
105
+ #### Adding a New Service
106
+ 1. **Create Interface**: Define service contract in `src/claude_mpm/services/core/interfaces.py`
107
+ 2. **Implement Service**: Create implementation in appropriate service domain
108
+ 3. **Register Service**: Add to service container if using dependency injection
109
+ 4. **Add Tests**: Create unit, integration, and interface compliance tests
110
+ 5. **Update Documentation**: Document service in [docs/developer/SERVICES.md](docs/developer/SERVICES.md)
111
+
112
+ #### Service Development Patterns
113
+ ```python
114
+ # 1. Define interface
115
+ class IMyService(ABC):
116
+ @abstractmethod
117
+ def my_operation(self, param: str) -> bool:
118
+ pass
119
+
120
+ # 2. Implement service
121
+ class MyService(BaseService, IMyService):
122
+ def __init__(self, dependency: IDependency):
123
+ super().__init__("MyService")
124
+ self.dependency = dependency
125
+
126
+ async def initialize(self) -> bool:
127
+ # Initialize service
128
+ return True
129
+
130
+ def my_operation(self, param: str) -> bool:
131
+ # Implementation
132
+ return True
133
+
134
+ # 3. Register in container
135
+ container.register(IMyService, MyService, singleton=True)
136
+
137
+ # 4. Test interface compliance
138
+ def test_service_implements_interface():
139
+ service = MyService(mock_dependency)
140
+ assert isinstance(service, IMyService)
141
+ ```
142
+
143
+ #### Modifying PM Instructions
144
+ 1. Edit `src/claude_mpm/agents/INSTRUCTIONS.md` for PM behavior
145
+ 2. Edit `src/claude_mpm/agents/BASE_PM.md` for framework requirements
146
+ 3. Test with `./claude-mpm run` in interactive mode
147
+ 4. Update tests for PM behavior changes
148
+
149
+ #### Adding CLI Commands
150
+ 1. Create command module in `src/claude_mpm/cli/commands/`
151
+ 2. Register in `src/claude_mpm/cli/parser.py`
152
+ 3. Follow existing command patterns
153
+ 4. Use dependency injection for service access
154
+ 5. Add comprehensive tests and documentation
155
+
156
+ #### Performance Optimization
157
+ 1. **Identify Bottlenecks**: Use profiling tools and performance tests
158
+ 2. **Implement Caching**: Add appropriate caching layers
159
+ 3. **Lazy Loading**: Defer expensive operations until needed
160
+ 4. **Connection Pooling**: Reuse expensive connections
161
+ 5. **Monitor Metrics**: Track performance over time
162
+
163
+ ## Common Issues and Solutions
164
+
165
+ ### Architecture-Related Issues
166
+ 1. **Service Resolution Errors**: Ensure services are registered in container before resolving
167
+ 2. **Interface Compliance**: Verify services implement all required interface methods
168
+ 3. **Circular Dependencies**: Use dependency injection and avoid circular imports
169
+ 4. **Cache Performance**: Monitor cache hit rates and adjust TTL settings
170
+
171
+ ### Legacy Compatibility Issues
172
+ 1. **Import Errors**: Use new service paths or rely on lazy import compatibility
173
+ 2. **Service Instantiation**: Use service container instead of direct instantiation
174
+ 3. **Configuration Schema**: Update config files to new structure
175
+
176
+ ### Performance Issues
177
+ 1. **Slow Startup**: Check lazy loading implementation and cache warming
178
+ 2. **Memory Usage**: Monitor service memory consumption and optimization
179
+ 3. **Cache Misses**: Verify cache configuration and invalidation strategies
180
+
181
+ ### Traditional Issues
182
+ 1. **Import Errors**: Ensure virtual environment is activated and PYTHONPATH includes `src/`
183
+ 2. **Hook Service Errors**: Check port availability (8080-8099)
184
+ 3. **Version Errors**: Run `pip install -e .` to ensure proper installation
185
+ 4. **Agent Loading**: Check `.claude/agents/` for deployed agents
186
+
187
+ ## Contributing
188
+
189
+ ### Code Quality Standards
190
+ 1. **Follow Architecture**: Use service-oriented patterns and interface-based design
191
+ 2. **Structure Compliance**: Follow the structure in `docs/STRUCTURE.md`
192
+ 3. **Interface Design**: Define clear contracts for all services
193
+ 4. **Dependency Injection**: Use service container for loose coupling
194
+ 5. **Performance**: Implement caching and lazy loading where appropriate
195
+ 6. **Security**: Follow security guidelines in `docs/SECURITY.md`
196
+
197
+ ### Testing Requirements
198
+ 1. **Unit Tests**: Test individual services and components (85%+ coverage)
199
+ 2. **Integration Tests**: Test service interactions and interfaces
200
+ 3. **Performance Tests**: Verify caching and optimization features
201
+ 4. **Security Tests**: Validate input validation and security measures
202
+ 5. **E2E Tests**: Test complete user workflows
203
+
204
+ ### Documentation Standards
205
+ 1. **Service Documentation**: Document all interfaces and implementations
206
+ 2. **Architecture Updates**: Keep architecture docs current
207
+ 3. **Migration Guides**: Document breaking changes and upgrade paths
208
+ 4. **Performance Metrics**: Document performance expectations and benchmarks
209
+
210
+ ### Version Management
211
+ Use [Conventional Commits](https://www.conventionalcommits.org/) for automatic versioning:
212
+ - `feat:` for new features (minor version bump)
213
+ - `fix:` for bug fixes (patch version bump)
214
+ - `feat!:` or `BREAKING CHANGE:` for breaking changes (major version bump)
215
+ - `perf:` for performance improvements
216
+ - `refactor:` for code refactoring
217
+ - `docs:` for documentation updates
218
+
219
+ ## Deployment Process
220
+
221
+ See [docs/DEPLOY.md](docs/DEPLOY.md) for the complete deployment process:
222
+ - Version management with `./scripts/manage_version.py`
223
+ - Building and publishing to PyPI
224
+ - Creating GitHub releases
225
+ - Post-deployment verification
226
+
227
+ ## TSK-0053 Refactoring Achievements
228
+
229
+ The service layer architecture refactoring delivered:
230
+
231
+ ### Technical Achievements
232
+ - **Service-Oriented Architecture**: Complete redesign with five specialized service domains
233
+ - **Interface-Based Contracts**: All major services implement explicit interfaces
234
+ - **Dependency Injection**: Service container with automatic dependency resolution
235
+ - **50-80% Performance Improvement**: Through lazy loading and intelligent caching
236
+ - **Enhanced Security**: Comprehensive input validation and sanitization framework
237
+ - **Backward Compatibility**: Lazy imports maintain existing import paths
238
+
239
+ ### Quality Improvements
240
+ - **Better Testability**: Interface-based architecture enables easy mocking and testing
241
+ - **Improved Maintainability**: Clear separation of concerns and service boundaries
242
+ - **Enhanced Reliability**: Comprehensive testing with 85%+ coverage target
243
+ - **Developer Experience**: Rich documentation and migration guides
244
+
245
+ ### Future-Proofing
246
+ - **Scalability**: Service-oriented design supports future growth
247
+ - **Extensibility**: Plugin architecture through interfaces and hooks
248
+ - **Modularity**: Clear service boundaries enable independent development
249
+ - **Performance**: Intelligent caching and resource optimization foundations
250
+
251
+ ## Important Notes
252
+
253
+ - This file (CLAUDE.md) contains ONLY development guidelines for this project
254
+ - Framework features and usage are documented in the framework itself
255
+ - Claude Desktop automatically reads this file - keep it focused on development tasks
256
+ - Do not include end-user documentation or framework features here
257
+ - The refactored architecture enables faster development and better code quality
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: claude-mpm
3
- Version: 3.7.8
3
+ Version: 3.9.0
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
@@ -32,7 +32,7 @@ Requires-Dist: watchdog>=3.0.0
32
32
  Requires-Dist: tree-sitter>=0.21.0
33
33
  Requires-Dist: python-socketio>=5.11.0
34
34
  Requires-Dist: aiohttp>=3.9.0
35
- Requires-Dist: aiohttp-cors>=0.8.0
35
+ Requires-Dist: aiohttp-cors<0.8.0,>=0.7.0
36
36
  Requires-Dist: python-engineio>=4.8.0
37
37
  Requires-Dist: python-frontmatter>=1.0.0
38
38
  Requires-Dist: mistune>=3.0.0
@@ -44,6 +44,10 @@ Requires-Dist: pytest-cov; extra == "dev"
44
44
  Requires-Dist: black; extra == "dev"
45
45
  Requires-Dist: flake8; extra == "dev"
46
46
  Requires-Dist: mypy; extra == "dev"
47
+ Provides-Extra: docs
48
+ Requires-Dist: sphinx>=7.2.0; extra == "docs"
49
+ Requires-Dist: sphinx-rtd-theme>=1.3.0; extra == "docs"
50
+ Requires-Dist: sphinx-autobuild>=2021.3.14; extra == "docs"
47
51
  Provides-Extra: monitor
48
52
  Provides-Extra: agents
49
53
  Requires-Dist: bandit>=1.7.5; extra == "agents"
@@ -109,168 +113,74 @@ A powerful orchestration framework for Claude Code that enables multi-agent work
109
113
  - 🔍 **Git Integration**: View diffs and track changes across projects
110
114
  - 🎯 **Smart Task Orchestration**: PM agent intelligently routes work to specialists
111
115
 
112
- ## Installation
116
+ ## Quick Installation
113
117
 
114
118
  ```bash
115
- # Basic installation - pure Python, no compilation required
116
119
  pip install claude-mpm
117
-
118
- # Install with development dependencies
119
- pip install "claude-mpm[dev]"
120
-
121
- # Install with agent dependencies - pure Python tools
122
- pip install "claude-mpm[agents]"
123
-
124
- # Install with all optional dependencies
125
- pip install "claude-mpm[agents,dev]"
126
120
  ```
127
121
 
128
- All dependencies are pure Python - no Rust or compilation required. The `agents` dependency group includes tools for testing, code analysis, documentation, and development workflows.
122
+ **That's it!** See [QUICKSTART.md](QUICKSTART.md) for immediate usage or [docs/user/installation.md](docs/user/installation.md) for advanced options.
129
123
 
130
- ## Basic Usage
124
+ ## Quick Usage
131
125
 
132
126
  ```bash
133
- # Interactive mode (recommended)
127
+ # Start interactive mode (recommended)
134
128
  claude-mpm
135
129
 
136
- # Non-interactive with task
137
- claude-mpm run -i "analyze this codebase" --non-interactive
138
-
139
- # With monitoring dashboard
130
+ # Start with monitoring dashboard
140
131
  claude-mpm run --monitor
141
-
142
- # Resume last session
143
- claude-mpm run --resume
144
132
  ```
145
133
 
146
- ### Agent Management
147
-
148
- ```bash
149
- # View agent hierarchy and precedence
150
- claude-mpm agents list --by-tier
151
-
152
- # Inspect specific agent configuration
153
- claude-mpm agents view engineer
154
-
155
- # Fix agent configuration issues
156
- claude-mpm agents fix --all --dry-run
157
- ```
158
-
159
- For detailed usage, see [QUICKSTART.md](QUICKSTART.md)
160
-
161
- ### Agent Dependencies
162
-
163
- Claude MPM automatically manages Python dependencies required by agents. All dependencies are pure Python packages that don't require compilation. Agents can declare their dependencies in their configuration files, and the system aggregates them for easy installation.
164
-
165
- ```bash
166
- # Install all agent dependencies (pure Python)
167
- pip install "claude-mpm[agents]"
168
-
169
- # View current agent dependencies
170
- python scripts/aggregate_agent_dependencies.py --dry-run
171
-
172
- # Update pyproject.toml with latest agent dependencies
173
- python scripts/aggregate_agent_dependencies.py
174
- ```
134
+ See [QUICKSTART.md](QUICKSTART.md) for complete usage examples.
175
135
 
176
- **Agent developers** can declare dependencies in their agent configurations:
177
136
 
178
- ```json
179
- {
180
- "agent_id": "my_agent",
181
- "dependencies": {
182
- "python": ["pandas>=2.0.0", "numpy>=1.24.0"],
183
- "system": ["ripgrep", "git"]
184
- }
185
- }
186
- ```
137
+ ## Architecture
187
138
 
188
- Dependencies are automatically aggregated from all agent sources (PROJECT > USER > SYSTEM) during the build process, with intelligent version conflict resolution taking the highest compatible version.
139
+ 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.
189
140
 
190
- For comprehensive documentation, see [docs/AGENT_DEPENDENCIES.md](docs/AGENT_DEPENDENCIES.md).
141
+ See [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md) for detailed architecture information.
191
142
 
192
143
  ## Key Capabilities
193
144
 
194
145
  ### Multi-Agent Orchestration
195
- The PM agent automatically delegates work to specialized agents:
196
- - **Research**: Codebase analysis and investigation
197
- - **Engineer**: Implementation and coding
198
- - **QA**: Testing and validation
199
- - **Documentation**: Docs and guides
200
- - **Security**: Security analysis
201
- - **Ops**: Deployment and infrastructure
202
- - **Data Engineer**: Data pipelines and AI integrations
203
- - **Test Integration**: E2E testing and cross-system validation
204
- - **Version Control**: Git workflows and release management
205
-
206
- **Three-Tier Agent System**: PROJECT > USER > SYSTEM precedence allows project-specific agent customization while maintaining fallbacks. Use `claude-mpm agents list --by-tier` to see the active agent hierarchy.
207
-
208
- ### Session Management
209
- - All work is tracked in persistent sessions
210
- - Resume any session with `--resume`
211
- - Switch between projects with per-session directories
212
- - View session history and activity
146
+ The PM agent automatically delegates work to specialized agents including Research, Engineer, QA, Documentation, Security, Ops, Data Engineer, Test Integration, and Version Control.
213
147
 
214
148
  ### Agent Memory System
215
- Agents learn and improve over time with persistent memory:
216
- - **Project-Specific Knowledge**: Automatically analyzes your codebase to understand patterns
217
- - **Continuous Learning**: Agents remember insights across sessions
218
- - **Memory Management**: Initialize, optimize, and manage agent memories
219
- - **Quick Initialization**: Use `/mpm memory init` to scan project and create memories
220
-
221
- ```bash
222
- # Initialize project-specific memories
223
- claude-mpm memory init
224
-
225
- # View memory status
226
- claude-mpm memory status
227
-
228
- # Add specific learning
229
- claude-mpm memory add engineer pattern "Always use async/await for I/O"
230
-
231
- # Start with monitoring dashboard
232
- claude-mpm run --monitor
233
- ```
234
-
235
- See [docs/MEMORY.md](docs/MEMORY.md) for comprehensive memory system documentation.
149
+ Agents learn project-specific patterns and remember insights across sessions. Initialize with `claude-mpm memory init`.
236
150
 
237
151
  ### Real-Time Monitoring
238
- The `--monitor` flag opens a web dashboard showing:
239
- - Live agent activity and delegations
240
- - File operations with git diff viewer
241
- - Tool usage and results
242
- - Session management UI
152
+ The `--monitor` flag opens a web dashboard showing live agent activity, file operations, and session management.
243
153
 
244
- See [docs/developer/11-dashboard/README.md](docs/developer/11-dashboard/README.md) for full monitoring guide.
154
+ See [docs/MEMORY.md](docs/MEMORY.md) and [docs/developer/11-dashboard/README.md](docs/developer/11-dashboard/README.md) for details.
245
155
 
246
156
 
247
157
  ## Documentation
248
158
 
159
+ ### User Documentation
249
160
  - **[Quick Start Guide](QUICKSTART.md)** - Get running in 5 minutes
250
- - **[Agent Memory System](docs/MEMORY.md)** - Comprehensive memory documentation
251
- - **[Monitoring Dashboard](docs/developer/11-dashboard/README.md)** - Real-time monitoring features
252
- - **[Project Structure](docs/STRUCTURE.md)** - Codebase organization
253
- - **[Deployment Guide](docs/DEPLOY.md)** - Publishing and versioning
161
+ - **[Installation Guide](docs/user/installation.md)** - Complete installation options
254
162
  - **[User Guide](docs/user/)** - Detailed usage documentation
255
- - **[Developer Guide](docs/developer/)** - Architecture and API reference
163
+ - **[Memory System](docs/MEMORY.md)** - Agent memory documentation
164
+ - **[Troubleshooting](docs/user/troubleshooting.md)** - Common issues and solutions
165
+
166
+ ### Developer Documentation
167
+ - **[Architecture Overview](docs/ARCHITECTURE.md)** - Service-oriented architecture and design
168
+ - **[API Reference](docs/api/)** - Complete API documentation with Sphinx
169
+ - **[Service Layer Guide](docs/developer/SERVICES.md)** - Service interfaces and implementations
170
+ - **[Performance Guide](docs/PERFORMANCE.md)** - Optimization and caching strategies
171
+ - **[Security Guide](docs/SECURITY.md)** - Security framework and best practices
172
+ - **[Testing Guide](docs/TESTING.md)** - Testing patterns and strategies
173
+ - **[Migration Guide](docs/MIGRATION.md)** - Upgrading from previous versions
174
+ - **[Developer Guide](docs/developer/)** - Comprehensive development documentation
256
175
 
257
- ## Recent Updates (v3.4.27)
176
+ ### API Documentation
177
+ Comprehensive API documentation is available at [docs/api/](docs/api/) - build with `make html` in that directory.
258
178
 
259
- ### Core System Enhancements
260
- - **Project Structure Reorganization**: Centralized path management with ClaudeMPMPaths enum
261
- - **Agent Services Hierarchy**: Reorganized agent and memory services into hierarchical structures
262
- - **Response Logging Improvements**: Flat structure logging without session_ prefix
263
- - **Memory System Expansion**: Added data_engineer and test_integration agents with specialized keywords
264
- - **Path Management System**: Implemented centralized configuration path handling
179
+ ## Recent Updates (v3.8.2)
265
180
 
266
- ### Project Cleanup & Organization
267
- - **Test File Migration**: Moved 66 test files from scripts/ to tests/ directory
268
- - **Documentation Archives**: Archived 35+ QA reports to docs/archive/
269
- - **Obsolete Directory Removal**: Cleaned up orchestration, docker, security, and terminal_wrapper directories
270
- - **Agent Registry Caching**: Enhanced performance with intelligent caching mechanisms
271
- - **Improved TodoWrite Integration**: Enhanced agent prefix guidelines across all agent templates
181
+ **Major Architecture Refactoring (TSK-0053)**: Complete service-oriented redesign with 50-80% performance improvements, enhanced security, and interface-based design.
272
182
 
273
- See [CHANGELOG.md](CHANGELOG.md) for full history.
183
+ See [CHANGELOG.md](CHANGELOG.md) for full history and [docs/MIGRATION.md](docs/MIGRATION.md) for upgrade instructions.
274
184
 
275
185
  ## Development
276
186
 
@@ -0,0 +1,101 @@
1
+ # Claude MPM - Multi-Agent Project Manager
2
+
3
+ A powerful orchestration framework for Claude Code that enables multi-agent workflows, session management, and real-time monitoring through an intuitive interface.
4
+
5
+ > **Quick Start**: See [QUICKSTART.md](QUICKSTART.md) to get running in 5 minutes!
6
+
7
+ ## Features
8
+
9
+ - 🤖 **Multi-Agent System**: Automatically delegates tasks to specialized agents (PM, Research, Engineer, QA, Documentation, Security, Ops, Data Engineer, Test Integration, Version Control)
10
+ - 🧠 **Agent Memory System**: Persistent learning with project-specific knowledge retention
11
+ - 🔄 **Session Management**: Resume previous sessions with `--resume`
12
+ - 📊 **Real-Time Monitoring**: Live dashboard with `--monitor` flag
13
+ - 📁 **Multi-Project Support**: Per-session working directories
14
+ - 🔍 **Git Integration**: View diffs and track changes across projects
15
+ - 🎯 **Smart Task Orchestration**: PM agent intelligently routes work to specialists
16
+
17
+ ## Quick Installation
18
+
19
+ ```bash
20
+ pip install claude-mpm
21
+ ```
22
+
23
+ **That's it!** See [QUICKSTART.md](QUICKSTART.md) for immediate usage or [docs/user/installation.md](docs/user/installation.md) for advanced options.
24
+
25
+ ## Quick Usage
26
+
27
+ ```bash
28
+ # Start interactive mode (recommended)
29
+ claude-mpm
30
+
31
+ # Start with monitoring dashboard
32
+ claude-mpm run --monitor
33
+ ```
34
+
35
+ See [QUICKSTART.md](QUICKSTART.md) for complete usage examples.
36
+
37
+
38
+ ## Architecture
39
+
40
+ 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.
41
+
42
+ See [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md) for detailed architecture information.
43
+
44
+ ## Key Capabilities
45
+
46
+ ### Multi-Agent Orchestration
47
+ The PM agent automatically delegates work to specialized agents including Research, Engineer, QA, Documentation, Security, Ops, Data Engineer, Test Integration, and Version Control.
48
+
49
+ ### Agent Memory System
50
+ Agents learn project-specific patterns and remember insights across sessions. Initialize with `claude-mpm memory init`.
51
+
52
+ ### Real-Time Monitoring
53
+ The `--monitor` flag opens a web dashboard showing live agent activity, file operations, and session management.
54
+
55
+ See [docs/MEMORY.md](docs/MEMORY.md) and [docs/developer/11-dashboard/README.md](docs/developer/11-dashboard/README.md) for details.
56
+
57
+
58
+ ## Documentation
59
+
60
+ ### User Documentation
61
+ - **[Quick Start Guide](QUICKSTART.md)** - Get running in 5 minutes
62
+ - **[Installation Guide](docs/user/installation.md)** - Complete installation options
63
+ - **[User Guide](docs/user/)** - Detailed usage documentation
64
+ - **[Memory System](docs/MEMORY.md)** - Agent memory documentation
65
+ - **[Troubleshooting](docs/user/troubleshooting.md)** - Common issues and solutions
66
+
67
+ ### Developer Documentation
68
+ - **[Architecture Overview](docs/ARCHITECTURE.md)** - Service-oriented architecture and design
69
+ - **[API Reference](docs/api/)** - Complete API documentation with Sphinx
70
+ - **[Service Layer Guide](docs/developer/SERVICES.md)** - Service interfaces and implementations
71
+ - **[Performance Guide](docs/PERFORMANCE.md)** - Optimization and caching strategies
72
+ - **[Security Guide](docs/SECURITY.md)** - Security framework and best practices
73
+ - **[Testing Guide](docs/TESTING.md)** - Testing patterns and strategies
74
+ - **[Migration Guide](docs/MIGRATION.md)** - Upgrading from previous versions
75
+ - **[Developer Guide](docs/developer/)** - Comprehensive development documentation
76
+
77
+ ### API Documentation
78
+ Comprehensive API documentation is available at [docs/api/](docs/api/) - build with `make html` in that directory.
79
+
80
+ ## Recent Updates (v3.8.2)
81
+
82
+ **Major Architecture Refactoring (TSK-0053)**: Complete service-oriented redesign with 50-80% performance improvements, enhanced security, and interface-based design.
83
+
84
+ See [CHANGELOG.md](CHANGELOG.md) for full history and [docs/MIGRATION.md](docs/MIGRATION.md) for upgrade instructions.
85
+
86
+ ## Development
87
+
88
+ ### Contributing
89
+ Contributions are welcome! Please see our [project structure guide](docs/STRUCTURE.md) and follow the established patterns.
90
+
91
+ ### Project Structure
92
+ See [docs/STRUCTURE.md](docs/STRUCTURE.md) for codebase organization.
93
+
94
+ ### License
95
+ MIT License - see [LICENSE](LICENSE) file.
96
+
97
+ ## Credits
98
+
99
+ - Based on [claude-multiagent-pm](https://github.com/kfsone/claude-multiagent-pm)
100
+ - Enhanced for [Claude Code](https://docs.anthropic.com/en/docs/claude-code) integration
101
+ - Built with ❤️ by the Claude MPM community
@@ -0,0 +1 @@
1
+ 3.9.0
@@ -10,7 +10,7 @@ readme = "README.md"
10
10
  requires-python = ">=3.8"
11
11
  keywords = [ "claude", "orchestration", "multi-agent", "ticket-management",]
12
12
  classifiers = [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12",]
13
- dependencies = [ "ai-trackdown-pytools>=1.4.0", "pyyaml>=6.0", "python-dotenv>=0.19.0", "click>=8.0.0", "pexpect>=4.8.0", "psutil>=5.9.0", "requests>=2.25.0", "flask>=3.0.0", "flask-cors>=4.0.0", "watchdog>=3.0.0", "tree-sitter>=0.21.0", "python-socketio>=5.11.0", "aiohttp>=3.9.0", "aiohttp-cors>=0.8.0", "python-engineio>=4.8.0", "python-frontmatter>=1.0.0", "mistune>=3.0.0", "aiofiles>=23.0.0",]
13
+ dependencies = [ "ai-trackdown-pytools>=1.4.0", "pyyaml>=6.0", "python-dotenv>=0.19.0", "click>=8.0.0", "pexpect>=4.8.0", "psutil>=5.9.0", "requests>=2.25.0", "flask>=3.0.0", "flask-cors>=4.0.0", "watchdog>=3.0.0", "tree-sitter>=0.21.0", "python-socketio>=5.11.0", "aiohttp>=3.9.0", "aiohttp-cors>=0.7.0,<0.8.0", "python-engineio>=4.8.0", "python-frontmatter>=1.0.0", "mistune>=3.0.0", "aiofiles>=23.0.0",]
14
14
  [[project.authors]]
15
15
  name = "Claude MPM Team"
16
16
 
@@ -19,6 +19,7 @@ text = "MIT"
19
19
 
20
20
  [project.optional-dependencies]
21
21
  dev = [ "pytest>=7.0", "pytest-asyncio", "pytest-cov", "black", "flake8", "mypy",]
22
+ docs = [ "sphinx>=7.2.0", "sphinx-rtd-theme>=1.3.0", "sphinx-autobuild>=2021.3.14",]
22
23
  monitor = []
23
24
  # Pure Python agent dependencies - no compilation required
24
25
  agents = [ "bandit>=1.7.5", "black>=23.0.0", "commitizen>=3.13.0", "dask>=2023.12.0", "detect-secrets>=1.4.0", "diagrams>=0.23.0", "docstring-parser>=0.15.0", "faker>=20.0.0", "gitlint>=0.19.0", "gitpython>=3.1.40", "hypothesis>=6.92.0", "isort>=5.12.0", "lizard>=1.17.0", "mermaid-py>=0.2.0", "mkdocs>=1.5.0", "mutmut>=2.4.0", "mypy>=1.8.0", "pandas>=2.1.0", "pre-commit>=3.5.0", "prometheus-client>=0.19.0", "pydoc-markdown>=4.8.0", "pydriller>=2.5.0", "pygments>=2.17.0", "pytest>=7.4.0", "pytest-benchmark>=4.0.0", "pytest-cov>=4.1.0", "radon>=6.0.0", "rope>=1.11.0", "sphinx>=7.2.0", "sqlalchemy>=2.0.0", "sqlparse>=0.4.4", "tree-sitter>=0.21.0", "tree-sitter-python>=0.21.0", "tree-sitter-javascript>=0.21.0", "tree-sitter-typescript>=0.21.0", "tree-sitter-go>=0.21.0", "tree-sitter-rust>=0.21.0", "tree-sitter-java>=0.21.0", "tree-sitter-cpp>=0.21.0", "tree-sitter-c>=0.21.0", "tree-sitter-ruby>=0.21.0", "tree-sitter-php>=0.21.0",]
@@ -0,0 +1,38 @@
1
+ #!/usr/bin/env bash
2
+ # Ticket Management Shell Wrapper for claude-mpm
3
+ #
4
+ # WHY: This shell script provides backward compatibility for users who use the
5
+ # 'ticket' command directly from the shell. It delegates all operations to the
6
+ # integrated claude-mpm tickets command.
7
+ #
8
+ # DESIGN DECISION: This thin wrapper maintains the existing shell interface while
9
+ # delegating to the new claude-mpm tickets subcommands for consistency.
10
+
11
+ # Find the project root
12
+ SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
13
+ PROJECT_ROOT="$( cd "$SCRIPT_DIR/.." && pwd )"
14
+
15
+ # Check if we should use local claude-mpm or installed version
16
+ if [ -f "$PROJECT_ROOT/claude-mpm" ] && [ -d "$PROJECT_ROOT/src/claude_mpm" ]; then
17
+ # Use local development version
18
+ CLAUDE_MPM="$PROJECT_ROOT/claude-mpm"
19
+ else
20
+ # Use installed version
21
+ CLAUDE_MPM="claude-mpm"
22
+ fi
23
+
24
+ # Check if claude-mpm is available
25
+ if ! command -v "$CLAUDE_MPM" &> /dev/null && [ "$CLAUDE_MPM" = "claude-mpm" ]; then
26
+ echo "Error: claude-mpm not found. Please ensure it's installed and in your PATH."
27
+ echo "Install with: pip install claude-mpm"
28
+ exit 1
29
+ fi
30
+
31
+ # Delegate to claude-mpm tickets command
32
+ # If no arguments or help requested, show help
33
+ if [ $# -eq 0 ] || [ "$1" = "help" ] || [ "$1" = "--help" ] || [ "$1" = "-h" ]; then
34
+ exec "$CLAUDE_MPM" tickets --help
35
+ else
36
+ # Pass all arguments to claude-mpm tickets
37
+ exec "$CLAUDE_MPM" tickets "$@"
38
+ fi
@@ -0,0 +1 @@
1
+ 3.9.0