claude-mpm 4.24.0__py3-none-any.whl → 5.0.9__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


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

Files changed (502) hide show
  1. claude_mpm/VERSION +1 -1
  2. claude_mpm/agents/BASE_PM.md +12 -0
  3. claude_mpm/agents/OUTPUT_STYLE.md +3 -48
  4. claude_mpm/agents/PM_INSTRUCTIONS.md +721 -911
  5. claude_mpm/agents/PM_INSTRUCTIONS_TEACH.md +1322 -0
  6. claude_mpm/agents/WORKFLOW.md +4 -4
  7. claude_mpm/agents/__init__.py +6 -0
  8. claude_mpm/agents/agent_loader.py +1 -4
  9. claude_mpm/agents/base_agent.json +6 -3
  10. claude_mpm/agents/base_agent_loader.py +10 -35
  11. claude_mpm/agents/frontmatter_validator.py +1 -1
  12. claude_mpm/agents/templates/{circuit_breakers.md → circuit-breakers.md} +370 -3
  13. claude_mpm/agents/templates/context-management-examples.md +544 -0
  14. claude_mpm/agents/templates/{pm_red_flags.md → pm-red-flags.md} +48 -0
  15. claude_mpm/agents/templates/pr-workflow-examples.md +427 -0
  16. claude_mpm/agents/templates/research-gate-examples.md +669 -0
  17. claude_mpm/agents/templates/structured-questions-examples.md +615 -0
  18. claude_mpm/agents/templates/ticket-completeness-examples.md +139 -0
  19. claude_mpm/agents/templates/ticketing-examples.md +277 -0
  20. claude_mpm/cli/__init__.py +38 -2
  21. claude_mpm/cli/commands/__init__.py +2 -0
  22. claude_mpm/cli/commands/agent_source.py +774 -0
  23. claude_mpm/cli/commands/agent_state_manager.py +188 -30
  24. claude_mpm/cli/commands/agents.py +959 -36
  25. claude_mpm/cli/commands/agents_cleanup.py +210 -0
  26. claude_mpm/cli/commands/agents_discover.py +338 -0
  27. claude_mpm/cli/commands/aggregate.py +1 -1
  28. claude_mpm/cli/commands/analyze.py +3 -3
  29. claude_mpm/cli/commands/auto_configure.py +2 -6
  30. claude_mpm/cli/commands/config.py +7 -4
  31. claude_mpm/cli/commands/configure.py +769 -45
  32. claude_mpm/cli/commands/configure_agent_display.py +4 -4
  33. claude_mpm/cli/commands/configure_navigation.py +63 -46
  34. claude_mpm/cli/commands/debug.py +12 -12
  35. claude_mpm/cli/commands/doctor.py +10 -2
  36. claude_mpm/cli/commands/hook_errors.py +277 -0
  37. claude_mpm/cli/commands/local_deploy.py +1 -4
  38. claude_mpm/cli/commands/mcp_install_commands.py +1 -1
  39. claude_mpm/cli/commands/mpm_init/core.py +49 -1
  40. claude_mpm/cli/commands/mpm_init/git_activity.py +10 -10
  41. claude_mpm/cli/commands/mpm_init/prompts.py +6 -6
  42. claude_mpm/cli/commands/postmortem.py +401 -0
  43. claude_mpm/cli/commands/run.py +123 -165
  44. claude_mpm/cli/commands/skill_source.py +694 -0
  45. claude_mpm/cli/commands/skills.py +757 -20
  46. claude_mpm/cli/executor.py +78 -3
  47. claude_mpm/cli/interactive/agent_wizard.py +955 -45
  48. claude_mpm/cli/parsers/agent_source_parser.py +171 -0
  49. claude_mpm/cli/parsers/agents_parser.py +256 -4
  50. claude_mpm/cli/parsers/base_parser.py +53 -0
  51. claude_mpm/cli/parsers/config_parser.py +96 -43
  52. claude_mpm/cli/parsers/skill_source_parser.py +169 -0
  53. claude_mpm/cli/parsers/skills_parser.py +145 -0
  54. claude_mpm/cli/parsers/source_parser.py +138 -0
  55. claude_mpm/cli/startup.py +538 -106
  56. claude_mpm/cli/startup_display.py +480 -0
  57. claude_mpm/cli/utils.py +1 -1
  58. claude_mpm/cli_module/commands.py +1 -1
  59. claude_mpm/commands/{mpm-auto-configure.md → mpm-agents-auto-configure.md} +9 -0
  60. claude_mpm/commands/mpm-agents-detect.md +9 -0
  61. claude_mpm/commands/{mpm-agents.md → mpm-agents-list.md} +9 -0
  62. claude_mpm/commands/mpm-agents-recommend.md +9 -0
  63. claude_mpm/commands/{mpm-config.md → mpm-config-view.md} +9 -0
  64. claude_mpm/commands/mpm-doctor.md +9 -0
  65. claude_mpm/commands/mpm-help.md +14 -2
  66. claude_mpm/commands/mpm-init.md +27 -2
  67. claude_mpm/commands/mpm-monitor.md +9 -0
  68. claude_mpm/commands/mpm-postmortem.md +123 -0
  69. claude_mpm/commands/{mpm-resume.md → mpm-session-resume.md} +9 -0
  70. claude_mpm/commands/mpm-status.md +9 -0
  71. claude_mpm/commands/{mpm-organize.md → mpm-ticket-organize.md} +9 -0
  72. claude_mpm/commands/mpm-ticket-view.md +552 -0
  73. claude_mpm/commands/mpm-version.md +9 -0
  74. claude_mpm/commands/mpm.md +10 -0
  75. claude_mpm/config/agent_presets.py +488 -0
  76. claude_mpm/config/agent_sources.py +325 -0
  77. claude_mpm/config/skill_presets.py +392 -0
  78. claude_mpm/config/skill_sources.py +590 -0
  79. claude_mpm/constants.py +13 -0
  80. claude_mpm/core/claude_runner.py +5 -34
  81. claude_mpm/core/config.py +16 -0
  82. claude_mpm/core/constants.py +1 -1
  83. claude_mpm/core/framework/__init__.py +3 -16
  84. claude_mpm/core/framework/loaders/file_loader.py +54 -101
  85. claude_mpm/core/framework/loaders/instruction_loader.py +25 -5
  86. claude_mpm/core/hook_error_memory.py +381 -0
  87. claude_mpm/core/hook_manager.py +41 -2
  88. claude_mpm/core/interactive_session.py +91 -10
  89. claude_mpm/core/logger.py +3 -1
  90. claude_mpm/core/oneshot_session.py +71 -8
  91. claude_mpm/core/protocols/__init__.py +23 -0
  92. claude_mpm/core/protocols/runner_protocol.py +103 -0
  93. claude_mpm/core/protocols/session_protocol.py +131 -0
  94. claude_mpm/core/shared/singleton_manager.py +11 -4
  95. claude_mpm/core/system_context.py +38 -0
  96. claude_mpm/dashboard/static/css/activity.css +69 -69
  97. claude_mpm/dashboard/static/css/connection-status.css +10 -10
  98. claude_mpm/dashboard/static/css/dashboard.css +15 -15
  99. claude_mpm/dashboard/static/js/components/activity-tree.js +178 -178
  100. claude_mpm/dashboard/static/js/components/agent-hierarchy.js +101 -101
  101. claude_mpm/dashboard/static/js/components/agent-inference.js +31 -31
  102. claude_mpm/dashboard/static/js/components/build-tracker.js +59 -59
  103. claude_mpm/dashboard/static/js/components/code-simple.js +107 -107
  104. claude_mpm/dashboard/static/js/components/connection-debug.js +101 -101
  105. claude_mpm/dashboard/static/js/components/diff-viewer.js +113 -113
  106. claude_mpm/dashboard/static/js/components/event-viewer.js +12 -12
  107. claude_mpm/dashboard/static/js/components/file-change-tracker.js +57 -57
  108. claude_mpm/dashboard/static/js/components/file-change-viewer.js +74 -74
  109. claude_mpm/dashboard/static/js/components/file-tool-tracker.js +6 -6
  110. claude_mpm/dashboard/static/js/components/file-viewer.js +42 -42
  111. claude_mpm/dashboard/static/js/components/module-viewer.js +27 -27
  112. claude_mpm/dashboard/static/js/components/session-manager.js +14 -14
  113. claude_mpm/dashboard/static/js/components/socket-manager.js +1 -1
  114. claude_mpm/dashboard/static/js/components/ui-state-manager.js +14 -14
  115. claude_mpm/dashboard/static/js/components/unified-data-viewer.js +110 -110
  116. claude_mpm/dashboard/static/js/components/working-directory.js +8 -8
  117. claude_mpm/dashboard/static/js/connection-manager.js +76 -76
  118. claude_mpm/dashboard/static/js/dashboard.js +76 -58
  119. claude_mpm/dashboard/static/js/extension-error-handler.js +22 -22
  120. claude_mpm/dashboard/static/js/socket-client.js +138 -121
  121. claude_mpm/dashboard/templates/code_simple.html +23 -23
  122. claude_mpm/dashboard/templates/index.html +18 -18
  123. claude_mpm/experimental/cli_enhancements.py +1 -5
  124. claude_mpm/hooks/claude_hooks/__pycache__/__init__.cpython-313.pyc +0 -0
  125. claude_mpm/hooks/claude_hooks/__pycache__/event_handlers.cpython-313.pyc +0 -0
  126. claude_mpm/hooks/claude_hooks/__pycache__/hook_handler.cpython-313.pyc +0 -0
  127. claude_mpm/hooks/claude_hooks/__pycache__/memory_integration.cpython-313.pyc +0 -0
  128. claude_mpm/hooks/claude_hooks/__pycache__/response_tracking.cpython-313.pyc +0 -0
  129. claude_mpm/hooks/claude_hooks/__pycache__/tool_analysis.cpython-313.pyc +0 -0
  130. claude_mpm/hooks/claude_hooks/event_handlers.py +3 -1
  131. claude_mpm/hooks/claude_hooks/services/__pycache__/__init__.cpython-313.pyc +0 -0
  132. claude_mpm/hooks/claude_hooks/services/__pycache__/connection_manager_http.cpython-313.pyc +0 -0
  133. claude_mpm/hooks/claude_hooks/services/__pycache__/duplicate_detector.cpython-313.pyc +0 -0
  134. claude_mpm/hooks/claude_hooks/services/__pycache__/state_manager.cpython-313.pyc +0 -0
  135. claude_mpm/hooks/claude_hooks/services/__pycache__/subagent_processor.cpython-313.pyc +0 -0
  136. claude_mpm/hooks/failure_learning/__init__.py +2 -8
  137. claude_mpm/hooks/failure_learning/failure_detection_hook.py +1 -6
  138. claude_mpm/hooks/failure_learning/fix_detection_hook.py +1 -6
  139. claude_mpm/hooks/failure_learning/learning_extraction_hook.py +1 -6
  140. claude_mpm/hooks/kuzu_response_hook.py +1 -5
  141. claude_mpm/models/git_repository.py +198 -0
  142. claude_mpm/scripts/claude-hook-handler.sh +3 -3
  143. claude_mpm/scripts/start_activity_logging.py +3 -1
  144. claude_mpm/services/agents/agent_builder.py +45 -9
  145. claude_mpm/services/agents/agent_preset_service.py +238 -0
  146. claude_mpm/services/agents/agent_selection_service.py +484 -0
  147. claude_mpm/services/agents/auto_deploy_index_parser.py +569 -0
  148. claude_mpm/services/agents/cache_git_manager.py +621 -0
  149. claude_mpm/services/agents/deployment/agent_deployment.py +126 -2
  150. claude_mpm/services/agents/deployment/agent_discovery_service.py +105 -73
  151. claude_mpm/services/agents/deployment/agent_format_converter.py +1 -1
  152. claude_mpm/services/agents/deployment/agent_lifecycle_manager.py +1 -5
  153. claude_mpm/services/agents/deployment/agent_metrics_collector.py +3 -3
  154. claude_mpm/services/agents/deployment/agent_restore_handler.py +1 -4
  155. claude_mpm/services/agents/deployment/agent_template_builder.py +236 -15
  156. claude_mpm/services/agents/deployment/agents_directory_resolver.py +101 -15
  157. claude_mpm/services/agents/deployment/async_agent_deployment.py +2 -1
  158. claude_mpm/services/agents/deployment/facade/deployment_facade.py +3 -3
  159. claude_mpm/services/agents/deployment/multi_source_deployment_service.py +115 -15
  160. claude_mpm/services/agents/deployment/pipeline/pipeline_executor.py +2 -2
  161. claude_mpm/services/agents/deployment/refactored_agent_deployment_service.py +1 -4
  162. claude_mpm/services/agents/deployment/remote_agent_discovery_service.py +363 -0
  163. claude_mpm/services/agents/deployment/single_agent_deployer.py +2 -2
  164. claude_mpm/services/agents/deployment/system_instructions_deployer.py +168 -46
  165. claude_mpm/services/agents/deployment/validation/deployment_validator.py +2 -2
  166. claude_mpm/services/agents/git_source_manager.py +629 -0
  167. claude_mpm/services/agents/loading/framework_agent_loader.py +9 -12
  168. claude_mpm/services/agents/local_template_manager.py +50 -10
  169. claude_mpm/services/agents/single_tier_deployment_service.py +696 -0
  170. claude_mpm/services/agents/sources/__init__.py +13 -0
  171. claude_mpm/services/agents/sources/agent_sync_state.py +516 -0
  172. claude_mpm/services/agents/sources/git_source_sync_service.py +1087 -0
  173. claude_mpm/services/agents/startup_sync.py +239 -0
  174. claude_mpm/services/agents/toolchain_detector.py +474 -0
  175. claude_mpm/services/analysis/__init__.py +25 -0
  176. claude_mpm/services/analysis/postmortem_reporter.py +474 -0
  177. claude_mpm/services/analysis/postmortem_service.py +765 -0
  178. claude_mpm/services/cli/session_pause_manager.py +1 -1
  179. claude_mpm/services/command_deployment_service.py +200 -6
  180. claude_mpm/services/core/base.py +7 -2
  181. claude_mpm/services/core/interfaces/__init__.py +1 -3
  182. claude_mpm/services/core/interfaces/health.py +1 -4
  183. claude_mpm/services/core/models/__init__.py +2 -11
  184. claude_mpm/services/diagnostics/checks/__init__.py +4 -0
  185. claude_mpm/services/diagnostics/checks/agent_check.py +0 -2
  186. claude_mpm/services/diagnostics/checks/agent_sources_check.py +577 -0
  187. claude_mpm/services/diagnostics/checks/instructions_check.py +1 -2
  188. claude_mpm/services/diagnostics/checks/mcp_check.py +0 -1
  189. claude_mpm/services/diagnostics/checks/mcp_services_check.py +7 -15
  190. claude_mpm/services/diagnostics/checks/monitor_check.py +0 -1
  191. claude_mpm/services/diagnostics/checks/skill_sources_check.py +587 -0
  192. claude_mpm/services/diagnostics/diagnostic_runner.py +9 -0
  193. claude_mpm/services/diagnostics/doctor_reporter.py +40 -10
  194. claude_mpm/services/event_bus/direct_relay.py +3 -3
  195. claude_mpm/services/events/consumers/logging.py +1 -2
  196. claude_mpm/services/git/__init__.py +21 -0
  197. claude_mpm/services/git/git_operations_service.py +494 -0
  198. claude_mpm/services/github/__init__.py +21 -0
  199. claude_mpm/services/github/github_cli_service.py +397 -0
  200. claude_mpm/services/infrastructure/monitoring/__init__.py +1 -5
  201. claude_mpm/services/infrastructure/monitoring/aggregator.py +1 -6
  202. claude_mpm/services/instructions/__init__.py +9 -0
  203. claude_mpm/services/instructions/instruction_cache_service.py +374 -0
  204. claude_mpm/services/local_ops/__init__.py +3 -13
  205. claude_mpm/services/local_ops/health_checks/__init__.py +1 -3
  206. claude_mpm/services/local_ops/health_manager.py +1 -4
  207. claude_mpm/services/local_ops/resource_monitor.py +1 -1
  208. claude_mpm/services/mcp_config_manager.py +75 -145
  209. claude_mpm/services/mcp_gateway/config/configuration.py +1 -1
  210. claude_mpm/services/mcp_gateway/core/process_pool.py +22 -16
  211. claude_mpm/services/mcp_gateway/server/mcp_gateway.py +1 -6
  212. claude_mpm/services/mcp_gateway/server/stdio_server.py +0 -2
  213. claude_mpm/services/mcp_gateway/tools/kuzu_memory_service.py +6 -2
  214. claude_mpm/services/mcp_service_verifier.py +6 -3
  215. claude_mpm/services/model/model_router.py +1 -2
  216. claude_mpm/services/monitor/daemon.py +29 -9
  217. claude_mpm/services/monitor/daemon_manager.py +96 -19
  218. claude_mpm/services/monitor/server.py +2 -2
  219. claude_mpm/services/port_manager.py +1 -1
  220. claude_mpm/services/pr/__init__.py +14 -0
  221. claude_mpm/services/pr/pr_template_service.py +329 -0
  222. claude_mpm/services/project/documentation_manager.py +2 -1
  223. claude_mpm/services/project/toolchain_analyzer.py +3 -1
  224. claude_mpm/services/runner_configuration_service.py +16 -3
  225. claude_mpm/services/session_management_service.py +16 -4
  226. claude_mpm/services/skills/__init__.py +18 -0
  227. claude_mpm/services/skills/git_skill_source_manager.py +1169 -0
  228. claude_mpm/services/skills/skill_discovery_service.py +568 -0
  229. claude_mpm/services/skills_config.py +547 -0
  230. claude_mpm/services/skills_deployer.py +955 -0
  231. claude_mpm/services/socketio/handlers/connection.py +1 -1
  232. claude_mpm/services/socketio/handlers/git.py +1 -1
  233. claude_mpm/services/socketio/server/core.py +1 -4
  234. claude_mpm/services/socketio/server/main.py +1 -3
  235. claude_mpm/services/system_instructions_service.py +1 -3
  236. claude_mpm/services/unified/analyzer_strategies/performance_analyzer.py +0 -3
  237. claude_mpm/services/unified/analyzer_strategies/security_analyzer.py +0 -1
  238. claude_mpm/services/unified/deployment_strategies/vercel.py +1 -5
  239. claude_mpm/services/unified/unified_deployment.py +1 -5
  240. claude_mpm/services/version_control/conflict_resolution.py +6 -4
  241. claude_mpm/services/visualization/__init__.py +1 -5
  242. claude_mpm/services/visualization/mermaid_generator.py +2 -3
  243. claude_mpm/skills/bundled/testing/webapp-testing/scripts/with_server.py +2 -2
  244. claude_mpm/skills/skills_registry.py +0 -1
  245. claude_mpm/templates/questions/__init__.py +38 -0
  246. claude_mpm/templates/questions/base.py +193 -0
  247. claude_mpm/templates/questions/pr_strategy.py +311 -0
  248. claude_mpm/templates/questions/project_init.py +385 -0
  249. claude_mpm/templates/questions/ticket_mgmt.py +394 -0
  250. claude_mpm/tools/__main__.py +8 -8
  251. claude_mpm/utils/agent_dependency_loader.py +77 -10
  252. claude_mpm/utils/agent_filters.py +288 -0
  253. claude_mpm/utils/dependency_cache.py +3 -1
  254. claude_mpm/utils/gitignore.py +241 -0
  255. claude_mpm/utils/migration.py +372 -0
  256. claude_mpm/utils/progress.py +387 -0
  257. claude_mpm/utils/robust_installer.py +2 -4
  258. claude_mpm/utils/structured_questions.py +619 -0
  259. {claude_mpm-4.24.0.dist-info → claude_mpm-5.0.9.dist-info}/METADATA +396 -43
  260. {claude_mpm-4.24.0.dist-info → claude_mpm-5.0.9.dist-info}/RECORD +268 -422
  261. claude_mpm/agents/templates/.claude-mpm/memories/README.md +0 -17
  262. claude_mpm/agents/templates/.claude-mpm/memories/engineer_memories.md +0 -3
  263. claude_mpm/agents/templates/agent-manager.json +0 -273
  264. claude_mpm/agents/templates/agentic-coder-optimizer.json +0 -248
  265. claude_mpm/agents/templates/api_qa.json +0 -183
  266. claude_mpm/agents/templates/clerk-ops.json +0 -235
  267. claude_mpm/agents/templates/code_analyzer.json +0 -101
  268. claude_mpm/agents/templates/content-agent.json +0 -358
  269. claude_mpm/agents/templates/dart_engineer.json +0 -307
  270. claude_mpm/agents/templates/data_engineer.json +0 -225
  271. claude_mpm/agents/templates/documentation.json +0 -238
  272. claude_mpm/agents/templates/engineer.json +0 -210
  273. claude_mpm/agents/templates/gcp_ops_agent.json +0 -253
  274. claude_mpm/agents/templates/golang_engineer.json +0 -270
  275. claude_mpm/agents/templates/imagemagick.json +0 -264
  276. claude_mpm/agents/templates/java_engineer.json +0 -346
  277. claude_mpm/agents/templates/javascript_engineer_agent.json +0 -380
  278. claude_mpm/agents/templates/local_ops_agent.json +0 -1840
  279. claude_mpm/agents/templates/logs/prompts/agent_engineer_20250826_014258_728.md +0 -39
  280. claude_mpm/agents/templates/logs/prompts/agent_engineer_20250901_010124_142.md +0 -400
  281. claude_mpm/agents/templates/memory_manager.json +0 -158
  282. claude_mpm/agents/templates/nextjs_engineer.json +0 -285
  283. claude_mpm/agents/templates/ops.json +0 -185
  284. claude_mpm/agents/templates/php-engineer.json +0 -287
  285. claude_mpm/agents/templates/product_owner.json +0 -338
  286. claude_mpm/agents/templates/project_organizer.json +0 -144
  287. claude_mpm/agents/templates/prompt-engineer.json +0 -737
  288. claude_mpm/agents/templates/python_engineer.json +0 -387
  289. claude_mpm/agents/templates/qa.json +0 -243
  290. claude_mpm/agents/templates/react_engineer.json +0 -239
  291. claude_mpm/agents/templates/refactoring_engineer.json +0 -276
  292. claude_mpm/agents/templates/research.json +0 -188
  293. claude_mpm/agents/templates/ruby-engineer.json +0 -280
  294. claude_mpm/agents/templates/rust_engineer.json +0 -275
  295. claude_mpm/agents/templates/security.json +0 -202
  296. claude_mpm/agents/templates/svelte-engineer.json +0 -225
  297. claude_mpm/agents/templates/tauri_engineer.json +0 -274
  298. claude_mpm/agents/templates/ticketing.json +0 -178
  299. claude_mpm/agents/templates/typescript_engineer.json +0 -285
  300. claude_mpm/agents/templates/vercel_ops_agent.json +0 -412
  301. claude_mpm/agents/templates/version_control.json +0 -159
  302. claude_mpm/agents/templates/web_qa.json +0 -400
  303. claude_mpm/agents/templates/web_ui.json +0 -189
  304. claude_mpm/commands/mpm-tickets.md +0 -151
  305. claude_mpm/dashboard/.claude-mpm/socketio-instances.json +0 -1
  306. claude_mpm/dashboard/react/components/DataInspector/DataInspector.module.css +0 -188
  307. claude_mpm/dashboard/react/components/EventViewer/EventViewer.module.css +0 -156
  308. claude_mpm/dashboard/react/components/shared/ConnectionStatus.module.css +0 -38
  309. claude_mpm/dashboard/react/components/shared/FilterBar.module.css +0 -92
  310. claude_mpm/dashboard/static/archive/activity_dashboard_fixed.html +0 -248
  311. claude_mpm/dashboard/static/archive/activity_dashboard_test.html +0 -61
  312. claude_mpm/dashboard/static/archive/test_activity_connection.html +0 -179
  313. claude_mpm/dashboard/static/archive/test_claude_tree_tab.html +0 -68
  314. claude_mpm/dashboard/static/archive/test_dashboard.html +0 -409
  315. claude_mpm/dashboard/static/archive/test_dashboard_fixed.html +0 -519
  316. claude_mpm/dashboard/static/archive/test_dashboard_verification.html +0 -181
  317. claude_mpm/dashboard/static/archive/test_file_data.html +0 -315
  318. claude_mpm/dashboard/static/archive/test_file_tree_empty_state.html +0 -243
  319. claude_mpm/dashboard/static/archive/test_file_tree_fix.html +0 -234
  320. claude_mpm/dashboard/static/archive/test_file_tree_rename.html +0 -117
  321. claude_mpm/dashboard/static/archive/test_file_tree_tab.html +0 -115
  322. claude_mpm/dashboard/static/archive/test_file_viewer.html +0 -224
  323. claude_mpm/dashboard/static/archive/test_final_activity.html +0 -220
  324. claude_mpm/dashboard/static/archive/test_tab_fix.html +0 -139
  325. claude_mpm/dashboard/static/built/assets/events.DjpNxWNo.css +0 -1
  326. claude_mpm/dashboard/static/built/components/activity-tree.js +0 -2
  327. claude_mpm/dashboard/static/built/components/agent-hierarchy.js +0 -777
  328. claude_mpm/dashboard/static/built/components/agent-inference.js +0 -2
  329. claude_mpm/dashboard/static/built/components/build-tracker.js +0 -333
  330. claude_mpm/dashboard/static/built/components/code-simple.js +0 -857
  331. claude_mpm/dashboard/static/built/components/code-tree/tree-breadcrumb.js +0 -353
  332. claude_mpm/dashboard/static/built/components/code-tree/tree-constants.js +0 -235
  333. claude_mpm/dashboard/static/built/components/code-tree/tree-search.js +0 -409
  334. claude_mpm/dashboard/static/built/components/code-tree/tree-utils.js +0 -435
  335. claude_mpm/dashboard/static/built/components/code-tree.js +0 -2
  336. claude_mpm/dashboard/static/built/components/code-viewer.js +0 -2
  337. claude_mpm/dashboard/static/built/components/connection-debug.js +0 -654
  338. claude_mpm/dashboard/static/built/components/diff-viewer.js +0 -891
  339. claude_mpm/dashboard/static/built/components/event-processor.js +0 -2
  340. claude_mpm/dashboard/static/built/components/event-viewer.js +0 -2
  341. claude_mpm/dashboard/static/built/components/export-manager.js +0 -2
  342. claude_mpm/dashboard/static/built/components/file-change-tracker.js +0 -443
  343. claude_mpm/dashboard/static/built/components/file-change-viewer.js +0 -690
  344. claude_mpm/dashboard/static/built/components/file-tool-tracker.js +0 -2
  345. claude_mpm/dashboard/static/built/components/file-viewer.js +0 -2
  346. claude_mpm/dashboard/static/built/components/hud-library-loader.js +0 -2
  347. claude_mpm/dashboard/static/built/components/hud-manager.js +0 -2
  348. claude_mpm/dashboard/static/built/components/hud-visualizer.js +0 -2
  349. claude_mpm/dashboard/static/built/components/module-viewer.js +0 -2
  350. claude_mpm/dashboard/static/built/components/nav-bar.js +0 -145
  351. claude_mpm/dashboard/static/built/components/page-structure.js +0 -429
  352. claude_mpm/dashboard/static/built/components/session-manager.js +0 -2
  353. claude_mpm/dashboard/static/built/components/socket-manager.js +0 -2
  354. claude_mpm/dashboard/static/built/components/ui-state-manager.js +0 -2
  355. claude_mpm/dashboard/static/built/components/unified-data-viewer.js +0 -2
  356. claude_mpm/dashboard/static/built/components/working-directory.js +0 -2
  357. claude_mpm/dashboard/static/built/connection-manager.js +0 -536
  358. claude_mpm/dashboard/static/built/dashboard.js +0 -2
  359. claude_mpm/dashboard/static/built/extension-error-handler.js +0 -164
  360. claude_mpm/dashboard/static/built/react/events.js +0 -30
  361. claude_mpm/dashboard/static/built/shared/dom-helpers.js +0 -396
  362. claude_mpm/dashboard/static/built/shared/event-bus.js +0 -330
  363. claude_mpm/dashboard/static/built/shared/event-filter-service.js +0 -540
  364. claude_mpm/dashboard/static/built/shared/logger.js +0 -385
  365. claude_mpm/dashboard/static/built/shared/page-structure.js +0 -249
  366. claude_mpm/dashboard/static/built/shared/tooltip-service.js +0 -253
  367. claude_mpm/dashboard/static/built/socket-client.js +0 -2
  368. claude_mpm/dashboard/static/built/tab-isolation-fix.js +0 -185
  369. claude_mpm/dashboard/static/dist/assets/events.DjpNxWNo.css +0 -1
  370. claude_mpm/dashboard/static/dist/components/activity-tree.js +0 -2
  371. claude_mpm/dashboard/static/dist/components/agent-inference.js +0 -2
  372. claude_mpm/dashboard/static/dist/components/code-tree.js +0 -2
  373. claude_mpm/dashboard/static/dist/components/code-viewer.js +0 -2
  374. claude_mpm/dashboard/static/dist/components/event-processor.js +0 -2
  375. claude_mpm/dashboard/static/dist/components/event-viewer.js +0 -2
  376. claude_mpm/dashboard/static/dist/components/export-manager.js +0 -2
  377. claude_mpm/dashboard/static/dist/components/file-tool-tracker.js +0 -2
  378. claude_mpm/dashboard/static/dist/components/file-viewer.js +0 -2
  379. claude_mpm/dashboard/static/dist/components/hud-library-loader.js +0 -2
  380. claude_mpm/dashboard/static/dist/components/hud-manager.js +0 -2
  381. claude_mpm/dashboard/static/dist/components/hud-visualizer.js +0 -2
  382. claude_mpm/dashboard/static/dist/components/module-viewer.js +0 -2
  383. claude_mpm/dashboard/static/dist/components/session-manager.js +0 -2
  384. claude_mpm/dashboard/static/dist/components/socket-manager.js +0 -2
  385. claude_mpm/dashboard/static/dist/components/ui-state-manager.js +0 -2
  386. claude_mpm/dashboard/static/dist/components/unified-data-viewer.js +0 -2
  387. claude_mpm/dashboard/static/dist/components/working-directory.js +0 -2
  388. claude_mpm/dashboard/static/dist/dashboard.js +0 -2
  389. claude_mpm/dashboard/static/dist/react/events.js +0 -30
  390. claude_mpm/dashboard/static/dist/socket-client.js +0 -2
  391. claude_mpm/dashboard/static/events.html +0 -607
  392. claude_mpm/dashboard/static/index.html +0 -635
  393. claude_mpm/dashboard/static/js/shared/dom-helpers.js +0 -396
  394. claude_mpm/dashboard/static/js/shared/event-bus.js +0 -330
  395. claude_mpm/dashboard/static/js/shared/logger.js +0 -385
  396. claude_mpm/dashboard/static/js/shared/tooltip-service.js +0 -253
  397. claude_mpm/dashboard/static/js/stores/dashboard-store.js +0 -562
  398. claude_mpm/dashboard/static/legacy/activity.html +0 -736
  399. claude_mpm/dashboard/static/legacy/agents.html +0 -786
  400. claude_mpm/dashboard/static/legacy/files.html +0 -747
  401. claude_mpm/dashboard/static/legacy/tools.html +0 -831
  402. claude_mpm/dashboard/static/monitors.html +0 -431
  403. claude_mpm/dashboard/static/production/events.html +0 -659
  404. claude_mpm/dashboard/static/production/main.html +0 -698
  405. claude_mpm/dashboard/static/production/monitors.html +0 -483
  406. claude_mpm/dashboard/static/test-archive/dashboard.html +0 -635
  407. claude_mpm/dashboard/static/test-archive/debug-events.html +0 -147
  408. claude_mpm/dashboard/static/test-archive/test-navigation.html +0 -256
  409. claude_mpm/dashboard/static/test-archive/test-react-exports.html +0 -180
  410. claude_mpm/dashboard/static/test-archive/test_debug.html +0 -25
  411. claude_mpm/skills/bundled/collaboration/brainstorming/SKILL.md +0 -79
  412. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/SKILL.md +0 -178
  413. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/agent-prompts.md +0 -577
  414. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/coordination-patterns.md +0 -467
  415. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/examples.md +0 -537
  416. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/troubleshooting.md +0 -730
  417. claude_mpm/skills/bundled/collaboration/requesting-code-review/SKILL.md +0 -112
  418. claude_mpm/skills/bundled/collaboration/requesting-code-review/references/code-reviewer-template.md +0 -146
  419. claude_mpm/skills/bundled/collaboration/requesting-code-review/references/review-examples.md +0 -412
  420. claude_mpm/skills/bundled/collaboration/writing-plans/SKILL.md +0 -81
  421. claude_mpm/skills/bundled/collaboration/writing-plans/references/best-practices.md +0 -362
  422. claude_mpm/skills/bundled/collaboration/writing-plans/references/plan-structure-templates.md +0 -312
  423. claude_mpm/skills/bundled/debugging/root-cause-tracing/SKILL.md +0 -152
  424. claude_mpm/skills/bundled/debugging/root-cause-tracing/references/advanced-techniques.md +0 -668
  425. claude_mpm/skills/bundled/debugging/root-cause-tracing/references/examples.md +0 -587
  426. claude_mpm/skills/bundled/debugging/root-cause-tracing/references/integration.md +0 -438
  427. claude_mpm/skills/bundled/debugging/root-cause-tracing/references/tracing-techniques.md +0 -391
  428. claude_mpm/skills/bundled/debugging/systematic-debugging/CREATION-LOG.md +0 -119
  429. claude_mpm/skills/bundled/debugging/systematic-debugging/SKILL.md +0 -148
  430. claude_mpm/skills/bundled/debugging/systematic-debugging/references/anti-patterns.md +0 -483
  431. claude_mpm/skills/bundled/debugging/systematic-debugging/references/examples.md +0 -452
  432. claude_mpm/skills/bundled/debugging/systematic-debugging/references/troubleshooting.md +0 -449
  433. claude_mpm/skills/bundled/debugging/systematic-debugging/references/workflow.md +0 -411
  434. claude_mpm/skills/bundled/debugging/systematic-debugging/test-academic.md +0 -14
  435. claude_mpm/skills/bundled/debugging/systematic-debugging/test-pressure-1.md +0 -58
  436. claude_mpm/skills/bundled/debugging/systematic-debugging/test-pressure-2.md +0 -68
  437. claude_mpm/skills/bundled/debugging/systematic-debugging/test-pressure-3.md +0 -69
  438. claude_mpm/skills/bundled/debugging/verification-before-completion/SKILL.md +0 -131
  439. claude_mpm/skills/bundled/debugging/verification-before-completion/references/gate-function.md +0 -325
  440. claude_mpm/skills/bundled/debugging/verification-before-completion/references/integration-and-workflows.md +0 -490
  441. claude_mpm/skills/bundled/debugging/verification-before-completion/references/red-flags-and-failures.md +0 -425
  442. claude_mpm/skills/bundled/debugging/verification-before-completion/references/verification-patterns.md +0 -499
  443. claude_mpm/skills/bundled/main/artifacts-builder/SKILL.md +0 -86
  444. claude_mpm/skills/bundled/main/internal-comms/SKILL.md +0 -43
  445. claude_mpm/skills/bundled/main/internal-comms/examples/3p-updates.md +0 -47
  446. claude_mpm/skills/bundled/main/internal-comms/examples/company-newsletter.md +0 -65
  447. claude_mpm/skills/bundled/main/internal-comms/examples/faq-answers.md +0 -30
  448. claude_mpm/skills/bundled/main/internal-comms/examples/general-comms.md +0 -16
  449. claude_mpm/skills/bundled/main/mcp-builder/SKILL.md +0 -160
  450. claude_mpm/skills/bundled/main/mcp-builder/reference/design_principles.md +0 -412
  451. claude_mpm/skills/bundled/main/mcp-builder/reference/evaluation.md +0 -602
  452. claude_mpm/skills/bundled/main/mcp-builder/reference/mcp_best_practices.md +0 -915
  453. claude_mpm/skills/bundled/main/mcp-builder/reference/node_mcp_server.md +0 -916
  454. claude_mpm/skills/bundled/main/mcp-builder/reference/python_mcp_server.md +0 -752
  455. claude_mpm/skills/bundled/main/mcp-builder/reference/workflow.md +0 -1237
  456. claude_mpm/skills/bundled/main/skill-creator/SKILL.md +0 -189
  457. claude_mpm/skills/bundled/main/skill-creator/references/best-practices.md +0 -500
  458. claude_mpm/skills/bundled/main/skill-creator/references/creation-workflow.md +0 -464
  459. claude_mpm/skills/bundled/main/skill-creator/references/examples.md +0 -619
  460. claude_mpm/skills/bundled/main/skill-creator/references/progressive-disclosure.md +0 -437
  461. claude_mpm/skills/bundled/main/skill-creator/references/skill-structure.md +0 -231
  462. claude_mpm/skills/bundled/php/espocrm-development/SKILL.md +0 -170
  463. claude_mpm/skills/bundled/php/espocrm-development/references/architecture.md +0 -602
  464. claude_mpm/skills/bundled/php/espocrm-development/references/common-tasks.md +0 -821
  465. claude_mpm/skills/bundled/php/espocrm-development/references/development-workflow.md +0 -742
  466. claude_mpm/skills/bundled/php/espocrm-development/references/frontend-customization.md +0 -726
  467. claude_mpm/skills/bundled/php/espocrm-development/references/hooks-and-services.md +0 -764
  468. claude_mpm/skills/bundled/php/espocrm-development/references/testing-debugging.md +0 -831
  469. claude_mpm/skills/bundled/rust/desktop-applications/SKILL.md +0 -226
  470. claude_mpm/skills/bundled/rust/desktop-applications/references/architecture-patterns.md +0 -901
  471. claude_mpm/skills/bundled/rust/desktop-applications/references/native-gui-frameworks.md +0 -901
  472. claude_mpm/skills/bundled/rust/desktop-applications/references/platform-integration.md +0 -775
  473. claude_mpm/skills/bundled/rust/desktop-applications/references/state-management.md +0 -937
  474. claude_mpm/skills/bundled/rust/desktop-applications/references/tauri-framework.md +0 -770
  475. claude_mpm/skills/bundled/rust/desktop-applications/references/testing-deployment.md +0 -961
  476. claude_mpm/skills/bundled/testing/condition-based-waiting/SKILL.md +0 -119
  477. claude_mpm/skills/bundled/testing/condition-based-waiting/references/patterns-and-implementation.md +0 -253
  478. claude_mpm/skills/bundled/testing/test-driven-development/SKILL.md +0 -145
  479. claude_mpm/skills/bundled/testing/test-driven-development/references/anti-patterns.md +0 -543
  480. claude_mpm/skills/bundled/testing/test-driven-development/references/examples.md +0 -741
  481. claude_mpm/skills/bundled/testing/test-driven-development/references/integration.md +0 -470
  482. claude_mpm/skills/bundled/testing/test-driven-development/references/philosophy.md +0 -458
  483. claude_mpm/skills/bundled/testing/test-driven-development/references/workflow.md +0 -639
  484. claude_mpm/skills/bundled/testing/testing-anti-patterns/SKILL.md +0 -140
  485. claude_mpm/skills/bundled/testing/testing-anti-patterns/references/completeness-anti-patterns.md +0 -572
  486. claude_mpm/skills/bundled/testing/testing-anti-patterns/references/core-anti-patterns.md +0 -411
  487. claude_mpm/skills/bundled/testing/testing-anti-patterns/references/detection-guide.md +0 -569
  488. claude_mpm/skills/bundled/testing/testing-anti-patterns/references/tdd-connection.md +0 -695
  489. claude_mpm/skills/bundled/testing/webapp-testing/SKILL.md +0 -184
  490. claude_mpm/skills/bundled/testing/webapp-testing/decision-tree.md +0 -459
  491. claude_mpm/skills/bundled/testing/webapp-testing/playwright-patterns.md +0 -479
  492. claude_mpm/skills/bundled/testing/webapp-testing/reconnaissance-pattern.md +0 -687
  493. claude_mpm/skills/bundled/testing/webapp-testing/server-management.md +0 -758
  494. claude_mpm/skills/bundled/testing/webapp-testing/troubleshooting.md +0 -868
  495. /claude_mpm/agents/templates/{git_file_tracking.md → git-file-tracking.md} +0 -0
  496. /claude_mpm/agents/templates/{pm_examples.md → pm-examples.md} +0 -0
  497. /claude_mpm/agents/templates/{response_format.md → response-format.md} +0 -0
  498. /claude_mpm/agents/templates/{validation_templates.md → validation-templates.md} +0 -0
  499. {claude_mpm-4.24.0.dist-info → claude_mpm-5.0.9.dist-info}/WHEEL +0 -0
  500. {claude_mpm-4.24.0.dist-info → claude_mpm-5.0.9.dist-info}/entry_points.txt +0 -0
  501. {claude_mpm-4.24.0.dist-info → claude_mpm-5.0.9.dist-info}/licenses/LICENSE +0 -0
  502. {claude_mpm-4.24.0.dist-info → claude_mpm-5.0.9.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,171 @@
1
+ """Agent source command parser for agent repository management.
2
+
3
+ WHY: This module provides CLI commands for managing agent source repositories
4
+ (Git repositories containing agent markdown files). Parallel to skill source management
5
+ but for the agent deployment system (multi-tier Git-based agents).
6
+
7
+ DESIGN DECISION: Agent source management is separate from agent deployment to
8
+ maintain clear separation of concerns:
9
+ - agent-source commands: Manage repository configuration
10
+ - agents commands: View and interact with agents themselves
11
+
12
+ IMPLEMENTATION NOTE: This module is adapted from skill_source_parser.py, following
13
+ the same proven patterns but for agent repositories instead of skills.
14
+ """
15
+
16
+ import argparse
17
+
18
+ from .base_parser import add_common_arguments
19
+
20
+
21
+ def add_agent_source_subparser(subparsers) -> argparse.ArgumentParser:
22
+ """Add the agent-source subparser with all repository management commands.
23
+
24
+ WHY: Agent sources (Git repositories) need their own command group
25
+ for managing repository configuration, priorities, and synchronization.
26
+
27
+ Args:
28
+ subparsers: The subparsers object from the main parser
29
+
30
+ Returns:
31
+ The configured agent-source subparser
32
+ """
33
+ # Agent source command with subcommands
34
+ agent_source_parser = subparsers.add_parser(
35
+ "agent-source",
36
+ help="Manage agent source repositories",
37
+ )
38
+ add_common_arguments(agent_source_parser)
39
+
40
+ agent_source_subparsers = agent_source_parser.add_subparsers(
41
+ dest="agent_source_command",
42
+ help="Agent source repository commands",
43
+ metavar="SUBCOMMAND",
44
+ )
45
+
46
+ # Add repository
47
+ add_parser = agent_source_subparsers.add_parser(
48
+ "add",
49
+ help="Add a new agent source repository",
50
+ )
51
+ add_parser.add_argument(
52
+ "url",
53
+ help="Git repository URL (e.g., https://github.com/owner/repo)",
54
+ )
55
+ add_parser.add_argument(
56
+ "--subdirectory",
57
+ help="Subdirectory within repository containing agents (e.g., 'agents')",
58
+ )
59
+ add_parser.add_argument(
60
+ "--priority",
61
+ type=int,
62
+ default=100,
63
+ help="Priority for conflict resolution (lower = higher precedence, default: 100)",
64
+ )
65
+ add_parser.add_argument(
66
+ "--disabled",
67
+ action="store_true",
68
+ help="Add repository but keep it disabled",
69
+ )
70
+ add_parser.add_argument(
71
+ "--test",
72
+ action="store_true",
73
+ help="Test repository access without saving to configuration",
74
+ )
75
+ add_parser.add_argument(
76
+ "--no-test",
77
+ action="store_true",
78
+ dest="skip_test",
79
+ help="Skip immediate testing (not recommended)",
80
+ )
81
+
82
+ # Remove repository
83
+ remove_parser = agent_source_subparsers.add_parser(
84
+ "remove",
85
+ help="Remove an agent source repository",
86
+ )
87
+ remove_parser.add_argument(
88
+ "source_id",
89
+ help="Source identifier (e.g., 'owner/repo' or 'owner/repo/subdirectory')",
90
+ )
91
+ remove_parser.add_argument(
92
+ "--force",
93
+ action="store_true",
94
+ help="Skip confirmation prompt",
95
+ )
96
+
97
+ # List repositories
98
+ list_parser = agent_source_subparsers.add_parser(
99
+ "list",
100
+ help="List configured agent source repositories",
101
+ )
102
+ list_parser.add_argument(
103
+ "--by-priority",
104
+ action="store_true",
105
+ dest="by_priority",
106
+ help="Sort by priority (lowest first)",
107
+ )
108
+ list_parser.add_argument(
109
+ "--enabled-only",
110
+ action="store_true",
111
+ dest="enabled_only",
112
+ help="Show only enabled repositories",
113
+ )
114
+ list_parser.add_argument(
115
+ "--json",
116
+ action="store_true",
117
+ help="Output as JSON",
118
+ )
119
+
120
+ # Update/sync repositories
121
+ update_parser = agent_source_subparsers.add_parser(
122
+ "update",
123
+ help="Update (sync) agent sources from Git",
124
+ )
125
+ update_parser.add_argument(
126
+ "source_id",
127
+ nargs="?",
128
+ help="Optional: Update only this repository (default: update all)",
129
+ )
130
+ update_parser.add_argument(
131
+ "--force",
132
+ action="store_true",
133
+ help="Force update even if cache is fresh",
134
+ )
135
+
136
+ # Enable repository
137
+ enable_parser = agent_source_subparsers.add_parser(
138
+ "enable",
139
+ help="Enable a disabled repository",
140
+ )
141
+ enable_parser.add_argument(
142
+ "source_id",
143
+ help="Source identifier to enable",
144
+ )
145
+
146
+ # Disable repository
147
+ disable_parser = agent_source_subparsers.add_parser(
148
+ "disable",
149
+ help="Disable a repository",
150
+ )
151
+ disable_parser.add_argument(
152
+ "source_id",
153
+ help="Source identifier to disable",
154
+ )
155
+
156
+ # Show repository details
157
+ show_parser = agent_source_subparsers.add_parser(
158
+ "show",
159
+ help="Show details for an agent source",
160
+ )
161
+ show_parser.add_argument(
162
+ "source_id",
163
+ help="Source identifier to show",
164
+ )
165
+ show_parser.add_argument(
166
+ "--agents",
167
+ action="store_true",
168
+ help="Also list agents from this source",
169
+ )
170
+
171
+ return agent_source_parser
@@ -31,7 +31,22 @@ def add_agents_subparser(subparsers) -> argparse.ArgumentParser:
31
31
  """
32
32
  # Agents command with subcommands
33
33
  agents_parser = subparsers.add_parser(
34
- CLICommands.AGENTS.value, help="Manage agents and deployment"
34
+ CLICommands.AGENTS.value,
35
+ help="Manage agents and deployment",
36
+ description="""
37
+ Manage Claude MPM agents.
38
+
39
+ NOTE: For interactive agent management, use 'claude-mpm config' instead.
40
+ The 'agents manage' command has been deprecated in favor of the
41
+ unified configuration interface.
42
+
43
+ Available commands:
44
+ discover Discover available agents from configured sources
45
+ deploy Deploy agents to your project
46
+ list List available agents
47
+ manage (Deprecated) Use 'claude-mpm config' instead
48
+ """,
49
+ formatter_class=argparse.RawDescriptionHelpFormatter,
35
50
  )
36
51
  add_common_arguments(agents_parser)
37
52
 
@@ -121,9 +136,17 @@ def add_agents_subparser(subparsers) -> argparse.ArgumentParser:
121
136
  "--backup", action="store_true", help="Create backup before deletion"
122
137
  )
123
138
 
124
- # Manage local agents (interactive menu)
125
- agents_subparsers.add_parser(
126
- "manage", help="Interactive menu for managing local agents"
139
+ # Manage local agents (interactive menu) - DEPRECATED
140
+ manage_parser = agents_subparsers.add_parser(
141
+ "manage",
142
+ help="(Deprecated) Manage local agents - use 'claude-mpm config' instead",
143
+ description="Manage locally deployed agents. Note: This command has been deprecated. "
144
+ "Please use 'claude-mpm config' for the enhanced configuration interface.",
145
+ )
146
+ manage_parser.epilog = (
147
+ "\nDEPRECATION NOTICE:\n"
148
+ "This command has been deprecated in favor of 'claude-mpm config' which provides\n"
149
+ "a unified interface for managing agents, skills, templates, and behavior settings.\n"
127
150
  )
128
151
 
129
152
  # Configure agent deployment settings
@@ -193,6 +216,11 @@ def add_agents_subparser(subparsers) -> argparse.ArgumentParser:
193
216
  action="store_true",
194
217
  help="Show what would be deployed without actually deploying",
195
218
  )
219
+ deploy_agents_parser.add_argument(
220
+ "--preset",
221
+ type=str,
222
+ help="Deploy agents by preset name (minimal, python-dev, nextjs-fullstack, etc.)",
223
+ )
196
224
 
197
225
  # Validate agents
198
226
  validate_agents_parser = agents_subparsers.add_parser(
@@ -240,6 +268,28 @@ def add_agents_subparser(subparsers) -> argparse.ArgumentParser:
240
268
  help="Maximum retry attempts per package (default: 3)",
241
269
  )
242
270
 
271
+ # Cleanup: sync, install, and remove old underscore-named agents
272
+ cleanup_parser = agents_subparsers.add_parser(
273
+ "cleanup",
274
+ help="Sync agents, install with new naming, and remove old underscore-named duplicates",
275
+ )
276
+ cleanup_parser.add_argument(
277
+ "--dry-run",
278
+ action="store_true",
279
+ help="Show what would be done without actually doing it",
280
+ )
281
+ cleanup_parser.add_argument(
282
+ "--target",
283
+ type=Path,
284
+ help="Target directory for agent deployment (default: project .claude-mpm/agents/)",
285
+ )
286
+ cleanup_parser.add_argument(
287
+ "--global",
288
+ dest="global_deployment",
289
+ action="store_true",
290
+ help="Deploy to global ~/.claude/agents/ instead of project directory",
291
+ )
292
+
243
293
  # Cleanup orphaned agents
244
294
  cleanup_orphaned_parser = agents_subparsers.add_parser(
245
295
  "cleanup-orphaned", help="Clean up orphaned agents that don't have templates"
@@ -266,6 +316,96 @@ def add_agents_subparser(subparsers) -> argparse.ArgumentParser:
266
316
  help="Only show summary, not individual agents",
267
317
  )
268
318
 
319
+ # Migrate user-level agents to project-level (DEPRECATION support)
320
+ migrate_parser = agents_subparsers.add_parser(
321
+ "migrate-to-project",
322
+ help="Migrate user-level agents to project-level (user-level is DEPRECATED)",
323
+ )
324
+ migrate_parser.add_argument(
325
+ "--dry-run",
326
+ action="store_true",
327
+ help="Show what would be migrated without actually doing it",
328
+ )
329
+ migrate_parser.add_argument(
330
+ "--force",
331
+ "-f",
332
+ action="store_true",
333
+ help="Overwrite existing project agents if conflicts",
334
+ )
335
+
336
+ # Deploy all agents from sources (single-tier deployment)
337
+ deploy_all_parser = agents_subparsers.add_parser(
338
+ "deploy-all",
339
+ help="Deploy all agents from configured sources (single-tier deployment)",
340
+ )
341
+ deploy_all_parser.add_argument(
342
+ "--force-sync",
343
+ action="store_true",
344
+ help="Force sync repositories before deploying (ignore cache)",
345
+ )
346
+ deploy_all_parser.add_argument(
347
+ "--dry-run",
348
+ action="store_true",
349
+ help="Show what would be deployed without actually deploying",
350
+ )
351
+
352
+ # List available agents from sources
353
+ available_parser = agents_subparsers.add_parser(
354
+ "available",
355
+ help="List available agents from all configured sources",
356
+ )
357
+ available_parser.add_argument(
358
+ "--source",
359
+ help="Filter by source repository (e.g., 'owner/repo/subdirectory')",
360
+ )
361
+ available_parser.add_argument(
362
+ "--format",
363
+ choices=["table", "json", "simple"],
364
+ default="table",
365
+ help="Output format (default: table)",
366
+ )
367
+
368
+ # Discover agents with rich filtering (Phase 1: Discovery & Browsing)
369
+ discover_parser = agents_subparsers.add_parser(
370
+ "discover",
371
+ help="Discover available agents from configured sources with rich filtering",
372
+ )
373
+ discover_parser.add_argument(
374
+ "--source",
375
+ help="Filter by specific source ID (e.g., 'owner/repo')",
376
+ )
377
+ discover_parser.add_argument(
378
+ "--category",
379
+ help="Filter by category (e.g., 'engineer/backend', 'qa', 'ops/platform')",
380
+ )
381
+ discover_parser.add_argument(
382
+ "--language",
383
+ help="Filter by programming language (e.g., 'python', 'javascript', 'rust')",
384
+ )
385
+ discover_parser.add_argument(
386
+ "--framework",
387
+ help="Filter by framework (e.g., 'react', 'nextjs', 'django')",
388
+ )
389
+ discover_parser.add_argument(
390
+ "--platform",
391
+ help="Filter by platform (e.g., 'vercel', 'gcp', 'docker')",
392
+ )
393
+ discover_parser.add_argument(
394
+ "--specialization",
395
+ help="Filter by specialization (e.g., 'data', 'security', 'mobile')",
396
+ )
397
+ discover_parser.add_argument(
398
+ "--format",
399
+ choices=["table", "json", "simple"],
400
+ default="table",
401
+ help="Output format (default: table)",
402
+ )
403
+ discover_parser.add_argument(
404
+ "--verbose",
405
+ action="store_true",
406
+ help="Show descriptions and metadata for each agent",
407
+ )
408
+
269
409
  # Auto-configuration commands (TSK-0054 Phase 5)
270
410
  from .auto_configure_parser import (
271
411
  add_agents_detect_subparser,
@@ -275,4 +415,116 @@ def add_agents_subparser(subparsers) -> argparse.ArgumentParser:
275
415
  add_agents_detect_subparser(agents_subparsers)
276
416
  add_agents_recommend_subparser(agents_subparsers)
277
417
 
418
+ # Phase 3: Agent Selection Modes (single-tier deployment)
419
+ # Minimal configuration - deploy 6 core agents
420
+ deploy_minimal_parser = agents_subparsers.add_parser(
421
+ "deploy-minimal",
422
+ help="Deploy minimal configuration (6 core agents: engineer, documentation, qa, research, ops, ticketing)",
423
+ )
424
+ deploy_minimal_parser.add_argument(
425
+ "--dry-run",
426
+ action="store_true",
427
+ help="Show what would be deployed without actually deploying",
428
+ )
429
+
430
+ # Auto-configure - detect toolchain and deploy matching agents
431
+ deploy_auto_parser = agents_subparsers.add_parser(
432
+ "deploy-auto",
433
+ help="Auto-detect project toolchain and deploy matching agents",
434
+ )
435
+ deploy_auto_parser.add_argument(
436
+ "--path",
437
+ type=Path,
438
+ default=Path.cwd(),
439
+ help="Project path to scan for toolchain detection (default: current directory)",
440
+ )
441
+ deploy_auto_parser.add_argument(
442
+ "--dry-run",
443
+ action="store_true",
444
+ help="Show what would be deployed without actually deploying",
445
+ )
446
+
447
+ # ============================================================================
448
+ # Cache Git Management Commands (claude-mpm Issue 1M-442 Phase 2)
449
+ # ============================================================================
450
+ # Purpose: Enable git workflow for agent cache management
451
+ # Commands: cache-status, cache-pull, cache-commit, cache-push, cache-sync
452
+ # Documentation: See docs/research/cache-update-workflow-analysis-2025-12-03.md
453
+ # ============================================================================
454
+
455
+ # cache-status: Show git status of agent cache
456
+ agents_subparsers.add_parser(
457
+ "cache-status",
458
+ help="Show git status of agent cache directory",
459
+ description="Display git status including branch, uncommitted changes, and unpushed commits",
460
+ )
461
+
462
+ # cache-pull: Pull latest agents from remote
463
+ cache_pull_parser = agents_subparsers.add_parser(
464
+ "cache-pull",
465
+ help="Pull latest agents from remote repository",
466
+ description="Fetch and merge latest agent changes from GitHub remote repository",
467
+ )
468
+ cache_pull_parser.add_argument(
469
+ "--branch",
470
+ default="main",
471
+ help="Branch to pull from (default: main)",
472
+ )
473
+
474
+ # cache-commit: Commit changes to agent cache
475
+ cache_commit_parser = agents_subparsers.add_parser(
476
+ "cache-commit",
477
+ help="Commit changes to agent cache",
478
+ description="Stage and commit changes to local agent cache git repository",
479
+ )
480
+ cache_commit_parser.add_argument(
481
+ "--message",
482
+ "-m",
483
+ help="Commit message (default: 'feat: update agents from local development')",
484
+ )
485
+ cache_commit_parser.add_argument(
486
+ "--files",
487
+ nargs="+",
488
+ help="Specific files to commit (default: all modified files)",
489
+ )
490
+
491
+ # cache-push: Push agent changes to remote
492
+ cache_push_parser = agents_subparsers.add_parser(
493
+ "cache-push",
494
+ help="Push agent changes to remote repository",
495
+ description="Push committed changes from local cache to GitHub remote repository",
496
+ )
497
+ cache_push_parser.add_argument(
498
+ "--branch",
499
+ default="main",
500
+ help="Branch to push to (default: main)",
501
+ )
502
+ cache_push_parser.add_argument(
503
+ "--auto-commit",
504
+ action="store_true",
505
+ help="Automatically commit uncommitted changes before pushing",
506
+ )
507
+
508
+ # cache-sync: Full cache sync workflow
509
+ cache_sync_parser = agents_subparsers.add_parser(
510
+ "cache-sync",
511
+ help="Full agent cache sync with remote",
512
+ description="Complete sync workflow: pull latest, commit local changes, push to remote",
513
+ )
514
+ cache_sync_parser.add_argument(
515
+ "--message",
516
+ "-m",
517
+ help="Commit message for any uncommitted changes",
518
+ )
519
+ cache_sync_parser.add_argument(
520
+ "--skip-pull",
521
+ action="store_true",
522
+ help="Skip pulling from remote before sync",
523
+ )
524
+ cache_sync_parser.add_argument(
525
+ "--skip-push",
526
+ action="store_true",
527
+ help="Skip pushing to remote after sync",
528
+ )
529
+
278
530
  return agents_parser
@@ -389,6 +389,27 @@ def create_parser(
389
389
  except ImportError:
390
390
  pass
391
391
 
392
+ try:
393
+ from .source_parser import add_source_subparser
394
+
395
+ add_source_subparser(subparsers)
396
+ except ImportError:
397
+ pass
398
+
399
+ try:
400
+ from .skill_source_parser import add_skill_source_subparser
401
+
402
+ add_skill_source_subparser(subparsers)
403
+ except ImportError:
404
+ pass
405
+
406
+ try:
407
+ from .agent_source_parser import add_agent_source_subparser
408
+
409
+ add_agent_source_subparser(subparsers)
410
+ except ImportError:
411
+ pass
412
+
392
413
  try:
393
414
  from .auto_configure_parser import add_auto_configure_subparser
394
415
 
@@ -532,6 +553,10 @@ def create_parser(
532
553
 
533
554
  add_doctor_parser(subparsers)
534
555
 
556
+ from ..commands.postmortem import add_postmortem_parser
557
+
558
+ add_postmortem_parser(subparsers)
559
+
535
560
  # Add upgrade command
536
561
  from ..commands.upgrade import add_upgrade_parser
537
562
 
@@ -541,6 +566,34 @@ def create_parser(
541
566
  from ..commands.verify import add_parser as add_verify_parser
542
567
 
543
568
  add_verify_parser(subparsers)
569
+
570
+ # Add hook-errors command for managing hook error memory
571
+ hook_errors_parser = subparsers.add_parser(
572
+ "hook-errors",
573
+ help="Manage hook error memory and diagnostics",
574
+ )
575
+ hook_errors_parser.add_argument(
576
+ "hook_errors_command",
577
+ nargs="?",
578
+ choices=["list", "summary", "clear", "diagnose", "status"],
579
+ help="Hook errors subcommand",
580
+ )
581
+ hook_errors_parser.add_argument(
582
+ "--format",
583
+ choices=["table", "json"],
584
+ default="table",
585
+ help="Output format for list command",
586
+ )
587
+ hook_errors_parser.add_argument(
588
+ "--hook-type",
589
+ help="Filter by specific hook type",
590
+ )
591
+ hook_errors_parser.add_argument(
592
+ "-y",
593
+ "--yes",
594
+ action="store_true",
595
+ help="Skip confirmation prompts",
596
+ )
544
597
  except ImportError:
545
598
  # Commands module may not be available during testing or refactoring
546
599
  pass