claude-mpm 5.0.9__py3-none-any.whl → 5.6.23__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 (614) hide show
  1. claude_mpm/VERSION +1 -1
  2. claude_mpm/__init__.py +4 -0
  3. claude_mpm/agents/BASE_AGENT.md +164 -0
  4. claude_mpm/agents/CLAUDE_MPM_OUTPUT_STYLE.md +115 -0
  5. claude_mpm/agents/CLAUDE_MPM_RESEARCH_OUTPUT_STYLE.md +413 -0
  6. claude_mpm/agents/CLAUDE_MPM_TEACHER_OUTPUT_STYLE.md +186 -0
  7. claude_mpm/agents/MEMORY.md +1 -1
  8. claude_mpm/agents/PM_INSTRUCTIONS.md +479 -616
  9. claude_mpm/agents/WORKFLOW.md +6 -253
  10. claude_mpm/agents/agent_loader.py +13 -44
  11. claude_mpm/agents/base_agent.json +1 -1
  12. claude_mpm/agents/frontmatter_validator.py +70 -2
  13. claude_mpm/agents/templates/circuit-breakers.md +457 -62
  14. claude_mpm/cli/__init__.py +5 -2
  15. claude_mpm/cli/__main__.py +4 -0
  16. claude_mpm/cli/chrome_devtools_installer.py +175 -0
  17. claude_mpm/cli/commands/agent_state_manager.py +18 -27
  18. claude_mpm/cli/commands/agents.py +177 -41
  19. claude_mpm/cli/commands/agents_reconcile.py +197 -0
  20. claude_mpm/cli/commands/auto_configure.py +723 -236
  21. claude_mpm/cli/commands/autotodos.py +566 -0
  22. claude_mpm/cli/commands/commander.py +216 -0
  23. claude_mpm/cli/commands/config.py +88 -2
  24. claude_mpm/cli/commands/configure.py +1874 -170
  25. claude_mpm/cli/commands/configure_agent_display.py +27 -6
  26. claude_mpm/cli/commands/hook_errors.py +60 -60
  27. claude_mpm/cli/commands/monitor.py +2 -2
  28. claude_mpm/cli/commands/mpm_init/core.py +232 -46
  29. claude_mpm/cli/commands/mpm_init/knowledge_extractor.py +481 -0
  30. claude_mpm/cli/commands/mpm_init/prompts.py +280 -0
  31. claude_mpm/cli/commands/postmortem.py +1 -1
  32. claude_mpm/cli/commands/profile.py +276 -0
  33. claude_mpm/cli/commands/run.py +35 -3
  34. claude_mpm/cli/commands/skill_source.py +51 -2
  35. claude_mpm/cli/commands/skills.py +379 -204
  36. claude_mpm/cli/commands/summarize.py +413 -0
  37. claude_mpm/cli/executor.py +141 -19
  38. claude_mpm/cli/interactive/__init__.py +10 -0
  39. claude_mpm/cli/interactive/agent_wizard.py +115 -60
  40. claude_mpm/cli/interactive/questionary_styles.py +65 -0
  41. claude_mpm/cli/interactive/skill_selector.py +481 -0
  42. claude_mpm/cli/parsers/agents_parser.py +54 -9
  43. claude_mpm/cli/parsers/auto_configure_parser.py +13 -138
  44. claude_mpm/cli/parsers/base_parser.py +88 -1
  45. claude_mpm/cli/parsers/commander_parser.py +116 -0
  46. claude_mpm/cli/parsers/config_parser.py +153 -83
  47. claude_mpm/cli/parsers/profile_parser.py +147 -0
  48. claude_mpm/cli/parsers/run_parser.py +10 -0
  49. claude_mpm/cli/parsers/skill_source_parser.py +4 -0
  50. claude_mpm/cli/parsers/skills_parser.py +1 -1
  51. claude_mpm/cli/startup.py +1017 -266
  52. claude_mpm/cli/startup_display.py +74 -6
  53. claude_mpm/cli/startup_logging.py +2 -2
  54. claude_mpm/cli/utils.py +7 -3
  55. claude_mpm/commander/__init__.py +78 -0
  56. claude_mpm/commander/adapters/__init__.py +60 -0
  57. claude_mpm/commander/adapters/auggie.py +260 -0
  58. claude_mpm/commander/adapters/base.py +288 -0
  59. claude_mpm/commander/adapters/claude_code.py +392 -0
  60. claude_mpm/commander/adapters/codex.py +237 -0
  61. claude_mpm/commander/adapters/communication.py +366 -0
  62. claude_mpm/commander/adapters/example_usage.py +310 -0
  63. claude_mpm/commander/adapters/mpm.py +389 -0
  64. claude_mpm/commander/adapters/registry.py +204 -0
  65. claude_mpm/commander/api/__init__.py +16 -0
  66. claude_mpm/commander/api/app.py +121 -0
  67. claude_mpm/commander/api/errors.py +133 -0
  68. claude_mpm/commander/api/routes/__init__.py +8 -0
  69. claude_mpm/commander/api/routes/events.py +184 -0
  70. claude_mpm/commander/api/routes/inbox.py +171 -0
  71. claude_mpm/commander/api/routes/messages.py +148 -0
  72. claude_mpm/commander/api/routes/projects.py +271 -0
  73. claude_mpm/commander/api/routes/sessions.py +226 -0
  74. claude_mpm/commander/api/routes/work.py +296 -0
  75. claude_mpm/commander/api/schemas.py +186 -0
  76. claude_mpm/commander/chat/__init__.py +7 -0
  77. claude_mpm/commander/chat/cli.py +146 -0
  78. claude_mpm/commander/chat/commands.py +96 -0
  79. claude_mpm/commander/chat/repl.py +310 -0
  80. claude_mpm/commander/config.py +51 -0
  81. claude_mpm/commander/config_loader.py +115 -0
  82. claude_mpm/commander/core/__init__.py +10 -0
  83. claude_mpm/commander/core/block_manager.py +325 -0
  84. claude_mpm/commander/core/response_manager.py +323 -0
  85. claude_mpm/commander/daemon.py +603 -0
  86. claude_mpm/commander/env_loader.py +59 -0
  87. claude_mpm/commander/events/__init__.py +26 -0
  88. claude_mpm/commander/events/manager.py +332 -0
  89. claude_mpm/commander/frameworks/__init__.py +12 -0
  90. claude_mpm/commander/frameworks/base.py +146 -0
  91. claude_mpm/commander/frameworks/claude_code.py +58 -0
  92. claude_mpm/commander/frameworks/mpm.py +62 -0
  93. claude_mpm/commander/inbox/__init__.py +16 -0
  94. claude_mpm/commander/inbox/dedup.py +128 -0
  95. claude_mpm/commander/inbox/inbox.py +224 -0
  96. claude_mpm/commander/inbox/models.py +70 -0
  97. claude_mpm/commander/instance_manager.py +450 -0
  98. claude_mpm/commander/llm/__init__.py +6 -0
  99. claude_mpm/commander/llm/openrouter_client.py +167 -0
  100. claude_mpm/commander/llm/summarizer.py +70 -0
  101. claude_mpm/commander/memory/__init__.py +45 -0
  102. claude_mpm/commander/memory/compression.py +347 -0
  103. claude_mpm/commander/memory/embeddings.py +230 -0
  104. claude_mpm/commander/memory/entities.py +310 -0
  105. claude_mpm/commander/memory/example_usage.py +290 -0
  106. claude_mpm/commander/memory/integration.py +325 -0
  107. claude_mpm/commander/memory/search.py +381 -0
  108. claude_mpm/commander/memory/store.py +657 -0
  109. claude_mpm/commander/models/__init__.py +18 -0
  110. claude_mpm/commander/models/events.py +121 -0
  111. claude_mpm/commander/models/project.py +162 -0
  112. claude_mpm/commander/models/work.py +214 -0
  113. claude_mpm/commander/parsing/__init__.py +20 -0
  114. claude_mpm/commander/parsing/extractor.py +132 -0
  115. claude_mpm/commander/parsing/output_parser.py +270 -0
  116. claude_mpm/commander/parsing/patterns.py +100 -0
  117. claude_mpm/commander/persistence/__init__.py +11 -0
  118. claude_mpm/commander/persistence/event_store.py +274 -0
  119. claude_mpm/commander/persistence/state_store.py +309 -0
  120. claude_mpm/commander/persistence/work_store.py +164 -0
  121. claude_mpm/commander/polling/__init__.py +13 -0
  122. claude_mpm/commander/polling/event_detector.py +104 -0
  123. claude_mpm/commander/polling/output_buffer.py +49 -0
  124. claude_mpm/commander/polling/output_poller.py +153 -0
  125. claude_mpm/commander/project_session.py +268 -0
  126. claude_mpm/commander/proxy/__init__.py +12 -0
  127. claude_mpm/commander/proxy/formatter.py +89 -0
  128. claude_mpm/commander/proxy/output_handler.py +191 -0
  129. claude_mpm/commander/proxy/relay.py +155 -0
  130. claude_mpm/commander/registry.py +410 -0
  131. claude_mpm/commander/runtime/__init__.py +10 -0
  132. claude_mpm/commander/runtime/executor.py +191 -0
  133. claude_mpm/commander/runtime/monitor.py +346 -0
  134. claude_mpm/commander/session/__init__.py +6 -0
  135. claude_mpm/commander/session/context.py +81 -0
  136. claude_mpm/commander/session/manager.py +59 -0
  137. claude_mpm/commander/tmux_orchestrator.py +361 -0
  138. claude_mpm/commander/web/__init__.py +1 -0
  139. claude_mpm/commander/work/__init__.py +30 -0
  140. claude_mpm/commander/work/executor.py +207 -0
  141. claude_mpm/commander/work/queue.py +405 -0
  142. claude_mpm/commander/workflow/__init__.py +27 -0
  143. claude_mpm/commander/workflow/event_handler.py +241 -0
  144. claude_mpm/commander/workflow/notifier.py +146 -0
  145. claude_mpm/commands/mpm-config.md +36 -0
  146. claude_mpm/commands/mpm-doctor.md +16 -21
  147. claude_mpm/commands/mpm-help.md +12 -286
  148. claude_mpm/commands/mpm-init.md +88 -506
  149. claude_mpm/commands/mpm-monitor.md +22 -401
  150. claude_mpm/commands/mpm-organize.md +128 -0
  151. claude_mpm/commands/mpm-postmortem.md +13 -107
  152. claude_mpm/commands/mpm-session-resume.md +20 -363
  153. claude_mpm/commands/mpm-status.md +13 -69
  154. claude_mpm/commands/mpm-ticket-view.md +60 -495
  155. claude_mpm/commands/mpm-version.md +13 -107
  156. claude_mpm/commands/mpm.md +8 -0
  157. claude_mpm/config/agent_presets.py +8 -7
  158. claude_mpm/config/agent_sources.py +27 -0
  159. claude_mpm/config/skill_sources.py +16 -0
  160. claude_mpm/constants.py +1 -0
  161. claude_mpm/core/claude_runner.py +154 -2
  162. claude_mpm/core/config.py +37 -26
  163. claude_mpm/core/config_constants.py +74 -9
  164. claude_mpm/core/constants.py +56 -12
  165. claude_mpm/core/framework/formatters/content_formatter.py +3 -13
  166. claude_mpm/core/framework/loaders/agent_loader.py +8 -5
  167. claude_mpm/core/framework/loaders/instruction_loader.py +52 -11
  168. claude_mpm/core/framework_loader.py +4 -2
  169. claude_mpm/core/hook_manager.py +51 -3
  170. claude_mpm/core/interactive_session.py +12 -11
  171. claude_mpm/core/logger.py +39 -9
  172. claude_mpm/core/logging_utils.py +35 -11
  173. claude_mpm/core/network_config.py +148 -0
  174. claude_mpm/core/oneshot_session.py +7 -6
  175. claude_mpm/core/optimized_startup.py +61 -0
  176. claude_mpm/core/output_style_manager.py +219 -44
  177. claude_mpm/core/shared/config_loader.py +3 -1
  178. claude_mpm/core/socketio_pool.py +16 -8
  179. claude_mpm/core/unified_agent_registry.py +134 -16
  180. claude_mpm/core/unified_config.py +76 -8
  181. claude_mpm/core/unified_paths.py +95 -90
  182. claude_mpm/dashboard/static/svelte-build/_app/env.js +1 -0
  183. claude_mpm/dashboard/static/svelte-build/_app/immutable/assets/0.C33zOoyM.css +1 -0
  184. claude_mpm/dashboard/static/svelte-build/_app/immutable/assets/2.CW1J-YuA.css +1 -0
  185. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/1WZnGYqX.js +24 -0
  186. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/67pF3qNn.js +1 -0
  187. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/6RxdMKe4.js +1 -0
  188. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/8cZrfX0h.js +60 -0
  189. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/9a6T2nm-.js +7 -0
  190. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/B443AUzu.js +1 -0
  191. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/B8AwtY2H.js +1 -0
  192. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/BF15LAsF.js +1 -0
  193. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/BQaXIfA_.js +331 -0
  194. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/BRcwIQNr.js +4 -0
  195. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/BSNlmTZj.js +1 -0
  196. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/BV6nKitt.js +43 -0
  197. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/BViJ8lZt.js +128 -0
  198. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/BcQ-Q0FE.js +1 -0
  199. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/Bpyvgze_.js +30 -0
  200. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/BzTRqg-z.js +1 -0
  201. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/C0Fr8dve.js +1 -0
  202. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/C3rbW_a-.js +1 -0
  203. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/C8WYN38h.js +1 -0
  204. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/C9I8FlXH.js +61 -0
  205. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/CIQcWgO2.js +36 -0
  206. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/CIctN7YN.js +7 -0
  207. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/CKrS_JZW.js +145 -0
  208. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/CR6P9C4A.js +89 -0
  209. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/CRRR9MD_.js +2 -0
  210. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/CRcR2DqT.js +334 -0
  211. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/CSXtMOf0.js +1 -0
  212. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/CT-sbxSk.js +1 -0
  213. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/CWm6DJsp.js +1 -0
  214. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/CmKTTxBW.js +1 -0
  215. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/CpqQ1Kzn.js +1 -0
  216. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/Cu_Erd72.js +261 -0
  217. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/D2nGpDRe.js +1 -0
  218. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/D9iCMida.js +267 -0
  219. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/D9ykgMoY.js +10 -0
  220. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/DL2Ldur1.js +1 -0
  221. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/DPfltzjH.js +165 -0
  222. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/DR8nis88.js +2 -0
  223. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/DUliQN2b.js +1 -0
  224. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/DVp1hx9R.js +1 -0
  225. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/DXlhR01x.js +122 -0
  226. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/D_lyTybS.js +1 -0
  227. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/DngoTTgh.js +1 -0
  228. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/DqkmHtDC.js +220 -0
  229. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/DsDh8EYs.js +1 -0
  230. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/DypDmXgd.js +139 -0
  231. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/Gi6I4Gst.js +1 -0
  232. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/IPYC-LnN.js +162 -0
  233. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/JTLiF7dt.js +24 -0
  234. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/JpevfAFt.js +68 -0
  235. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/NqQ1dWOy.js +1 -0
  236. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/R8CEIRAd.js +2 -0
  237. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/Zxy7qc-l.js +64 -0
  238. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/q9Hm6zAU.js +1 -0
  239. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/qtd3IeO4.js +15 -0
  240. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/ulBFON_C.js +65 -0
  241. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/wQVh1CoA.js +10 -0
  242. claude_mpm/dashboard/static/svelte-build/_app/immutable/entry/app.Dr7t0z2J.js +2 -0
  243. claude_mpm/dashboard/static/svelte-build/_app/immutable/entry/start.BGhZHUS3.js +1 -0
  244. claude_mpm/dashboard/static/svelte-build/_app/immutable/nodes/0.RgBboRvH.js +1 -0
  245. claude_mpm/dashboard/static/svelte-build/_app/immutable/nodes/1.DG-KkbDf.js +1 -0
  246. claude_mpm/dashboard/static/svelte-build/_app/immutable/nodes/2.D_jnf-x6.js +1 -0
  247. claude_mpm/dashboard/static/svelte-build/_app/version.json +1 -0
  248. claude_mpm/dashboard/static/svelte-build/favicon.svg +7 -0
  249. claude_mpm/dashboard/static/svelte-build/index.html +36 -0
  250. claude_mpm/dashboard-svelte/node_modules/katex/src/fonts/generate_fonts.py +58 -0
  251. claude_mpm/dashboard-svelte/node_modules/katex/src/metrics/extract_tfms.py +114 -0
  252. claude_mpm/dashboard-svelte/node_modules/katex/src/metrics/extract_ttfs.py +122 -0
  253. claude_mpm/dashboard-svelte/node_modules/katex/src/metrics/format_json.py +28 -0
  254. claude_mpm/dashboard-svelte/node_modules/katex/src/metrics/parse_tfm.py +211 -0
  255. claude_mpm/experimental/cli_enhancements.py +2 -1
  256. claude_mpm/hooks/claude_hooks/INTEGRATION_EXAMPLE.md +243 -0
  257. claude_mpm/hooks/claude_hooks/README_AUTO_PAUSE.md +403 -0
  258. claude_mpm/hooks/claude_hooks/__pycache__/__init__.cpython-311.pyc +0 -0
  259. claude_mpm/hooks/claude_hooks/__pycache__/auto_pause_handler.cpython-311.pyc +0 -0
  260. claude_mpm/hooks/claude_hooks/__pycache__/correlation_manager.cpython-311.pyc +0 -0
  261. claude_mpm/hooks/claude_hooks/__pycache__/event_handlers.cpython-311.pyc +0 -0
  262. claude_mpm/hooks/claude_hooks/__pycache__/hook_handler.cpython-311.pyc +0 -0
  263. claude_mpm/hooks/claude_hooks/__pycache__/memory_integration.cpython-311.pyc +0 -0
  264. claude_mpm/hooks/claude_hooks/__pycache__/response_tracking.cpython-311.pyc +0 -0
  265. claude_mpm/hooks/claude_hooks/__pycache__/tool_analysis.cpython-311.pyc +0 -0
  266. claude_mpm/hooks/claude_hooks/auto_pause_handler.py +485 -0
  267. claude_mpm/hooks/claude_hooks/correlation_manager.py +60 -0
  268. claude_mpm/hooks/claude_hooks/event_handlers.py +479 -128
  269. claude_mpm/hooks/claude_hooks/hook_handler.py +254 -83
  270. claude_mpm/hooks/claude_hooks/hook_wrapper.sh +6 -11
  271. claude_mpm/hooks/claude_hooks/installer.py +149 -18
  272. claude_mpm/hooks/claude_hooks/memory_integration.py +67 -19
  273. claude_mpm/hooks/claude_hooks/response_tracking.py +44 -62
  274. claude_mpm/hooks/claude_hooks/services/__pycache__/__init__.cpython-311.pyc +0 -0
  275. claude_mpm/hooks/claude_hooks/services/__pycache__/connection_manager_http.cpython-311.pyc +0 -0
  276. claude_mpm/hooks/claude_hooks/services/__pycache__/duplicate_detector.cpython-311.pyc +0 -0
  277. claude_mpm/hooks/claude_hooks/services/__pycache__/state_manager.cpython-311.pyc +0 -0
  278. claude_mpm/hooks/claude_hooks/services/__pycache__/subagent_processor.cpython-311.pyc +0 -0
  279. claude_mpm/hooks/claude_hooks/services/connection_manager.py +69 -30
  280. claude_mpm/hooks/claude_hooks/services/connection_manager_http.py +36 -103
  281. claude_mpm/hooks/claude_hooks/services/state_manager.py +23 -36
  282. claude_mpm/hooks/claude_hooks/services/subagent_processor.py +73 -75
  283. claude_mpm/hooks/kuzu_memory_hook.py +5 -5
  284. claude_mpm/hooks/memory_integration_hook.py +46 -1
  285. claude_mpm/hooks/session_resume_hook.py +89 -1
  286. claude_mpm/hooks/templates/pre_tool_use_template.py +10 -2
  287. claude_mpm/init.py +276 -19
  288. claude_mpm/models/agent_definition.py +7 -0
  289. claude_mpm/models/git_repository.py +3 -3
  290. claude_mpm/scripts/claude-hook-handler.sh +87 -20
  291. claude_mpm/scripts/launch_monitor.py +93 -13
  292. claude_mpm/scripts/start_activity_logging.py +0 -0
  293. claude_mpm/services/agents/agent_builder.py +3 -3
  294. claude_mpm/services/agents/agent_recommendation_service.py +278 -0
  295. claude_mpm/services/agents/agent_review_service.py +280 -0
  296. claude_mpm/services/agents/agent_selection_service.py +2 -2
  297. claude_mpm/services/agents/cache_git_manager.py +7 -7
  298. claude_mpm/services/agents/deployment/agent_deployment.py +29 -7
  299. claude_mpm/services/agents/deployment/agent_discovery_service.py +6 -5
  300. claude_mpm/services/agents/deployment/agent_format_converter.py +25 -13
  301. claude_mpm/services/agents/deployment/agent_template_builder.py +42 -20
  302. claude_mpm/services/agents/deployment/agents_directory_resolver.py +2 -2
  303. claude_mpm/services/agents/deployment/async_agent_deployment.py +31 -27
  304. claude_mpm/services/agents/deployment/deployment_reconciler.py +577 -0
  305. claude_mpm/services/agents/deployment/local_template_deployment.py +3 -1
  306. claude_mpm/services/agents/deployment/multi_source_deployment_service.py +348 -29
  307. claude_mpm/services/agents/deployment/remote_agent_discovery_service.py +570 -68
  308. claude_mpm/services/agents/deployment/startup_reconciliation.py +138 -0
  309. claude_mpm/services/agents/git_source_manager.py +57 -4
  310. claude_mpm/services/agents/loading/base_agent_manager.py +1 -13
  311. claude_mpm/services/agents/loading/framework_agent_loader.py +75 -2
  312. claude_mpm/services/agents/recommender.py +5 -3
  313. claude_mpm/services/agents/single_tier_deployment_service.py +6 -6
  314. claude_mpm/services/agents/sources/git_source_sync_service.py +129 -11
  315. claude_mpm/services/agents/startup_sync.py +27 -4
  316. claude_mpm/services/agents/toolchain_detector.py +10 -6
  317. claude_mpm/services/analysis/__init__.py +11 -1
  318. claude_mpm/services/analysis/clone_detector.py +1030 -0
  319. claude_mpm/services/cli/__init__.py +3 -0
  320. claude_mpm/services/cli/incremental_pause_manager.py +561 -0
  321. claude_mpm/services/cli/session_resume_helper.py +10 -2
  322. claude_mpm/services/command_deployment_service.py +81 -10
  323. claude_mpm/services/delegation_detector.py +175 -0
  324. claude_mpm/services/diagnostics/checks/agent_check.py +2 -2
  325. claude_mpm/services/diagnostics/checks/agent_sources_check.py +31 -1
  326. claude_mpm/services/diagnostics/checks/configuration_check.py +24 -0
  327. claude_mpm/services/diagnostics/checks/installation_check.py +22 -0
  328. claude_mpm/services/diagnostics/checks/mcp_services_check.py +23 -0
  329. claude_mpm/services/diagnostics/doctor_reporter.py +31 -1
  330. claude_mpm/services/diagnostics/models.py +14 -1
  331. claude_mpm/services/event_bus/config.py +3 -1
  332. claude_mpm/services/event_log.py +325 -0
  333. claude_mpm/services/git/git_operations_service.py +101 -16
  334. claude_mpm/services/infrastructure/__init__.py +4 -0
  335. claude_mpm/services/infrastructure/context_usage_tracker.py +291 -0
  336. claude_mpm/services/infrastructure/resume_log_generator.py +24 -5
  337. claude_mpm/services/monitor/daemon.py +9 -2
  338. claude_mpm/services/monitor/daemon_manager.py +54 -7
  339. claude_mpm/services/monitor/management/lifecycle.py +15 -3
  340. claude_mpm/services/monitor/server.py +796 -30
  341. claude_mpm/services/pm_skills_deployer.py +884 -0
  342. claude_mpm/services/profile_manager.py +337 -0
  343. claude_mpm/services/project/project_organizer.py +4 -0
  344. claude_mpm/services/self_upgrade_service.py +120 -12
  345. claude_mpm/services/skills/__init__.py +3 -0
  346. claude_mpm/services/skills/git_skill_source_manager.py +303 -12
  347. claude_mpm/services/skills/selective_skill_deployer.py +869 -0
  348. claude_mpm/services/skills/skill_discovery_service.py +74 -4
  349. claude_mpm/services/skills/skill_to_agent_mapper.py +406 -0
  350. claude_mpm/services/skills_deployer.py +294 -55
  351. claude_mpm/services/socketio/dashboard_server.py +1 -0
  352. claude_mpm/services/socketio/event_normalizer.py +51 -6
  353. claude_mpm/services/socketio/handlers/hook.py +14 -7
  354. claude_mpm/services/socketio/server/core.py +386 -108
  355. claude_mpm/services/socketio/server/main.py +12 -4
  356. claude_mpm/services/version_control/git_operations.py +103 -0
  357. claude_mpm/skills/__init__.py +2 -1
  358. claude_mpm/skills/bundled/collaboration/brainstorming/SKILL.md +79 -0
  359. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/SKILL.md +178 -0
  360. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/agent-prompts.md +577 -0
  361. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/coordination-patterns.md +467 -0
  362. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/examples.md +537 -0
  363. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/troubleshooting.md +730 -0
  364. claude_mpm/skills/bundled/collaboration/git-worktrees.md +317 -0
  365. claude_mpm/skills/bundled/collaboration/requesting-code-review/SKILL.md +112 -0
  366. claude_mpm/skills/bundled/collaboration/requesting-code-review/references/code-reviewer-template.md +146 -0
  367. claude_mpm/skills/bundled/collaboration/requesting-code-review/references/review-examples.md +412 -0
  368. claude_mpm/skills/bundled/collaboration/stacked-prs.md +251 -0
  369. claude_mpm/skills/bundled/collaboration/writing-plans/SKILL.md +81 -0
  370. claude_mpm/skills/bundled/collaboration/writing-plans/references/best-practices.md +362 -0
  371. claude_mpm/skills/bundled/collaboration/writing-plans/references/plan-structure-templates.md +312 -0
  372. claude_mpm/skills/bundled/debugging/root-cause-tracing/SKILL.md +152 -0
  373. claude_mpm/skills/bundled/debugging/root-cause-tracing/references/advanced-techniques.md +668 -0
  374. claude_mpm/skills/bundled/debugging/root-cause-tracing/references/examples.md +587 -0
  375. claude_mpm/skills/bundled/debugging/root-cause-tracing/references/integration.md +438 -0
  376. claude_mpm/skills/bundled/debugging/root-cause-tracing/references/tracing-techniques.md +391 -0
  377. claude_mpm/skills/bundled/debugging/systematic-debugging/CREATION-LOG.md +119 -0
  378. claude_mpm/skills/bundled/debugging/systematic-debugging/SKILL.md +148 -0
  379. claude_mpm/skills/bundled/debugging/systematic-debugging/references/anti-patterns.md +483 -0
  380. claude_mpm/skills/bundled/debugging/systematic-debugging/references/examples.md +452 -0
  381. claude_mpm/skills/bundled/debugging/systematic-debugging/references/troubleshooting.md +449 -0
  382. claude_mpm/skills/bundled/debugging/systematic-debugging/references/workflow.md +411 -0
  383. claude_mpm/skills/bundled/debugging/systematic-debugging/test-academic.md +14 -0
  384. claude_mpm/skills/bundled/debugging/systematic-debugging/test-pressure-1.md +58 -0
  385. claude_mpm/skills/bundled/debugging/systematic-debugging/test-pressure-2.md +68 -0
  386. claude_mpm/skills/bundled/debugging/systematic-debugging/test-pressure-3.md +69 -0
  387. claude_mpm/skills/bundled/debugging/verification-before-completion/SKILL.md +131 -0
  388. claude_mpm/skills/bundled/debugging/verification-before-completion/references/gate-function.md +325 -0
  389. claude_mpm/skills/bundled/debugging/verification-before-completion/references/integration-and-workflows.md +490 -0
  390. claude_mpm/skills/bundled/debugging/verification-before-completion/references/red-flags-and-failures.md +425 -0
  391. claude_mpm/skills/bundled/debugging/verification-before-completion/references/verification-patterns.md +499 -0
  392. claude_mpm/skills/bundled/infrastructure/env-manager/INTEGRATION.md +611 -0
  393. claude_mpm/skills/bundled/infrastructure/env-manager/README.md +596 -0
  394. claude_mpm/skills/bundled/infrastructure/env-manager/SKILL.md +260 -0
  395. claude_mpm/skills/bundled/infrastructure/env-manager/examples/nextjs-env-structure.md +315 -0
  396. claude_mpm/skills/bundled/infrastructure/env-manager/references/frameworks.md +436 -0
  397. claude_mpm/skills/bundled/infrastructure/env-manager/references/security.md +433 -0
  398. claude_mpm/skills/bundled/infrastructure/env-manager/references/synchronization.md +452 -0
  399. claude_mpm/skills/bundled/infrastructure/env-manager/references/troubleshooting.md +404 -0
  400. claude_mpm/skills/bundled/infrastructure/env-manager/references/validation.md +420 -0
  401. claude_mpm/skills/bundled/main/artifacts-builder/SKILL.md +86 -0
  402. claude_mpm/skills/bundled/main/internal-comms/SKILL.md +43 -0
  403. claude_mpm/skills/bundled/main/internal-comms/examples/3p-updates.md +47 -0
  404. claude_mpm/skills/bundled/main/internal-comms/examples/company-newsletter.md +65 -0
  405. claude_mpm/skills/bundled/main/internal-comms/examples/faq-answers.md +30 -0
  406. claude_mpm/skills/bundled/main/internal-comms/examples/general-comms.md +16 -0
  407. claude_mpm/skills/bundled/main/mcp-builder/SKILL.md +160 -0
  408. claude_mpm/skills/bundled/main/mcp-builder/reference/design_principles.md +412 -0
  409. claude_mpm/skills/bundled/main/mcp-builder/reference/evaluation.md +602 -0
  410. claude_mpm/skills/bundled/main/mcp-builder/reference/mcp_best_practices.md +915 -0
  411. claude_mpm/skills/bundled/main/mcp-builder/reference/node_mcp_server.md +916 -0
  412. claude_mpm/skills/bundled/main/mcp-builder/reference/python_mcp_server.md +752 -0
  413. claude_mpm/skills/bundled/main/mcp-builder/reference/workflow.md +1237 -0
  414. claude_mpm/skills/bundled/main/skill-creator/SKILL.md +189 -0
  415. claude_mpm/skills/bundled/main/skill-creator/references/best-practices.md +500 -0
  416. claude_mpm/skills/bundled/main/skill-creator/references/creation-workflow.md +464 -0
  417. claude_mpm/skills/bundled/main/skill-creator/references/examples.md +619 -0
  418. claude_mpm/skills/bundled/main/skill-creator/references/progressive-disclosure.md +437 -0
  419. claude_mpm/skills/bundled/main/skill-creator/references/skill-structure.md +231 -0
  420. claude_mpm/skills/bundled/php/espocrm-development/SKILL.md +170 -0
  421. claude_mpm/skills/bundled/php/espocrm-development/references/architecture.md +602 -0
  422. claude_mpm/skills/bundled/php/espocrm-development/references/common-tasks.md +821 -0
  423. claude_mpm/skills/bundled/php/espocrm-development/references/development-workflow.md +742 -0
  424. claude_mpm/skills/bundled/php/espocrm-development/references/frontend-customization.md +726 -0
  425. claude_mpm/skills/bundled/php/espocrm-development/references/hooks-and-services.md +764 -0
  426. claude_mpm/skills/bundled/php/espocrm-development/references/testing-debugging.md +831 -0
  427. claude_mpm/skills/bundled/pm/mpm/SKILL.md +38 -0
  428. claude_mpm/skills/bundled/pm/mpm-agent-update-workflow/SKILL.md +75 -0
  429. claude_mpm/skills/bundled/pm/mpm-bug-reporting/SKILL.md +248 -0
  430. claude_mpm/skills/bundled/pm/mpm-circuit-breaker-enforcement/SKILL.md +476 -0
  431. claude_mpm/skills/bundled/pm/mpm-config/SKILL.md +29 -0
  432. claude_mpm/skills/bundled/pm/mpm-delegation-patterns/SKILL.md +167 -0
  433. claude_mpm/skills/bundled/pm/mpm-doctor/SKILL.md +53 -0
  434. claude_mpm/skills/bundled/pm/mpm-git-file-tracking/SKILL.md +113 -0
  435. claude_mpm/skills/bundled/pm/mpm-help/SKILL.md +35 -0
  436. claude_mpm/skills/bundled/pm/mpm-init/SKILL.md +125 -0
  437. claude_mpm/skills/bundled/pm/mpm-monitor/SKILL.md +32 -0
  438. claude_mpm/skills/bundled/pm/mpm-organize/SKILL.md +121 -0
  439. claude_mpm/skills/bundled/pm/mpm-postmortem/SKILL.md +22 -0
  440. claude_mpm/skills/bundled/pm/mpm-pr-workflow/SKILL.md +124 -0
  441. claude_mpm/skills/bundled/pm/mpm-session-management/SKILL.md +312 -0
  442. claude_mpm/skills/bundled/pm/mpm-session-pause/SKILL.md +170 -0
  443. claude_mpm/skills/bundled/pm/mpm-session-resume/SKILL.md +31 -0
  444. claude_mpm/skills/bundled/pm/mpm-status/SKILL.md +37 -0
  445. claude_mpm/skills/bundled/pm/mpm-teaching-mode/SKILL.md +657 -0
  446. claude_mpm/skills/bundled/pm/mpm-ticket-view/SKILL.md +110 -0
  447. claude_mpm/skills/bundled/pm/mpm-ticketing-integration/SKILL.md +154 -0
  448. claude_mpm/skills/bundled/pm/mpm-tool-usage-guide/SKILL.md +386 -0
  449. claude_mpm/skills/bundled/pm/mpm-verification-protocols/SKILL.md +198 -0
  450. claude_mpm/skills/bundled/pm/mpm-version/SKILL.md +21 -0
  451. claude_mpm/skills/bundled/react/flexlayout-react.md +742 -0
  452. claude_mpm/skills/bundled/rust/desktop-applications/SKILL.md +226 -0
  453. claude_mpm/skills/bundled/rust/desktop-applications/references/architecture-patterns.md +901 -0
  454. claude_mpm/skills/bundled/rust/desktop-applications/references/native-gui-frameworks.md +901 -0
  455. claude_mpm/skills/bundled/rust/desktop-applications/references/platform-integration.md +775 -0
  456. claude_mpm/skills/bundled/rust/desktop-applications/references/state-management.md +937 -0
  457. claude_mpm/skills/bundled/rust/desktop-applications/references/tauri-framework.md +770 -0
  458. claude_mpm/skills/bundled/rust/desktop-applications/references/testing-deployment.md +961 -0
  459. claude_mpm/skills/bundled/security-scanning.md +112 -0
  460. claude_mpm/skills/bundled/tauri/tauri-async-patterns.md +495 -0
  461. claude_mpm/skills/bundled/tauri/tauri-build-deploy.md +599 -0
  462. claude_mpm/skills/bundled/tauri/tauri-command-patterns.md +535 -0
  463. claude_mpm/skills/bundled/tauri/tauri-error-handling.md +613 -0
  464. claude_mpm/skills/bundled/tauri/tauri-event-system.md +648 -0
  465. claude_mpm/skills/bundled/tauri/tauri-file-system.md +673 -0
  466. claude_mpm/skills/bundled/tauri/tauri-frontend-integration.md +767 -0
  467. claude_mpm/skills/bundled/tauri/tauri-performance.md +669 -0
  468. claude_mpm/skills/bundled/tauri/tauri-state-management.md +573 -0
  469. claude_mpm/skills/bundled/tauri/tauri-testing.md +384 -0
  470. claude_mpm/skills/bundled/tauri/tauri-window-management.md +628 -0
  471. claude_mpm/skills/bundled/testing/condition-based-waiting/SKILL.md +119 -0
  472. claude_mpm/skills/bundled/testing/condition-based-waiting/references/patterns-and-implementation.md +253 -0
  473. claude_mpm/skills/bundled/testing/test-driven-development/SKILL.md +145 -0
  474. claude_mpm/skills/bundled/testing/test-driven-development/references/anti-patterns.md +543 -0
  475. claude_mpm/skills/bundled/testing/test-driven-development/references/examples.md +741 -0
  476. claude_mpm/skills/bundled/testing/test-driven-development/references/integration.md +470 -0
  477. claude_mpm/skills/bundled/testing/test-driven-development/references/philosophy.md +458 -0
  478. claude_mpm/skills/bundled/testing/test-driven-development/references/workflow.md +639 -0
  479. claude_mpm/skills/bundled/testing/test-quality-inspector/SKILL.md +458 -0
  480. claude_mpm/skills/bundled/testing/test-quality-inspector/examples/example-inspection-report.md +411 -0
  481. claude_mpm/skills/bundled/testing/test-quality-inspector/references/assertion-quality.md +317 -0
  482. claude_mpm/skills/bundled/testing/test-quality-inspector/references/inspection-checklist.md +270 -0
  483. claude_mpm/skills/bundled/testing/test-quality-inspector/references/red-flags.md +436 -0
  484. claude_mpm/skills/bundled/testing/testing-anti-patterns/SKILL.md +140 -0
  485. claude_mpm/skills/bundled/testing/testing-anti-patterns/references/completeness-anti-patterns.md +572 -0
  486. claude_mpm/skills/bundled/testing/testing-anti-patterns/references/core-anti-patterns.md +411 -0
  487. claude_mpm/skills/bundled/testing/testing-anti-patterns/references/detection-guide.md +569 -0
  488. claude_mpm/skills/bundled/testing/testing-anti-patterns/references/tdd-connection.md +695 -0
  489. claude_mpm/skills/bundled/testing/webapp-testing/SKILL.md +184 -0
  490. claude_mpm/skills/bundled/testing/webapp-testing/decision-tree.md +459 -0
  491. claude_mpm/skills/bundled/testing/webapp-testing/playwright-patterns.md +479 -0
  492. claude_mpm/skills/bundled/testing/webapp-testing/reconnaissance-pattern.md +687 -0
  493. claude_mpm/skills/bundled/testing/webapp-testing/server-management.md +758 -0
  494. claude_mpm/skills/bundled/testing/webapp-testing/troubleshooting.md +868 -0
  495. claude_mpm/skills/registry.py +295 -90
  496. claude_mpm/skills/skill_manager.py +98 -3
  497. claude_mpm/templates/.pre-commit-config.yaml +112 -0
  498. claude_mpm/utils/agent_dependency_loader.py +115 -4
  499. claude_mpm/utils/agent_filters.py +17 -44
  500. claude_mpm/utils/gitignore.py +3 -0
  501. claude_mpm/utils/migration.py +4 -4
  502. claude_mpm/utils/robust_installer.py +86 -21
  503. claude_mpm-5.6.23.dist-info/METADATA +393 -0
  504. {claude_mpm-5.0.9.dist-info → claude_mpm-5.6.23.dist-info}/RECORD +508 -261
  505. claude_mpm-5.6.23.dist-info/entry_points.txt +5 -0
  506. claude_mpm-5.6.23.dist-info/licenses/LICENSE +94 -0
  507. claude_mpm-5.6.23.dist-info/licenses/LICENSE-FAQ.md +153 -0
  508. claude_mpm/agents/BASE_AGENT_TEMPLATE.md +0 -292
  509. claude_mpm/agents/BASE_DOCUMENTATION.md +0 -53
  510. claude_mpm/agents/BASE_OPS.md +0 -219
  511. claude_mpm/agents/BASE_PM.md +0 -480
  512. claude_mpm/agents/BASE_PROMPT_ENGINEER.md +0 -787
  513. claude_mpm/agents/BASE_QA.md +0 -167
  514. claude_mpm/agents/BASE_RESEARCH.md +0 -53
  515. claude_mpm/agents/OUTPUT_STYLE.md +0 -290
  516. claude_mpm/agents/PM_INSTRUCTIONS_TEACH.md +0 -1322
  517. claude_mpm/agents/base_agent_loader.py +0 -601
  518. claude_mpm/cli/commands/agents_detect.py +0 -380
  519. claude_mpm/cli/commands/agents_recommend.py +0 -309
  520. claude_mpm/cli/ticket_cli.py +0 -35
  521. claude_mpm/commands/mpm-agents-auto-configure.md +0 -278
  522. claude_mpm/commands/mpm-agents-detect.md +0 -177
  523. claude_mpm/commands/mpm-agents-list.md +0 -131
  524. claude_mpm/commands/mpm-agents-recommend.md +0 -223
  525. claude_mpm/commands/mpm-config-view.md +0 -150
  526. claude_mpm/commands/mpm-ticket-organize.md +0 -304
  527. claude_mpm/dashboard/analysis_runner.py +0 -455
  528. claude_mpm/dashboard/index.html +0 -13
  529. claude_mpm/dashboard/open_dashboard.py +0 -66
  530. claude_mpm/dashboard/static/css/activity.css +0 -1958
  531. claude_mpm/dashboard/static/css/connection-status.css +0 -370
  532. claude_mpm/dashboard/static/css/dashboard.css +0 -4701
  533. claude_mpm/dashboard/static/js/components/activity-tree.js +0 -1871
  534. claude_mpm/dashboard/static/js/components/agent-hierarchy.js +0 -777
  535. claude_mpm/dashboard/static/js/components/agent-inference.js +0 -956
  536. claude_mpm/dashboard/static/js/components/build-tracker.js +0 -333
  537. claude_mpm/dashboard/static/js/components/code-simple.js +0 -857
  538. claude_mpm/dashboard/static/js/components/connection-debug.js +0 -654
  539. claude_mpm/dashboard/static/js/components/diff-viewer.js +0 -891
  540. claude_mpm/dashboard/static/js/components/event-processor.js +0 -542
  541. claude_mpm/dashboard/static/js/components/event-viewer.js +0 -1155
  542. claude_mpm/dashboard/static/js/components/export-manager.js +0 -368
  543. claude_mpm/dashboard/static/js/components/file-change-tracker.js +0 -443
  544. claude_mpm/dashboard/static/js/components/file-change-viewer.js +0 -690
  545. claude_mpm/dashboard/static/js/components/file-tool-tracker.js +0 -724
  546. claude_mpm/dashboard/static/js/components/file-viewer.js +0 -580
  547. claude_mpm/dashboard/static/js/components/hud-library-loader.js +0 -211
  548. claude_mpm/dashboard/static/js/components/hud-manager.js +0 -671
  549. claude_mpm/dashboard/static/js/components/hud-visualizer.js +0 -1718
  550. claude_mpm/dashboard/static/js/components/module-viewer.js +0 -2764
  551. claude_mpm/dashboard/static/js/components/session-manager.js +0 -579
  552. claude_mpm/dashboard/static/js/components/socket-manager.js +0 -368
  553. claude_mpm/dashboard/static/js/components/ui-state-manager.js +0 -749
  554. claude_mpm/dashboard/static/js/components/unified-data-viewer.js +0 -1824
  555. claude_mpm/dashboard/static/js/components/working-directory.js +0 -920
  556. claude_mpm/dashboard/static/js/connection-manager.js +0 -536
  557. claude_mpm/dashboard/static/js/dashboard.js +0 -1914
  558. claude_mpm/dashboard/static/js/extension-error-handler.js +0 -164
  559. claude_mpm/dashboard/static/js/socket-client.js +0 -1474
  560. claude_mpm/dashboard/static/js/tab-isolation-fix.js +0 -185
  561. claude_mpm/dashboard/static/socket.io.min.js +0 -7
  562. claude_mpm/dashboard/static/socket.io.v4.8.1.backup.js +0 -7
  563. claude_mpm/dashboard/templates/code_simple.html +0 -153
  564. claude_mpm/dashboard/templates/index.html +0 -606
  565. claude_mpm/dashboard/test_dashboard.html +0 -372
  566. claude_mpm/hooks/claude_hooks/__pycache__/__init__.cpython-313.pyc +0 -0
  567. claude_mpm/hooks/claude_hooks/__pycache__/event_handlers.cpython-313.pyc +0 -0
  568. claude_mpm/hooks/claude_hooks/__pycache__/hook_handler.cpython-313.pyc +0 -0
  569. claude_mpm/hooks/claude_hooks/__pycache__/memory_integration.cpython-313.pyc +0 -0
  570. claude_mpm/hooks/claude_hooks/__pycache__/response_tracking.cpython-313.pyc +0 -0
  571. claude_mpm/hooks/claude_hooks/__pycache__/tool_analysis.cpython-313.pyc +0 -0
  572. claude_mpm/hooks/claude_hooks/services/__pycache__/__init__.cpython-313.pyc +0 -0
  573. claude_mpm/hooks/claude_hooks/services/__pycache__/connection_manager_http.cpython-313.pyc +0 -0
  574. claude_mpm/hooks/claude_hooks/services/__pycache__/duplicate_detector.cpython-313.pyc +0 -0
  575. claude_mpm/hooks/claude_hooks/services/__pycache__/state_manager.cpython-313.pyc +0 -0
  576. claude_mpm/hooks/claude_hooks/services/__pycache__/subagent_processor.cpython-313.pyc +0 -0
  577. claude_mpm/scripts/mcp_server.py +0 -75
  578. claude_mpm/scripts/mcp_wrapper.py +0 -39
  579. claude_mpm/services/mcp_gateway/__init__.py +0 -159
  580. claude_mpm/services/mcp_gateway/auto_configure.py +0 -369
  581. claude_mpm/services/mcp_gateway/config/__init__.py +0 -17
  582. claude_mpm/services/mcp_gateway/config/config_loader.py +0 -296
  583. claude_mpm/services/mcp_gateway/config/config_schema.py +0 -243
  584. claude_mpm/services/mcp_gateway/config/configuration.py +0 -429
  585. claude_mpm/services/mcp_gateway/core/__init__.py +0 -43
  586. claude_mpm/services/mcp_gateway/core/base.py +0 -312
  587. claude_mpm/services/mcp_gateway/core/exceptions.py +0 -253
  588. claude_mpm/services/mcp_gateway/core/interfaces.py +0 -443
  589. claude_mpm/services/mcp_gateway/core/process_pool.py +0 -977
  590. claude_mpm/services/mcp_gateway/core/singleton_manager.py +0 -315
  591. claude_mpm/services/mcp_gateway/core/startup_verification.py +0 -316
  592. claude_mpm/services/mcp_gateway/main.py +0 -589
  593. claude_mpm/services/mcp_gateway/registry/__init__.py +0 -12
  594. claude_mpm/services/mcp_gateway/registry/service_registry.py +0 -412
  595. claude_mpm/services/mcp_gateway/registry/tool_registry.py +0 -489
  596. claude_mpm/services/mcp_gateway/server/__init__.py +0 -15
  597. claude_mpm/services/mcp_gateway/server/mcp_gateway.py +0 -414
  598. claude_mpm/services/mcp_gateway/server/stdio_handler.py +0 -372
  599. claude_mpm/services/mcp_gateway/server/stdio_server.py +0 -712
  600. claude_mpm/services/mcp_gateway/tools/__init__.py +0 -36
  601. claude_mpm/services/mcp_gateway/tools/base_adapter.py +0 -485
  602. claude_mpm/services/mcp_gateway/tools/document_summarizer.py +0 -789
  603. claude_mpm/services/mcp_gateway/tools/external_mcp_services.py +0 -654
  604. claude_mpm/services/mcp_gateway/tools/health_check_tool.py +0 -456
  605. claude_mpm/services/mcp_gateway/tools/hello_world.py +0 -551
  606. claude_mpm/services/mcp_gateway/tools/kuzu_memory_service.py +0 -555
  607. claude_mpm/services/mcp_gateway/utils/__init__.py +0 -14
  608. claude_mpm/services/mcp_gateway/utils/package_version_checker.py +0 -160
  609. claude_mpm/services/mcp_gateway/utils/update_preferences.py +0 -170
  610. claude_mpm-5.0.9.dist-info/METADATA +0 -1028
  611. claude_mpm-5.0.9.dist-info/entry_points.txt +0 -10
  612. claude_mpm-5.0.9.dist-info/licenses/LICENSE +0 -21
  613. {claude_mpm-5.0.9.dist-info → claude_mpm-5.6.23.dist-info}/WHEEL +0 -0
  614. {claude_mpm-5.0.9.dist-info → claude_mpm-5.6.23.dist-info}/top_level.txt +0 -0
