claude-mpm 1.0.0__tar.gz → 2.0.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (540) hide show
  1. claude_mpm-2.0.0/.claude/commands/README.md +36 -0
  2. claude_mpm-2.0.0/.claude/commands/mpm.md +5 -0
  3. claude_mpm-2.0.0/.claude/hooks.json +32 -0
  4. claude_mpm-2.0.0/.claude/scripts/command_router.py +60 -0
  5. claude_mpm-2.0.0/.claude/settings.json +37 -0
  6. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.gitignore +11 -0
  7. claude_mpm-2.0.0/.python-version +1 -0
  8. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/CHANGELOG.md +59 -0
  9. claude_mpm-2.0.0/INSTALL.md +204 -0
  10. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/MANIFEST.in +3 -0
  11. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/PKG-INFO +133 -22
  12. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/README.md +132 -21
  13. claude_mpm-2.0.0/README.npm.md +107 -0
  14. claude_mpm-2.0.0/VERSION +1 -0
  15. claude_mpm-2.0.0/claude-mpm +45 -0
  16. claude_mpm-2.0.0/docker/Dockerfile +58 -0
  17. claude_mpm-2.0.0/docker/Dockerfile.npm +51 -0
  18. claude_mpm-2.0.0/docker/Dockerfile.npm-local +58 -0
  19. claude_mpm-2.0.0/docker/Dockerfile.npm-simple +62 -0
  20. claude_mpm-2.0.0/docker/Dockerfile.npm-test +53 -0
  21. claude_mpm-2.0.0/docker/Dockerfile.pip +58 -0
  22. claude_mpm-2.0.0/examples/awesome-patterns/enhanced_claude_md_example.md +145 -0
  23. claude_mpm-2.0.0/examples/awesome-patterns/slash_command_example.md +322 -0
  24. claude_mpm-2.0.0/examples/awesome-patterns/validation_first_example.py +295 -0
  25. claude_mpm-2.0.0/install_dev.sh +74 -0
  26. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/npm-bin/claude-mpm.js +80 -1
  27. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/package.json +3 -3
  28. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/pyproject.toml +13 -3
  29. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/scripts/README.md +50 -1
  30. claude_mpm-2.0.0/scripts/check_version_sync.py +56 -0
  31. claude_mpm-2.0.0/scripts/demo_hook_behavior.sh +53 -0
  32. claude_mpm-2.0.0/scripts/deploy_local.sh +443 -0
  33. claude_mpm-2.0.0/scripts/install_hooks.py +172 -0
  34. claude_mpm-2.0.0/scripts/interactive_wrapper.py +109 -0
  35. claude_mpm-2.0.0/scripts/migrate_agents_to_new_schema.py +378 -0
  36. claude_mpm-2.0.0/scripts/mpm_test.py +11 -0
  37. claude_mpm-2.0.0/scripts/postinstall.js +106 -0
  38. claude_mpm-2.0.0/scripts/release.py +469 -0
  39. claude_mpm-2.0.0/scripts/test_agent_content_verification.py +85 -0
  40. claude_mpm-2.0.0/scripts/test_agent_deployment_integration.py +116 -0
  41. claude_mpm-2.0.0/scripts/test_agent_loader.py +153 -0
  42. claude_mpm-2.0.0/scripts/test_agent_loader_edge_cases.py +182 -0
  43. claude_mpm-2.0.0/scripts/test_agent_loader_integration.py +112 -0
  44. claude_mpm-2.0.0/scripts/test_agent_migration.py +166 -0
  45. claude_mpm-2.0.0/scripts/test_agent_schema_system.py +191 -0
  46. claude_mpm-2.0.0/scripts/test_helloworld_expanded.js +67 -0
  47. claude_mpm-2.0.0/scripts/test_helloworld_hook.js +68 -0
  48. claude_mpm-2.0.0/scripts/test_helloworld_passthrough.js +67 -0
  49. claude_mpm-2.0.0/scripts/test_helloworld_python_hook.py +66 -0
  50. claude_mpm-2.0.0/scripts/test_helloworld_shell_hook.sh +29 -0
  51. claude_mpm-2.0.0/scripts/test_hook_direct.py +68 -0
  52. claude_mpm-2.0.0/scripts/test_hook_logging.py +154 -0
  53. claude_mpm-2.0.0/scripts/test_integration_performance.py +279 -0
  54. claude_mpm-2.0.0/scripts/test_mpm_command.py +106 -0
  55. claude_mpm-2.0.0/scripts/test_npm_install.sh +56 -0
  56. claude_mpm-2.0.0/scripts/test_npm_install_simple.sh +83 -0
  57. claude_mpm-2.0.0/scripts/test_schema_validation.py +94 -0
  58. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/_version.py +4 -2
  59. claude_mpm-2.0.0/src/claude_mpm/agents/INSTRUCTIONS.md +203 -0
  60. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/agents/__init__.py +2 -2
  61. claude_mpm-2.0.0/src/claude_mpm/agents/agent-template.yaml +83 -0
  62. claude_mpm-2.0.0/src/claude_mpm/agents/agent_loader.py +503 -0
  63. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/agents/base_agent.json +1 -1
  64. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/agents/base_agent_loader.py +10 -15
  65. claude_mpm-2.0.0/src/claude_mpm/agents/templates/backup/data_engineer_agent_20250726_234551.json +46 -0
  66. claude_mpm-1.0.0/src/claude_mpm/agents/templates/engineer_agent.json → claude_mpm-2.0.0/src/claude_mpm/agents/templates/backup/engineer_agent_20250726_234551.json +1 -1
  67. claude_mpm-2.0.0/src/claude_mpm/agents/templates/data_engineer.json +107 -0
  68. claude_mpm-2.0.0/src/claude_mpm/agents/templates/documentation.json +106 -0
  69. claude_mpm-2.0.0/src/claude_mpm/agents/templates/engineer.json +110 -0
  70. claude_mpm-2.0.0/src/claude_mpm/agents/templates/ops.json +106 -0
  71. claude_mpm-2.0.0/src/claude_mpm/agents/templates/qa.json +106 -0
  72. claude_mpm-2.0.0/src/claude_mpm/agents/templates/research.json +107 -0
  73. claude_mpm-2.0.0/src/claude_mpm/agents/templates/security.json +105 -0
  74. claude_mpm-2.0.0/src/claude_mpm/agents/templates/version_control.json +103 -0
  75. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/cli.py +41 -47
  76. claude_mpm-2.0.0/src/claude_mpm/cli_enhancements.py +297 -0
  77. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/core/factories.py +1 -46
  78. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/core/service_registry.py +0 -8
  79. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/core/simple_runner.py +43 -0
  80. claude_mpm-2.0.0/src/claude_mpm/generators/__init__.py +5 -0
  81. claude_mpm-2.0.0/src/claude_mpm/generators/agent_profile_generator.py +137 -0
  82. claude_mpm-2.0.0/src/claude_mpm/hooks/README.md +97 -0
  83. claude_mpm-2.0.0/src/claude_mpm/hooks/builtin/mpm_command_hook.py +125 -0
  84. claude_mpm-2.0.0/src/claude_mpm/hooks/claude_hooks/__init__.py +5 -0
  85. claude_mpm-2.0.0/src/claude_mpm/hooks/claude_hooks/hook_handler.py +399 -0
  86. claude_mpm-2.0.0/src/claude_mpm/hooks/claude_hooks/hook_wrapper.sh +47 -0
  87. claude_mpm-2.0.0/src/claude_mpm/hooks/validation_hooks.py +181 -0
  88. claude_mpm-2.0.0/src/claude_mpm/schemas/agent_schema.json +328 -0
  89. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/services/agent_management_service.py +4 -4
  90. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/services/agent_profile_loader.py +1 -1
  91. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/services/agent_registry.py +0 -1
  92. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/services/base_agent_manager.py +3 -3
  93. claude_mpm-2.0.0/src/claude_mpm/utils/error_handler.py +247 -0
  94. claude_mpm-2.0.0/src/claude_mpm/validation/__init__.py +5 -0
  95. claude_mpm-2.0.0/src/claude_mpm/validation/agent_validator.py +302 -0
  96. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm.egg-info/PKG-INFO +133 -22
  97. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm.egg-info/SOURCES.txt +71 -18
  98. claude_mpm-1.0.0/INSTALL.md +0 -126
  99. claude_mpm-1.0.0/README.npm.md +0 -54
  100. claude_mpm-1.0.0/VERSION +0 -1
  101. claude_mpm-1.0.0/claude-mpm +0 -19
  102. claude_mpm-1.0.0/framework/agent-roles/base_agent.md +0 -26
  103. claude_mpm-1.0.0/install_dev.sh +0 -38
  104. claude_mpm-1.0.0/scripts/postinstall.js +0 -43
  105. claude_mpm-1.0.0/src/claude_mpm/agents/INSTRUCTIONS.md +0 -398
  106. claude_mpm-1.0.0/src/claude_mpm/agents/agent_loader.py +0 -621
  107. claude_mpm-1.0.0/src/claude_mpm/agents/templates/data_engineer_agent.json +0 -46
  108. claude_mpm-1.0.0/src/claude_mpm/agents/templates/update-optimized-specialized-agents.json +0 -374
  109. claude_mpm-1.0.0/src/claude_mpm/config/hook_config.py +0 -42
  110. claude_mpm-1.0.0/src/claude_mpm/hooks/README.md +0 -243
  111. claude_mpm-1.0.0/src/claude_mpm/hooks/hook_client.py +0 -264
  112. claude_mpm-1.0.0/src/claude_mpm/hooks/hook_runner.py +0 -370
  113. claude_mpm-1.0.0/src/claude_mpm/hooks/json_rpc_executor.py +0 -259
  114. claude_mpm-1.0.0/src/claude_mpm/hooks/json_rpc_hook_client.py +0 -319
  115. claude_mpm-1.0.0/src/claude_mpm/services/hook_service.py +0 -388
  116. claude_mpm-1.0.0/src/claude_mpm/services/hook_service_manager.py +0 -223
  117. claude_mpm-1.0.0/src/claude_mpm/services/json_rpc_hook_manager.py +0 -92
  118. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.ai-trackdown/config.yaml +0 -0
  119. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.ai-trackdown/project.yaml +0 -0
  120. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.aitrackdown/project.json +0 -0
  121. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.aitrackdown-config.yaml +0 -0
  122. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/.claude.json +0 -0
  123. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/.claude.json.backup +0 -0
  124. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/agents/data_engineer.md +0 -0
  125. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/agents/documentation.md +0 -0
  126. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/agents/engineer.md +0 -0
  127. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/agents/ops.md +0 -0
  128. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/agents/qa.md +0 -0
  129. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/agents/research.md +0 -0
  130. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/agents/security.md +0 -0
  131. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/agents/version_control.md +0 -0
  132. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/shell-snapshots/snapshot-zsh-1753448752189-02zmkd.sh +0 -0
  133. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/shell-snapshots/snapshot-zsh-1753448752717-t1o960.sh +0 -0
  134. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/shell-snapshots/snapshot-zsh-1753448753258-cz40yi.sh +0 -0
  135. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/shell-snapshots/snapshot-zsh-1753448753816-5cj75h.sh +0 -0
  136. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/shell-snapshots/snapshot-zsh-1753449561020-uh844i.sh +0 -0
  137. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/shell-snapshots/snapshot-zsh-1753449676191-16dqe8.sh +0 -0
  138. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/shell-snapshots/snapshot-zsh-1753449766642-8sffyp.sh +0 -0
  139. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/shell-snapshots/snapshot-zsh-1753449795813-bj9blv.sh +0 -0
  140. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/shell-snapshots/snapshot-zsh-1753449953467-ru9ods.sh +0 -0
  141. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/shell-snapshots/snapshot-zsh-1753449966919-eb4aoq.sh +0 -0
  142. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/shell-snapshots/snapshot-zsh-1753450012330-ad1k3g.sh +0 -0
  143. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/shell-snapshots/snapshot-zsh-1753450254970-pvrwgd.sh +0 -0
  144. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/shell-snapshots/snapshot-zsh-1753450398246-etdteg.sh +0 -0
  145. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/shell-snapshots/snapshot-zsh-1753450789791-z5ptuf.sh +0 -0
  146. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/shell-snapshots/snapshot-zsh-1753450861209-w6so3e.sh +0 -0
  147. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/shell-snapshots/snapshot-zsh-1753451302996-01ahjc.sh +0 -0
  148. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/shell-snapshots/snapshot-zsh-1753451384857-mvpmcf.sh +0 -0
  149. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/shell-snapshots/snapshot-zsh-1753451508182-v942iw.sh +0 -0
  150. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/shell-snapshots/snapshot-zsh-1753451525128-q52z98.sh +0 -0
  151. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/shell-snapshots/snapshot-zsh-1753452958143-rd4nut.sh +0 -0
  152. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/shell-snapshots/snapshot-zsh-1753453029843-tyfjfo.sh +0 -0
  153. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/shell-snapshots/snapshot-zsh-1753460195020-02l99b.sh +0 -0
  154. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/shell-snapshots/snapshot-zsh-1753460396315-znuas3.sh +0 -0
  155. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/shell-snapshots/snapshot-zsh-1753460428488-tcy6i5.sh +0 -0
  156. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/shell-snapshots/snapshot-zsh-1753460542243-l181zr.sh +0 -0
  157. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/shell-snapshots/snapshot-zsh-1753461397341-fdy0v7.sh +0 -0
  158. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/shell-snapshots/snapshot-zsh-1753469116715-v6dpx9.sh +0 -0
  159. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/shell-snapshots/snapshot-zsh-1753477538332-i5g2cr.sh +0 -0
  160. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/shell-snapshots/snapshot-zsh-1753477560204-7vo17t.sh +0 -0
  161. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/shell-snapshots/snapshot-zsh-1753477883629-hsjia3.sh +0 -0
  162. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/shell-snapshots/snapshot-zsh-1753477961808-oiyqie.sh +0 -0
  163. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/shell-snapshots/snapshot-zsh-1753478292112-5g3i0g.sh +0 -0
  164. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/shell-snapshots/snapshot-zsh-1753478337101-xe1uid.sh +0 -0
  165. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/shell-snapshots/snapshot-zsh-1753478342176-env102.sh +0 -0
  166. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/shell-snapshots/snapshot-zsh-1753478361973-nr1cwq.sh +0 -0
  167. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/shell-snapshots/snapshot-zsh-1753478372714-lamo9k.sh +0 -0
  168. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/shell-snapshots/snapshot-zsh-1753478388184-yxkay7.sh +0 -0
  169. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/shell-snapshots/snapshot-zsh-1753478392376-eygj04.sh +0 -0
  170. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/shell-snapshots/snapshot-zsh-1753482158558-cr2h0o.sh +0 -0
  171. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/todos/0aaf869f-0009-4249-b955-1c3942ff239f-agent-0aaf869f-0009-4249-b955-1c3942ff239f.json +0 -0
  172. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/todos/0c24ded8-9422-489d-8d18-f83cc0737181-agent-0c24ded8-9422-489d-8d18-f83cc0737181.json +0 -0
  173. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/todos/0d9501e6-77b0-4e8f-b132-bae208ed740a-agent-0d9501e6-77b0-4e8f-b132-bae208ed740a.json +0 -0
  174. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/todos/1060b0c4-2bf3-414f-bd75-d6f8dcad9eb5-agent-048a118d-f0ea-4dce-90d3-d851514aa36a.json +0 -0
  175. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/todos/1060b0c4-2bf3-414f-bd75-d6f8dcad9eb5-agent-0600940d-65ff-4678-ac90-9e0d42a3e138.json +0 -0
  176. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/todos/1060b0c4-2bf3-414f-bd75-d6f8dcad9eb5-agent-1060b0c4-2bf3-414f-bd75-d6f8dcad9eb5.json +0 -0
  177. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/todos/1060b0c4-2bf3-414f-bd75-d6f8dcad9eb5-agent-1b8badbc-b05e-459e-b16c-a974f28673be.json +0 -0
  178. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/todos/1060b0c4-2bf3-414f-bd75-d6f8dcad9eb5-agent-231626b2-0ce7-44fb-82e4-a9e72fdcecc4.json +0 -0
  179. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/todos/1060b0c4-2bf3-414f-bd75-d6f8dcad9eb5-agent-2799acc0-b5e3-4086-940e-62bd2a5bbd7d.json +0 -0
  180. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/todos/1060b0c4-2bf3-414f-bd75-d6f8dcad9eb5-agent-42b0c458-9d5f-4745-826e-7c618d3a7026.json +0 -0
  181. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/todos/1060b0c4-2bf3-414f-bd75-d6f8dcad9eb5-agent-a324c872-b962-4438-b794-7966f5d7a7a9.json +0 -0
  182. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/todos/1060b0c4-2bf3-414f-bd75-d6f8dcad9eb5-agent-ce91e7fd-64af-4f57-b691-1487c2db8d0b.json +0 -0
  183. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/todos/1060b0c4-2bf3-414f-bd75-d6f8dcad9eb5-agent-dd250db2-edbb-43fc-a143-3eeafc0cd7fa.json +0 -0
  184. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/todos/1060b0c4-2bf3-414f-bd75-d6f8dcad9eb5-agent-f0cbf9cd-0136-4bca-b0e0-c66aa58d3aeb.json +0 -0
  185. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/todos/109c42c9-0afd-4a5b-a1b3-e515e31b6a2f-agent-109c42c9-0afd-4a5b-a1b3-e515e31b6a2f.json +0 -0
  186. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/todos/1163a193-8464-4195-8281-6b875b5d987d-agent-1163a193-8464-4195-8281-6b875b5d987d.json +0 -0
  187. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/todos/128d2198-5b02-422c-9531-f3396cbf0ce0-agent-128d2198-5b02-422c-9531-f3396cbf0ce0.json +0 -0
  188. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/todos/16c51506-6afa-43aa-b199-da0c853f99a9-agent-16c51506-6afa-43aa-b199-da0c853f99a9.json +0 -0
  189. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/todos/1736bdd7-71f4-49a0-934d-18e3aa5e0b43-agent-1736bdd7-71f4-49a0-934d-18e3aa5e0b43.json +0 -0
  190. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/todos/1869eedc-69fc-4e81-a8ac-f57bd8e3946b-agent-1869eedc-69fc-4e81-a8ac-f57bd8e3946b.json +0 -0
  191. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/todos/1a97dfda-12e5-4f13-8c8a-731373694a1c-agent-1a97dfda-12e5-4f13-8c8a-731373694a1c.json +0 -0
  192. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/todos/283ac74b-5516-43f8-9548-24ded2b643b1-agent-283ac74b-5516-43f8-9548-24ded2b643b1.json +0 -0
  193. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/todos/2ba08561-559e-4f64-9522-8d6c340e47da-agent-2ba08561-559e-4f64-9522-8d6c340e47da.json +0 -0
  194. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/todos/31da8ed9-e1a5-40c8-91c8-8e9b51ca24a9-agent-31da8ed9-e1a5-40c8-91c8-8e9b51ca24a9.json +0 -0
  195. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/todos/35194d51-6b8f-4ef5-b771-b0aa03f49a88-agent-35194d51-6b8f-4ef5-b771-b0aa03f49a88.json +0 -0
  196. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/todos/3d1c0368-e607-4f47-b02d-7c0922cc0f25-agent-3d1c0368-e607-4f47-b02d-7c0922cc0f25.json +0 -0
  197. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/todos/3d46c625-6377-4296-b9b3-22bc19341092-agent-3d46c625-6377-4296-b9b3-22bc19341092.json +0 -0
  198. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/todos/40072791-2f2f-4743-b763-ec19321ccb0b-agent-40072791-2f2f-4743-b763-ec19321ccb0b.json +0 -0
  199. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/todos/4157ab6d-5025-4862-82eb-5818c43c5a8c-agent-4157ab6d-5025-4862-82eb-5818c43c5a8c.json +0 -0
  200. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/todos/458938f3-a317-46f3-8359-86f05ccacc7d-agent-458938f3-a317-46f3-8359-86f05ccacc7d.json +0 -0
  201. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/todos/4dcf1510-e396-47bb-ac32-f62811ae9774-agent-4dcf1510-e396-47bb-ac32-f62811ae9774.json +0 -0
  202. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/todos/4eb9a1c4-92b0-44ee-9322-6ba0442efd42-agent-4eb9a1c4-92b0-44ee-9322-6ba0442efd42.json +0 -0
  203. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/todos/4f57fa86-e804-4c8e-a0ff-196835df5bc9-agent-4f57fa86-e804-4c8e-a0ff-196835df5bc9.json +0 -0
  204. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/todos/518e2724-687e-4ae3-bde9-582c8718695a-agent-518e2724-687e-4ae3-bde9-582c8718695a.json +0 -0
  205. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/todos/51abf2eb-4e5a-4731-bd23-76cffe656a40-agent-51abf2eb-4e5a-4731-bd23-76cffe656a40.json +0 -0
  206. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/todos/53c4beda-27f3-4247-ada4-f904320995ad-agent-53c4beda-27f3-4247-ada4-f904320995ad.json +0 -0
  207. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/todos/56581e8b-07b1-4174-bf81-c280a3dee6b4-agent-56581e8b-07b1-4174-bf81-c280a3dee6b4.json +0 -0
  208. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/todos/58848224-56e6-49f6-a4e5-c08f8f70c426-agent-58848224-56e6-49f6-a4e5-c08f8f70c426.json +0 -0
  209. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/todos/58cf2d09-fd22-4a2e-8c74-c247ece6c802-agent-58cf2d09-fd22-4a2e-8c74-c247ece6c802.json +0 -0
  210. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/todos/5bcc2e07-617c-4659-b82f-6b630ea891ff-agent-5bcc2e07-617c-4659-b82f-6b630ea891ff.json +0 -0
  211. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/todos/5bf326e7-b61a-4d82-b483-94d5d7085755-agent-5bf326e7-b61a-4d82-b483-94d5d7085755.json +0 -0
  212. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/todos/5dee78ec-d9ed-4484-b101-5490217fe423-agent-5dee78ec-d9ed-4484-b101-5490217fe423.json +0 -0
  213. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/todos/5f6c7624-6a25-4ed9-be09-03fa3a70c4d8-agent-5f6c7624-6a25-4ed9-be09-03fa3a70c4d8.json +0 -0
  214. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/todos/606431c0-6b47-4fb8-b386-132918a3aa0b-agent-606431c0-6b47-4fb8-b386-132918a3aa0b.json +0 -0
  215. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/todos/6078e96f-e9a4-435f-8d2f-cf70346ebafe-agent-6078e96f-e9a4-435f-8d2f-cf70346ebafe.json +0 -0
  216. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/todos/69e5a32b-bf2c-4264-93cd-6ac84b44ca9f-agent-69e5a32b-bf2c-4264-93cd-6ac84b44ca9f.json +0 -0
  217. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/todos/6b729248-47b8-4657-ad7f-7f09fff21151-agent-6b729248-47b8-4657-ad7f-7f09fff21151.json +0 -0
  218. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/todos/6d6970e8-f95f-468b-a8b8-3eacca8f1220-agent-6d6970e8-f95f-468b-a8b8-3eacca8f1220.json +0 -0
  219. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/todos/6ec6cfa4-f2fd-4515-9c95-3ea74fbc571b-agent-6ec6cfa4-f2fd-4515-9c95-3ea74fbc571b.json +0 -0
  220. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/todos/713e1bda-caa2-4cb9-a5a2-b7c6fec5776f-agent-713e1bda-caa2-4cb9-a5a2-b7c6fec5776f.json +0 -0
  221. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/todos/71e6da9f-0dcd-4abd-ae8f-a5af695d9624-agent-71e6da9f-0dcd-4abd-ae8f-a5af695d9624.json +0 -0
  222. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/todos/7653f086-93df-4423-98ce-640305e10823-agent-7653f086-93df-4423-98ce-640305e10823.json +0 -0
  223. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/todos/76656734-acd3-411c-b333-f274dabae19c-agent-76656734-acd3-411c-b333-f274dabae19c.json +0 -0
  224. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/todos/78150f02-9204-437c-9e12-9e800f3f73b9-agent-78150f02-9204-437c-9e12-9e800f3f73b9.json +0 -0
  225. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/todos/7dda0a32-2834-4a47-9734-9ae9ca5b1a31-agent-7dda0a32-2834-4a47-9734-9ae9ca5b1a31.json +0 -0
  226. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/todos/84b4d3c7-5506-4e4e-87dd-9cc48b8bc2ec-agent-84b4d3c7-5506-4e4e-87dd-9cc48b8bc2ec.json +0 -0
  227. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/todos/86ce0d12-f82e-49b2-b553-2cd8a7e188a3-agent-86ce0d12-f82e-49b2-b553-2cd8a7e188a3.json +0 -0
  228. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/todos/87626114-6cb1-43ef-978a-bb35f612e4eb-agent-87626114-6cb1-43ef-978a-bb35f612e4eb.json +0 -0
  229. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/todos/880d3ea5-649e-449e-88bc-664a291ec338-agent-880d3ea5-649e-449e-88bc-664a291ec338.json +0 -0
  230. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/todos/8962e6d9-0fc0-4578-bb08-a5dfbc2dbe5e-agent-8962e6d9-0fc0-4578-bb08-a5dfbc2dbe5e.json +0 -0
  231. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/todos/8f998b9e-5f18-4ade-bd69-74c95a210f6a-agent-8f998b9e-5f18-4ade-bd69-74c95a210f6a.json +0 -0
  232. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/todos/929364bd-aa69-4831-850e-37f8ab63803d-agent-929364bd-aa69-4831-850e-37f8ab63803d.json +0 -0
  233. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/todos/95479b6c-cfbf-4bb7-9e00-b95a0b385775-agent-95479b6c-cfbf-4bb7-9e00-b95a0b385775.json +0 -0
  234. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/todos/9628cc3a-355a-48f0-ab54-c28ac2e05dfe-agent-9628cc3a-355a-48f0-ab54-c28ac2e05dfe.json +0 -0
  235. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/todos/a9136d1b-6e01-4879-972f-5fcdde5e08d7-agent-a9136d1b-6e01-4879-972f-5fcdde5e08d7.json +0 -0
  236. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/todos/b10ff15f-3c8c-46d7-93b4-a0d4d5ec4003-agent-b10ff15f-3c8c-46d7-93b4-a0d4d5ec4003.json +0 -0
  237. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/todos/b1206d13-f0ec-4f53-a746-a845732fefd7-agent-b1206d13-f0ec-4f53-a746-a845732fefd7.json +0 -0
  238. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/todos/b61be2e4-7de3-4e1b-b636-2232190ffc5c-agent-b61be2e4-7de3-4e1b-b636-2232190ffc5c.json +0 -0
  239. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/todos/b80ad406-64d1-4a6c-b781-15496265fae0-agent-b80ad406-64d1-4a6c-b781-15496265fae0.json +0 -0
  240. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/todos/babc6eac-d7d6-498a-8176-e09e00423a12-agent-babc6eac-d7d6-498a-8176-e09e00423a12.json +0 -0
  241. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/todos/bf4b7700-9630-466e-afb0-8904fbddac42-agent-bf4b7700-9630-466e-afb0-8904fbddac42.json +0 -0
  242. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/todos/c2189d0d-9c2b-400a-bf7c-3989ef6cd37d-agent-c2189d0d-9c2b-400a-bf7c-3989ef6cd37d.json +0 -0
  243. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/todos/c35ee595-142f-454b-bb36-dc434d4a80a6-agent-c35ee595-142f-454b-bb36-dc434d4a80a6.json +0 -0
  244. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/todos/c629949d-4641-45ff-81d3-d7c8f353da81-agent-c629949d-4641-45ff-81d3-d7c8f353da81.json +0 -0
  245. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/todos/c8cecbec-a3bb-4507-98a4-c590a4e919b2-agent-c8cecbec-a3bb-4507-98a4-c590a4e919b2.json +0 -0
  246. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/todos/cce78c00-7309-4bc4-802c-3bad75be09cc-agent-cce78c00-7309-4bc4-802c-3bad75be09cc.json +0 -0
  247. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/todos/d55a3a18-0143-4401-ba56-ea630982c105-agent-d55a3a18-0143-4401-ba56-ea630982c105.json +0 -0
  248. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/todos/d881887b-49bc-4fda-acda-c866681c8f13-agent-d881887b-49bc-4fda-acda-c866681c8f13.json +0 -0
  249. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/todos/db3e76fb-7b9d-4f1c-8822-cce448fdf9e6-agent-db3e76fb-7b9d-4f1c-8822-cce448fdf9e6.json +0 -0
  250. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/todos/dc7344a6-cd2e-4f20-a945-deb2e39f4fbc-agent-dc7344a6-cd2e-4f20-a945-deb2e39f4fbc.json +0 -0
  251. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/todos/eb12ed58-94e3-490a-b8c8-b2912fa77fbe-agent-eb12ed58-94e3-490a-b8c8-b2912fa77fbe.json +0 -0
  252. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/todos/ef4c285d-d79b-4c6e-a458-49cb26bf3c0a-agent-ef4c285d-d79b-4c6e-a458-49cb26bf3c0a.json +0 -0
  253. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/todos/f295b25f-51d8-4fff-b71d-aa18d7028466-agent-f295b25f-51d8-4fff-b71d-aa18d7028466.json +0 -0
  254. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/todos/f2a683d3-4d16-4c94-bf52-03efaf45f7f1-agent-f2a683d3-4d16-4c94-bf52-03efaf45f7f1.json +0 -0
  255. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/todos/f536b1f5-879c-4236-9718-599337ffc815-agent-f536b1f5-879c-4236-9718-599337ffc815.json +0 -0
  256. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/todos/fabcbe8a-6751-454b-a240-e9393391e2e9-agent-fabcbe8a-6751-454b-a240-e9393391e2e9.json +0 -0
  257. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude/todos/fe57db22-5ef9-4522-9423-5c20dd665ef6-agent-fe57db22-5ef9-4522-9423-5c20dd665ef6.json +0 -0
  258. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude-mpm/.claude.json +0 -0
  259. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude-mpm/.claude.json.backup +0 -0
  260. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude-mpm/.gitignore +0 -0
  261. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude-mpm/README.md +0 -0
  262. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude-mpm/agents/README.md +0 -0
  263. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude-mpm/agents/poc-engineer.md +0 -0
  264. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude-mpm/agents/poc-qa.md +0 -0
  265. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude-mpm/agents/poc-researcher.md +0 -0
  266. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude-mpm/agents/test-agent.md +0 -0
  267. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude-mpm/agents/test-agent.yaml +0 -0
  268. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude-mpm/config/project.json +0 -0
  269. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude-mpm/projects/-Users-masa-Projects-claude-mpm/1f2d5a1d-a2fd-4c26-a1b2-3822f3a5fbf5.jsonl +0 -0
  270. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude-mpm/projects/-Users-masa-Projects-claude-mpm/9217ce88-3ece-41db-adc8-9fc8532c6314.jsonl +0 -0
  271. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude-mpm/shell-snapshots/snapshot-zsh-1753447830017-dejufl.sh +0 -0
  272. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude-mpm/shell-snapshots/snapshot-zsh-1753447830478-zr6tpi.sh +0 -0
  273. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude-mpm/stats/README.md +0 -0
  274. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude-mpm/statsig/statsig.cached.evaluations.85901da9f9 +0 -0
  275. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude-mpm/statsig/statsig.last_modified_time.evaluations +0 -0
  276. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude-mpm/statsig/statsig.session_id.2656274335 +0 -0
  277. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude-mpm/statsig/statsig.stable_id.2656274335 +0 -0
  278. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude-mpm/todos/1f2d5a1d-a2fd-4c26-a1b2-3822f3a5fbf5-agent-1f2d5a1d-a2fd-4c26-a1b2-3822f3a5fbf5.json +0 -0
  279. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude-mpm/todos/9217ce88-3ece-41db-adc8-9fc8532c6314-agent-9217ce88-3ece-41db-adc8-9fc8532c6314.json +0 -0
  280. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.claude-pm/config/project.json +0 -0
  281. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.githooks/pre-commit +0 -0
  282. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.npmignore +0 -0
  283. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/.trackdown.yaml +0 -0
  284. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/CLAUDE.md +0 -0
  285. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/Makefile +0 -0
  286. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/bin/claude-mpm +0 -0
  287. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/bin/claude-mpm-hooks +0 -0
  288. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/bin/ticket +0 -0
  289. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/examples/dependency_injection_demo.py +0 -0
  290. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/examples/json_rpc_hooks_demo.py +0 -0
  291. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/examples/todo_prefix_hook_example.py +0 -0
  292. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/examples/todo_prefix_hook_integration.py +0 -0
  293. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/install.sh +0 -0
  294. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/requirements-dev.txt +0 -0
  295. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/requirements.txt +0 -0
  296. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/scripts/add_agent_versioning.py +0 -0
  297. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/scripts/analyze_framework_loaders.py +0 -0
  298. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/scripts/claude-mpm +0 -0
  299. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/scripts/cleanup_logs.py +0 -0
  300. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/scripts/consolidate_services.py +0 -0
  301. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/scripts/convert_agents_to_yaml.py +0 -0
  302. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/scripts/debug_hook_behavior.py +0 -0
  303. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/scripts/debug_hook_behavior2.py +0 -0
  304. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/scripts/debug_subprocess.py +0 -0
  305. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/scripts/demo/subprocess_before_after.py +0 -0
  306. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/scripts/demo/subprocess_improvements_demo.py +0 -0
  307. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/scripts/fix_all_fallback_imports.py +0 -0
  308. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/scripts/fix_all_imports.py +0 -0
  309. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/scripts/fix_fallback_imports.py +0 -0
  310. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/scripts/launch_with_agents.py +0 -0
  311. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/scripts/manage_version.py +0 -0
  312. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/scripts/migrate_logging_imports.py +0 -0
  313. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/scripts/migrate_to_json_rpc_hooks.py +0 -0
  314. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/scripts/publish.sh +0 -0
  315. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/scripts/remove_remaining_ticketing.py +0 -0
  316. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/scripts/remove_ticketing_references.py +0 -0
  317. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/scripts/run_all_tests.sh +0 -0
  318. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/scripts/run_e2e_tests.sh +0 -0
  319. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/scripts/run_mpm.py +0 -0
  320. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/scripts/standardize_imports.py +0 -0
  321. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/scripts/test_agent_name_consistency.py +0 -0
  322. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/scripts/test_agent_name_formats.py +0 -0
  323. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/scripts/test_basic_functionality.py +0 -0
  324. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/scripts/test_hello_world.py +0 -0
  325. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/scripts/test_simple_runner_logging.py +0 -0
  326. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/scripts/test_subagent_demo.py +0 -0
  327. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/scripts/test_system_health.py +0 -0
  328. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/scripts/test_todo_hook.py +0 -0
  329. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/scripts/test_todo_task_integration.py +0 -0
  330. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/scripts/tests/run_tests.py +0 -0
  331. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/scripts/tests/run_tests_updated.py +0 -0
  332. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/scripts/tests/test_agent_integration.py +0 -0
  333. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/scripts/tests/test_claude_direct.py +0 -0
  334. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/scripts/tests/test_hello_world.py +0 -0
  335. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/scripts/tests/test_interactive.py +0 -0
  336. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/scripts/tests/test_logging.py +0 -0
  337. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/scripts/tests/test_orchestration.py +0 -0
  338. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/scripts/tests/test_pexpect.py +0 -0
  339. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/scripts/tests/test_pexpect_install.py +0 -0
  340. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/scripts/tests/test_subprocess.py +0 -0
  341. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/scripts/ticket +0 -0
  342. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/scripts/verify_imports.py +0 -0
  343. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/setup.cfg +0 -0
  344. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/setup.py +0 -0
  345. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/__init__.py +0 -0
  346. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/__main__.py +0 -0
  347. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/agents/BASE_AGENT_TEMPLATE.md +0 -0
  348. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/agents/agent_loader_integration.py +0 -0
  349. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/agents/agents_metadata.py +0 -0
  350. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/agents/schema/agent_schema.json +0 -0
  351. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/agents/system_agent_config.py +0 -0
  352. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/agents/templates/__init__.py +0 -0
  353. /claude_mpm-1.0.0/src/claude_mpm/agents/templates/documentation_agent.json → /claude_mpm-2.0.0/src/claude_mpm/agents/templates/backup/documentation_agent_20250726_234551.json +0 -0
  354. /claude_mpm-1.0.0/src/claude_mpm/agents/templates/ops_agent.json → /claude_mpm-2.0.0/src/claude_mpm/agents/templates/backup/ops_agent_20250726_234551.json +0 -0
  355. /claude_mpm-1.0.0/src/claude_mpm/agents/templates/qa_agent.json → /claude_mpm-2.0.0/src/claude_mpm/agents/templates/backup/qa_agent_20250726_234551.json +0 -0
  356. /claude_mpm-1.0.0/src/claude_mpm/agents/templates/research_agent.json → /claude_mpm-2.0.0/src/claude_mpm/agents/templates/backup/research_agent_20250726_234551.json +0 -0
  357. /claude_mpm-1.0.0/src/claude_mpm/agents/templates/security_agent.json → /claude_mpm-2.0.0/src/claude_mpm/agents/templates/backup/security_agent_20250726_234551.json +0 -0
  358. /claude_mpm-1.0.0/src/claude_mpm/agents/templates/version_control_agent.json → /claude_mpm-2.0.0/src/claude_mpm/agents/templates/backup/version_control_agent_20250726_234551.json +0 -0
  359. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/agents/test_fix_deployment/.claude-pm/config/project.json +0 -0
  360. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/cli_main.py +0 -0
  361. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/cli_module/__init__.py +0 -0
  362. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/cli_module/args.py +0 -0
  363. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/cli_module/commands.py +0 -0
  364. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/cli_module/migration_example.py +0 -0
  365. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/cli_module/refactoring_guide.md +0 -0
  366. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/cli_old/__init__.py +0 -0
  367. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/cli_old/ticket_cli.py +0 -0
  368. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/config/__init__.py +0 -0
  369. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/constants.py +0 -0
  370. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/core/__init__.py +0 -0
  371. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/core/agent_name_normalizer.py +0 -0
  372. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/core/agent_registry.py +0 -0
  373. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/core/agent_registry.py.bak +0 -0
  374. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/core/agent_session_manager.py +0 -0
  375. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/core/base_service.py +0 -0
  376. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/core/base_service.py.bak +0 -0
  377. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/core/config.py +0 -0
  378. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/core/config_aliases.py +0 -0
  379. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/core/container.py +0 -0
  380. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/core/framework_loader.py +0 -0
  381. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/core/injectable_service.py +0 -0
  382. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/core/interfaces.py +0 -0
  383. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/core/logger.py +0 -0
  384. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/core/minimal_framework_loader.py +0 -0
  385. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/core/mixins.py +0 -0
  386. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/core/session_manager.py +0 -0
  387. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/core/tool_access_control.py +0 -0
  388. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/hooks/__init__.py +0 -0
  389. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/hooks/base_hook.py +0 -0
  390. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/hooks/builtin/__init__.py +0 -0
  391. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/hooks/builtin/logging_hook_example.py +0 -0
  392. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/hooks/builtin/post_delegation_hook_example.py +0 -0
  393. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/hooks/builtin/pre_delegation_hook_example.py +0 -0
  394. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/hooks/builtin/submit_hook_example.py +0 -0
  395. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/hooks/builtin/ticket_extraction_hook_example.py +0 -0
  396. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/hooks/builtin/todo_agent_prefix_hook.py +0 -0
  397. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/hooks/builtin/workflow_start_hook.py +0 -0
  398. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/hooks/tool_call_interceptor.py +0 -0
  399. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/init.py +0 -0
  400. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/orchestration/SUBPROCESS_DESIGN.md +0 -0
  401. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/orchestration/__init__.py +0 -0
  402. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/orchestration/archive/direct_orchestrator.py +0 -0
  403. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/orchestration/archive/factory.py +0 -0
  404. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/orchestration/archive/hook_enabled_orchestrator.py +0 -0
  405. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/orchestration/archive/hook_integration_example.py +0 -0
  406. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/orchestration/archive/interactive_subprocess_orchestrator.py +0 -0
  407. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/orchestration/archive/orchestrator.py +0 -0
  408. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/orchestration/archive/pexpect_orchestrator.py +0 -0
  409. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/orchestration/archive/pty_orchestrator.py +0 -0
  410. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/orchestration/archive/simple_orchestrator.py +0 -0
  411. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/orchestration/archive/subprocess_orchestrator.py +0 -0
  412. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/orchestration/archive/system_prompt_orchestrator.py +0 -0
  413. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/orchestration/archive/wrapper_orchestrator.py +0 -0
  414. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/scripts/__init__.py +0 -0
  415. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/scripts/ticket.py +0 -0
  416. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/services/__init__.py +0 -0
  417. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/services/agent_deployment.py +0 -0
  418. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/services/agent_lifecycle_manager.py +0 -0
  419. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/services/agent_modification_tracker.py +0 -0
  420. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/services/framework_agent_loader.py +0 -0
  421. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/services/framework_claude_md_generator/README.md +0 -0
  422. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/services/framework_claude_md_generator/__init__.py +0 -0
  423. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/services/framework_claude_md_generator/content_assembler.py +0 -0
  424. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/services/framework_claude_md_generator/content_validator.py +0 -0
  425. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/services/framework_claude_md_generator/deployment_manager.py +0 -0
  426. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/services/framework_claude_md_generator/section_generators/__init__.py +0 -0
  427. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/services/framework_claude_md_generator/section_generators/agents.py +0 -0
  428. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/services/framework_claude_md_generator/section_generators/claude_pm_init.py +0 -0
  429. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/services/framework_claude_md_generator/section_generators/core_responsibilities.py +0 -0
  430. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/services/framework_claude_md_generator/section_generators/delegation_constraints.py +0 -0
  431. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/services/framework_claude_md_generator/section_generators/environment_config.py +0 -0
  432. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/services/framework_claude_md_generator/section_generators/footer.py +0 -0
  433. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/services/framework_claude_md_generator/section_generators/header.py +0 -0
  434. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/services/framework_claude_md_generator/section_generators/orchestration_principles.py +0 -0
  435. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/services/framework_claude_md_generator/section_generators/role_designation.py +0 -0
  436. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/services/framework_claude_md_generator/section_generators/subprocess_validation.py +0 -0
  437. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/services/framework_claude_md_generator/section_generators/todo_task_tools.py +0 -0
  438. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/services/framework_claude_md_generator/section_generators/troubleshooting.py +0 -0
  439. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/services/framework_claude_md_generator/section_manager.py +0 -0
  440. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/services/framework_claude_md_generator/version_manager.py +0 -0
  441. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/services/framework_claude_md_generator.py +0 -0
  442. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/services/parent_directory_manager/README.md +0 -0
  443. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/services/parent_directory_manager/__init__.py +0 -0
  444. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/services/parent_directory_manager/backup_manager.py +0 -0
  445. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/services/parent_directory_manager/config_manager.py +0 -0
  446. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/services/parent_directory_manager/deduplication_manager.py +0 -0
  447. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/services/parent_directory_manager/framework_protector.py +0 -0
  448. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/services/parent_directory_manager/operations.py +0 -0
  449. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/services/parent_directory_manager/state_manager.py +0 -0
  450. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/services/parent_directory_manager/template_deployer.py +0 -0
  451. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/services/parent_directory_manager/validation_manager.py +0 -0
  452. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/services/parent_directory_manager/version_control_helper.py +0 -0
  453. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/services/parent_directory_manager/version_manager.py +0 -0
  454. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/services/shared_prompt_cache.py +0 -0
  455. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/services/ticket_manager.py +0 -0
  456. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/services/ticket_manager_di.py +0 -0
  457. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/services/ticketing_service_original.py +0 -0
  458. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/services/version_control/VERSION +0 -0
  459. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/services/version_control/__init__.py +0 -0
  460. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/services/version_control/branch_strategy.py +0 -0
  461. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/services/version_control/conflict_resolution.py +0 -0
  462. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/services/version_control/git_operations.py +0 -0
  463. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/services/version_control/semantic_versioning.py +0 -0
  464. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/ui/__init__.py +0 -0
  465. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/ui/rich_terminal_ui.py +0 -0
  466. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/ui/terminal_ui.py +0 -0
  467. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/utils/__init__.py +0 -0
  468. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/utils/config_manager.py +0 -0
  469. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/utils/import_migration_example.py +0 -0
  470. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/utils/imports.py +0 -0
  471. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/utils/path_operations.py +0 -0
  472. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm/utils/paths.py +0 -0
  473. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm.egg-info/dependency_links.txt +0 -0
  474. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm.egg-info/entry_points.txt +0 -0
  475. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm.egg-info/requires.txt +0 -0
  476. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/src/claude_mpm.egg-info/top_level.txt +0 -0
  477. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/ticket +0 -0
  478. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/tickets/epics/EP-0001.md +0 -0
  479. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/tickets/epics/EP-0002-subagent-pivot.md +0 -0
  480. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/tickets/epics/EP-0003.md +0 -0
  481. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/tickets/issues/CONVERSION_MAPPING.md +0 -0
  482. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/tickets/issues/ISS-0001.md +0 -0
  483. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/tickets/issues/ISS-0002.md +0 -0
  484. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/tickets/issues/ISS-0003.md +0 -0
  485. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/tickets/issues/ISS-0004.md +0 -0
  486. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/tickets/issues/ISS-0005.md +0 -0
  487. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/tickets/issues/ISS-0006.md +0 -0
  488. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/tickets/issues/ISS-0007.md +0 -0
  489. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/tickets/issues/ISS-0008.md +0 -0
  490. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/tickets/issues/ISS-0009.md +0 -0
  491. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/tickets/issues/ISS-0010.md +0 -0
  492. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/tickets/tasks/TSK-0001.md +0 -0
  493. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/tickets/tasks/TSK-0002.md +0 -0
  494. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/tickets/tasks/TSK-0003.md +0 -0
  495. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/tickets/tasks/TSK-0004.md +0 -0
  496. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/tickets/tasks/TSK-0005.md +0 -0
  497. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/tickets/tasks/TSK-0006.md +0 -0
  498. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/tickets/tasks/TSK-0008.md +0 -0
  499. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/tickets/tasks/TSK-0009.md +0 -0
  500. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/tickets/tasks/TSK-0011.md +0 -0
  501. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/tickets/tasks/TSK-0016.md +0 -0
  502. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/tickets/tasks/TSK-0017.md +0 -0
  503. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/tickets/tasks/TSK-0018.md +0 -0
  504. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/tickets/tasks/TSK-0019.md +0 -0
  505. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/tickets/tasks/TSK-0020.md +0 -0
  506. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/tickets/tasks/TSK-0021.md +0 -0
  507. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/tickets/tasks/TSK-0022.md +0 -0
  508. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/tickets/tasks/TSK-0023.md +0 -0
  509. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/tickets/tasks/TSK-0024.md +0 -0
  510. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/tickets/tasks/TSK-0025.md +0 -0
  511. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/tickets/tasks/TSK-0026.md +0 -0
  512. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/tickets/tasks/TSK-0027.md +0 -0
  513. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/tickets/tasks/TSK-0028.md +0 -0
  514. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/tickets/tasks/TSK-0029.md +0 -0
  515. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/tickets/tasks/TSK-0030.md +0 -0
  516. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/tickets/tasks/TSK-0031.md +0 -0
  517. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/tickets/tasks/TSK-0032.md +0 -0
  518. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/tickets/tasks/TSK-0033.md +0 -0
  519. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/tickets/tasks/TSK-0034.md +0 -0
  520. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/tickets/tasks/TSK-0035.md +0 -0
  521. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/tickets/tasks/TSK-0036.md +0 -0
  522. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/tickets/tasks/TSK-0037.md +0 -0
  523. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/tickets/tasks/TSK-0038.md +0 -0
  524. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/tickets/tasks/TSK-0039.md +0 -0
  525. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/tickets/tasks/TSK-0040.md +0 -0
  526. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/tickets/tasks/TSK-0041.md +0 -0
  527. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/tickets/tasks/TSK-0042.md +0 -0
  528. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/tickets/tasks/TSK-0043.md +0 -0
  529. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/tickets/tasks/TSK-0044.md +0 -0
  530. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/tickets/tasks/TSK-0045.md +0 -0
  531. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/tickets/tasks/TSK-0046.md +0 -0
  532. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/uninstall.sh +0 -0
  533. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/~/.claude/agents/data_engineer.yml +0 -0
  534. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/~/.claude/agents/documentation.yml +0 -0
  535. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/~/.claude/agents/engineer.yml +0 -0
  536. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/~/.claude/agents/ops.yml +0 -0
  537. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/~/.claude/agents/qa.yml +0 -0
  538. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/~/.claude/agents/research.yml +0 -0
  539. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/~/.claude/agents/security.yml +0 -0
  540. {claude_mpm-1.0.0 → claude_mpm-2.0.0}/~/.claude/agents/version_control.yml +0 -0
