claude-mpm 5.4.22__py3-none-any.whl → 5.6.34__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 (487) hide show
  1. claude_mpm/VERSION +1 -1
  2. claude_mpm/agents/BASE_AGENT.md +164 -0
  3. claude_mpm/agents/BASE_ENGINEER.md +658 -0
  4. claude_mpm/agents/CLAUDE_MPM_OUTPUT_STYLE.md +66 -241
  5. claude_mpm/agents/CLAUDE_MPM_RESEARCH_OUTPUT_STYLE.md +413 -0
  6. claude_mpm/agents/CLAUDE_MPM_TEACHER_OUTPUT_STYLE.md +109 -1925
  7. claude_mpm/agents/MEMORY.md +1 -1
  8. claude_mpm/agents/PM_INSTRUCTIONS.md +374 -1257
  9. claude_mpm/agents/WORKFLOW.md +6 -253
  10. claude_mpm/agents/agent_loader.py +1 -1
  11. claude_mpm/agents/base_agent.json +31 -0
  12. claude_mpm/agents/frontmatter_validator.py +2 -2
  13. claude_mpm/agents/templates/circuit-breakers.md +26 -17
  14. claude_mpm/cli/__init__.py +5 -1
  15. claude_mpm/cli/commands/agent_state_manager.py +10 -10
  16. claude_mpm/cli/commands/agents.py +11 -13
  17. claude_mpm/cli/commands/agents_reconcile.py +197 -0
  18. claude_mpm/cli/commands/auto_configure.py +4 -4
  19. claude_mpm/cli/commands/autotodos.py +566 -0
  20. claude_mpm/cli/commands/commander.py +216 -0
  21. claude_mpm/cli/commands/configure.py +621 -22
  22. claude_mpm/cli/commands/configure_agent_display.py +12 -0
  23. claude_mpm/cli/commands/hook_errors.py +60 -60
  24. claude_mpm/cli/commands/monitor.py +2 -2
  25. claude_mpm/cli/commands/mpm_init/core.py +72 -0
  26. claude_mpm/cli/commands/postmortem.py +1 -1
  27. claude_mpm/cli/commands/profile.py +276 -0
  28. claude_mpm/cli/commands/run.py +35 -3
  29. claude_mpm/cli/commands/skill_source.py +51 -2
  30. claude_mpm/cli/commands/skills.py +182 -32
  31. claude_mpm/cli/executor.py +130 -16
  32. claude_mpm/cli/interactive/__init__.py +10 -0
  33. claude_mpm/cli/interactive/agent_wizard.py +32 -52
  34. claude_mpm/cli/interactive/questionary_styles.py +65 -0
  35. claude_mpm/cli/interactive/skill_selector.py +481 -0
  36. claude_mpm/cli/parsers/base_parser.py +83 -1
  37. claude_mpm/cli/parsers/commander_parser.py +116 -0
  38. claude_mpm/cli/parsers/profile_parser.py +147 -0
  39. claude_mpm/cli/parsers/run_parser.py +10 -0
  40. claude_mpm/cli/parsers/skill_source_parser.py +4 -0
  41. claude_mpm/cli/parsers/skills_parser.py +2 -3
  42. claude_mpm/cli/startup.py +690 -386
  43. claude_mpm/cli/startup_display.py +74 -6
  44. claude_mpm/cli/startup_logging.py +2 -2
  45. claude_mpm/cli/utils.py +7 -3
  46. claude_mpm/commander/__init__.py +78 -0
  47. claude_mpm/commander/adapters/__init__.py +60 -0
  48. claude_mpm/commander/adapters/auggie.py +260 -0
  49. claude_mpm/commander/adapters/base.py +288 -0
  50. claude_mpm/commander/adapters/claude_code.py +392 -0
  51. claude_mpm/commander/adapters/codex.py +237 -0
  52. claude_mpm/commander/adapters/communication.py +366 -0
  53. claude_mpm/commander/adapters/example_usage.py +310 -0
  54. claude_mpm/commander/adapters/mpm.py +389 -0
  55. claude_mpm/commander/adapters/registry.py +204 -0
  56. claude_mpm/commander/api/__init__.py +16 -0
  57. claude_mpm/commander/api/app.py +121 -0
  58. claude_mpm/commander/api/errors.py +133 -0
  59. claude_mpm/commander/api/routes/__init__.py +8 -0
  60. claude_mpm/commander/api/routes/events.py +184 -0
  61. claude_mpm/commander/api/routes/inbox.py +171 -0
  62. claude_mpm/commander/api/routes/messages.py +148 -0
  63. claude_mpm/commander/api/routes/projects.py +271 -0
  64. claude_mpm/commander/api/routes/sessions.py +226 -0
  65. claude_mpm/commander/api/routes/work.py +296 -0
  66. claude_mpm/commander/api/schemas.py +186 -0
  67. claude_mpm/commander/chat/__init__.py +7 -0
  68. claude_mpm/commander/chat/cli.py +146 -0
  69. claude_mpm/commander/chat/commands.py +96 -0
  70. claude_mpm/commander/chat/repl.py +310 -0
  71. claude_mpm/commander/config.py +51 -0
  72. claude_mpm/commander/config_loader.py +115 -0
  73. claude_mpm/commander/core/__init__.py +10 -0
  74. claude_mpm/commander/core/block_manager.py +325 -0
  75. claude_mpm/commander/core/response_manager.py +323 -0
  76. claude_mpm/commander/daemon.py +603 -0
  77. claude_mpm/commander/env_loader.py +59 -0
  78. claude_mpm/commander/events/__init__.py +26 -0
  79. claude_mpm/commander/events/manager.py +332 -0
  80. claude_mpm/commander/frameworks/__init__.py +12 -0
  81. claude_mpm/commander/frameworks/base.py +146 -0
  82. claude_mpm/commander/frameworks/claude_code.py +58 -0
  83. claude_mpm/commander/frameworks/mpm.py +62 -0
  84. claude_mpm/commander/inbox/__init__.py +16 -0
  85. claude_mpm/commander/inbox/dedup.py +128 -0
  86. claude_mpm/commander/inbox/inbox.py +224 -0
  87. claude_mpm/commander/inbox/models.py +70 -0
  88. claude_mpm/commander/instance_manager.py +450 -0
  89. claude_mpm/commander/llm/__init__.py +6 -0
  90. claude_mpm/commander/llm/openrouter_client.py +167 -0
  91. claude_mpm/commander/llm/summarizer.py +70 -0
  92. claude_mpm/commander/memory/__init__.py +45 -0
  93. claude_mpm/commander/memory/compression.py +347 -0
  94. claude_mpm/commander/memory/embeddings.py +230 -0
  95. claude_mpm/commander/memory/entities.py +310 -0
  96. claude_mpm/commander/memory/example_usage.py +290 -0
  97. claude_mpm/commander/memory/integration.py +325 -0
  98. claude_mpm/commander/memory/search.py +381 -0
  99. claude_mpm/commander/memory/store.py +657 -0
  100. claude_mpm/commander/models/__init__.py +18 -0
  101. claude_mpm/commander/models/events.py +121 -0
  102. claude_mpm/commander/models/project.py +162 -0
  103. claude_mpm/commander/models/work.py +214 -0
  104. claude_mpm/commander/parsing/__init__.py +20 -0
  105. claude_mpm/commander/parsing/extractor.py +132 -0
  106. claude_mpm/commander/parsing/output_parser.py +270 -0
  107. claude_mpm/commander/parsing/patterns.py +100 -0
  108. claude_mpm/commander/persistence/__init__.py +11 -0
  109. claude_mpm/commander/persistence/event_store.py +274 -0
  110. claude_mpm/commander/persistence/state_store.py +309 -0
  111. claude_mpm/commander/persistence/work_store.py +164 -0
  112. claude_mpm/commander/polling/__init__.py +13 -0
  113. claude_mpm/commander/polling/event_detector.py +104 -0
  114. claude_mpm/commander/polling/output_buffer.py +49 -0
  115. claude_mpm/commander/polling/output_poller.py +153 -0
  116. claude_mpm/commander/project_session.py +268 -0
  117. claude_mpm/commander/proxy/__init__.py +12 -0
  118. claude_mpm/commander/proxy/formatter.py +89 -0
  119. claude_mpm/commander/proxy/output_handler.py +191 -0
  120. claude_mpm/commander/proxy/relay.py +155 -0
  121. claude_mpm/commander/registry.py +410 -0
  122. claude_mpm/commander/runtime/__init__.py +10 -0
  123. claude_mpm/commander/runtime/executor.py +191 -0
  124. claude_mpm/commander/runtime/monitor.py +346 -0
  125. claude_mpm/commander/session/__init__.py +6 -0
  126. claude_mpm/commander/session/context.py +81 -0
  127. claude_mpm/commander/session/manager.py +59 -0
  128. claude_mpm/commander/tmux_orchestrator.py +361 -0
  129. claude_mpm/commander/web/__init__.py +1 -0
  130. claude_mpm/commander/work/__init__.py +30 -0
  131. claude_mpm/commander/work/executor.py +207 -0
  132. claude_mpm/commander/work/queue.py +405 -0
  133. claude_mpm/commander/workflow/__init__.py +27 -0
  134. claude_mpm/commander/workflow/event_handler.py +241 -0
  135. claude_mpm/commander/workflow/notifier.py +146 -0
  136. claude_mpm/commands/mpm-config.md +20 -249
  137. claude_mpm/commands/mpm-doctor.md +16 -21
  138. claude_mpm/commands/mpm-help.md +12 -205
  139. claude_mpm/commands/mpm-init.md +88 -506
  140. claude_mpm/commands/mpm-monitor.md +22 -401
  141. claude_mpm/commands/mpm-organize.md +70 -442
  142. claude_mpm/commands/mpm-postmortem.md +13 -107
  143. claude_mpm/commands/mpm-session-resume.md +20 -363
  144. claude_mpm/commands/mpm-status.md +13 -69
  145. claude_mpm/commands/mpm-ticket-view.md +60 -495
  146. claude_mpm/commands/mpm-version.md +13 -107
  147. claude_mpm/commands/mpm.md +8 -0
  148. claude_mpm/config/agent_presets.py +8 -7
  149. claude_mpm/config/skill_sources.py +16 -0
  150. claude_mpm/constants.py +1 -0
  151. claude_mpm/core/claude_runner.py +154 -2
  152. claude_mpm/core/config.py +37 -26
  153. claude_mpm/core/config_constants.py +74 -9
  154. claude_mpm/core/constants.py +56 -12
  155. claude_mpm/core/framework/loaders/agent_loader.py +1 -1
  156. claude_mpm/core/framework/loaders/instruction_loader.py +52 -11
  157. claude_mpm/core/hook_manager.py +51 -3
  158. claude_mpm/core/interactive_session.py +12 -11
  159. claude_mpm/core/logger.py +26 -9
  160. claude_mpm/core/logging_utils.py +39 -13
  161. claude_mpm/core/network_config.py +148 -0
  162. claude_mpm/core/oneshot_session.py +7 -6
  163. claude_mpm/core/optimized_startup.py +61 -0
  164. claude_mpm/core/output_style_manager.py +66 -18
  165. claude_mpm/core/shared/config_loader.py +3 -1
  166. claude_mpm/core/socketio_pool.py +47 -15
  167. claude_mpm/core/unified_agent_registry.py +1 -1
  168. claude_mpm/core/unified_config.py +54 -8
  169. claude_mpm/core/unified_paths.py +95 -90
  170. claude_mpm/dashboard/static/svelte-build/_app/env.js +1 -0
  171. claude_mpm/dashboard/static/svelte-build/_app/immutable/assets/0.C33zOoyM.css +1 -0
  172. claude_mpm/dashboard/static/svelte-build/_app/immutable/assets/2.CW1J-YuA.css +1 -0
  173. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/1WZnGYqX.js +24 -0
  174. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/67pF3qNn.js +1 -0
  175. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/6RxdMKe4.js +1 -0
  176. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/8cZrfX0h.js +60 -0
  177. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/9a6T2nm-.js +7 -0
  178. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/B443AUzu.js +1 -0
  179. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/B8AwtY2H.js +1 -0
  180. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/BF15LAsF.js +1 -0
  181. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/BQaXIfA_.js +331 -0
  182. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/BRcwIQNr.js +4 -0
  183. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/BSNlmTZj.js +1 -0
  184. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/BV6nKitt.js +43 -0
  185. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/BViJ8lZt.js +128 -0
  186. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/BcQ-Q0FE.js +1 -0
  187. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/Bpyvgze_.js +30 -0
  188. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/BzTRqg-z.js +1 -0
  189. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/C0Fr8dve.js +1 -0
  190. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/C3rbW_a-.js +1 -0
  191. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/C8WYN38h.js +1 -0
  192. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/C9I8FlXH.js +61 -0
  193. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/CIQcWgO2.js +36 -0
  194. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/CIctN7YN.js +7 -0
  195. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/CKrS_JZW.js +145 -0
  196. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/CR6P9C4A.js +89 -0
  197. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/CRRR9MD_.js +2 -0
  198. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/CRcR2DqT.js +334 -0
  199. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/CSXtMOf0.js +1 -0
  200. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/CT-sbxSk.js +1 -0
  201. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/CWm6DJsp.js +1 -0
  202. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/CmKTTxBW.js +1 -0
  203. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/CpqQ1Kzn.js +1 -0
  204. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/Cu_Erd72.js +261 -0
  205. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/D2nGpDRe.js +1 -0
  206. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/D9iCMida.js +267 -0
  207. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/D9ykgMoY.js +10 -0
  208. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/DL2Ldur1.js +1 -0
  209. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/DPfltzjH.js +165 -0
  210. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/DR8nis88.js +2 -0
  211. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/DUliQN2b.js +1 -0
  212. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/DVp1hx9R.js +1 -0
  213. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/DXlhR01x.js +122 -0
  214. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/D_lyTybS.js +1 -0
  215. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/DngoTTgh.js +1 -0
  216. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/DqkmHtDC.js +220 -0
  217. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/DsDh8EYs.js +1 -0
  218. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/DypDmXgd.js +139 -0
  219. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/Gi6I4Gst.js +1 -0
  220. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/IPYC-LnN.js +162 -0
  221. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/JTLiF7dt.js +24 -0
  222. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/JpevfAFt.js +68 -0
  223. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/NqQ1dWOy.js +1 -0
  224. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/R8CEIRAd.js +2 -0
  225. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/Zxy7qc-l.js +64 -0
  226. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/q9Hm6zAU.js +1 -0
  227. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/qtd3IeO4.js +15 -0
  228. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/ulBFON_C.js +65 -0
  229. claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/wQVh1CoA.js +10 -0
  230. claude_mpm/dashboard/static/svelte-build/_app/immutable/entry/app.Dr7t0z2J.js +2 -0
  231. claude_mpm/dashboard/static/svelte-build/_app/immutable/entry/start.BGhZHUS3.js +1 -0
  232. claude_mpm/dashboard/static/svelte-build/_app/immutable/nodes/0.RgBboRvH.js +1 -0
  233. claude_mpm/dashboard/static/svelte-build/_app/immutable/nodes/1.DG-KkbDf.js +1 -0
  234. claude_mpm/dashboard/static/svelte-build/_app/immutable/nodes/2.D_jnf-x6.js +1 -0
  235. claude_mpm/dashboard/static/svelte-build/_app/version.json +1 -0
  236. claude_mpm/dashboard/static/svelte-build/favicon.svg +7 -0
  237. claude_mpm/dashboard/static/svelte-build/index.html +36 -0
  238. claude_mpm/dashboard-svelte/node_modules/katex/src/fonts/generate_fonts.py +58 -0
  239. claude_mpm/dashboard-svelte/node_modules/katex/src/metrics/extract_tfms.py +114 -0
  240. claude_mpm/dashboard-svelte/node_modules/katex/src/metrics/extract_ttfs.py +122 -0
  241. claude_mpm/dashboard-svelte/node_modules/katex/src/metrics/format_json.py +28 -0
  242. claude_mpm/dashboard-svelte/node_modules/katex/src/metrics/parse_tfm.py +211 -0
  243. claude_mpm/experimental/cli_enhancements.py +2 -1
  244. claude_mpm/hooks/claude_hooks/INTEGRATION_EXAMPLE.md +243 -0
  245. claude_mpm/hooks/claude_hooks/README_AUTO_PAUSE.md +403 -0
  246. claude_mpm/hooks/claude_hooks/__pycache__/__init__.cpython-311.pyc +0 -0
  247. claude_mpm/hooks/claude_hooks/__pycache__/auto_pause_handler.cpython-311.pyc +0 -0
  248. claude_mpm/hooks/claude_hooks/__pycache__/correlation_manager.cpython-311.pyc +0 -0
  249. claude_mpm/hooks/claude_hooks/__pycache__/event_handlers.cpython-311.pyc +0 -0
  250. claude_mpm/hooks/claude_hooks/__pycache__/hook_handler.cpython-311.pyc +0 -0
  251. claude_mpm/hooks/claude_hooks/__pycache__/memory_integration.cpython-311.pyc +0 -0
  252. claude_mpm/hooks/claude_hooks/__pycache__/response_tracking.cpython-311.pyc +0 -0
  253. claude_mpm/hooks/claude_hooks/__pycache__/tool_analysis.cpython-311.pyc +0 -0
  254. claude_mpm/hooks/claude_hooks/auto_pause_handler.py +485 -0
  255. claude_mpm/hooks/claude_hooks/event_handlers.py +527 -136
  256. claude_mpm/hooks/claude_hooks/hook_handler.py +313 -99
  257. claude_mpm/hooks/claude_hooks/hook_wrapper.sh +6 -11
  258. claude_mpm/hooks/claude_hooks/installer.py +206 -36
  259. claude_mpm/hooks/claude_hooks/memory_integration.py +52 -32
  260. claude_mpm/hooks/claude_hooks/response_tracking.py +43 -60
  261. claude_mpm/hooks/claude_hooks/services/__init__.py +21 -0
  262. claude_mpm/hooks/claude_hooks/services/__pycache__/__init__.cpython-311.pyc +0 -0
  263. claude_mpm/hooks/claude_hooks/services/__pycache__/connection_manager_http.cpython-311.pyc +0 -0
  264. claude_mpm/hooks/claude_hooks/services/__pycache__/container.cpython-311.pyc +0 -0
  265. claude_mpm/hooks/claude_hooks/services/__pycache__/duplicate_detector.cpython-311.pyc +0 -0
  266. claude_mpm/hooks/claude_hooks/services/__pycache__/protocols.cpython-311.pyc +0 -0
  267. claude_mpm/hooks/claude_hooks/services/__pycache__/state_manager.cpython-311.pyc +0 -0
  268. claude_mpm/hooks/claude_hooks/services/__pycache__/subagent_processor.cpython-311.pyc +0 -0
  269. claude_mpm/hooks/claude_hooks/services/connection_manager.py +67 -32
  270. claude_mpm/hooks/claude_hooks/services/connection_manager_http.py +38 -105
  271. claude_mpm/hooks/claude_hooks/services/container.py +310 -0
  272. claude_mpm/hooks/claude_hooks/services/protocols.py +328 -0
  273. claude_mpm/hooks/claude_hooks/services/state_manager.py +25 -38
  274. claude_mpm/hooks/claude_hooks/services/subagent_processor.py +75 -77
  275. claude_mpm/hooks/kuzu_memory_hook.py +5 -5
  276. claude_mpm/hooks/session_resume_hook.py +89 -1
  277. claude_mpm/hooks/templates/pre_tool_use_simple.py +6 -6
  278. claude_mpm/hooks/templates/pre_tool_use_template.py +16 -8
  279. claude_mpm/init.py +276 -0
  280. claude_mpm/models/git_repository.py +3 -3
  281. claude_mpm/scripts/claude-hook-handler.sh +46 -19
  282. claude_mpm/services/agents/agent_builder.py +3 -3
  283. claude_mpm/services/agents/agent_recommendation_service.py +8 -8
  284. claude_mpm/services/agents/agent_selection_service.py +2 -2
  285. claude_mpm/services/agents/cache_git_manager.py +7 -7
  286. claude_mpm/services/agents/deployment/agent_deployment.py +29 -7
  287. claude_mpm/services/agents/deployment/agent_discovery_service.py +4 -2
  288. claude_mpm/services/agents/deployment/agent_format_converter.py +25 -13
  289. claude_mpm/services/agents/deployment/agent_template_builder.py +39 -19
  290. claude_mpm/services/agents/deployment/agents_directory_resolver.py +2 -2
  291. claude_mpm/services/agents/deployment/async_agent_deployment.py +31 -27
  292. claude_mpm/services/agents/deployment/deployment_reconciler.py +577 -0
  293. claude_mpm/services/agents/deployment/local_template_deployment.py +3 -1
  294. claude_mpm/services/agents/deployment/multi_source_deployment_service.py +169 -26
  295. claude_mpm/services/agents/deployment/remote_agent_discovery_service.py +101 -75
  296. claude_mpm/services/agents/deployment/startup_reconciliation.py +138 -0
  297. claude_mpm/services/agents/git_source_manager.py +23 -4
  298. claude_mpm/services/agents/loading/framework_agent_loader.py +75 -2
  299. claude_mpm/services/agents/recommender.py +5 -3
  300. claude_mpm/services/agents/single_tier_deployment_service.py +6 -6
  301. claude_mpm/services/agents/sources/git_source_sync_service.py +121 -10
  302. claude_mpm/services/agents/startup_sync.py +27 -4
  303. claude_mpm/services/cli/__init__.py +3 -0
  304. claude_mpm/services/cli/incremental_pause_manager.py +561 -0
  305. claude_mpm/services/cli/session_resume_helper.py +10 -2
  306. claude_mpm/services/command_deployment_service.py +44 -26
  307. claude_mpm/services/delegation_detector.py +175 -0
  308. claude_mpm/services/diagnostics/checks/agent_check.py +2 -2
  309. claude_mpm/services/diagnostics/checks/agent_sources_check.py +31 -1
  310. claude_mpm/services/diagnostics/checks/configuration_check.py +24 -0
  311. claude_mpm/services/diagnostics/checks/installation_check.py +22 -0
  312. claude_mpm/services/diagnostics/checks/mcp_services_check.py +23 -0
  313. claude_mpm/services/diagnostics/doctor_reporter.py +31 -1
  314. claude_mpm/services/diagnostics/models.py +14 -1
  315. claude_mpm/services/event_log.py +325 -0
  316. claude_mpm/services/git/git_operations_service.py +8 -8
  317. claude_mpm/services/hook_installer_service.py +77 -8
  318. claude_mpm/services/infrastructure/__init__.py +4 -0
  319. claude_mpm/services/infrastructure/context_usage_tracker.py +291 -0
  320. claude_mpm/services/infrastructure/resume_log_generator.py +24 -5
  321. claude_mpm/services/monitor/daemon_manager.py +15 -4
  322. claude_mpm/services/monitor/management/lifecycle.py +15 -3
  323. claude_mpm/services/monitor/server.py +571 -11
  324. claude_mpm/services/pm_skills_deployer.py +884 -0
  325. claude_mpm/services/profile_manager.py +337 -0
  326. claude_mpm/services/skills/git_skill_source_manager.py +281 -20
  327. claude_mpm/services/skills/selective_skill_deployer.py +211 -46
  328. claude_mpm/services/skills/skill_discovery_service.py +74 -4
  329. claude_mpm/services/skills_deployer.py +192 -70
  330. claude_mpm/services/socketio/dashboard_server.py +1 -0
  331. claude_mpm/services/socketio/event_normalizer.py +37 -6
  332. claude_mpm/services/socketio/handlers/hook.py +14 -7
  333. claude_mpm/services/socketio/server/core.py +262 -123
  334. claude_mpm/services/socketio/server/main.py +12 -4
  335. claude_mpm/skills/__init__.py +2 -1
  336. claude_mpm/skills/bundled/collaboration/brainstorming/SKILL.md +79 -0
  337. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/SKILL.md +178 -0
  338. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/agent-prompts.md +577 -0
  339. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/coordination-patterns.md +467 -0
  340. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/examples.md +537 -0
  341. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/troubleshooting.md +730 -0
  342. claude_mpm/skills/bundled/collaboration/git-worktrees.md +317 -0
  343. claude_mpm/skills/bundled/collaboration/requesting-code-review/SKILL.md +112 -0
  344. claude_mpm/skills/bundled/collaboration/requesting-code-review/references/code-reviewer-template.md +146 -0
  345. claude_mpm/skills/bundled/collaboration/requesting-code-review/references/review-examples.md +412 -0
  346. claude_mpm/skills/bundled/collaboration/stacked-prs.md +251 -0
  347. claude_mpm/skills/bundled/collaboration/writing-plans/SKILL.md +81 -0
  348. claude_mpm/skills/bundled/collaboration/writing-plans/references/best-practices.md +362 -0
  349. claude_mpm/skills/bundled/collaboration/writing-plans/references/plan-structure-templates.md +312 -0
  350. claude_mpm/skills/bundled/debugging/root-cause-tracing/SKILL.md +152 -0
  351. claude_mpm/skills/bundled/debugging/root-cause-tracing/references/advanced-techniques.md +668 -0
  352. claude_mpm/skills/bundled/debugging/root-cause-tracing/references/examples.md +587 -0
  353. claude_mpm/skills/bundled/debugging/root-cause-tracing/references/integration.md +438 -0
  354. claude_mpm/skills/bundled/debugging/root-cause-tracing/references/tracing-techniques.md +391 -0
  355. claude_mpm/skills/bundled/debugging/systematic-debugging/CREATION-LOG.md +119 -0
  356. claude_mpm/skills/bundled/debugging/systematic-debugging/SKILL.md +148 -0
  357. claude_mpm/skills/bundled/debugging/systematic-debugging/references/anti-patterns.md +483 -0
  358. claude_mpm/skills/bundled/debugging/systematic-debugging/references/examples.md +452 -0
  359. claude_mpm/skills/bundled/debugging/systematic-debugging/references/troubleshooting.md +449 -0
  360. claude_mpm/skills/bundled/debugging/systematic-debugging/references/workflow.md +411 -0
  361. claude_mpm/skills/bundled/debugging/systematic-debugging/test-academic.md +14 -0
  362. claude_mpm/skills/bundled/debugging/systematic-debugging/test-pressure-1.md +58 -0
  363. claude_mpm/skills/bundled/debugging/systematic-debugging/test-pressure-2.md +68 -0
  364. claude_mpm/skills/bundled/debugging/systematic-debugging/test-pressure-3.md +69 -0
  365. claude_mpm/skills/bundled/debugging/verification-before-completion/SKILL.md +131 -0
  366. claude_mpm/skills/bundled/debugging/verification-before-completion/references/gate-function.md +325 -0
  367. claude_mpm/skills/bundled/debugging/verification-before-completion/references/integration-and-workflows.md +490 -0
  368. claude_mpm/skills/bundled/debugging/verification-before-completion/references/red-flags-and-failures.md +425 -0
  369. claude_mpm/skills/bundled/debugging/verification-before-completion/references/verification-patterns.md +499 -0
  370. claude_mpm/skills/bundled/infrastructure/env-manager/INTEGRATION.md +611 -0
  371. claude_mpm/skills/bundled/infrastructure/env-manager/README.md +596 -0
  372. claude_mpm/skills/bundled/infrastructure/env-manager/SKILL.md +260 -0
  373. claude_mpm/skills/bundled/infrastructure/env-manager/examples/nextjs-env-structure.md +315 -0
  374. claude_mpm/skills/bundled/infrastructure/env-manager/references/frameworks.md +436 -0
  375. claude_mpm/skills/bundled/infrastructure/env-manager/references/security.md +433 -0
  376. claude_mpm/skills/bundled/infrastructure/env-manager/references/synchronization.md +452 -0
  377. claude_mpm/skills/bundled/infrastructure/env-manager/references/troubleshooting.md +404 -0
  378. claude_mpm/skills/bundled/infrastructure/env-manager/references/validation.md +420 -0
  379. claude_mpm/skills/bundled/main/artifacts-builder/SKILL.md +86 -0
  380. claude_mpm/skills/bundled/main/internal-comms/SKILL.md +43 -0
  381. claude_mpm/skills/bundled/main/internal-comms/examples/3p-updates.md +47 -0
  382. claude_mpm/skills/bundled/main/internal-comms/examples/company-newsletter.md +65 -0
  383. claude_mpm/skills/bundled/main/internal-comms/examples/faq-answers.md +30 -0
  384. claude_mpm/skills/bundled/main/internal-comms/examples/general-comms.md +16 -0
  385. claude_mpm/skills/bundled/main/mcp-builder/SKILL.md +160 -0
  386. claude_mpm/skills/bundled/main/mcp-builder/reference/design_principles.md +412 -0
  387. claude_mpm/skills/bundled/main/mcp-builder/reference/evaluation.md +602 -0
  388. claude_mpm/skills/bundled/main/mcp-builder/reference/mcp_best_practices.md +915 -0
  389. claude_mpm/skills/bundled/main/mcp-builder/reference/node_mcp_server.md +916 -0
  390. claude_mpm/skills/bundled/main/mcp-builder/reference/python_mcp_server.md +752 -0
  391. claude_mpm/skills/bundled/main/mcp-builder/reference/workflow.md +1237 -0
  392. claude_mpm/skills/bundled/main/skill-creator/SKILL.md +189 -0
  393. claude_mpm/skills/bundled/main/skill-creator/references/best-practices.md +500 -0
  394. claude_mpm/skills/bundled/main/skill-creator/references/creation-workflow.md +464 -0
  395. claude_mpm/skills/bundled/main/skill-creator/references/examples.md +619 -0
  396. claude_mpm/skills/bundled/main/skill-creator/references/progressive-disclosure.md +437 -0
  397. claude_mpm/skills/bundled/main/skill-creator/references/skill-structure.md +231 -0
  398. claude_mpm/skills/bundled/php/espocrm-development/SKILL.md +170 -0
  399. claude_mpm/skills/bundled/php/espocrm-development/references/architecture.md +602 -0
  400. claude_mpm/skills/bundled/php/espocrm-development/references/common-tasks.md +821 -0
  401. claude_mpm/skills/bundled/php/espocrm-development/references/development-workflow.md +742 -0
  402. claude_mpm/skills/bundled/php/espocrm-development/references/frontend-customization.md +726 -0
  403. claude_mpm/skills/bundled/php/espocrm-development/references/hooks-and-services.md +764 -0
  404. claude_mpm/skills/bundled/php/espocrm-development/references/testing-debugging.md +831 -0
  405. claude_mpm/skills/bundled/pm/mpm/SKILL.md +38 -0
  406. claude_mpm/skills/bundled/pm/mpm-agent-update-workflow/SKILL.md +75 -0
  407. claude_mpm/skills/bundled/pm/mpm-bug-reporting/SKILL.md +248 -0
  408. claude_mpm/skills/bundled/pm/mpm-circuit-breaker-enforcement/SKILL.md +476 -0
  409. claude_mpm/skills/bundled/pm/mpm-config/SKILL.md +29 -0
  410. claude_mpm/skills/bundled/pm/mpm-delegation-patterns/SKILL.md +167 -0
  411. claude_mpm/skills/bundled/pm/mpm-doctor/SKILL.md +53 -0
  412. claude_mpm/skills/bundled/pm/mpm-git-file-tracking/SKILL.md +113 -0
  413. claude_mpm/skills/bundled/pm/mpm-help/SKILL.md +35 -0
  414. claude_mpm/skills/bundled/pm/mpm-init/SKILL.md +125 -0
  415. claude_mpm/skills/bundled/pm/mpm-monitor/SKILL.md +32 -0
  416. claude_mpm/skills/bundled/pm/mpm-organize/SKILL.md +121 -0
  417. claude_mpm/skills/bundled/pm/mpm-postmortem/SKILL.md +22 -0
  418. claude_mpm/skills/bundled/pm/mpm-pr-workflow/SKILL.md +124 -0
  419. claude_mpm/skills/bundled/pm/mpm-session-management/SKILL.md +312 -0
  420. claude_mpm/skills/bundled/pm/mpm-session-pause/SKILL.md +170 -0
  421. claude_mpm/skills/bundled/pm/mpm-session-resume/SKILL.md +31 -0
  422. claude_mpm/skills/bundled/pm/mpm-status/SKILL.md +37 -0
  423. claude_mpm/skills/bundled/pm/mpm-teaching-mode/SKILL.md +657 -0
  424. claude_mpm/skills/bundled/pm/mpm-ticket-view/SKILL.md +110 -0
  425. claude_mpm/skills/bundled/pm/mpm-ticketing-integration/SKILL.md +154 -0
  426. claude_mpm/skills/bundled/pm/mpm-tool-usage-guide/SKILL.md +386 -0
  427. claude_mpm/skills/bundled/pm/mpm-verification-protocols/SKILL.md +198 -0
  428. claude_mpm/skills/bundled/pm/mpm-version/SKILL.md +21 -0
  429. claude_mpm/skills/bundled/react/flexlayout-react.md +742 -0
  430. claude_mpm/skills/bundled/rust/desktop-applications/SKILL.md +226 -0
  431. claude_mpm/skills/bundled/rust/desktop-applications/references/architecture-patterns.md +901 -0
  432. claude_mpm/skills/bundled/rust/desktop-applications/references/native-gui-frameworks.md +901 -0
  433. claude_mpm/skills/bundled/rust/desktop-applications/references/platform-integration.md +775 -0
  434. claude_mpm/skills/bundled/rust/desktop-applications/references/state-management.md +937 -0
  435. claude_mpm/skills/bundled/rust/desktop-applications/references/tauri-framework.md +770 -0
  436. claude_mpm/skills/bundled/rust/desktop-applications/references/testing-deployment.md +961 -0
  437. claude_mpm/skills/bundled/security-scanning.md +112 -0
  438. claude_mpm/skills/bundled/tauri/tauri-async-patterns.md +495 -0
  439. claude_mpm/skills/bundled/tauri/tauri-build-deploy.md +599 -0
  440. claude_mpm/skills/bundled/tauri/tauri-command-patterns.md +535 -0
  441. claude_mpm/skills/bundled/tauri/tauri-error-handling.md +613 -0
  442. claude_mpm/skills/bundled/tauri/tauri-event-system.md +648 -0
  443. claude_mpm/skills/bundled/tauri/tauri-file-system.md +673 -0
  444. claude_mpm/skills/bundled/tauri/tauri-frontend-integration.md +767 -0
  445. claude_mpm/skills/bundled/tauri/tauri-performance.md +669 -0
  446. claude_mpm/skills/bundled/tauri/tauri-state-management.md +573 -0
  447. claude_mpm/skills/bundled/tauri/tauri-testing.md +384 -0
  448. claude_mpm/skills/bundled/tauri/tauri-window-management.md +628 -0
  449. claude_mpm/skills/bundled/testing/condition-based-waiting/SKILL.md +119 -0
  450. claude_mpm/skills/bundled/testing/condition-based-waiting/references/patterns-and-implementation.md +253 -0
  451. claude_mpm/skills/bundled/testing/test-driven-development/SKILL.md +145 -0
  452. claude_mpm/skills/bundled/testing/test-driven-development/references/anti-patterns.md +543 -0
  453. claude_mpm/skills/bundled/testing/test-driven-development/references/examples.md +741 -0
  454. claude_mpm/skills/bundled/testing/test-driven-development/references/integration.md +470 -0
  455. claude_mpm/skills/bundled/testing/test-driven-development/references/philosophy.md +458 -0
  456. claude_mpm/skills/bundled/testing/test-driven-development/references/workflow.md +639 -0
  457. claude_mpm/skills/bundled/testing/test-quality-inspector/SKILL.md +458 -0
  458. claude_mpm/skills/bundled/testing/test-quality-inspector/examples/example-inspection-report.md +411 -0
  459. claude_mpm/skills/bundled/testing/test-quality-inspector/references/assertion-quality.md +317 -0
  460. claude_mpm/skills/bundled/testing/test-quality-inspector/references/inspection-checklist.md +270 -0
  461. claude_mpm/skills/bundled/testing/test-quality-inspector/references/red-flags.md +436 -0
  462. claude_mpm/skills/bundled/testing/testing-anti-patterns/SKILL.md +140 -0
  463. claude_mpm/skills/bundled/testing/testing-anti-patterns/references/completeness-anti-patterns.md +572 -0
  464. claude_mpm/skills/bundled/testing/testing-anti-patterns/references/core-anti-patterns.md +411 -0
  465. claude_mpm/skills/bundled/testing/testing-anti-patterns/references/detection-guide.md +569 -0
  466. claude_mpm/skills/bundled/testing/testing-anti-patterns/references/tdd-connection.md +695 -0
  467. claude_mpm/skills/bundled/testing/webapp-testing/SKILL.md +184 -0
  468. claude_mpm/skills/bundled/testing/webapp-testing/decision-tree.md +459 -0
  469. claude_mpm/skills/bundled/testing/webapp-testing/playwright-patterns.md +479 -0
  470. claude_mpm/skills/bundled/testing/webapp-testing/reconnaissance-pattern.md +687 -0
  471. claude_mpm/skills/bundled/testing/webapp-testing/server-management.md +758 -0
  472. claude_mpm/skills/bundled/testing/webapp-testing/troubleshooting.md +868 -0
  473. claude_mpm/skills/registry.py +295 -90
  474. claude_mpm/skills/skill_manager.py +98 -3
  475. claude_mpm/templates/.pre-commit-config.yaml +112 -0
  476. claude_mpm/utils/agent_dependency_loader.py +115 -4
  477. claude_mpm/utils/agent_filters.py +1 -1
  478. claude_mpm/utils/migration.py +4 -4
  479. claude_mpm/utils/robust_installer.py +86 -21
  480. claude_mpm-5.6.34.dist-info/METADATA +393 -0
  481. {claude_mpm-5.4.22.dist-info → claude_mpm-5.6.34.dist-info}/RECORD +486 -145
  482. claude_mpm-5.4.22.dist-info/METADATA +0 -996
  483. {claude_mpm-5.4.22.dist-info → claude_mpm-5.6.34.dist-info}/WHEEL +0 -0
  484. {claude_mpm-5.4.22.dist-info → claude_mpm-5.6.34.dist-info}/entry_points.txt +0 -0
  485. {claude_mpm-5.4.22.dist-info → claude_mpm-5.6.34.dist-info}/licenses/LICENSE +0 -0
  486. {claude_mpm-5.4.22.dist-info → claude_mpm-5.6.34.dist-info}/licenses/LICENSE-FAQ.md +0 -0
  487. {claude_mpm-5.4.22.dist-info → claude_mpm-5.6.34.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,657 @@
1
+ ---
2
+ name: pm-teaching-mode
3
+ version: "1.0.0"
4
+ description: Comprehensive teaching templates and progressive disclosure patterns for PM teacher mode
5
+ when_to_use: teaching mode active, explaining MPM concepts, user guidance
6
+ category: pm-reference
7
+ tags: [teaching, onboarding, progressive-disclosure, pm-required]
8
+ ---
9
+
10
+ # PM Teaching Mode - Detailed Content
11
+
12
+ ## Teaching Content Library
13
+
14
+ ### Secrets Management (ELI5 + Technical)
15
+
16
+ **ELI5**: API key = house key. Anyone with it can pretend to be you.
17
+
18
+ **Setup Guide**:
19
+ ```bash
20
+ # 1. Create .env
21
+ echo "API_KEY=your_key_here" > .env
22
+
23
+ # 2. Add to .gitignore
24
+ echo ".env" >> .gitignore
25
+
26
+ # 3. Verify
27
+ git status # Should NOT show .env
28
+ ```
29
+
30
+ **Common Mistakes**:
31
+ - ❌ Committing .env to git
32
+ - ❌ Sharing keys via email
33
+ - ❌ Hard-coding in files
34
+
35
+ **Teaching Template**:
36
+ ```
37
+ 🎓 **Teaching Moment: Environment Variables**
38
+
39
+ **Why We Use .env Files**:
40
+ - Keep secrets separate from code
41
+ - Different values per environment (dev/staging/prod)
42
+ - Never committed to version control
43
+
44
+ **Setup Steps**:
45
+ 1. Create `.env` in project root
46
+ 2. Add your secrets: `API_KEY=abc123...` # pragma: allowlist secret
47
+ 3. Add `.env` to `.gitignore`
48
+ 4. Load in code: `process.env.API_KEY` (Node) or `os.getenv('API_KEY')` (Python)
49
+
50
+ **Security Check**:
51
+ ```bash
52
+ git status # .env should NOT appear
53
+ git log --all -- .env # Should return nothing
54
+ ```
55
+
56
+ **If you accidentally committed secrets**:
57
+ 1. Revoke the compromised keys IMMEDIATELY
58
+ 2. Generate new keys
59
+ 3. Use `git filter-branch` or BFG Repo-Cleaner to remove from history
60
+ 4. Force push (dangerous - coordinate with team)
61
+
62
+ 💡 Better: Use `.env.example` with fake values for team reference
63
+ ```
64
+
65
+ ### Deployment Decision Trees
66
+
67
+ **Simple Decision Tree**:
68
+ ```
69
+ What are you deploying?
70
+ ├─ Static site (HTML/CSS/JS only)
71
+ │ └─ Vercel, Netlify, GitHub Pages
72
+ ├─ Frontend + API (Next.js, SvelteKit)
73
+ │ └─ Vercel (Next.js), Netlify (SvelteKit)
74
+ ├─ Backend API + Database
75
+ │ ├─ Simple app → Railway, Render
76
+ │ ├─ Production scale → AWS, GCP, Azure
77
+ │ └─ Specialized (ML/AI) → Modal, Replicate
78
+ └─ Full Stack (React + Node + PostgreSQL)
79
+ └─ Railway (easy), AWS (scalable)
80
+ ```
81
+
82
+ **Teaching Template**:
83
+ ```
84
+ 🎓 **Teaching Moment: Deployment Platform Selection**
85
+
86
+ You're deploying: [describe user's project]
87
+
88
+ ## Recommended: [Platform]
89
+
90
+ **Why This Platform**:
91
+ - ✅ [Reason 1: matches tech stack]
92
+ - ✅ [Reason 2: pricing/scale fits]
93
+ - ✅ [Reason 3: ease of use]
94
+
95
+ **Setup Steps**:
96
+ 1. Create account: [link]
97
+ 2. Connect GitHub repo
98
+ 3. Configure environment variables
99
+ 4. Deploy: [platform-specific command]
100
+
101
+ **Cost**:
102
+ - Free tier: [limits]
103
+ - Paid tier: [starting price]
104
+
105
+ **Alternatives** (if you need different features):
106
+ - [Alternative 1]: Better for [use case]
107
+ - [Alternative 2]: Better for [use case]
108
+
109
+ 💡 **Why This Matters**:
110
+ Deployment platforms handle servers, scaling, SSL certificates
111
+ automatically. You focus on code, they handle infrastructure.
112
+
113
+ **Next Steps After Deployment**:
114
+ 1. Set up custom domain (optional)
115
+ 2. Configure monitoring/alerts
116
+ 3. Set up CI/CD for auto-deploy on push
117
+ ```
118
+
119
+ ### MPM Workflow Explanations
120
+
121
+ **Basic Workflow**:
122
+ ```
123
+ 1. You → PM (what you want)
124
+ 2. PM → Agents (coordinates specialists)
125
+ 3. Agents → Work (implement/test/document)
126
+ 4. PM → You (evidence-based results)
127
+
128
+ **PM Role**: Coordinator, NOT implementer
129
+ - PM doesn't write code → Engineers do
130
+ - PM doesn't test → QA does
131
+ - PM coordinates + ensures quality
132
+ ```
133
+
134
+ **Delegation Pattern Teaching**:
135
+ ```
136
+ 🎓 **Watch Me Work: Delegation Pattern**
137
+
138
+ You asked: "Fix login bug"
139
+
140
+ **My Analysis**:
141
+ 1. Bugs need diagnosis → Research Agent (investigate)
142
+ 2. Bugs need fixing → Engineer Agent (implement)
143
+ 3. Fixes need verification → QA Agent (test)
144
+
145
+ **Delegation Strategy**:
146
+ ```
147
+ [Research] Investigate login bug
148
+ ↓ (findings)
149
+ [Engineer] Fix bug based on research
150
+ ↓ (implementation)
151
+ [QA] Verify fix with regression tests
152
+ ↓ (evidence)
153
+ PM reports: "Fixed! Evidence: [QA verification]"
154
+ ```
155
+
156
+ **Why This Pattern**:
157
+ - Research prevents wrong fixes
158
+ - Engineer focuses on implementation
159
+ - QA ensures no regressions
160
+ - PM coordinates without doing work
161
+
162
+ **Alternative (if simple bug)**:
163
+ Skip Research → Engineer (with investigation) → QA
164
+ ```
165
+
166
+ ### Progressive Disclosure Patterns
167
+
168
+ #### Level 1: Quick Start (Always Show)
169
+
170
+ ```
171
+ Quick Start:
172
+ 1. Install: `pip install claude-mpm` (or `npm install -g claude-mpm`)
173
+ 2. Initialize: `mpm init`
174
+ 3. Run: `mpm run`
175
+
176
+ 💡 First time? The setup wizard will guide you through configuration.
177
+ ```
178
+
179
+ #### Level 2: Conceptual Understanding (Show on First Error or Request)
180
+
181
+ ```
182
+ 🎓 **Understanding Claude MPM**
183
+
184
+ **What It Does**:
185
+ Think of MPM as a project manager for AI agents. Instead of doing
186
+ everything itself, it delegates to specialists:
187
+
188
+ - **Engineer**: Writes and modifies code
189
+ - **QA**: Tests and verifies implementations
190
+ - **Docs**: Creates documentation
191
+ - **Ops**: Handles deployment and infrastructure
192
+ - **Research**: Investigates approaches and solutions
193
+
194
+ **How It Works**:
195
+ You → PM → Specialized Agents → Results
196
+
197
+ **Why This Matters**:
198
+ Each agent is optimized for specific tasks. Engineer agent has
199
+ deep coding context, QA agent has testing patterns, etc. Better
200
+ than one generalist trying to do everything.
201
+
202
+ **Example**:
203
+ You: "Add user authentication"
204
+ PM: [Delegates to Research for OAuth patterns]
205
+ [Delegates to Engineer for implementation]
206
+ [Delegates to QA for security testing]
207
+ [Delegates to Docs for API documentation]
208
+ Result: Complete, tested, documented auth system
209
+ ```
210
+
211
+ #### Level 3: Deep Dive (Only When Needed)
212
+
213
+ ```
214
+ 🎓 **Deep Dive: MPM Agent Architecture**
215
+
216
+ **Agent Specialization**:
217
+ Each agent has:
218
+ - **Specialized instructions**: Optimized prompts for domain
219
+ - **Tool access**: Specific tools (Engineer: Edit/Write, QA: Test runners)
220
+ - **Context limits**: Focused context prevents token bloat
221
+
222
+ **PM Orchestration**:
223
+ PM maintains:
224
+ - **Task queue**: Tracks delegation order
225
+ - **Dependency graph**: Ensures proper sequencing
226
+ - **Error handling**: 3-attempt retry with escalation
227
+ - **Evidence collection**: Gathers artifacts from agents
228
+
229
+ **Circuit Breakers** (PM constraints):
230
+ 1. **No direct implementation**: Forces delegation
231
+ 2. **QA verification gate**: No "done" without tests
232
+ 3. **Read tool limit (5 files)**: Encourages strategic context
233
+ 4. **Ticket-driven development**: Auto-updates tickets
234
+
235
+ **Why These Constraints**:
236
+ - Prevents PM from trying to do everything
237
+ - Ensures quality through verification
238
+ - Forces clear communication
239
+ - Maintains single source of truth (tickets)
240
+
241
+ **Customization** (Advanced):
242
+ - Create custom agents: `.claude-mpm/agents/custom-agent.yaml`
243
+ - Modify delegation patterns: Edit PM skills
244
+ - Add circuit breakers: Update BASE_PM.md
245
+ ```
246
+
247
+ ### Git Workflow Teaching
248
+
249
+ ```
250
+ 🎓 **Watch Me Work: Git Operations**
251
+
252
+ **Step 1: Check Status**
253
+ ```bash
254
+ git status
255
+ ```
256
+ Output: 3 modified, 1 new
257
+
258
+ **Step 2: Review Changes**
259
+ ```bash
260
+ git diff
261
+ ```
262
+ **Why**: Catch debug code, secrets, mistakes BEFORE committing
263
+
264
+ **Step 3: Stage Selectively**
265
+ ```bash
266
+ git add src/auth/oauth.js src/routes/auth.js
267
+ ```
268
+ **Why**: One logical change per commit (not "fix everything")
269
+
270
+ **Step 4: Write Descriptive Commit**
271
+ ```bash
272
+ git commit -m "fix(auth): handle async token validation
273
+
274
+ - Replace verify() with verifyAsync()
275
+ - Add auth middleware for protected routes
276
+ - Add tests for async token scenarios
277
+
278
+ Fixes: #123"
279
+ ```
280
+
281
+ **Commit Message Anatomy**:
282
+ - `fix(auth):` → Type (fix/feat/docs) + scope
283
+ - Summary line → What changed (< 72 chars)
284
+ - Blank line → Separates summary from body
285
+ - Body → Why it changed + implementation notes
286
+ - Footer → Link to ticket/issue
287
+
288
+ **Commit Message Types**:
289
+ - `feat`: New feature
290
+ - `fix`: Bug fix
291
+ - `docs`: Documentation only
292
+ - `refactor`: Code restructuring (no behavior change)
293
+ - `test`: Adding/updating tests
294
+ - `chore`: Maintenance (dependencies, config)
295
+
296
+ **Common Mistakes**:
297
+ - ❌ `git add .` (stages everything, including secrets/debug code)
298
+ - ❌ `git commit -m "fix"` (vague, no context)
299
+ - ❌ Committing `.env` files (security risk!)
300
+ - ❌ Mixing unrelated changes (auth + UI + DB in one commit)
301
+
302
+ **Best Practices**:
303
+ - ✅ Review `git diff` before every commit
304
+ - ✅ Commit logical chunks (one feature/fix at a time)
305
+ - ✅ Write messages for your future self (6 months later)
306
+ - ✅ Link to tickets for context
307
+
308
+ 💡 **Pro Tip**: Use `git add -p` for interactive staging
309
+ (stage specific hunks within files)
310
+ ```
311
+
312
+ ### Circuit Breaker Teaching Examples
313
+
314
+ #### Circuit Breaker #1: No Direct Implementation
315
+
316
+ ```
317
+ 🎓 **Circuit Breaker: Why PM Can't Code**
318
+
319
+ You asked: "Update the login form"
320
+
321
+ **My Constraint**: I cannot use Edit or Write tools.
322
+
323
+ **Why This Exists**:
324
+ If PM could code directly, it would:
325
+ - Skip specialized Engineer context (patterns, best practices)
326
+ - Skip QA verification (no testing)
327
+ - Create single point of failure (no review)
328
+ - Lose delegation benefits (expertise concentration)
329
+
330
+ **Better Approach**:
331
+ PM → Engineer (with UI expertise) → QA (with test coverage)
332
+
333
+ **Analogy**:
334
+ You wouldn't want a project manager writing production code
335
+ instead of senior engineers, right? Same principle here.
336
+
337
+ **Delegating to Engineer**...
338
+ ```
339
+
340
+ #### Circuit Breaker #2: QA Verification Gate
341
+
342
+ ```
343
+ 🎓 **Circuit Breaker: QA Verification Gate**
344
+
345
+ **My Constraint**: I cannot say "done/working/fixed" without QA evidence.
346
+
347
+ **Why This Exists**:
348
+ - Code that "looks right" often has edge case bugs
349
+ - Deployment doesn't mean it works
350
+ - "It works on my machine" ≠ production ready
351
+
352
+ **Required Evidence**:
353
+ - ✅ QA ran tests → "12 tests passed, 0 failed"
354
+ - ✅ QA verified behavior → "Login works with Google/GitHub OAuth"
355
+ - ✅ QA checked edge cases → "Handles expired tokens correctly"
356
+
357
+ **Forbidden Phrases** (without evidence):
358
+ - ❌ "The feature is working"
359
+ - ❌ "Deployment successful" (without health checks)
360
+ - ❌ "Should be good to go"
361
+
362
+ **Delegating to QA for verification**...
363
+
364
+ 💡 This prevents the classic "but it worked in dev" production fires
365
+ ```
366
+
367
+ #### Circuit Breaker #3: Read Tool Limit (5 files)
368
+
369
+ ```
370
+ 🎓 **Circuit Breaker: Read Tool Limit**
371
+
372
+ You asked: "Find all API endpoints"
373
+
374
+ **My Constraint**: I can only read 5 files per task.
375
+
376
+ **Why This Exists**:
377
+ - Forces strategic thinking (which files matter?)
378
+ - Prevents random searching (inefficient)
379
+ - Encourages you to share context
380
+ - Maintains focused analysis
381
+
382
+ **How I Work Around It**:
383
+ 1. **Ask clarifying questions**: "What framework? (Express, FastAPI, Django?)"
384
+ 2. **Strategic file selection**: "Routes usually in routes/ or src/api/"
385
+ 3. **Delegate to Research**: For codebase-wide analysis
386
+
387
+ **Better Interaction**:
388
+ You: "Find all API endpoints (Express.js app)"
389
+ Me: "Great! I'll check routes/*.js and app.js for endpoints"
390
+ [Strategic 3-file read vs. random 20-file search]
391
+
392
+ **Your Role**:
393
+ Help me be strategic by sharing:
394
+ - Framework/language
395
+ - Project structure hints
396
+ - Where to look first
397
+
398
+ 💡 Constraints make me more effective, not less. They force quality.
399
+ ```
400
+
401
+ ### Full Scaffolding Examples
402
+
403
+ #### Beginner: First Feature Implementation
404
+
405
+ ```
406
+ 🎓 **Let's Build Your First Feature Together**
407
+
408
+ You want: User registration with email/password
409
+
410
+ **What We'll Do** (step by step):
411
+ 1. **Design the database** (where user data lives)
412
+ 2. **Create the API endpoint** (how frontend talks to backend)
413
+ 3. **Add validation** (make sure data is correct)
414
+ 4. **Write tests** (prove it works)
415
+ 5. **Document it** (so others can use it)
416
+
417
+ **Step 1: Database Design**
418
+
419
+ First, we need to store user data. We'll create a "users" table.
420
+
421
+ **What is a table?**
422
+ Think of it like a spreadsheet: columns = fields (email, password),
423
+ rows = individual users.
424
+
425
+ I'm delegating to Data Engineer to create the schema...
426
+
427
+ [Data Engineer completes]
428
+
429
+ **What just happened?**
430
+ Data Engineer created a `users` table with:
431
+ - `id`: Unique identifier (like a student ID number)
432
+ - `email`: User's email (unique, can't have duplicates)
433
+ - `password_hash`: Encrypted password (never store plain passwords!)
434
+ - `created_at`: When they signed up
435
+
436
+ **Why password_hash, not password?**
437
+ Security! If database is hacked, attackers get scrambled nonsense
438
+ instead of real passwords. We use "bcrypt" to scramble (hash) them.
439
+
440
+ ✅ **Checkpoint**: Database ready. Understand the schema?
441
+
442
+ **Step 2: API Endpoint**
443
+
444
+ Now we create the endpoint where frontend sends registration data.
445
+
446
+ **What is an endpoint?**
447
+ It's like a mailbox address. Frontend sends data to
448
+ `POST /api/users/register`, backend receives it and processes.
449
+
450
+ I'm delegating to Engineer to implement the registration endpoint...
451
+
452
+ [Engineer completes]
453
+
454
+ **What just happened?**
455
+ Engineer created `/api/users/register` that:
456
+ 1. Receives email + password from frontend
457
+ 2. Validates email format
458
+ 3. Checks email isn't already registered
459
+ 4. Hashes password with bcrypt
460
+ 5. Saves to database
461
+ 6. Returns success/error response
462
+
463
+ **What's POST?**
464
+ HTTP method for creating new data. Like "new message" vs "read message".
465
+ - GET = read data
466
+ - POST = create data
467
+ - PUT/PATCH = update data
468
+ - DELETE = delete data
469
+
470
+ ✅ **Checkpoint**: API endpoint ready. Questions about the flow?
471
+
472
+ **Step 3: Testing**
473
+
474
+ Time to verify it works!
475
+
476
+ I'm delegating to QA to test the registration flow...
477
+
478
+ [QA completes]
479
+
480
+ **What just happened?**
481
+ QA tested:
482
+ - ✅ Valid registration: Works! User created in database
483
+ - ✅ Duplicate email: Correctly rejects with error
484
+ - ✅ Invalid email format: Correctly validates
485
+ - ✅ Password too short: Correctly enforces minimum length
486
+ - ✅ SQL injection attempt: Safely handled (security test!)
487
+
488
+ **What's SQL injection?**
489
+ Attack where hacker tries to run database commands through input.
490
+ Example: email = `admin@test.com' OR '1'='1`
491
+ Our code safely escapes this (makes it harmless).
492
+
493
+ ✅ **Checkpoint**: All tests pass! Feature is verified working.
494
+
495
+ **Step 4: Documentation**
496
+
497
+ Last step: document for other developers (and future you!).
498
+
499
+ I'm delegating to Documentation to create API docs...
500
+
501
+ [Documentation completes]
502
+
503
+ **What just happened?**
504
+ Documentation created:
505
+ - Endpoint description
506
+ - Request format (what to send)
507
+ - Response format (what you get back)
508
+ - Error codes (what went wrong)
509
+ - Example curl command (for testing)
510
+
511
+ **Example from docs**:
512
+ ```bash
513
+ # Register new user
514
+ curl -X POST http://localhost:3000/api/users/register \
515
+ -H "Content-Type: application/json" \
516
+ -d '{"email":"user@example.com","password":"SecurePass123"}' # pragma: allowlist secret
517
+
518
+ # Success response:
519
+ {"success":true,"userId":"123","message":"User registered successfully"}
520
+ ```
521
+
522
+ ✅ **Checkpoint**: Feature complete and documented!
523
+
524
+ ## 🎉 Congratulations! You just built your first feature!
525
+
526
+ **What you learned**:
527
+ - Database schema design (tables, columns, data types)
528
+ - API endpoints (POST for creating data)
529
+ - Validation (checking data before saving)
530
+ - Security (password hashing, SQL injection prevention)
531
+ - Testing (verifying all scenarios work)
532
+ - Documentation (helping others use your API)
533
+
534
+ **What MPM did**:
535
+ - PM (me) coordinated the workflow
536
+ - Data Engineer designed the schema
537
+ - Engineer implemented the endpoint
538
+ - QA verified everything works
539
+ - Documentation wrote the API docs
540
+
541
+ **Next steps**:
542
+ 1. Try the endpoint with curl or Postman
543
+ 2. Add login endpoint (similar flow!)
544
+ 3. Build a simple frontend form
545
+
546
+ 💡 You just experienced the full software development lifecycle!
547
+ ```
548
+
549
+ ## Teaching Moment Templates
550
+
551
+ ### Template: When User Makes Mistake
552
+
553
+ ```
554
+ 🎓 **Teaching Moment: [Concept]**
555
+
556
+ I noticed: [describe what happened]
557
+
558
+ **Common Mistake**: [explain why this is common]
559
+
560
+ **Better Approach**:
561
+ [Step-by-step fix]
562
+
563
+ **Why This Matters**:
564
+ [Explain the principle/concept]
565
+
566
+ **Quick Reference**:
567
+ [Command or pattern to remember]
568
+
569
+ 💡 **Pro Tip**: [Advanced insight]
570
+ ```
571
+
572
+ ### Template: When Introducing New Concept
573
+
574
+ ```
575
+ 🎓 **New Concept: [Topic]**
576
+
577
+ **What It Is**:
578
+ [ELI5 explanation with analogy]
579
+
580
+ **Why You Need It**:
581
+ [Real-world use case]
582
+
583
+ **How To Use It**:
584
+ [Simple example]
585
+
586
+ **Common Patterns**:
587
+ [2-3 frequent usages]
588
+
589
+ **Gotchas** (watch out for):
590
+ [Common mistakes]
591
+
592
+ 💡 **When To Use**: [Decision criteria]
593
+ ```
594
+
595
+ ### Template: Progressive Complexity
596
+
597
+ ```
598
+ 🎓 **[Topic]: From Simple to Advanced**
599
+
600
+ **Level 1: Basic** (most common):
601
+ [Simple example that covers 80% of use cases]
602
+
603
+ **Level 2: Practical** (real projects):
604
+ [Production-ready pattern with error handling]
605
+
606
+ **Level 3: Advanced** (when you need it):
607
+ [Complex scenario with edge cases]
608
+
609
+ **Decision Guide**:
610
+ - Start with Level 1 if: [criteria]
611
+ - Move to Level 2 when: [criteria]
612
+ - Use Level 3 only if: [criteria]
613
+
614
+ 💡 Most projects never need Level 3. Don't over-engineer!
615
+ ```
616
+
617
+ ## Graduation Indicators
618
+
619
+ Track these signals to adjust teaching level:
620
+
621
+ **Beginner → Intermediate**:
622
+ - Uses correct terminology (API, endpoint, POST/GET)
623
+ - Asks "why" questions (understanding concepts)
624
+ - Suggests approaches (trying to problem-solve)
625
+ - References previous lessons (building mental model)
626
+
627
+ **Intermediate → Advanced**:
628
+ - Asks about trade-offs (understanding complexity)
629
+ - Questions default patterns (critical thinking)
630
+ - Proposes optimizations (performance awareness)
631
+ - Debugs independently before asking (self-sufficient)
632
+
633
+ **Advanced → Expert**:
634
+ - Teaches PM new patterns (domain expertise)
635
+ - Requests specific agent behaviors (workflow mastery)
636
+ - Optimizes for team collaboration (thinking beyond self)
637
+ - Contributes to MPM improvement (meta-awareness)
638
+
639
+ When promoting user to next level:
640
+ ```
641
+ 🎉 **You've Leveled Up!**
642
+
643
+ I've noticed you're now:
644
+ - [Skill 1 demonstrated]
645
+ - [Skill 2 demonstrated]
646
+ - [Skill 3 demonstrated]
647
+
648
+ **New Teaching Level**: [Intermediate/Advanced/Expert]
649
+
650
+ **What Changes**:
651
+ - [Less/more of X]
652
+ - [New focus on Y]
653
+ - [Assuming knowledge of Z]
654
+
655
+ **Preference**: Want to keep detailed explanations or switch to
656
+ advanced mode? (You can always ask for details when needed)
657
+ ```