@@ -88,6 +88,19 @@ Examples:
88
88
  help="Skip confirmation prompts and deploy automatically",
89
89
  )
90
90
 
91
+ # Scope selection
92
+ scope_group = auto_configure_parser.add_mutually_exclusive_group()
93
+ scope_group.add_argument(
94
+ "--agents-only",
95
+ action="store_true",
96
+ help="Configure agents only (skip skills)",
97
+ )
98
+ scope_group.add_argument(
99
+ "--skills-only",
100
+ action="store_true",
101
+ help="Configure skills only (skip agents)",
102
+ )
103
+
91
104
  # Configuration options
92
105
  auto_configure_parser.add_argument(
93
106
  "--min-confidence",
@@ -105,141 +118,3 @@ Examples:
105
118
  )
106
119
 
107
120
  return auto_configure_parser
108
-
109
-
110
- def add_agents_detect_subparser(agents_subparsers) -> argparse.ArgumentParser:
111
- """
112
- Add the agents detect subparser for toolchain detection.
113
-
114
- WHY: Allows users to see what toolchain is detected without making changes,
115
- useful for debugging and verification.
116
-
117
- Args:
118
- agents_subparsers: The agents subparsers object
119
-
120
- Returns:
121
- The configured detect subparser
122
- """
123
- detect_parser = agents_subparsers.add_parser(
124
- "detect",
125
- help="Detect project toolchain without deploying",
126
- description="""
127
- Detect and display project toolchain without making any changes.
128
-
129
- This command analyzes your project to detect:
130
- • Programming languages and versions
131
- • Frameworks and libraries
132
- • Deployment targets and platforms
133
-
134
- Useful for debugging toolchain detection and verifying what would be
135
- detected before running auto-configure.
136
- """,
137
- formatter_class=argparse.RawDescriptionHelpFormatter,
138
- epilog="""
139
- Examples:
140
- # Detect toolchain in current directory
141
- claude-mpm agents detect
142
-
143
- # Detect with verbose output showing evidence
144
- claude-mpm agents detect --verbose
145
-
146
- # JSON output for scripting
147
- claude-mpm agents detect --json
148
-
149
- # Detect specific project
150
- claude-mpm agents detect --project-path /path/to/project
151
- """,
152
- )
153
- add_common_arguments(detect_parser)
154
-
155
- detect_parser.add_argument(
156
- "--project-path",
157
- type=Path,
158
- metavar="PATH",
159
- help="Project path to analyze (default: current directory)",
160
- )
161
-
162
- return detect_parser
163
-
164
-
165
- def add_agents_recommend_subparser(
166
- agents_subparsers,
167
- ) -> argparse.ArgumentParser:
168
- """
169
- Add the agents recommend subparser for agent recommendations.
170
-
171
- WHY: Allows users to see what agents would be recommended without deploying,
172
- useful for reviewing recommendations before committing to deployment.
173
-
174
- Args:
175
- agents_subparsers: The agents subparsers object
176
-
177
- Returns:
178
- The configured recommend subparser
179
- """
180
- recommend_parser = agents_subparsers.add_parser(
181
- "recommend",
182
- help="Show recommended agents without deploying",
183
- description="""
184
- Show recommended agents based on project toolchain without deploying.
185
-
186
- This command analyzes your project toolchain and recommends appropriate
187
- agents with detailed reasoning for each recommendation. No changes are
188
- made to your project.
189
-
190
- Useful for:
191
- • Reviewing recommendations before deployment
192
- • Understanding why agents are recommended
193
- • Adjusting confidence thresholds
194
- """,
195
- formatter_class=argparse.RawDescriptionHelpFormatter,
196
- epilog="""
197
- Examples:
198
- # Show recommendations with reasoning
199
- claude-mpm agents recommend
200
-
201
- # Require 90% confidence for recommendations
202
- claude-mpm agents recommend --min-confidence 0.9
203
-
204
- # JSON output for scripting
205
- claude-mpm agents recommend --json
206
-
207
- # Hide detailed reasoning
208
- claude-mpm agents recommend --no-reasoning
209
-
210
- # Recommend for specific project
211
- claude-mpm agents recommend --project-path /path/to/project
212
- """,
213
- )
214
- add_common_arguments(recommend_parser)
215
-
216
- recommend_parser.add_argument(
217
- "--project-path",
218
- type=Path,
219
- metavar="PATH",
220
- help="Project path to analyze (default: current directory)",
221
- )
222
-
223
- recommend_parser.add_argument(
224
- "--min-confidence",
225
- type=float,
226
- default=0.8,
227
- metavar="FLOAT",
228
- help="Minimum confidence threshold for recommendations (0.0-1.0, default: 0.8)",
229
- )
230
-
231
- recommend_parser.add_argument(
232
- "--show-reasoning",
233
- action="store_true",
234
- default=True,
235
- help="Show detailed reasoning for recommendations (default)",
236
- )
237
-
238
- recommend_parser.add_argument(
239
- "--no-reasoning",
240
- dest="show_reasoning",
241
- action="store_false",
242
- help="Hide detailed reasoning for recommendations",
243
- )
244
-
245
- return recommend_parser
@@ -125,7 +125,7 @@ def _get_enhanced_version(base_version: str) -> str:
125
125
 