@@ -0,0 +1,36 @@
1
+ # Claude MPM Slash Commands
2
+
3
+ This directory contains slash command definitions for Claude MPM.
4
+
5
+ ## Overview
6
+
7
+ Slash commands allow you to execute specific actions without going through the LLM. They are processed directly by the claude-mpm framework.
8
+
9
+ ## Available Commands
10
+
11
+ ### `/mpm:test`
12
+ - **Description**: A simple test command that returns "Hello World"
13
+ - **Usage**: `/mpm:test`
14
+ - **Purpose**: Demonstrates the slash command system
15
+
16
+ ## Implementation
17
+
18
+ Commands are handled in two ways:
19
+
20
+ 1. **Command Router** (`.claude/scripts/command_router.py`): A standalone Python script that can execute commands independently
21
+ 2. **Simple Runner Integration** (`src/claude_mpm/core/simple_runner.py`): Intercepts `/mpm:` commands before they reach Claude
22
+
23
+ ## Adding New Commands
24
+
25
+ To add a new slash command:
26
+
27
+ 1. Add the command handler to the command router
28
+ 2. Create a markdown file in the appropriate subdirectory (e.g., `.claude/commands/mpm/mycommand.md`)
29
+ 3. Optionally update the `_handle_mpm_command` method in simple_runner.py for direct integration
30
+
31
+ ## Future Enhancements
32
+
33
+ - Hook-based command processing for better modularity
34
+ - Command discovery and auto-registration
35
+ - Rich command output formatting
36
+ - Command history and logging
@@ -0,0 +1,5 @@
1
+ ---
2
+ description: Claude MPM management commands
3
+ ---
4
+
5
+ /mpm
@@ -0,0 +1,32 @@
1
+ {
2
+ "hooks": {
3
+ "userPromptSubmit": [
4
+ {
5
+ "name": "mpm-command-interceptor",
6
+ "enabled": true,
7
+ "priority": 100,
8
+ "conditions": {
9
+ "promptPatterns": ["/mpm:", "Hello World"]
10
+ },
11
+ "handler": "/Users/masa/Projects/claude-mpm/.claude/hooks/mpm_intercept_hook.js"
12
+ },
13
+ {
14
+ "name": "helloworld-command",
15
+ "enabled": true,
16
+ "priority": 90,
17
+ "conditions": {
18
+ "promptPatterns": ["/helloworld"]
19
+ },
20
+ "handler": "/Users/masa/Projects/claude-mpm/.claude/hooks/helloworld_hook.js"
21
+ }
22
+ ]
23
+ },
24
+ "global": {
25
+ "timeoutMs": 5000,
26
+ "retryCount": 3,
27
+ "logging": {
28
+ "level": "info",
29
+ "destination": "/Users/masa/Projects/claude-mpm/.claude/logs/hooks.log"
30
+ }
31
+ }
32
+ }
@@ -0,0 +1,60 @@
1
+ #!/usr/bin/env python3
2
+ """Simple command router for /mpm: commands."""
3
+
4
+ import sys
5
+ from typing import Dict, Callable, Optional
6
+
7
+
8
+ class CommandRouter:
9
+ """Simple command dispatcher for /mpm: commands."""
10
+
11
+ def __init__(self):
12
+ self.commands: Dict[str, Callable] = {}
13
+ self._register_builtin_commands()
14
+
15
+ def _register_builtin_commands(self):
16
+ """Register built-in commands."""
17
+ self.register("test", self._test_command)
18
+
19
+ def register(self, command: str, handler: Callable):
20
+ """Register a command handler."""
21
+ self.commands[command] = handler
22
+
23
+ def _test_command(self, *args) -> str:
24
+ """Simple test command that returns Hello World."""
25
+ return "Hello World"
26
+
27
+ def execute(self, command: str, *args) -> Optional[str]:
28
+ """Execute a command and return the result."""
29
+ if command in self.commands:
30
+ return self.commands[command](*args)
31
+ return None
32
+
33
+ def list_commands(self) -> list:
34
+ """List all available commands."""
35
+ return list(self.commands.keys())
36
+
37
+
38
+ def main():
39
+ """Main entry point for command router."""
40
+ router = CommandRouter()
41
+
42
+ if len(sys.argv) < 2:
43
+ print("Usage: command_router.py <command> [args...]")
44
+ print(f"Available commands: {', '.join(router.list_commands())}")
45
+ sys.exit(1)
46
+
47
+ command = sys.argv[1]
48
+ args = sys.argv[2:]
49
+
50
+ result = router.execute(command, *args)
51
+ if result is not None:
52
+ print(result)
53
+ else:
54
+ print(f"Unknown command: {command}")
55
+ print(f"Available commands: {', '.join(router.list_commands())}")
56
+ sys.exit(1)
57
+
58
+
59
+ if __name__ == "__main__":
60
+ main()
@@ -0,0 +1,37 @@
1
+ {
2
+ "hooks": {
3
+ "UserPromptSubmit": [
4
+ {
5
+ "matcher": "*",
6
+ "hooks": [
7
+ {
8
+ "type": "command",
9
+ "command": "/Users/masa/Projects/claude-mpm/src/claude_mpm/hooks/claude_hooks/hook_wrapper.sh"
10
+ }
11
+ ]
12
+ }
13
+ ],
14
+ "PreToolUse": [
15
+ {
16
+ "matcher": "*",
17
+ "hooks": [
18
+ {
19
+ "type": "command",
20
+ "command": "/Users/masa/Projects/claude-mpm/src/claude_mpm/hooks/claude_hooks/hook_wrapper.sh"
21
+ }
22
+ ]
23
+ }
24
+ ],
25
+ "PostToolUse": [
26
+ {
27
+ "matcher": "*",
28
+ "hooks": [
29
+ {
30
+ "type": "command",
31
+ "command": "/Users/masa/Projects/claude-mpm/src/claude_mpm/hooks/claude_hooks/hook_wrapper.sh"
32
+ }
33
+ ]
34
+ }
35
+ ]
36
+ }
37
+ }
@@ -27,3 +27,14 @@ build/
27
27
  # Test logs
