claude-mpm 4.14.6__py3-none-any.whl → 4.21.0__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.
Files changed (353) hide show
  1. claude_mpm/VERSION +1 -1
  2. claude_mpm/agents/BASE_ENGINEER.md +286 -0
  3. claude_mpm/agents/BASE_PM.md +272 -23
  4. claude_mpm/agents/OUTPUT_STYLE.md +48 -3
  5. claude_mpm/agents/PM_INSTRUCTIONS.md +49 -0
  6. claude_mpm/agents/agent_loader.py +17 -5
  7. claude_mpm/agents/frontmatter_validator.py +284 -253
  8. claude_mpm/agents/templates/agentic-coder-optimizer.json +9 -2
  9. claude_mpm/agents/templates/api_qa.json +7 -1
  10. claude_mpm/agents/templates/clerk-ops.json +8 -1
  11. claude_mpm/agents/templates/code_analyzer.json +4 -1
  12. claude_mpm/agents/templates/dart_engineer.json +11 -1
  13. claude_mpm/agents/templates/data_engineer.json +11 -1
  14. claude_mpm/agents/templates/documentation.json +6 -1
  15. claude_mpm/agents/templates/engineer.json +18 -1
  16. claude_mpm/agents/templates/gcp_ops_agent.json +8 -1
  17. claude_mpm/agents/templates/golang_engineer.json +11 -1
  18. claude_mpm/agents/templates/java_engineer.json +12 -2
  19. claude_mpm/agents/templates/local_ops_agent.json +216 -37
  20. claude_mpm/agents/templates/nextjs_engineer.json +11 -1
  21. claude_mpm/agents/templates/ops.json +8 -1
  22. claude_mpm/agents/templates/php-engineer.json +20 -4
  23. claude_mpm/agents/templates/project_organizer.json +10 -3
  24. claude_mpm/agents/templates/prompt-engineer.json +5 -1
  25. claude_mpm/agents/templates/python_engineer.json +19 -4
  26. claude_mpm/agents/templates/qa.json +7 -1
  27. claude_mpm/agents/templates/react_engineer.json +11 -1
  28. claude_mpm/agents/templates/refactoring_engineer.json +8 -1
  29. claude_mpm/agents/templates/research.json +4 -1
  30. claude_mpm/agents/templates/ruby-engineer.json +11 -1
  31. claude_mpm/agents/templates/rust_engineer.json +23 -8
  32. claude_mpm/agents/templates/security.json +6 -1
  33. claude_mpm/agents/templates/svelte-engineer.json +225 -0
  34. claude_mpm/agents/templates/ticketing.json +6 -1
  35. claude_mpm/agents/templates/typescript_engineer.json +11 -1
  36. claude_mpm/agents/templates/vercel_ops_agent.json +8 -1
  37. claude_mpm/agents/templates/version_control.json +8 -1
  38. claude_mpm/agents/templates/web_qa.json +7 -1
  39. claude_mpm/agents/templates/web_ui.json +11 -1
  40. claude_mpm/cli/__init__.py +34 -740
  41. claude_mpm/cli/commands/__init__.py +2 -0
  42. claude_mpm/cli/commands/agent_manager.py +25 -12
  43. claude_mpm/cli/commands/agent_state_manager.py +186 -0
  44. claude_mpm/cli/commands/agents.py +204 -148
  45. claude_mpm/cli/commands/aggregate.py +7 -3
  46. claude_mpm/cli/commands/analyze.py +9 -4
  47. claude_mpm/cli/commands/analyze_code.py +7 -2
  48. claude_mpm/cli/commands/auto_configure.py +7 -9
  49. claude_mpm/cli/commands/config.py +47 -13
  50. claude_mpm/cli/commands/configure.py +294 -1788
  51. claude_mpm/cli/commands/configure_agent_display.py +261 -0
  52. claude_mpm/cli/commands/configure_behavior_manager.py +204 -0
  53. claude_mpm/cli/commands/configure_hook_manager.py +225 -0
  54. claude_mpm/cli/commands/configure_models.py +18 -0
  55. claude_mpm/cli/commands/configure_navigation.py +167 -0
  56. claude_mpm/cli/commands/configure_paths.py +104 -0
  57. claude_mpm/cli/commands/configure_persistence.py +254 -0
  58. claude_mpm/cli/commands/configure_startup_manager.py +646 -0
  59. claude_mpm/cli/commands/configure_template_editor.py +497 -0
  60. claude_mpm/cli/commands/configure_validators.py +73 -0
  61. claude_mpm/cli/commands/local_deploy.py +3 -2
  62. claude_mpm/cli/commands/memory.py +54 -20
  63. claude_mpm/cli/commands/mpm_init/__init__.py +73 -0
  64. claude_mpm/cli/commands/mpm_init/core.py +525 -0
  65. claude_mpm/cli/commands/mpm_init/display.py +341 -0
  66. claude_mpm/cli/commands/mpm_init/git_activity.py +427 -0
  67. claude_mpm/cli/commands/mpm_init/modes.py +397 -0
  68. claude_mpm/cli/commands/mpm_init/prompts.py +442 -0
  69. claude_mpm/cli/commands/mpm_init_cli.py +396 -0
  70. claude_mpm/cli/commands/mpm_init_handler.py +75 -4
  71. claude_mpm/cli/commands/skills.py +488 -0
  72. claude_mpm/cli/executor.py +204 -0
  73. claude_mpm/cli/helpers.py +105 -0
  74. claude_mpm/cli/interactive/__init__.py +3 -0
  75. claude_mpm/cli/interactive/skills_wizard.py +491 -0
  76. claude_mpm/cli/parsers/base_parser.py +7 -0
  77. claude_mpm/cli/parsers/mpm_init_parser.py +42 -0
  78. claude_mpm/cli/parsers/skills_parser.py +137 -0
  79. claude_mpm/cli/shared/output_formatters.py +28 -19
  80. claude_mpm/cli/startup.py +538 -0
  81. claude_mpm/commands/mpm-auto-configure.md +52 -0
  82. claude_mpm/commands/mpm-help.md +3 -0
  83. claude_mpm/commands/mpm-init.md +112 -6
  84. claude_mpm/commands/mpm-version.md +113 -0
  85. claude_mpm/commands/mpm.md +1 -0
  86. claude_mpm/config/agent_config.py +2 -2
  87. claude_mpm/constants.py +12 -0
  88. claude_mpm/core/base_service.py +13 -12
  89. claude_mpm/core/config.py +42 -0
  90. claude_mpm/core/enums.py +452 -0
  91. claude_mpm/core/factories.py +1 -1
  92. claude_mpm/core/instruction_reinforcement_hook.py +2 -1
  93. claude_mpm/core/interactive_session.py +6 -3
  94. claude_mpm/core/interfaces.py +56 -1
  95. claude_mpm/core/logging_config.py +6 -2
  96. claude_mpm/core/oneshot_session.py +8 -4
  97. claude_mpm/core/optimized_agent_loader.py +3 -3
  98. claude_mpm/core/output_style_manager.py +12 -192
  99. claude_mpm/core/service_registry.py +5 -1
  100. claude_mpm/core/types.py +2 -9
  101. claude_mpm/core/typing_utils.py +7 -6
  102. claude_mpm/dashboard/static/js/dashboard.js +0 -14
  103. claude_mpm/dashboard/templates/index.html +3 -41
  104. claude_mpm/hooks/__init__.py +8 -0
  105. claude_mpm/hooks/claude_hooks/response_tracking.py +35 -1
  106. claude_mpm/hooks/instruction_reinforcement.py +7 -2
  107. claude_mpm/hooks/session_resume_hook.py +121 -0
  108. claude_mpm/models/resume_log.py +340 -0
  109. claude_mpm/services/agents/auto_config_manager.py +10 -11
  110. claude_mpm/services/agents/deployment/agent_configuration_manager.py +1 -1
  111. claude_mpm/services/agents/deployment/agent_record_service.py +1 -1
  112. claude_mpm/services/agents/deployment/agent_validator.py +17 -1
  113. claude_mpm/services/agents/deployment/async_agent_deployment.py +1 -1
  114. claude_mpm/services/agents/deployment/interface_adapter.py +3 -2
  115. claude_mpm/services/agents/deployment/local_template_deployment.py +1 -1
  116. claude_mpm/services/agents/deployment/pipeline/steps/agent_processing_step.py +7 -6
  117. claude_mpm/services/agents/deployment/pipeline/steps/base_step.py +7 -16
  118. claude_mpm/services/agents/deployment/pipeline/steps/configuration_step.py +4 -3
  119. claude_mpm/services/agents/deployment/pipeline/steps/target_directory_step.py +5 -3
  120. claude_mpm/services/agents/deployment/pipeline/steps/validation_step.py +6 -5
  121. claude_mpm/services/agents/deployment/refactored_agent_deployment_service.py +9 -6
  122. claude_mpm/services/agents/deployment/validation/__init__.py +3 -1
  123. claude_mpm/services/agents/deployment/validation/validation_result.py +1 -9
  124. claude_mpm/services/agents/local_template_manager.py +1 -1
  125. claude_mpm/services/agents/memory/agent_memory_manager.py +5 -2
  126. claude_mpm/services/agents/recommender.py +47 -0
  127. claude_mpm/services/agents/registry/modification_tracker.py +5 -2
  128. claude_mpm/services/cli/resume_service.py +617 -0
  129. claude_mpm/services/cli/session_manager.py +87 -0
  130. claude_mpm/services/cli/session_pause_manager.py +504 -0
  131. claude_mpm/services/cli/session_resume_helper.py +372 -0
  132. claude_mpm/services/command_handler_service.py +11 -5
  133. claude_mpm/services/core/interfaces/process.py +6 -6
  134. claude_mpm/services/core/interfaces.py +56 -1
  135. claude_mpm/services/core/models/__init__.py +0 -2
  136. claude_mpm/services/core/models/agent_config.py +15 -28
  137. claude_mpm/services/core/models/health.py +1 -28
  138. claude_mpm/services/core/models/process.py +22 -41
  139. claude_mpm/services/core/path_resolver.py +1 -1
  140. claude_mpm/services/diagnostics/__init__.py +2 -2
  141. claude_mpm/services/diagnostics/checks/agent_check.py +25 -24
  142. claude_mpm/services/diagnostics/checks/claude_code_check.py +24 -23
  143. claude_mpm/services/diagnostics/checks/common_issues_check.py +25 -24
  144. claude_mpm/services/diagnostics/checks/configuration_check.py +24 -23
  145. claude_mpm/services/diagnostics/checks/filesystem_check.py +18 -17
  146. claude_mpm/services/diagnostics/checks/installation_check.py +30 -29
  147. claude_mpm/services/diagnostics/checks/instructions_check.py +20 -19
  148. claude_mpm/services/diagnostics/checks/mcp_check.py +50 -36
  149. claude_mpm/services/diagnostics/checks/mcp_services_check.py +36 -31
  150. claude_mpm/services/diagnostics/checks/monitor_check.py +23 -22
  151. claude_mpm/services/diagnostics/checks/startup_log_check.py +9 -8
  152. claude_mpm/services/diagnostics/diagnostic_runner.py +6 -5
  153. claude_mpm/services/diagnostics/doctor_reporter.py +28 -25
  154. claude_mpm/services/diagnostics/models.py +37 -21
  155. claude_mpm/services/infrastructure/monitoring/__init__.py +1 -1
  156. claude_mpm/services/infrastructure/monitoring/aggregator.py +12 -12
  157. claude_mpm/services/infrastructure/monitoring/base.py +5 -13
  158. claude_mpm/services/infrastructure/monitoring/network.py +7 -6
  159. claude_mpm/services/infrastructure/monitoring/process.py +13 -12
  160. claude_mpm/services/infrastructure/monitoring/resources.py +7 -6
  161. claude_mpm/services/infrastructure/monitoring/service.py +16 -15
  162. claude_mpm/services/infrastructure/resume_log_generator.py +439 -0
  163. claude_mpm/services/local_ops/__init__.py +5 -3
  164. claude_mpm/services/local_ops/crash_detector.py +1 -1
  165. claude_mpm/services/local_ops/health_checks/http_check.py +2 -1
  166. claude_mpm/services/local_ops/health_checks/process_check.py +2 -1
  167. claude_mpm/services/local_ops/health_checks/resource_check.py +2 -1
  168. claude_mpm/services/local_ops/health_manager.py +1 -1
  169. claude_mpm/services/local_ops/process_manager.py +12 -12
  170. claude_mpm/services/local_ops/restart_manager.py +1 -1
  171. claude_mpm/services/local_ops/state_manager.py +6 -5
  172. claude_mpm/services/local_ops/unified_manager.py +2 -2
  173. claude_mpm/services/mcp_config_manager.py +7 -126
  174. claude_mpm/services/mcp_gateway/auto_configure.py +31 -25
  175. claude_mpm/services/mcp_gateway/core/__init__.py +1 -2
  176. claude_mpm/services/mcp_gateway/core/base.py +18 -31
  177. claude_mpm/services/mcp_gateway/core/process_pool.py +19 -10
  178. claude_mpm/services/mcp_gateway/tools/external_mcp_services.py +97 -45
  179. claude_mpm/services/mcp_gateway/tools/health_check_tool.py +30 -28
  180. claude_mpm/services/memory_hook_service.py +4 -1
  181. claude_mpm/services/monitor/daemon_manager.py +3 -2
  182. claude_mpm/services/monitor/handlers/dashboard.py +2 -1
  183. claude_mpm/services/monitor/handlers/hooks.py +2 -1
  184. claude_mpm/services/monitor/management/lifecycle.py +3 -2
  185. claude_mpm/services/monitor/server.py +2 -1
  186. claude_mpm/services/session_management_service.py +3 -2
  187. claude_mpm/services/session_manager.py +205 -1
  188. claude_mpm/services/shared/async_service_base.py +16 -27
  189. claude_mpm/services/shared/lifecycle_service_base.py +1 -14
  190. claude_mpm/services/socketio/handlers/__init__.py +5 -2
  191. claude_mpm/services/socketio/handlers/hook.py +13 -2
  192. claude_mpm/services/socketio/handlers/registry.py +4 -2
  193. claude_mpm/services/socketio/server/main.py +10 -8
  194. claude_mpm/services/subprocess_launcher_service.py +14 -5
  195. claude_mpm/services/unified/analyzer_strategies/code_analyzer.py +8 -7
  196. claude_mpm/services/unified/analyzer_strategies/dependency_analyzer.py +6 -5
  197. claude_mpm/services/unified/analyzer_strategies/performance_analyzer.py +8 -7
  198. claude_mpm/services/unified/analyzer_strategies/security_analyzer.py +7 -6
  199. claude_mpm/services/unified/analyzer_strategies/structure_analyzer.py +5 -4
  200. claude_mpm/services/unified/config_strategies/validation_strategy.py +13 -9
  201. claude_mpm/services/unified/deployment_strategies/cloud_strategies.py +10 -3
  202. claude_mpm/services/unified/deployment_strategies/local.py +6 -5
  203. claude_mpm/services/unified/deployment_strategies/utils.py +6 -5
  204. claude_mpm/services/unified/deployment_strategies/vercel.py +7 -6
  205. claude_mpm/services/unified/interfaces.py +3 -1
  206. claude_mpm/services/unified/unified_analyzer.py +14 -10
  207. claude_mpm/services/unified/unified_config.py +2 -1
  208. claude_mpm/services/unified/unified_deployment.py +9 -4
  209. claude_mpm/services/version_service.py +104 -1
  210. claude_mpm/skills/__init__.py +42 -0
  211. claude_mpm/skills/agent_skills_injector.py +324 -0
  212. claude_mpm/skills/bundled/LICENSE_ATTRIBUTIONS.md +79 -0
  213. claude_mpm/skills/bundled/__init__.py +6 -0
  214. claude_mpm/skills/bundled/api-documentation.md +393 -0
  215. claude_mpm/skills/bundled/async-testing.md +571 -0
  216. claude_mpm/skills/bundled/code-review.md +143 -0
  217. claude_mpm/skills/bundled/collaboration/brainstorming/SKILL.md +79 -0
  218. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/SKILL.md +178 -0
  219. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/agent-prompts.md +577 -0
  220. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/coordination-patterns.md +467 -0
  221. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/examples.md +537 -0
  222. claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/troubleshooting.md +730 -0
  223. claude_mpm/skills/bundled/collaboration/requesting-code-review/SKILL.md +112 -0
  224. claude_mpm/skills/bundled/collaboration/requesting-code-review/references/code-reviewer-template.md +146 -0
  225. claude_mpm/skills/bundled/collaboration/requesting-code-review/references/review-examples.md +412 -0
  226. claude_mpm/skills/bundled/collaboration/writing-plans/SKILL.md +81 -0
  227. claude_mpm/skills/bundled/collaboration/writing-plans/references/best-practices.md +362 -0
  228. claude_mpm/skills/bundled/collaboration/writing-plans/references/plan-structure-templates.md +312 -0
  229. claude_mpm/skills/bundled/database-migration.md +199 -0
  230. claude_mpm/skills/bundled/debugging/root-cause-tracing/SKILL.md +152 -0
  231. claude_mpm/skills/bundled/debugging/root-cause-tracing/references/advanced-techniques.md +668 -0
  232. claude_mpm/skills/bundled/debugging/root-cause-tracing/references/examples.md +587 -0
  233. claude_mpm/skills/bundled/debugging/root-cause-tracing/references/integration.md +438 -0
  234. claude_mpm/skills/bundled/debugging/root-cause-tracing/references/tracing-techniques.md +391 -0
  235. claude_mpm/skills/bundled/debugging/systematic-debugging/CREATION-LOG.md +119 -0
  236. claude_mpm/skills/bundled/debugging/systematic-debugging/SKILL.md +148 -0
  237. claude_mpm/skills/bundled/debugging/systematic-debugging/references/anti-patterns.md +483 -0
  238. claude_mpm/skills/bundled/debugging/systematic-debugging/references/examples.md +452 -0
  239. claude_mpm/skills/bundled/debugging/systematic-debugging/references/troubleshooting.md +449 -0
  240. claude_mpm/skills/bundled/debugging/systematic-debugging/references/workflow.md +411 -0
  241. claude_mpm/skills/bundled/debugging/systematic-debugging/test-academic.md +14 -0
  242. claude_mpm/skills/bundled/debugging/systematic-debugging/test-pressure-1.md +58 -0
  243. claude_mpm/skills/bundled/debugging/systematic-debugging/test-pressure-2.md +68 -0
  244. claude_mpm/skills/bundled/debugging/systematic-debugging/test-pressure-3.md +69 -0
  245. claude_mpm/skills/bundled/debugging/verification-before-completion/SKILL.md +131 -0
  246. claude_mpm/skills/bundled/debugging/verification-before-completion/references/gate-function.md +325 -0
  247. claude_mpm/skills/bundled/debugging/verification-before-completion/references/integration-and-workflows.md +490 -0
  248. claude_mpm/skills/bundled/debugging/verification-before-completion/references/red-flags-and-failures.md +425 -0
  249. claude_mpm/skills/bundled/debugging/verification-before-completion/references/verification-patterns.md +499 -0
  250. claude_mpm/skills/bundled/docker-containerization.md +194 -0
  251. claude_mpm/skills/bundled/express-local-dev.md +1429 -0
  252. claude_mpm/skills/bundled/fastapi-local-dev.md +1199 -0
  253. claude_mpm/skills/bundled/git-workflow.md +414 -0
  254. claude_mpm/skills/bundled/imagemagick.md +204 -0
  255. claude_mpm/skills/bundled/json-data-handling.md +223 -0
  256. claude_mpm/skills/bundled/main/artifacts-builder/SKILL.md +86 -0
  257. claude_mpm/skills/bundled/main/internal-comms/SKILL.md +43 -0
  258. claude_mpm/skills/bundled/main/internal-comms/examples/3p-updates.md +47 -0
  259. claude_mpm/skills/bundled/main/internal-comms/examples/company-newsletter.md +65 -0
  260. claude_mpm/skills/bundled/main/internal-comms/examples/faq-answers.md +30 -0
  261. claude_mpm/skills/bundled/main/internal-comms/examples/general-comms.md +16 -0
  262. claude_mpm/skills/bundled/main/mcp-builder/SKILL.md +160 -0
  263. claude_mpm/skills/bundled/main/mcp-builder/reference/design_principles.md +412 -0
  264. claude_mpm/skills/bundled/main/mcp-builder/reference/evaluation.md +602 -0
  265. claude_mpm/skills/bundled/main/mcp-builder/reference/mcp_best_practices.md +915 -0
  266. claude_mpm/skills/bundled/main/mcp-builder/reference/node_mcp_server.md +916 -0
  267. claude_mpm/skills/bundled/main/mcp-builder/reference/python_mcp_server.md +752 -0
  268. claude_mpm/skills/bundled/main/mcp-builder/reference/workflow.md +1237 -0
  269. claude_mpm/skills/bundled/main/mcp-builder/scripts/connections.py +157 -0
  270. claude_mpm/skills/bundled/main/mcp-builder/scripts/evaluation.py +425 -0
  271. claude_mpm/skills/bundled/main/skill-creator/SKILL.md +189 -0
  272. claude_mpm/skills/bundled/main/skill-creator/references/best-practices.md +500 -0
  273. claude_mpm/skills/bundled/main/skill-creator/references/creation-workflow.md +464 -0
  274. claude_mpm/skills/bundled/main/skill-creator/references/examples.md +619 -0
  275. claude_mpm/skills/bundled/main/skill-creator/references/progressive-disclosure.md +437 -0
  276. claude_mpm/skills/bundled/main/skill-creator/references/skill-structure.md +231 -0
  277. claude_mpm/skills/bundled/main/skill-creator/scripts/init_skill.py +303 -0
  278. claude_mpm/skills/bundled/main/skill-creator/scripts/package_skill.py +113 -0
  279. claude_mpm/skills/bundled/main/skill-creator/scripts/quick_validate.py +72 -0
  280. claude_mpm/skills/bundled/nextjs-local-dev.md +807 -0
  281. claude_mpm/skills/bundled/pdf.md +141 -0
  282. claude_mpm/skills/bundled/performance-profiling.md +567 -0
  283. claude_mpm/skills/bundled/php/espocrm-development/SKILL.md +170 -0
  284. claude_mpm/skills/bundled/php/espocrm-development/references/architecture.md +602 -0
  285. claude_mpm/skills/bundled/php/espocrm-development/references/common-tasks.md +821 -0
  286. claude_mpm/skills/bundled/php/espocrm-development/references/development-workflow.md +742 -0
  287. claude_mpm/skills/bundled/php/espocrm-development/references/frontend-customization.md +726 -0
  288. claude_mpm/skills/bundled/php/espocrm-development/references/hooks-and-services.md +764 -0
  289. claude_mpm/skills/bundled/php/espocrm-development/references/testing-debugging.md +831 -0
  290. claude_mpm/skills/bundled/refactoring-patterns.md +180 -0
  291. claude_mpm/skills/bundled/rust/desktop-applications/SKILL.md +226 -0
  292. claude_mpm/skills/bundled/rust/desktop-applications/references/architecture-patterns.md +901 -0
  293. claude_mpm/skills/bundled/rust/desktop-applications/references/native-gui-frameworks.md +901 -0
  294. claude_mpm/skills/bundled/rust/desktop-applications/references/platform-integration.md +775 -0
  295. claude_mpm/skills/bundled/rust/desktop-applications/references/state-management.md +937 -0
  296. claude_mpm/skills/bundled/rust/desktop-applications/references/tauri-framework.md +770 -0
  297. claude_mpm/skills/bundled/rust/desktop-applications/references/testing-deployment.md +961 -0
  298. claude_mpm/skills/bundled/security-scanning.md +327 -0
  299. claude_mpm/skills/bundled/systematic-debugging.md +473 -0
  300. claude_mpm/skills/bundled/test-driven-development.md +378 -0
  301. claude_mpm/skills/bundled/testing/condition-based-waiting/SKILL.md +119 -0
  302. claude_mpm/skills/bundled/testing/condition-based-waiting/references/patterns-and-implementation.md +253 -0
  303. claude_mpm/skills/bundled/testing/test-driven-development/SKILL.md +145 -0
  304. claude_mpm/skills/bundled/testing/test-driven-development/references/anti-patterns.md +543 -0
  305. claude_mpm/skills/bundled/testing/test-driven-development/references/examples.md +741 -0
  306. claude_mpm/skills/bundled/testing/test-driven-development/references/integration.md +470 -0
  307. claude_mpm/skills/bundled/testing/test-driven-development/references/philosophy.md +458 -0
  308. claude_mpm/skills/bundled/testing/test-driven-development/references/workflow.md +639 -0
  309. claude_mpm/skills/bundled/testing/testing-anti-patterns/SKILL.md +140 -0
  310. claude_mpm/skills/bundled/testing/testing-anti-patterns/references/completeness-anti-patterns.md +572 -0
  311. claude_mpm/skills/bundled/testing/testing-anti-patterns/references/core-anti-patterns.md +411 -0
  312. claude_mpm/skills/bundled/testing/testing-anti-patterns/references/detection-guide.md +569 -0
  313. claude_mpm/skills/bundled/testing/testing-anti-patterns/references/tdd-connection.md +695 -0
  314. claude_mpm/skills/bundled/testing/webapp-testing/SKILL.md +184 -0
  315. claude_mpm/skills/bundled/testing/webapp-testing/decision-tree.md +459 -0
  316. claude_mpm/skills/bundled/testing/webapp-testing/examples/console_logging.py +35 -0
  317. claude_mpm/skills/bundled/testing/webapp-testing/examples/element_discovery.py +44 -0
  318. claude_mpm/skills/bundled/testing/webapp-testing/examples/static_html_automation.py +34 -0
  319. claude_mpm/skills/bundled/testing/webapp-testing/playwright-patterns.md +479 -0
  320. claude_mpm/skills/bundled/testing/webapp-testing/reconnaissance-pattern.md +687 -0
  321. claude_mpm/skills/bundled/testing/webapp-testing/scripts/with_server.py +129 -0
  322. claude_mpm/skills/bundled/testing/webapp-testing/server-management.md +758 -0
  323. claude_mpm/skills/bundled/testing/webapp-testing/troubleshooting.md +868 -0
  324. claude_mpm/skills/bundled/vite-local-dev.md +1061 -0
  325. claude_mpm/skills/bundled/web-performance-optimization.md +2305 -0
  326. claude_mpm/skills/bundled/xlsx.md +157 -0
  327. claude_mpm/skills/registry.py +286 -0
  328. claude_mpm/skills/skill_manager.py +310 -0
  329. claude_mpm/skills/skills_registry.py +348 -0
  330. claude_mpm/skills/skills_service.py +739 -0
  331. claude_mpm/tools/code_tree_analyzer.py +177 -141
  332. claude_mpm/tools/code_tree_events.py +4 -2
  333. claude_mpm/utils/agent_dependency_loader.py +2 -2
  334. {claude_mpm-4.14.6.dist-info → claude_mpm-4.21.0.dist-info}/METADATA +211 -33
  335. {claude_mpm-4.14.6.dist-info → claude_mpm-4.21.0.dist-info}/RECORD +339 -199
  336. claude_mpm/agents/INSTRUCTIONS_OLD_DEPRECATED.md +0 -602
  337. claude_mpm/cli/commands/mpm_init.py +0 -1994
  338. claude_mpm/dashboard/static/css/code-tree.css +0 -1639
  339. claude_mpm/dashboard/static/js/components/code-tree/tree-breadcrumb.js +0 -353
  340. claude_mpm/dashboard/static/js/components/code-tree/tree-constants.js +0 -235
  341. claude_mpm/dashboard/static/js/components/code-tree/tree-search.js +0 -409
  342. claude_mpm/dashboard/static/js/components/code-tree/tree-utils.js +0 -435
  343. claude_mpm/dashboard/static/js/components/code-tree.js +0 -5869
  344. claude_mpm/dashboard/static/js/components/code-viewer.js +0 -1386
  345. claude_mpm/hooks/claude_hooks/hook_handler_eventbus.py +0 -425
  346. claude_mpm/hooks/claude_hooks/hook_handler_original.py +0 -1041
  347. claude_mpm/hooks/claude_hooks/hook_handler_refactored.py +0 -347
  348. claude_mpm/services/agents/deployment/agent_lifecycle_manager_refactored.py +0 -575
  349. claude_mpm/services/project/analyzer_refactored.py +0 -450
  350. {claude_mpm-4.14.6.dist-info → claude_mpm-4.21.0.dist-info}/WHEEL +0 -0
  351. {claude_mpm-4.14.6.dist-info → claude_mpm-4.21.0.dist-info}/entry_points.txt +0 -0
  352. {claude_mpm-4.14.6.dist-info → claude_mpm-4.21.0.dist-info}/licenses/LICENSE +0 -0
  353. {claude_mpm-4.14.6.dist-info → claude_mpm-4.21.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,137 @@
1
+ """
2
+ Skills command parser for claude-mpm CLI.
3
+
4
+ WHY: This module contains all arguments specific to skills management commands,
5
+ providing CLI access to the Skills Integration system.
6
+
7
+ DESIGN DECISION: Skills commands expose the SkillsService functionality via CLI
8
+ for listing, deploying, validating, updating, and configuring Claude Code skills.
9
+ """
10
+
11
+ import argparse
12
+
13
+ from ...constants import CLICommands, SkillsCommands
14
+ from .base_parser import add_common_arguments
15
+
16
+
17
+ def add_skills_subparser(subparsers) -> argparse.ArgumentParser:
18
+ """
19
+ Add the skills subparser with all skills management commands.
20
+
21
+ WHY: Skills management has multiple subcommands for discovery, deployment,
22
+ validation, updates, and configuration that need their own argument structures.
23
+
24
+ Args:
25
+ subparsers: The subparsers object from the main parser
26
+
27
+ Returns:
28
+ The configured skills subparser
29
+ """
30
+ # Skills command with subcommands
31
+ skills_parser = subparsers.add_parser(
32
+ CLICommands.SKILLS.value, help="Manage Claude Code skills"
33
+ )
34
+ add_common_arguments(skills_parser)
35
+
36
+ skills_subparsers = skills_parser.add_subparsers(
37
+ dest="skills_command", help="Skills commands", metavar="SUBCOMMAND"
38
+ )
39
+
40
+ # List command
41
+ list_parser = skills_subparsers.add_parser(
42
+ SkillsCommands.LIST.value, help="List available skills"
43
+ )
44
+ list_parser.add_argument(
45
+ "--category",
46
+ help="Filter by category (e.g., development, infrastructure, web-development)",
47
+ )
48
+ list_parser.add_argument(
49
+ "--agent", help="Show skills for specific agent (e.g., engineer, pm)"
50
+ )
51
+ list_parser.add_argument(
52
+ "--verbose",
53
+ "-v",
54
+ action="store_true",
55
+ help="Show detailed skill information",
56
+ )
57
+
58
+ # Deploy command
59
+ deploy_parser = skills_subparsers.add_parser(
60
+ SkillsCommands.DEPLOY.value, help="Deploy bundled skills to project"
61
+ )
62
+ deploy_parser.add_argument(
63
+ "--force",
64
+ action="store_true",
65
+ help="Force redeployment of already deployed skills",
66
+ )
67
+ deploy_parser.add_argument(
68
+ "--skill",
69
+ action="append",
70
+ dest="skills",
71
+ help="Deploy specific skill(s) only (can be used multiple times)",
72
+ )
73
+
74
+ # Validate command
75
+ validate_parser = skills_subparsers.add_parser(
76
+ SkillsCommands.VALIDATE.value, help="Validate skill structure and metadata"
77
+ )
78
+ validate_parser.add_argument("skill_name", help="Name of the skill to validate")
79
+ validate_parser.add_argument(
80
+ "--strict",
81
+ action="store_true",
82
+ help="Use strict validation (treat warnings as errors)",
83
+ )
84
+
85
+ # Update command
86
+ update_parser = skills_subparsers.add_parser(
87
+ SkillsCommands.UPDATE.value, help="Check for and install skill updates"
88
+ )
89
+ update_parser.add_argument(
90
+ "skill_names",
91
+ nargs="*",
92
+ help="Specific skills to update (default: all)",
93
+ )
94
+ update_parser.add_argument(
95
+ "--check-only",
96
+ action="store_true",
97
+ help="Check for updates without installing them",
98
+ )
99
+ update_parser.add_argument(
100
+ "--force",
101
+ action="store_true",
102
+ help="Force update even if versions match",
103
+ )
104
+
105
+ # Info command
106
+ info_parser = skills_subparsers.add_parser(
107
+ SkillsCommands.INFO.value, help="Show detailed skill information"
108
+ )
109
+ info_parser.add_argument("skill_name", help="Name of the skill")
110
+ info_parser.add_argument(
111
+ "--show-content",
112
+ action="store_true",
113
+ help="Show full skill content (SKILL.md)",
114
+ )
115
+
116
+ # Config command
117
+ config_parser = skills_subparsers.add_parser(
118
+ SkillsCommands.CONFIG.value, help="View or edit skills configuration"
119
+ )
120
+ config_parser.add_argument(
121
+ "--scope",
122
+ choices=["system", "user", "project"],
123
+ default="project",
124
+ help="Configuration scope (default: project)",
125
+ )
126
+ config_parser.add_argument(
127
+ "--edit",
128
+ action="store_true",
129
+ help="Open configuration in $EDITOR",
130
+ )
131
+ config_parser.add_argument(
132
+ "--path",
133
+ action="store_true",
134
+ help="Show configuration file path",
135
+ )
136
+
137
+ return skills_parser
@@ -7,6 +7,8 @@ from typing import Any, Dict, List, Optional, Union
7
7
 
8
8
  import yaml
9
9
 
10
+ from claude_mpm.core.enums import OutputFormat
11
+
10
12
 
11
13
  class OutputFormatter:
12
14
  """Handles formatting output in different formats."""
@@ -104,13 +106,13 @@ class OutputFormatter:
104
106
  return str(data)
105
107
 
106
108
 
107
- def format_output(data: Any, format_type: str = "text", **kwargs) -> str:
109
+ def format_output(data: Any, format_type: str = OutputFormat.TEXT, **kwargs) -> str:
108
110
  """
109
111
  Format data according to the specified format.
110
112
 
111
113
  Args:
112
114
  data: Data to format
113
- format_type: Output format ('json', 'yaml', 'table', 'text')
115
+ format_type: Output format (use OutputFormat enum or string)
114
116
  **kwargs: Additional formatting options
115
117
 
116
118
  Returns:
@@ -118,20 +120,23 @@ def format_output(data: Any, format_type: str = "text", **kwargs) -> str:
118
120
  """
119
121
  formatter = OutputFormatter()
120
122
 
121
- if format_type == "json":
123
+ # Convert to string for comparison (handles both enum and string inputs)
124
+ fmt = str(format_type).lower()
125
+
126
+ if fmt == OutputFormat.JSON:
122
127
  return formatter.format_json(data, **kwargs)
123
- if format_type == "yaml":
128
+ if fmt == OutputFormat.YAML:
124
129
  return formatter.format_yaml(data)
125
- if format_type == "table":
130
+ if fmt == OutputFormat.TABLE:
126
131
  return formatter.format_table(data, **kwargs)
127
- if format_type == "text":
132
+ if fmt == OutputFormat.TEXT:
128
133
  return formatter.format_text(data)
129
134
  # Fallback to text format
130
135
  return formatter.format_text(data)
131
136
 
132
137
 
133
138
  def format_success_message(
134
- message: str, data: Any = None, format_type: str = "text"
139
+ message: str, data: Any = None, format_type: str = OutputFormat.TEXT
135
140
  ) -> str:
136
141
  """
137
142
  Format a success message with optional data.
@@ -139,12 +144,13 @@ def format_success_message(
139
144
  Args:
140
145
  message: Success message
141
146
  data: Optional data to include
142
- format_type: Output format
147
+ format_type: Output format (use OutputFormat enum or string)
143
148
 
144
149
  Returns:
145
150
  Formatted success message
146
151
  """
147
- if format_type in ("json", "yaml"):
152
+ fmt = str(format_type).lower()
153
+ if fmt in (OutputFormat.JSON, OutputFormat.YAML):
148
154
  result = {"success": True, "message": message}
149
155
  if data is not None:
150
156
  result["data"] = data
@@ -158,7 +164,7 @@ def format_success_message(
158
164
 
159
165
 
160
166
  def format_error_message(
161
- message: str, details: Any = None, format_type: str = "text"
167
+ message: str, details: Any = None, format_type: str = OutputFormat.TEXT
162
168
  ) -> str:
163
169
  """
164
170
  Format an error message with optional details.
@@ -166,12 +172,13 @@ def format_error_message(
166
172
  Args:
167
173
  message: Error message
168
174
  details: Optional error details
169
- format_type: Output format
175
+ format_type: Output format (use OutputFormat enum or string)
170
176
 
171
177
  Returns:
172
178
  Formatted error message
173
179
  """
174
- if format_type in ("json", "yaml"):
180
+ fmt = str(format_type).lower()
181
+ if fmt in (OutputFormat.JSON, OutputFormat.YAML):
175
182
  result = {"success": False, "error": message}
176
183
  if details is not None:
177
184
  result["details"] = details
@@ -187,7 +194,7 @@ def format_error_message(
187
194
  def format_list_output(
188
195
  items: List[Any],
189
196
  title: Optional[str] = None,
190
- format_type: str = "text",
197
+ format_type: str = OutputFormat.TEXT,
191
198
  headers: Optional[List[str]] = None,
192
199
  ) -> str:
193
200
  """
@@ -196,29 +203,31 @@ def format_list_output(
196
203
  Args:
197
204
  items: List of items to format
198
205
  title: Optional title for the list
199
- format_type: Output format
206
+ format_type: Output format (use OutputFormat enum or string)
200
207
  headers: Optional headers for table format
201
208
 
202
209
  Returns:
203
210
  Formatted list output
204
211
  """
212
+ fmt = str(format_type).lower()
213
+
205
214
  if not items:
206
215
  empty_msg = f"No {title.lower() if title else 'items'} found"
207
- if format_type in ("json", "yaml"):
216
+ if fmt in (OutputFormat.JSON, OutputFormat.YAML):
208
217
  return format_output({"items": [], "message": empty_msg}, format_type)
209
218
  return empty_msg
210
219
 
211
- if format_type in ("json", "yaml"):
220
+ if fmt in (OutputFormat.JSON, OutputFormat.YAML):
212
221
  result = {"items": items}
213
222
  if title:
214
223
  result["title"] = title
215
224
  return format_output(result, format_type)
216
225
 
217
- if format_type == "table":
226
+ if fmt == OutputFormat.TABLE:
218
227
  output = ""
219
228
  if title:
220
229
  output += f"{title}\n{'=' * len(title)}\n\n"
221
- output += format_output(items, "table", headers=headers)
230
+ output += format_output(items, OutputFormat.TABLE, headers=headers)
222
231
  return output
223
232
 
224
233
  # Text format
@@ -228,5 +237,5 @@ def format_list_output(
228
237
  lines.append("=" * len(title))
229
238
  lines.append("")
230
239
 
231
- lines.append(format_output(items, "text"))
240
+ lines.append(format_output(items, OutputFormat.TEXT))
232
241
  return "\n".join(lines)