126
126
  if enhanced and enhanced != base_version:
127
127
  return enhanced
128
- except Exception:
128
+ except Exception: # nosec B110
129
129
  # If anything fails, fall back to base version
130
130
  pass
131
131
 
@@ -292,6 +292,21 @@ def add_top_level_run_arguments(parser: argparse.ArgumentParser) -> None:
292
292
  action="store_true",
293
293
  help="Force rebuild of all system agents by deleting local claude-mpm agents",
294
294
  )
295
+ run_group.add_argument(
296
+ "--force-sync",
297
+ action="store_true",
298
+ help="Force refresh agents and skills from remote repos, bypassing ETag cache",
299
+ )
300
+ run_group.add_argument(
301
+ "--chrome",
302
+ action="store_true",
303
+ help="Enable Claude in Chrome integration (passed to Claude Code)",
304
+ )
305
+ run_group.add_argument(
306
+ "--no-chrome",
307
+ action="store_true",
308
+ help="Disable Claude in Chrome integration (passed to Claude Code)",
309
+ )
295
310
 
296
311
  # Dependency checking options (for backward compatibility at top level)
297
312
  dep_group_top = parser.add_argument_group(
@@ -438,6 +453,13 @@ def create_parser(
438
453
  except ImportError:
439
454
  pass
440
455
 
456
+ try:
457
+ from .profile_parser import add_profile_subparser
458
+
459
+ add_profile_subparser(subparsers)
460
+ except ImportError:
461
+ pass
462
+
441
463
  try:
442
464
  from .monitor_parser import add_monitor_subparser
443
465
 
@@ -480,6 +502,13 @@ def create_parser(
480
502
  except ImportError:
481
503
  pass
482
504
 
505
+ try:
506
+ from .commander_parser import add_commander_subparser
507
+
508
+ add_commander_subparser(subparsers)
509
+ except ImportError:
510
+ pass
511
+
483
512
  # Add uninstall command parser
484
513
  try:
485
514
  from ..commands.uninstall import add_uninstall_parser
@@ -594,6 +623,64 @@ def create_parser(
594
623
  action="store_true",
595
624
  help="Skip confirmation prompts",
596
625
  )
626
+
627
+ # Add autotodos command for auto-generating todos from hook errors
628
+ autotodos_parser = subparsers.add_parser(
629
+ "autotodos",
630
+ help="Auto-generate todos from hook errors and delegation patterns",
631
+ )
632
+ autotodos_parser.add_argument(
633
+ "autotodos_command",
634
+ nargs="?",
635
+ choices=["list", "inject", "clear", "status", "scan", "violations"],
636
+ help="AutoTodos subcommand",
637
+ )
638
+ autotodos_parser.add_argument(
639
+ "text",
640
+ nargs="?",
641
+ help="Text to scan for delegation patterns (scan command only)",
642
+ )
643
+ autotodos_parser.add_argument(
644
+ "--format",
645
+ choices=["table", "json"],
646
+ default="table",
647
+ help="Output format for list/scan commands",
648
+ )
649
+ autotodos_parser.add_argument(
650
+ "--output",
651
+ help="Output file path for inject command",
652
+ )
653
+ autotodos_parser.add_argument(
654
+ "--error-key",
655
+ help="Specific error key to clear",
656
+ )
657
+ autotodos_parser.add_argument(
658
+ "--event-type",
659
+ choices=["error", "violation", "all"],
660
+ default="all",
661
+ help="Type of events to clear (clear command only)",
662
+ )
663
+ autotodos_parser.add_argument(
664
+ "--file",
665
+ "-f",
666
+ help="Scan text from file (scan command only)",
667
+ )
668
+ autotodos_parser.add_argument(
669
+ "--save",
670
+ action="store_true",
671
+ help="Save detections to event log (scan command only)",
672
+ )
673
+ autotodos_parser.add_argument(
674
+ "-y",
675
+ "--yes",
676
+ action="store_true",
677
+ help="Skip confirmation prompts",
678
+ )
679
+
680
+ # Add summarize command
681
+ from ..commands.summarize import add_summarize_parser
682
+
683
+ add_summarize_parser(subparsers)
597
684
  except ImportError:
598
685
  # Commands module may not be available during testing or refactoring
599
686
  pass
@@ -0,0 +1,116 @@
1
+ """
2
+ Commander parser module for claude-mpm CLI.
3
+
4
+ WHY: This module provides the commander subcommand for interactive instance management
5
+ and chat interface.
6
+
7
+ DESIGN DECISION: Uses subparser pattern consistent with other commands (run, agents, etc.)
8
+ to provide a clean interface for Commander mode.
9
+ """
10
+
11
+ import argparse
12
+ from pathlib import Path
13
+
14
+
15
+ def add_commander_subparser(subparsers: argparse._SubParsersAction) -> None:
16
+ """
17
+ Add commander subcommand parser.
18
+
19
+ WHY: Provides interactive mode for managing and chatting with multiple Claude instances.
20
+
21
+ Args:
22
+ subparsers: The subparsers object to add the commander parser to
23
+ """
24
+ commander_parser = subparsers.add_parser(
25
+ "commander",
26
+ help="Launch Commander multi-project orchestration (ALPHA)",
27
+ description="""
28
+ Commander Mode - Multi-Project Orchestration (ALPHA)
29
+
30
+ The commander subcommand auto-starts the Commander daemon (if not already running)
31
+ and launches an interactive REPL for managing multiple Claude Code instances.
32
+
33
+ Commander provides:
34
+ - Auto-starting daemon that manages project lifecycles
35
+ - Interactive REPL for controlling instances
36
+ - Tmux-based session management
37
+ - Real-time output monitoring
38
+ - REST API for external control (http://127.0.0.1:8765)
39
+
40
+ REPL Commands:
41
+ list, ls, instances List active instances
42
+ start <path> Start new instance at path
43
+ --framework <cc|mpm> Specify framework (default: cc)
44
+ --name <name> Specify instance name (default: dir name)
45
+ stop <name> Stop an instance
46
+ connect <name> Connect to an instance
47
+ disconnect Disconnect from current instance
48
+ status Show current session status
49
+ help Show help message
50
+ exit, quit, q Exit Commander
51
+
52
+ Natural Language:
53
+ When connected to an instance, any input that is not a built-in
54
+ command will be sent to the connected instance as a message.
55
+
56
+ Examples:
57
+ # Start daemon and launch interactive chat
58
+ claude-mpm commander
59
+
60
+ # Start daemon only (no chat interface)
61
+ claude-mpm commander --daemon-only
62
+
63
+ # Use custom port
64
+ claude-mpm commander --port 9000
65
+
66
+ # In REPL:
67
+ > start ~/myproject --framework cc --name myapp
68
+ > connect myapp
69
+ > Fix the authentication bug in login.py
70
+ > disconnect
71
+ > exit
72
+ """,
73
+ formatter_class=argparse.RawDescriptionHelpFormatter,
74
+ )
75
+
76
+ # Optional: Port for internal services
77
+ commander_parser.add_argument(
78
+ "--port",
79
+ type=int,
80
+ default=8766, # NetworkPorts.COMMANDER_DEFAULT
81
+ help="Port for internal services (default: 8766)",
82
+ )
83
+
84
+ # Optional: State directory
85
+ commander_parser.add_argument(
86
+ "--state-dir",
87
+ type=Path,
88
+ help="Directory for state persistence (optional)",
89
+ )
90
+
91
+ # Debug mode
92
+ commander_parser.add_argument(
93
+ "--debug",
94
+ action="store_true",
95
+ help="Enable debug logging",
96
+ )
97
+
98
+ # Daemon auto-start options
99
+ commander_parser.add_argument(
100
+ "--host",
101
+ type=str,
102
+ default="127.0.0.1",
103
+ help="Daemon host (default: 127.0.0.1)",
104
+ )
105
+
106
+ commander_parser.add_argument(
107
+ "--no-chat",
108
+ action="store_true",
109
+ help="Start daemon only without interactive chat",
110
+ )
111
+
112
+ commander_parser.add_argument(
113
+ "--daemon-only",
114
+ action="store_true",
115
+ help="Alias for --no-chat (start daemon only)",
116
+ )
@@ -1,14 +1,15 @@
1
1
  """
2
2
  Config command parser for claude-mpm CLI.
3
3
 
4
- WHY: This module provides the config command which is synonymous with configure.
5
- Both launch the interactive configuration TUI.
4
+ WHY: This module provides the unified config command with subcommands for
5
+ auto-configuration, viewing, validation, and status checks.
6
6
 
7
- DESIGN DECISION: 'config' and 'configure' are aliases - both commands provide
8
- identical functionality through the interactive configuration interface.
7
+ DESIGN DECISION: 'config' provides both auto-configuration (default) and
8
+ manual configuration management through subcommands.
9
9
  """
10
10
 
11
11
  import argparse
12
+ from pathlib import Path
12
13
 
13
14
  from ...constants import CLICommands
14
15
  from .base_parser import add_common_arguments
@@ -16,11 +17,10 @@ from .base_parser import add_common_arguments
16
17
 
17
18
  def add_config_subparser(subparsers) -> argparse.ArgumentParser:
18
19
  """
19
- Add the config subparser (alias for configure).
20
+ Add the unified config subparser with all configuration subcommands.
20
21
 
21
- WHY: 'config' and 'configure' are synonymous commands that both launch
22
- the interactive configuration interface. This provides a consistent
23
- parser setup matching the configure command.
22
+ WHY: 'config' provides comprehensive configuration management including
23
+ auto-detection, manual viewing, validation, and status checks.
24
24
 
25
25
  Args:
26
26
  subparsers: The subparsers object from the main parser
@@ -28,111 +28,181 @@ def add_config_subparser(subparsers) -> argparse.ArgumentParser:
28
28
  Returns:
29
29
  The configured config subparser
30
30
  """
31
- # Config command - alias for configure (interactive configuration)
31
+ # Config command with subcommands
32
32
  config_parser = subparsers.add_parser(
33
33
  CLICommands.CONFIG.value,
34
- help="Interactive configuration interface for managing agents and behaviors (alias for 'configure')",
35
- description="Launch an interactive Rich-based menu for configuring claude-mpm agents, templates, and behavior files",
36
- )
34
+ help="Unified configuration management with auto-detection and manual viewing",
35
+ description="""
36
+ Unified configuration management for Claude MPM.
37
37
 
38
- # Add common arguments
39
- add_common_arguments(config_parser)
38
+ Available commands:
39
+ auto Auto-configure agents and skills based on detected toolchain (default)
40
+ view View current configuration settings
41
+ validate Validate configuration files
42
+ status Show configuration health and status
40
43
 
41
- # Configuration scope options
42
- scope_group = config_parser.add_argument_group("configuration scope")
43
- scope_group.add_argument(
44
- "--scope",
45
- choices=["project", "user"],
46
- default="project",
47
- help="Configuration scope to manage (default: project)",
44
+ Running 'config' with no subcommand defaults to 'auto' in preview mode.
45
+ """,
46
+ formatter_class=argparse.RawDescriptionHelpFormatter,
48
47
  )
48
+ add_common_arguments(config_parser)
49
49
 
50
- # Direct navigation options (skip main menu)
51
- nav_group = config_parser.add_argument_group("direct navigation")
52
- nav_group.add_argument(
53
- "--agents", action="store_true", help="Jump directly to agent management"
50
+ # Add subcommands
51
+ config_subparsers = config_parser.add_subparsers(
52
+ dest="config_command", help="Configuration commands", metavar="SUBCOMMAND"
53
+ )
54
+
55
+ # Auto-configure subcommand (default)
56
+ auto_parser = config_subparsers.add_parser(
57
+ "auto",
58
+ help="Auto-configure agents and skills based on detected toolchain",
59
+ description="""
60
+ Auto-configure agents and skills for your project based on detected toolchain.
61
+
62
+ This command analyzes your project to detect languages, frameworks, and
63
+ deployment targets, then recommends and deploys appropriate specialized
64
+ agents and skills automatically.
65
+
66
+ The command provides safety features including:
67
+ • Preview mode to see changes before applying
68
+ • Confidence thresholds to ensure quality matches
69
+ • Validation gates to block invalid configurations
70
+ • Rollback on failure to maintain consistency
71
+ """,
72
+ formatter_class=argparse.RawDescriptionHelpFormatter,
73
+ )
74
+ add_common_arguments(auto_parser)
75
+
76
+ # Configuration mode
77
+ mode_group = auto_parser.add_mutually_exclusive_group()
78
+ mode_group.add_argument(
79
+ "--preview",
80
+ "--dry-run",
81
+ dest="preview",
82
+ action="store_true",
83
+ help="Show what would be configured without deploying (preview mode)",
54
84
  )
55
- nav_group.add_argument(
56
- "--templates", action="store_true", help="Jump directly to template editing"
85
+ mode_group.add_argument(
86
+ "--yes",
87
+ "-y",
88
+ action="store_true",
89
+ help="Skip confirmation prompts and deploy automatically",
57
90
  )
58
- nav_group.add_argument(
59
- "--behaviors",
91
+
92
+ # Scope selection
93
+ scope_group = auto_parser.add_mutually_exclusive_group()
94
+ scope_group.add_argument(
95
+ "--agents-only",
60
96
  action="store_true",
61
- help="Jump directly to behavior file management",
97
+ help="Configure agents only (skip skills)",
62
98
  )
63
- nav_group.add_argument(
64
- "--startup",
99
+ scope_group.add_argument(
100
+ "--skills-only",
65
101
  action="store_true",
66
- help="Configure startup services and agents",
102
+ help="Configure skills only (skip agents)",
103
+ )
104
+
105
+ # Configuration options
106
+ auto_parser.add_argument(
107
+ "--min-confidence",
108
+ type=float,
109
+ default=0.8,
110
+ metavar="FLOAT",
111
+ help="Minimum confidence threshold for recommendations (0.0-1.0, default: 0.8)",
112
+ )
113
+
114
+ auto_parser.add_argument(
115
+ "--project-path",
116
+ type=Path,
117
+ metavar="PATH",
118
+ help="Project path to analyze (default: current directory)",
67
119
  )
68
- nav_group.add_argument(
69
- "--version-info",
120
+
121
+ auto_parser.add_argument(
122
+ "--json",
70
123
  action="store_true",
71
- help="Display version information and exit",
124
+ help="Output results in JSON format",
72
125
  )
73
126
 
74
- # Non-interactive options
75
- noninteractive_group = config_parser.add_argument_group("non-interactive options")
76
- noninteractive_group.add_argument(
77
- "--list-agents", action="store_true", help="List all available agents and exit"
127
+ # View subcommand
128
+ view_parser = config_subparsers.add_parser(
129
+ "view",
130
+ help="View current configuration settings",
78
131
  )
79
- noninteractive_group.add_argument(
80
- "--enable-agent",
132
+ add_common_arguments(view_parser)
133
+
134
+ view_parser.add_argument(
135
+ "--section",
81
136
  type=str,
82
- metavar="AGENT_NAME",
83
- help="Enable a specific agent and exit",
137
+ metavar="SECTION",
138
+ help="Specific configuration section to view (agents, memory, websocket, etc.)",
84
139
  )
85
- noninteractive_group.add_argument(
86
- "--disable-agent",
87
- type=str,
88
- metavar="AGENT_NAME",
89
- help="Disable a specific agent and exit",
140
+ view_parser.add_argument(
141
+ "--format",
142
+ choices=["yaml", "json", "table", "text"],
143
+ default="table",
144
+ help="Output format (default: table)",
90
145
  )
91
- noninteractive_group.add_argument(
92
- "--export-config",
93
- type=str,
94
- metavar="FILE",
95
- help="Export current configuration to a file",
146
+ view_parser.add_argument(
147
+ "--show-defaults",
148
+ action="store_true",
149
+ help="Include default values in output",
96
150
  )
97
- noninteractive_group.add_argument(
98
- "--import-config",
99
- type=str,
100
- metavar="FILE",
101
- help="Import configuration from a file",
151
+ view_parser.add_argument(
152
+ "--config-file",
153
+ type=Path,
154
+ metavar="PATH",
155
+ help="Specific config file to view (default: all)",
102
156
  )
103
157
 
104
- # Hook management options
105
- hooks_group = config_parser.add_argument_group("hook management")
106
- hooks_group.add_argument(
107
- "--install-hooks",
108
- action="store_true",
109
- help="Install Claude MPM hooks for Claude Code integration",
158
+ # Validate subcommand
159
+ validate_parser = config_subparsers.add_parser(
160
+ "validate",
161
+ help="Validate configuration files for correctness",
110
162
  )
111
- hooks_group.add_argument(
112
- "--verify-hooks",
113
- action="store_true",
114
- help="Verify that Claude MPM hooks are properly installed",
163
+ add_common_arguments(validate_parser)
164
+
165
+ validate_parser.add_argument(
166
+ "--config-file",
167
+ type=Path,
168
+ metavar="PATH",
169
+ help="Validate specific config file (default: all)",
115
170
  )
116
- hooks_group.add_argument(
117
- "--uninstall-hooks",
171
+ validate_parser.add_argument(
172
+ "--strict",
118
173
  action="store_true",
119
- help="Uninstall Claude MPM hooks",
174
+ help="Use strict validation rules",
120
175
  )
121
- hooks_group.add_argument(
122
- "--force",
176
+ validate_parser.add_argument(
177
+ "--fix",
123
178
  action="store_true",
124
- help="Force reinstallation of hooks even if they already exist",
179
+ help="Attempt to fix validation errors automatically",
125
180
  )
126
181
 
127
- # Display options
128
- display_group = config_parser.add_argument_group("display options")
129
- display_group.add_argument(
130
- "--no-colors",
131
- action="store_true",
132
- help="Disable colored output in the interface",
182
+ # Status subcommand
183
+ status_parser = config_subparsers.add_parser(
184
+ "status",
185
+ help="Show configuration health and status",
133
186
  )
134
- display_group.add_argument(
135
- "--compact", action="store_true", help="Use compact display mode"
187
+ add_common_arguments(status_parser)
188
+
189
+ # Note: --verbose is provided by add_common_arguments()
190
+ status_parser.add_argument(
191
+ "--check-response-logging",
192
+ action="store_true",
193
+ help="Check response logging configuration",
194
+ )
195
+ status_parser.add_argument(
196
+ "--format",
197
+ choices=["yaml", "json", "text"],
198
+ default="text",
199
+ help="Output format (default: text)",
200
+ )
201
+ status_parser.add_argument(
202
+ "--config-file",
203
+ type=Path,
204
+ metavar="PATH",
205
+ help="Specific config file to check (default: all)",
136
206
  )
137
207
 
138
208
  return config_parser