28
28
  test_logs/
29
29
  tests/test_logs/
30
+
31
+ # Agent backups
32
+ src/claude_mpm/agents/templates/backup/
33
+ **/backup/
34
+
35
+ # Temporary directories
36
+ test_dir/
37
+ ai-trackdown-pytools-bug-support/
38
+
39
+ # Claude MPM temporary files
40
+ **/.claude-mpm/
@@ -0,0 +1 @@
1
+ 3.11
@@ -5,6 +5,65 @@ All notable changes to claude-mpm will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [2.0.0] - 2025-07-27
9
+
10
+ ### BREAKING CHANGES
11
+ - **Agent Schema Standardization**: Complete overhaul of agent definition format
12
+ - Agent IDs no longer use `_agent` suffix (e.g., `research_agent` → `research`)
13
+ - Migrated from YAML to JSON format with strict schema validation
14
+ - All agents must conform to new standardized schema at `src/claude_mpm/schemas/agent_schema.json`
15
+ - Resource allocation now uses predefined tiers (intensive, standard, lightweight)
16
+ - Model names standardized (e.g., `claude-sonnet-4-20250514` → `claude-4-sonnet-20250514`)
17
+
18
+ ### Added
19
+ - **Comprehensive Schema Validation Framework**
20
+ - JSON Schema-based validation for all agent definitions
21
+ - Business rule validation for resource allocation consistency
22
+ - Automatic validation on agent load
23
+ - Migration tools for converting old format to new
24
+ - **Resource Tier System**
25
+ - Three predefined tiers: intensive (900s/3072MB), standard (600s/2048MB), lightweight (300s/1024MB)
26
+ - Automatic resource allocation based on agent type
27
+ - Clear rationale for resource assignments
28
+ - **Enhanced Agent Metadata**
29
+ - Required metadata fields: name, description, category, tags
30
+ - Optional fields: author, created_at, updated_at
31
+ - Improved agent discoverability through standardized tags
32
+ - **Validation API**
33
+ - `AgentValidator` class for programmatic validation
34
+ - Detailed error and warning reporting
35
+ - Integration with CI/CD pipelines
36
+
37
+ ### Changed
38
+ - **Agent Definition Format**
39
+ - Migrated from YAML to JSON for better schema validation
40
+ - Standardized field names and structure
41
+ - Added required version field using semantic versioning
42
+ - Instructions limited to 8000 characters for consistency
43
+ - **Agent Loader Improvements**
44
+ - Backward compatibility for old agent IDs (both `research` and `research_agent` work)
45
+ - Performance improvements through caching (1.6x faster)
46
+ - Better error messages for validation failures
47
+ - **Model Naming Convention**
48
+ - Standardized to `claude-{version}-{variant}-{date}` format
49
+ - Updated all agents to use consistent model names
50
+
51
+ ### Fixed
52
+ - **Validation Issues**
53
+ - Inconsistent versioning across agents (was using integers, now semantic)
54
+ - Resource allocation inconsistencies
55
+ - Missing required fields in some agents
56
+ - Tool array inconsistencies
57
+
58
+ ### Migration Guide
59
+ - See [Schema Standardization Migration Guide](docs/user/05-migration/schema-standardization-migration.md)
60
+ - Use backward compatibility layer during transition
61
+ - Run validation on all custom agents before deployment
62
+
63
+ ## [1.1.0] - 2025-07-26
64
+
65
+ ## [1.0.1] - 2025-07-26
66
+
8
67
  ## [1.0.0] - 2025-07-26
9
68
 
10
69
  ### BREAKING CHANGES
@@ -0,0 +1,204 @@
1
+ # Installation Guide
2
+
3
+ Claude MPM can be installed via UV, pip, or npm. UV is recommended for the best experience.
4
+
5
+ ## Prerequisites
6
+
7
+ - **Claude Code** 1.0.60 or later (required)
8
+ - **Python** 3.8 or later
9
+ - **Package Manager**: UV (recommended), pip, or npm
10
+
11
+ ## Option 1: Install via UV (Recommended)
12
+
13
+ [UV](https://github.com/astral-sh/uv) is a fast Python package installer that handles virtual environments automatically:
14
+
15
+ ```bash
16
+ # Install UV if not already installed
17
+ curl -LsSf https://astral.sh/uv/install.sh | sh
18
+
19
+ # Install claude-mpm
20
+ uv pip install claude-mpm
21
+ ```
22
+
23
+ ## Option 2: Install via pip
24
+
25
+ Traditional Python installation:
26
+
27
+ ```bash
28
+ # Create virtual environment (recommended)
29
+ python -m venv claude-mpm-env
30
+ source claude-mpm-env/bin/activate # On Windows: claude-mpm-env\Scripts\activate
31
+
32
+ # Install claude-mpm
33
+ pip install claude-mpm
34
+ ```
35
+
36
+ ## Option 3: Install via npm (Wrapper)
37
+
38
+ The npm package provides a convenient wrapper that will install the Python package on first run:
39
+
40
+ ```bash
41
+ npm install -g @bobmatnyc/claude-mpm
42
+ ```
43
+
44
+ **Note**: This is just a wrapper - Python 3.8+ must be installed on your system.
45
+
46
+ ## Verify Installation
47
+
48
+ After installation, verify it works:
49
+
50
+ ```bash
51
+ # Show version and help
52
+ claude-mpm --help
53
+
54
+ # Test in interactive mode
55
+ claude-mpm
56
+
57
+ # Run a simple test
58
+ claude-mpm run -i "Say hello" --non-interactive
59
+ ```
60
+
61
+ ## Usage
62
+
63
+ ### Interactive Mode (Default)
64
+
65
+ ```bash
66
+ claude-mpm
67
+ ```
68
+
69
+ This launches Claude Code with the PM framework loaded, including:
70
+ - System instructions for orchestration
71
+ - Deployed specialized agents (engineer, qa, research, etc.)
72
+ - Delegation-only operation mode
73
+
74
+ ### Non-Interactive Mode
75
+
76
+ ```bash
77
+ claude-mpm run -i "Your task here" --non-interactive
78
+ ```
79
+
80
+ ### Common Options
81
+
82
+ ```bash
83
+ # Disable agent deployment
84
+ claude-mpm --no-native-agents
85
+
86
+ # Enable debug logging
87
+ claude-mpm --logging DEBUG
88
+
89
+ # Disable hooks
90
+ claude-mpm --no-hooks
91
+ ```
92
+
93
+ ## Terminal UI Mode
94
+
95
+ Claude MPM includes a terminal UI that shows Claude output, ToDo lists, and tickets in separate panes:
96
+
97
+ ```bash
98
+ # Launch with rich UI (requires pip install claude-mpm[ui])
99
+ claude-mpm --mpm:ui
100
+
101
+ # Launch with basic curses UI
102
+ claude-mpm --mpm:ui --mode curses
103
+ ```
104
+
105
+ ### Terminal UI Features
106
+
107
+ - **Claude Output Pane**: Live Claude interaction
108
+ - **ToDo List Pane**: Shows current tasks from Claude's todo system
109
+ - **Tickets Pane**: Browse and create tickets
110
+ - **Keyboard Shortcuts**:
111
+ - `Tab`: Switch between panes
112
+ - `F5`: Refresh ToDo and ticket lists
113
+ - `N`: Create new ticket (when in tickets pane)
114
+ - `Q`: Quit
115
+
116
+ ### Installing UI Dependencies
117
+
118
+ For the best terminal UI experience:
119
+
120
+ ```bash
121
+ # With UV
122
+ uv pip install claude-mpm[ui]
123
+
124
+ # With pip
125
+ pip install claude-mpm[ui]
126
+ ```
127
+
128
+ ## Development Installation
129
+
130
+ For contributing or modifying Claude MPM:
131
+
132
+ ```bash
133
+ # Clone repository
134
+ git clone https://github.com/bobmatnyc/claude-mpm.git
135
+ cd claude-mpm
136
+
137
+ # Run development install script (auto-detects UV)
138
+ ./install_dev.sh
139
+ ```
140
+
141
+ ## Troubleshooting
142
+
143
+ ### "claude: command not found"
144
+
145
+ Install Claude Code 1.0.60+ from https://claude.ai/code
146
+
147
+ ### "Python not found"
148
+
149
+ Install Python 3.8+ from:
150
+ - macOS: `brew install python@3.11`
151
+ - Ubuntu/Debian: `sudo apt install python3.11`
152
+ - Windows/Other: https://python.org
153
+
154
+ ### PEP 668 "externally managed environment" error
155
+
156
+ Modern systems protect the global Python environment. Solutions:
157
+
158
+ 1. **Use UV** (automatically handles virtual environments)
159
+ 2. **Use pipx**: `pipx install claude-mpm`
160
+ 3. **Use a virtual environment** (see pip instructions above)
161
+
162
+ ### npm install fails
163
+
164
+ Ensure you have Node.js 14+ installed. The npm package is just a wrapper - the actual functionality requires Python.
165
+
166
+ ## Updating
167
+
168
+ ### UV
169
+ ```bash
170
+ uv pip install --upgrade claude-mpm
171
+ ```
172
+
173
+ ### pip
174
+ ```bash
175
+ pip install --upgrade claude-mpm
176
+ ```
177
+
178
+ ### npm
179
+ ```bash
180
+ npm update -g @bobmatnyc/claude-mpm
181
+ ```
182
+
183
+ ## Uninstalling
184
+
185
+ ### UV
186
+ ```bash
187
+ uv pip uninstall claude-mpm
188
+ ```
189
+
190
+ ### pip
191
+ ```bash
192
+ pip uninstall claude-mpm
193
+ ```
194
+
195
+ ### npm
196
+ ```bash
197
+ npm uninstall -g @bobmatnyc/claude-mpm
198
+ ```
199
+
200
+ ## Next Steps
201
+
202
+ - See [Getting Started Guide](docs/user/01-getting-started/README.md)
203
+ - Read the [User Documentation](docs/user/README.md)
204
+ - Check out [Example Usage](docs/user/02-guides/basic-usage.md)
@@ -24,6 +24,9 @@ include ticket
24
24
  # Include configuration examples
25
25
  recursive-include src/claude_mpm/config *.py
26
26
 
27
+ # Include hook files (including shell scripts)
28
+ recursive-include src/claude_mpm/hooks *.py *.sh
29
+
27
30
  # Exclude test and cache files
28
31
  global-exclude __pycache__
29
32
  global-exclude *.py[co]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: claude-mpm
3
- Version: 1.0.0
3
+ Version: 2.0.0
4
4
  Summary: Claude Multi-agent Project Manager - Clean orchestration with ticket management
5
5
  Home-page: https://github.com/bobmatnyc/claude-mpm
6
6
  Author: Claude MPM Team
@@ -44,8 +44,106 @@ Dynamic: requires-python
44
44
 
45
45
  # Claude MPM - Multi-Agent Project Manager
46
46
 
47
+ > **Note**: This project is a fork of [claude-multiagent-pm](https://github.com/kfsone/claude-multiagent-pm), enhanced to integrate with [Claude Code](https://docs.anthropic.com/en/docs/claude-code) v1.0.60+'s native agent system. This integration enables seamless orchestration of Claude Code's built-in agents (research, engineer, qa, documentation, security, ops, version_control, data_engineer) through a unified project management interface.
48
+
49
+ > **⚠️ Version 2.0.0 Breaking Changes**: Agent schema has been standardized. Agent IDs no longer use the `_agent` suffix (e.g., `research_agent` → `research`). See the [migration guide](docs/user/05-migration/schema-standardization-migration.md) for details.
50
+
47
51
  A framework for Claude that enables multi-agent workflows and extensible capabilities through a modular architecture.
48
52
 
53
+ ## Quick Start
54
+
55
+ ### Why Interactive Mode?
56
+ **Interactive mode is significantly more performant** than non-interactive commands. It maintains context between requests and avoids the overhead of repeatedly launching Claude, making your development workflow much faster and more efficient.
57
+
58
+ ### Installation
59
+
60
+ ```bash
61
+ # Install globally via npm (recommended)
62
+ npm install -g @bobmatnyc/claude-mpm
63
+
64
+ # Or use npx for one-time usage
65
+ npx @bobmatnyc/claude-mpm
66
+ ```
67
+
68
+ ### Three Essential Use Cases
69
+
70
+ #### 1. 🔍 **Understand Your Codebase**
71
+ Start with codebase exploration - perfect for onboarding or getting oriented:
72
+
73
+ ```bash
74
+ # Launch interactive mode
75
+ claude-mpm
76
+
77
+ # Then ask:
78
+ > Explain the codebase structure. What are the main components, how do they interact, and what architectural patterns are used?
79
+ ```
80
+
81
+ #### 2. 🚀 **Build a New Project**
82
+ For greenfield development, use detailed, AI-generated prompts for best results:
83
+
84
+ ```bash
85
+ claude-mpm
86
+
87
+ # Example detailed prompt (AI-generated prompts work best):
88
+ > Create a modern web application with the following requirements:
89
+ > - Next.js 14 with TypeScript and Tailwind CSS
90
+ > - Authentication using NextAuth.js with GitHub provider
91
+ > - PostgreSQL database with Prisma ORM
92
+ > - User dashboard with CRUD operations for "projects"
93
+ > - API routes following REST conventions
94
+ > - Responsive design with dark/light mode toggle
95
+ > - Form validation using react-hook-form and zod
96
+ > - Include proper error handling and loading states
97
+ > - Set up ESLint, Prettier, and basic testing with Jest
98
+ > - Generate a complete project structure with all necessary files
99
+ ```
100
+
101
+ #### 3. 🔧 **Enhance Existing Code**
102
+ For working on your current codebase, provide rich context:
103
+
104
+ ```bash
105
+ claude-mpm
106
+
107
+ # Example detailed enhancement prompt:
108
+ > I need to add real-time notifications to my existing Next.js application. Current tech stack:
109
+ > - Next.js 13 with app router
110
+ > - TypeScript
111
+ > - Tailwind CSS
112
+ > - PostgreSQL with Prisma
113
+ > - User authentication already implemented
114
+ >
115
+ > Requirements:
116
+ > - WebSocket-based real-time notifications
117
+ > - Toast notifications in the UI
118
+ > - Database table to store notification history
119
+ > - Mark as read/unread functionality
120
+ > - Different notification types (info, warning, success, error)
121
+ > - Admin panel to send system-wide notifications
122
+ > - Email fallback for offline users
123
+ >
124
+ > Please analyze my current codebase structure and implement this feature following my existing patterns and conventions.
125
+ ```
126
+
127
+ ### 💡 Pro Tips for Better Results
128
+
129
+ 1. **Use AI to generate your prompts**: Ask ChatGPT or Claude to help you create detailed, specific prompts for your use case
130
+ 2. **Provide context**: Include your tech stack, requirements, and any constraints
131
+ 3. **Stay interactive**: Keep the conversation going to refine and iterate on solutions
132
+ 4. **Ask for explanations**: Request explanations of architectural decisions and trade-offs
133
+
134
+ ### Alternative: Non-Interactive Mode
135
+ For automation or simple one-off tasks:
136
+
137
+ ```bash
138
+ # Quick analysis
139
+ claude-mpm run -i "What testing frameworks are used in this project?" --non-interactive
140
+
141
+ # With subprocess orchestration for complex tasks
142
+ claude-mpm run --subprocess -i "Audit this codebase for security vulnerabilities" --non-interactive
143
+ ```
144
+
145
+ **Note**: Non-interactive mode has higher overhead and is less efficient for multi-step development workflows.
146
+
49
147
 
50
148
  ## 📚 Documentation
51
149
 
@@ -117,17 +215,45 @@ Claude MPM provides a modular framework for extending Claude's capabilities:
117
215
 
118
216
  ## Installation
119
217
 
120
- ### From Source
218
+ ### Other Installation Methods
219
+
220
+ #### Using UV (Recommended - Fast)
221
+ UV is a lightning-fast Python package manager written in Rust, offering 10-100x speed improvements over pip.
222
+
223
+ ```bash
224
+ # Install UV (if not already installed)
225
+ curl -LsSf https://astral.sh/uv/install.sh | sh
226
+
227
+ # Install claude-mpm with UV
228
+ uv pip install claude-mpm
229
+
230
+ # Or install from git
231
+ uv pip install git+https://github.com/bobmatnyc/claude-mpm.git
232
+ ```
233
+
234
+ #### Using pip (Traditional)
235
+ ```bash
236
+ # Install from PyPI
237
+ pip install claude-mpm
238
+
239
+ # Or install from git
240
+ pip install git+https://github.com/bobmatnyc/claude-mpm.git
241
+ ```
242
+
243
+ ### From Source (Development)
121
244
 
122
245
  ```bash
123
246
  # Clone the repository
124
- git clone https://github.com/yourusername/claude-mpm.git
247
+ git clone https://github.com/bobmatnyc/claude-mpm.git
125
248
  cd claude-mpm
126
249
 
127
- # Run development installation script
128
- ./install_dev.sh
250
+ # Option A: Using UV (Recommended - Much faster)
251
+ uv venv
252
+ source venv/bin/activate # On Windows: venv\Scripts\activate
253
+ uv pip install -e .
129
254
 
130
- # Activate virtual environment
255
+ # Option B: Traditional approach
256
+ ./install_dev.sh
131
257
  source venv/bin/activate
132
258
  ```
133
259
 
@@ -135,7 +261,7 @@ source venv/bin/activate
135
261
 
136
262
  #### Core Requirements
137
263
  - Python 3.8+
138
- - Claude CLI (must be installed and in PATH)
264
+ - Claude Code CLI 1.0.60+ (must be installed and in PATH)
139
265
 
140
266
  #### Automatically Installed
141
267
  - tree-sitter & language packs (for code analysis)
@@ -181,21 +307,6 @@ Commands:
181
307
  info Show framework and configuration info
182
308
  ```
183
309
 
184
- ## Quick Start
185
-
186
- ```bash
187
- # 1. Clone and install
188
- git clone https://github.com/yourusername/claude-mpm.git
189
- cd claude-mpm
190
- ./install_dev.sh
191
- source venv/bin/activate
192
-
193
- # 2. Run interactive session
194
- claude-mpm
195
-
196
- # 3. Or run a single command
197
- claude-mpm run -i "Explain the codebase structure" --non-interactive
198
- ```
199
310
 
200
311
 
201
312
  ## Architecture