claude-mpm 4.7.4__py3-none-any.whl → 4.18.2__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 (308) hide show
  1. claude_mpm/VERSION +1 -1
  2. claude_mpm/agents/BASE_AGENT_TEMPLATE.md +118 -0
  3. claude_mpm/agents/BASE_ENGINEER.md +286 -0
  4. claude_mpm/agents/BASE_PM.md +106 -1
  5. claude_mpm/agents/OUTPUT_STYLE.md +329 -11
  6. claude_mpm/agents/PM_INSTRUCTIONS.md +397 -459
  7. claude_mpm/agents/agent_loader.py +17 -5
  8. claude_mpm/agents/frontmatter_validator.py +284 -253
  9. claude_mpm/agents/templates/README.md +465 -0
  10. claude_mpm/agents/templates/agent-manager.json +4 -1
  11. claude_mpm/agents/templates/agentic-coder-optimizer.json +13 -3
  12. claude_mpm/agents/templates/api_qa.json +11 -2
  13. claude_mpm/agents/templates/circuit_breakers.md +638 -0
  14. claude_mpm/agents/templates/clerk-ops.json +12 -2
  15. claude_mpm/agents/templates/code_analyzer.json +8 -2
  16. claude_mpm/agents/templates/content-agent.json +358 -0
  17. claude_mpm/agents/templates/dart_engineer.json +15 -2
  18. claude_mpm/agents/templates/data_engineer.json +15 -2
  19. claude_mpm/agents/templates/documentation.json +10 -2
  20. claude_mpm/agents/templates/engineer.json +21 -1
  21. claude_mpm/agents/templates/gcp_ops_agent.json +12 -2
  22. claude_mpm/agents/templates/git_file_tracking.md +584 -0
  23. claude_mpm/agents/templates/golang_engineer.json +270 -0
  24. claude_mpm/agents/templates/imagemagick.json +4 -1
  25. claude_mpm/agents/templates/java_engineer.json +346 -0
  26. claude_mpm/agents/templates/local_ops_agent.json +1227 -6
  27. claude_mpm/agents/templates/memory_manager.json +4 -1
  28. claude_mpm/agents/templates/nextjs_engineer.json +141 -133
  29. claude_mpm/agents/templates/ops.json +12 -2
  30. claude_mpm/agents/templates/php-engineer.json +270 -174
  31. claude_mpm/agents/templates/pm_examples.md +474 -0
  32. claude_mpm/agents/templates/pm_red_flags.md +240 -0
  33. claude_mpm/agents/templates/product_owner.json +338 -0
  34. claude_mpm/agents/templates/project_organizer.json +14 -4
  35. claude_mpm/agents/templates/prompt-engineer.json +13 -2
  36. claude_mpm/agents/templates/python_engineer.json +174 -81
  37. claude_mpm/agents/templates/qa.json +11 -2
  38. claude_mpm/agents/templates/react_engineer.json +16 -3
  39. claude_mpm/agents/templates/refactoring_engineer.json +12 -2
  40. claude_mpm/agents/templates/research.json +34 -21
  41. claude_mpm/agents/templates/response_format.md +583 -0
  42. claude_mpm/agents/templates/ruby-engineer.json +129 -192
  43. claude_mpm/agents/templates/rust_engineer.json +270 -0
  44. claude_mpm/agents/templates/security.json +10 -2
  45. claude_mpm/agents/templates/svelte-engineer.json +225 -0
  46. claude_mpm/agents/templates/ticketing.json +10 -2
  47. claude_mpm/agents/templates/typescript_engineer.json +116 -125
  48. claude_mpm/agents/templates/validation_templates.md +312 -0
  49. claude_mpm/agents/templates/vercel_ops_agent.json +12 -2
  50. claude_mpm/agents/templates/version_control.json +12 -2
  51. claude_mpm/agents/templates/web_qa.json +11 -2
  52. claude_mpm/agents/templates/web_ui.json +15 -2
  53. claude_mpm/cli/__init__.py +34 -614
  54. claude_mpm/cli/commands/agent_manager.py +25 -12
  55. claude_mpm/cli/commands/agent_state_manager.py +186 -0
  56. claude_mpm/cli/commands/agents.py +235 -148
  57. claude_mpm/cli/commands/agents_detect.py +380 -0
  58. claude_mpm/cli/commands/agents_recommend.py +309 -0
  59. claude_mpm/cli/commands/aggregate.py +7 -3
  60. claude_mpm/cli/commands/analyze.py +9 -4
  61. claude_mpm/cli/commands/analyze_code.py +7 -2
  62. claude_mpm/cli/commands/auto_configure.py +570 -0
  63. claude_mpm/cli/commands/config.py +47 -13
  64. claude_mpm/cli/commands/configure.py +419 -1571
  65. claude_mpm/cli/commands/configure_agent_display.py +261 -0
  66. claude_mpm/cli/commands/configure_behavior_manager.py +204 -0
  67. claude_mpm/cli/commands/configure_hook_manager.py +225 -0
  68. claude_mpm/cli/commands/configure_models.py +18 -0
  69. claude_mpm/cli/commands/configure_navigation.py +167 -0
  70. claude_mpm/cli/commands/configure_paths.py +104 -0
  71. claude_mpm/cli/commands/configure_persistence.py +254 -0
  72. claude_mpm/cli/commands/configure_startup_manager.py +646 -0
  73. claude_mpm/cli/commands/configure_template_editor.py +497 -0
  74. claude_mpm/cli/commands/configure_validators.py +73 -0
  75. claude_mpm/cli/commands/local_deploy.py +537 -0
  76. claude_mpm/cli/commands/memory.py +54 -20
  77. claude_mpm/cli/commands/mpm_init.py +585 -196
  78. claude_mpm/cli/commands/mpm_init_handler.py +37 -3
  79. claude_mpm/cli/commands/search.py +170 -4
  80. claude_mpm/cli/commands/upgrade.py +152 -0
  81. claude_mpm/cli/executor.py +202 -0
  82. claude_mpm/cli/helpers.py +105 -0
  83. claude_mpm/cli/interactive/__init__.py +3 -0
  84. claude_mpm/cli/interactive/skills_wizard.py +491 -0
  85. claude_mpm/cli/parsers/__init__.py +7 -1
  86. claude_mpm/cli/parsers/agents_parser.py +9 -0
  87. claude_mpm/cli/parsers/auto_configure_parser.py +245 -0
  88. claude_mpm/cli/parsers/base_parser.py +110 -3
  89. claude_mpm/cli/parsers/local_deploy_parser.py +227 -0
  90. claude_mpm/cli/parsers/mpm_init_parser.py +65 -5
  91. claude_mpm/cli/shared/output_formatters.py +28 -19
  92. claude_mpm/cli/startup.py +481 -0
  93. claude_mpm/cli/utils.py +52 -1
  94. claude_mpm/commands/mpm-agents-detect.md +168 -0
  95. claude_mpm/commands/mpm-agents-recommend.md +214 -0
  96. claude_mpm/commands/mpm-agents.md +75 -1
  97. claude_mpm/commands/mpm-auto-configure.md +217 -0
  98. claude_mpm/commands/mpm-help.md +163 -0
  99. claude_mpm/commands/mpm-init.md +148 -3
  100. claude_mpm/commands/mpm-version.md +113 -0
  101. claude_mpm/commands/mpm.md +1 -0
  102. claude_mpm/config/agent_config.py +2 -2
  103. claude_mpm/config/model_config.py +428 -0
  104. claude_mpm/constants.py +1 -0
  105. claude_mpm/core/base_service.py +13 -12
  106. claude_mpm/core/enums.py +452 -0
  107. claude_mpm/core/factories.py +1 -1
  108. claude_mpm/core/instruction_reinforcement_hook.py +2 -1
  109. claude_mpm/core/interactive_session.py +9 -3
  110. claude_mpm/core/log_manager.py +2 -0
  111. claude_mpm/core/logging_config.py +6 -2
  112. claude_mpm/core/oneshot_session.py +8 -4
  113. claude_mpm/core/optimized_agent_loader.py +3 -3
  114. claude_mpm/core/output_style_manager.py +12 -192
  115. claude_mpm/core/service_registry.py +5 -1
  116. claude_mpm/core/types.py +2 -9
  117. claude_mpm/core/typing_utils.py +7 -6
  118. claude_mpm/dashboard/static/js/dashboard.js +0 -14
  119. claude_mpm/dashboard/templates/index.html +3 -41
  120. claude_mpm/hooks/__init__.py +20 -0
  121. claude_mpm/hooks/claude_hooks/event_handlers.py +4 -2
  122. claude_mpm/hooks/claude_hooks/response_tracking.py +35 -1
  123. claude_mpm/hooks/claude_hooks/services/connection_manager_http.py +23 -2
  124. claude_mpm/hooks/failure_learning/__init__.py +60 -0
  125. claude_mpm/hooks/failure_learning/failure_detection_hook.py +235 -0
  126. claude_mpm/hooks/failure_learning/fix_detection_hook.py +217 -0
  127. claude_mpm/hooks/failure_learning/learning_extraction_hook.py +286 -0
  128. claude_mpm/hooks/instruction_reinforcement.py +7 -2
  129. claude_mpm/hooks/kuzu_enrichment_hook.py +263 -0
  130. claude_mpm/hooks/kuzu_memory_hook.py +37 -12
  131. claude_mpm/hooks/kuzu_response_hook.py +183 -0
  132. claude_mpm/models/resume_log.py +340 -0
  133. claude_mpm/services/agents/__init__.py +18 -5
  134. claude_mpm/services/agents/auto_config_manager.py +796 -0
  135. claude_mpm/services/agents/deployment/agent_configuration_manager.py +1 -1
  136. claude_mpm/services/agents/deployment/agent_record_service.py +1 -1
  137. claude_mpm/services/agents/deployment/agent_validator.py +17 -1
  138. claude_mpm/services/agents/deployment/async_agent_deployment.py +1 -1
  139. claude_mpm/services/agents/deployment/interface_adapter.py +3 -2
  140. claude_mpm/services/agents/deployment/local_template_deployment.py +1 -1
  141. claude_mpm/services/agents/deployment/pipeline/steps/agent_processing_step.py +7 -6
  142. claude_mpm/services/agents/deployment/pipeline/steps/base_step.py +7 -16
  143. claude_mpm/services/agents/deployment/pipeline/steps/configuration_step.py +4 -3
  144. claude_mpm/services/agents/deployment/pipeline/steps/target_directory_step.py +5 -3
  145. claude_mpm/services/agents/deployment/pipeline/steps/validation_step.py +6 -5
  146. claude_mpm/services/agents/deployment/refactored_agent_deployment_service.py +9 -6
  147. claude_mpm/services/agents/deployment/validation/__init__.py +3 -1
  148. claude_mpm/services/agents/deployment/validation/validation_result.py +1 -9
  149. claude_mpm/services/agents/local_template_manager.py +1 -1
  150. claude_mpm/services/agents/memory/agent_memory_manager.py +5 -2
  151. claude_mpm/services/agents/observers.py +547 -0
  152. claude_mpm/services/agents/recommender.py +568 -0
  153. claude_mpm/services/agents/registry/modification_tracker.py +5 -2
  154. claude_mpm/services/command_handler_service.py +11 -5
  155. claude_mpm/services/core/__init__.py +33 -1
  156. claude_mpm/services/core/interfaces/__init__.py +90 -3
  157. claude_mpm/services/core/interfaces/agent.py +184 -0
  158. claude_mpm/services/core/interfaces/health.py +172 -0
  159. claude_mpm/services/core/interfaces/model.py +281 -0
  160. claude_mpm/services/core/interfaces/process.py +372 -0
  161. claude_mpm/services/core/interfaces/project.py +121 -0
  162. claude_mpm/services/core/interfaces/restart.py +307 -0
  163. claude_mpm/services/core/interfaces/stability.py +260 -0
  164. claude_mpm/services/core/memory_manager.py +11 -24
  165. claude_mpm/services/core/models/__init__.py +79 -0
  166. claude_mpm/services/core/models/agent_config.py +381 -0
  167. claude_mpm/services/core/models/health.py +162 -0
  168. claude_mpm/services/core/models/process.py +235 -0
  169. claude_mpm/services/core/models/restart.py +302 -0
  170. claude_mpm/services/core/models/stability.py +264 -0
  171. claude_mpm/services/core/models/toolchain.py +306 -0
  172. claude_mpm/services/core/path_resolver.py +23 -7
  173. claude_mpm/services/diagnostics/__init__.py +2 -2
  174. claude_mpm/services/diagnostics/checks/agent_check.py +25 -24
  175. claude_mpm/services/diagnostics/checks/claude_code_check.py +24 -23
  176. claude_mpm/services/diagnostics/checks/common_issues_check.py +25 -24
  177. claude_mpm/services/diagnostics/checks/configuration_check.py +24 -23
  178. claude_mpm/services/diagnostics/checks/filesystem_check.py +18 -17
  179. claude_mpm/services/diagnostics/checks/installation_check.py +30 -29
  180. claude_mpm/services/diagnostics/checks/instructions_check.py +20 -19
  181. claude_mpm/services/diagnostics/checks/mcp_check.py +50 -36
  182. claude_mpm/services/diagnostics/checks/mcp_services_check.py +38 -33
  183. claude_mpm/services/diagnostics/checks/monitor_check.py +23 -22
  184. claude_mpm/services/diagnostics/checks/startup_log_check.py +9 -8
  185. claude_mpm/services/diagnostics/diagnostic_runner.py +6 -5
  186. claude_mpm/services/diagnostics/doctor_reporter.py +28 -25
  187. claude_mpm/services/diagnostics/models.py +19 -24
  188. claude_mpm/services/infrastructure/monitoring/__init__.py +1 -1
  189. claude_mpm/services/infrastructure/monitoring/aggregator.py +12 -12
  190. claude_mpm/services/infrastructure/monitoring/base.py +5 -13
  191. claude_mpm/services/infrastructure/monitoring/network.py +7 -6
  192. claude_mpm/services/infrastructure/monitoring/process.py +13 -12
  193. claude_mpm/services/infrastructure/monitoring/resources.py +7 -6
  194. claude_mpm/services/infrastructure/monitoring/service.py +16 -15
  195. claude_mpm/services/infrastructure/resume_log_generator.py +439 -0
  196. claude_mpm/services/local_ops/__init__.py +163 -0
  197. claude_mpm/services/local_ops/crash_detector.py +257 -0
  198. claude_mpm/services/local_ops/health_checks/__init__.py +28 -0
  199. claude_mpm/services/local_ops/health_checks/http_check.py +224 -0
  200. claude_mpm/services/local_ops/health_checks/process_check.py +236 -0
  201. claude_mpm/services/local_ops/health_checks/resource_check.py +255 -0
  202. claude_mpm/services/local_ops/health_manager.py +430 -0
  203. claude_mpm/services/local_ops/log_monitor.py +396 -0
  204. claude_mpm/services/local_ops/memory_leak_detector.py +294 -0
  205. claude_mpm/services/local_ops/process_manager.py +595 -0
  206. claude_mpm/services/local_ops/resource_monitor.py +331 -0
  207. claude_mpm/services/local_ops/restart_manager.py +401 -0
  208. claude_mpm/services/local_ops/restart_policy.py +387 -0
  209. claude_mpm/services/local_ops/state_manager.py +372 -0
  210. claude_mpm/services/local_ops/unified_manager.py +600 -0
  211. claude_mpm/services/mcp_config_manager.py +9 -4
  212. claude_mpm/services/mcp_gateway/core/__init__.py +1 -2
  213. claude_mpm/services/mcp_gateway/core/base.py +18 -31
  214. claude_mpm/services/mcp_gateway/main.py +30 -0
  215. claude_mpm/services/mcp_gateway/tools/external_mcp_services.py +206 -32
  216. claude_mpm/services/mcp_gateway/tools/health_check_tool.py +30 -28
  217. claude_mpm/services/mcp_gateway/tools/kuzu_memory_service.py +25 -5
  218. claude_mpm/services/mcp_service_verifier.py +1 -1
  219. claude_mpm/services/memory/failure_tracker.py +563 -0
  220. claude_mpm/services/memory_hook_service.py +165 -4
  221. claude_mpm/services/model/__init__.py +147 -0
  222. claude_mpm/services/model/base_provider.py +365 -0
  223. claude_mpm/services/model/claude_provider.py +412 -0
  224. claude_mpm/services/model/model_router.py +453 -0
  225. claude_mpm/services/model/ollama_provider.py +415 -0
  226. claude_mpm/services/monitor/daemon_manager.py +3 -2
  227. claude_mpm/services/monitor/handlers/dashboard.py +2 -1
  228. claude_mpm/services/monitor/handlers/hooks.py +2 -1
  229. claude_mpm/services/monitor/management/lifecycle.py +3 -2
  230. claude_mpm/services/monitor/server.py +2 -1
  231. claude_mpm/services/project/__init__.py +23 -0
  232. claude_mpm/services/project/detection_strategies.py +719 -0
  233. claude_mpm/services/project/toolchain_analyzer.py +581 -0
  234. claude_mpm/services/self_upgrade_service.py +342 -0
  235. claude_mpm/services/session_management_service.py +3 -2
  236. claude_mpm/services/session_manager.py +205 -1
  237. claude_mpm/services/shared/async_service_base.py +16 -27
  238. claude_mpm/services/shared/lifecycle_service_base.py +1 -14
  239. claude_mpm/services/socketio/handlers/__init__.py +5 -2
  240. claude_mpm/services/socketio/handlers/hook.py +13 -2
  241. claude_mpm/services/socketio/handlers/registry.py +4 -2
  242. claude_mpm/services/socketio/server/main.py +10 -8
  243. claude_mpm/services/subprocess_launcher_service.py +14 -5
  244. claude_mpm/services/unified/analyzer_strategies/code_analyzer.py +8 -7
  245. claude_mpm/services/unified/analyzer_strategies/dependency_analyzer.py +6 -5
  246. claude_mpm/services/unified/analyzer_strategies/performance_analyzer.py +8 -7
  247. claude_mpm/services/unified/analyzer_strategies/security_analyzer.py +7 -6
  248. claude_mpm/services/unified/analyzer_strategies/structure_analyzer.py +5 -4
  249. claude_mpm/services/unified/config_strategies/validation_strategy.py +13 -9
  250. claude_mpm/services/unified/deployment_strategies/cloud_strategies.py +10 -3
  251. claude_mpm/services/unified/deployment_strategies/local.py +6 -5
  252. claude_mpm/services/unified/deployment_strategies/utils.py +6 -5
  253. claude_mpm/services/unified/deployment_strategies/vercel.py +7 -6
  254. claude_mpm/services/unified/interfaces.py +3 -1
  255. claude_mpm/services/unified/unified_analyzer.py +14 -10
  256. claude_mpm/services/unified/unified_config.py +2 -1
  257. claude_mpm/services/unified/unified_deployment.py +9 -4
  258. claude_mpm/services/version_service.py +104 -1
  259. claude_mpm/skills/__init__.py +21 -0
  260. claude_mpm/skills/bundled/__init__.py +6 -0
  261. claude_mpm/skills/bundled/api-documentation.md +393 -0
  262. claude_mpm/skills/bundled/async-testing.md +571 -0
  263. claude_mpm/skills/bundled/code-review.md +143 -0
  264. claude_mpm/skills/bundled/database-migration.md +199 -0
  265. claude_mpm/skills/bundled/docker-containerization.md +194 -0
  266. claude_mpm/skills/bundled/express-local-dev.md +1429 -0
  267. claude_mpm/skills/bundled/fastapi-local-dev.md +1199 -0
  268. claude_mpm/skills/bundled/git-workflow.md +414 -0
  269. claude_mpm/skills/bundled/imagemagick.md +204 -0
  270. claude_mpm/skills/bundled/json-data-handling.md +223 -0
  271. claude_mpm/skills/bundled/nextjs-local-dev.md +807 -0
  272. claude_mpm/skills/bundled/pdf.md +141 -0
  273. claude_mpm/skills/bundled/performance-profiling.md +567 -0
  274. claude_mpm/skills/bundled/refactoring-patterns.md +180 -0
  275. claude_mpm/skills/bundled/security-scanning.md +327 -0
  276. claude_mpm/skills/bundled/systematic-debugging.md +473 -0
  277. claude_mpm/skills/bundled/test-driven-development.md +378 -0
  278. claude_mpm/skills/bundled/vite-local-dev.md +1061 -0
  279. claude_mpm/skills/bundled/web-performance-optimization.md +2305 -0
  280. claude_mpm/skills/bundled/xlsx.md +157 -0
  281. claude_mpm/skills/registry.py +286 -0
  282. claude_mpm/skills/skill_manager.py +310 -0
  283. claude_mpm/storage/state_storage.py +15 -15
  284. claude_mpm/tools/code_tree_analyzer.py +177 -141
  285. claude_mpm/tools/code_tree_events.py +4 -2
  286. claude_mpm/utils/agent_dependency_loader.py +40 -20
  287. claude_mpm/utils/display_helper.py +260 -0
  288. claude_mpm/utils/git_analyzer.py +407 -0
  289. claude_mpm/utils/robust_installer.py +73 -19
  290. {claude_mpm-4.7.4.dist-info → claude_mpm-4.18.2.dist-info}/METADATA +129 -12
  291. {claude_mpm-4.7.4.dist-info → claude_mpm-4.18.2.dist-info}/RECORD +295 -193
  292. claude_mpm/dashboard/static/css/code-tree.css +0 -1639
  293. claude_mpm/dashboard/static/index-hub-backup.html +0 -713
  294. claude_mpm/dashboard/static/js/components/code-tree/tree-breadcrumb.js +0 -353
  295. claude_mpm/dashboard/static/js/components/code-tree/tree-constants.js +0 -235
  296. claude_mpm/dashboard/static/js/components/code-tree/tree-search.js +0 -409
  297. claude_mpm/dashboard/static/js/components/code-tree/tree-utils.js +0 -435
  298. claude_mpm/dashboard/static/js/components/code-tree.js +0 -5869
  299. claude_mpm/dashboard/static/js/components/code-viewer.js +0 -1386
  300. claude_mpm/hooks/claude_hooks/hook_handler_eventbus.py +0 -425
  301. claude_mpm/hooks/claude_hooks/hook_handler_original.py +0 -1041
  302. claude_mpm/hooks/claude_hooks/hook_handler_refactored.py +0 -347
  303. claude_mpm/services/agents/deployment/agent_lifecycle_manager_refactored.py +0 -575
  304. claude_mpm/services/project/analyzer_refactored.py +0 -450
  305. {claude_mpm-4.7.4.dist-info → claude_mpm-4.18.2.dist-info}/WHEEL +0 -0
  306. {claude_mpm-4.7.4.dist-info → claude_mpm-4.18.2.dist-info}/entry_points.txt +0 -0
  307. {claude_mpm-4.7.4.dist-info → claude_mpm-4.18.2.dist-info}/licenses/LICENSE +0 -0
  308. {claude_mpm-4.7.4.dist-info → claude_mpm-4.18.2.dist-info}/top_level.txt +0 -0
@@ -9,6 +9,7 @@ DESIGN DECISION: We implement exponential backoff for retries and provide
9
9
  multiple installation strategies (pip, conda, source) to maximize success rate.
10
10
  """
11
11
 
12
+ import os
12
13
  import re
13
14
  import subprocess
14
15
  import sys
@@ -80,6 +81,7 @@ class RobustPackageInstaller:
80
81
  self.use_cache = use_cache
81
82
  self.attempts: List[InstallAttempt] = []
82
83
  self.success_cache: Dict[str, bool] = {}
84
+ self.in_virtualenv = self._check_virtualenv()
83
85
  self.is_pep668_managed = self._check_pep668_managed()
84
86
  self.pep668_warning_shown = False
85
87
 
@@ -201,6 +203,35 @@ class RobustPackageInstaller:
201
203
  except Exception as e:
202
204
  return False, f"Unexpected error: {e!s}"
203
205
 
206
+ def _check_virtualenv(self) -> bool:
207
+ """
208
+ Check if running inside a virtual environment.
209
+
210
+ WHY: Virtual environments are already isolated and don't need
211
+ --user or --break-system-packages flags. In fact, using --user
212
+ in a virtualenv causes errors.
213
+
214
+ Returns:
215
+ True if in a virtualenv, False otherwise
216
+ """
217
+ # Multiple ways to detect virtualenv
218
+ return (
219
+ (
220
+ # venv creates sys.base_prefix
221
+ hasattr(sys, "base_prefix")
222
+ and sys.base_prefix != sys.prefix
223
+ )
224
+ or (
225
+ # virtualenv creates sys.real_prefix
226
+ hasattr(sys, "real_prefix")
227
+ )
228
+ or (
229
+ # VIRTUAL_ENV environment variable
230
+ os.environ.get("VIRTUAL_ENV")
231
+ is not None
232
+ )
233
+ )
234
+
204
235
  def _check_pep668_managed(self) -> bool:
205
236
  """
206
237
  Check if Python environment is PEP 668 externally managed.
@@ -211,6 +242,11 @@ class RobustPackageInstaller:
211
242
  Returns:
212
243
  True if PEP 668 managed, False otherwise
213
244
  """
245
+ # If in virtualenv, PEP 668 doesn't apply
246
+ if self.in_virtualenv:
247
+ logger.debug("Running in virtualenv, PEP 668 restrictions don't apply")
248
+ return False
249
+
214
250
  # Check for EXTERNALLY-MANAGED marker file
215
251
  stdlib_path = sysconfig.get_path("stdlib")
216
252
  marker_file = Path(stdlib_path) / "EXTERNALLY-MANAGED"
@@ -240,7 +276,7 @@ class RobustPackageInstaller:
240
276
  "Your Python installation is marked as externally managed (PEP 668).\n"
241
277
  "This typically means you're using a system Python managed by Homebrew, apt, etc.\n"
242
278
  "\n"
243
- "Installing packages with --break-system-packages --user flags...\n"
279
+ "Installing packages with --break-system-packages flag...\n"
244
280
  "\n"
245
281
  "RECOMMENDED: Use a virtual environment instead:\n"
246
282
  " python -m venv .venv\n"
@@ -255,8 +291,10 @@ class RobustPackageInstaller:
255
291
  """
256
292
  Build the installation command for a given strategy.
257
293
 
258
- WHY: PEP 668 support added to handle externally managed Python
259
- environments by adding appropriate flags when needed.
294
+ WHY: Proper environment detection ensures we use the right pip flags:
295
+ - Virtualenv: No special flags needed (already isolated)
296
+ - PEP 668 system: Use --break-system-packages only
297
+ - Normal system: Use --user for user-local install
260
298
 
261
299
  Args:
262
300
  package_spec: Package specification
@@ -267,14 +305,19 @@ class RobustPackageInstaller:
267
305
  """
268
306
  base_cmd = [sys.executable, "-m", "pip", "install"]
269
307
 
270
- # Add PEP 668 bypass flags if needed
271
- if self.is_pep668_managed:
308
+ # Determine appropriate flags based on environment
309
+ if self.in_virtualenv:
310
+ # In virtualenv - no special flags needed
311
+ logger.debug("Installing in virtualenv (no special flags)")
312
+ elif self.is_pep668_managed:
313
+ # System Python with PEP 668 - use --break-system-packages only
272
314
  self._show_pep668_warning()
273
- # Add flags to bypass PEP 668 restrictions
274
- base_cmd.extend(["--break-system-packages", "--user"])
275
- logger.debug(
276
- "Added --break-system-packages --user flags for PEP 668 environment"
277
- )
315
+ base_cmd.append("--break-system-packages")
316
+ logger.debug("Added --break-system-packages flag for PEP 668 environment")
317
+ else:
318
+ # Normal system Python - use --user for user-local install
319
+ base_cmd.append("--user")
320
+ logger.debug("Added --user flag for user-local installation")
278
321
 
279
322
  # Add cache control
280
323
  if not self.use_cache:
@@ -612,11 +655,16 @@ class RobustPackageInstaller:
612
655
  try:
613
656
  cmd = [sys.executable, "-m", "pip", "install"]
614
657
 
615
- # Add PEP 668 bypass flags if needed
616
- if self.is_pep668_managed:
658
+ # Add appropriate flags based on environment
659
+ if self.in_virtualenv:
660
+ logger.debug("Batch install in virtualenv (no special flags)")
661
+ elif self.is_pep668_managed:
617
662
  self._show_pep668_warning()
618
- cmd.extend(["--break-system-packages", "--user"])
619
- logger.debug("Added PEP 668 flags for batch installation")
663
+ cmd.append("--break-system-packages")
664
+ logger.debug("Added --break-system-packages for batch installation")
665
+ else:
666
+ cmd.append("--user")
667
+ logger.debug("Added --user flag for batch installation")
620
668
 
621
669
  cmd.extend(packages)
622
670
 
@@ -654,12 +702,18 @@ class RobustPackageInstaller:
654
702
  lines.append("INSTALLATION REPORT")
655
703
  lines.append("=" * 60)
656
704
 
657
- # Add PEP 668 status
658
- if self.is_pep668_managed:
659
- lines.append("")
705
+ # Add environment status
706
+ lines.append("")
707
+ if self.in_virtualenv:
708
+ lines.append("✓ Environment: Virtual Environment (isolated)")
709
+ lines.append(" No special pip flags needed")
710
+ elif self.is_pep668_managed:
660
711
  lines.append("⚠️ PEP 668 Managed Environment: YES")
661
- lines.append(" Installations used --break-system-packages --user flags")
712
+ lines.append(" Installations used --break-system-packages flag")
662
713
  lines.append(" Consider using a virtual environment for better isolation")
714
+ else:
715
+ lines.append("Environment: System Python")
716
+ lines.append(" Installations used --user flag for user-local install")
663
717
 
664
718
  # Summary
665
719
  total_attempts = len(self.attempts)
@@ -672,7 +726,7 @@ class RobustPackageInstaller:
672
726
  lines.append("")
673
727
 
674
728
  # Details by package
675
- packages = {}
729
+ packages: Dict[str, List[InstallAttempt]] = {}
676
730
  for attempt in self.attempts:
677
731
  if attempt.package not in packages:
678
732
  packages[attempt.package] = []
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: claude-mpm
3
- Version: 4.7.4
3
+ Version: 4.18.2
4
4
  Summary: Claude Multi-Agent Project Manager - Orchestrate Claude with agent delegation and ticket tracking
5
5
  Author-email: Bob Matsuoka <bob@matsuoka.com>
6
6
  Maintainer: Claude MPM Team
@@ -49,12 +49,12 @@ Requires-Dist: rich>=13.0.0
49
49
  Requires-Dist: pyee>=13.0.0
50
50
  Requires-Dist: importlib-resources>=5.0; python_version < "3.9"
51
51
  Requires-Dist: pathspec>=0.11.0
52
+ Requires-Dist: kuzu-memory>=1.1.5
52
53
  Provides-Extra: mcp
53
54
  Requires-Dist: mcp>=0.1.0; extra == "mcp"
54
55
  Requires-Dist: mcp-vector-search>=0.1.0; extra == "mcp"
55
56
  Requires-Dist: mcp-browser>=0.1.0; extra == "mcp"
56
57
  Requires-Dist: mcp-ticketer>=0.1.0; extra == "mcp"
57
- Requires-Dist: kuzu-memory>=1.1.5; extra == "mcp"
58
58
  Provides-Extra: dev
59
59
  Requires-Dist: pytest>=7.0; extra == "dev"
60
60
  Requires-Dist: pytest-asyncio; extra == "dev"
@@ -157,10 +157,13 @@ A powerful orchestration framework for **Claude Code (CLI)** that enables multi-
157
157
  ## Features
158
158
 
159
159
  - 🤖 **Multi-Agent System**: 15 specialized agents for comprehensive project management
160
+ - 🎯 **Skills System**: 20 bundled skills with auto-linking, three-tier organization (bundled/user/project), and interactive configuration
160
161
  - 🧠 **Persistent Knowledge System**: Project-specific kuzu-memory integration for intelligent context retention
161
162
  - 🔄 **Session Management**: Resume previous sessions with `--resume`
163
+ - 📋 **Resume Log System**: Proactive context management with automatic 10k-token session logs at 70%/85%/95% thresholds
162
164
  - 📊 **Real-Time Monitoring**: Live dashboard with `--monitor` flag
163
- - 🔌 **Optional MCP Services**: mcp-vector-search and kuzu-memory with automatic fallback installation
165
+ - 🔌 **Smart MCP Services**: Interactive auto-install for mcp-vector-search on first use (pip/pipx choice)
166
+ - 🔍 **Semantic Code Search**: Optional vector search with graceful fallback to grep/glob
164
167
  - 📁 **Multi-Project Support**: Per-session working directories with persistent knowledge graphs
165
168
  - 🔍 **Git Integration**: View diffs and track changes across projects
166
169
  - 🎯 **Smart Task Orchestration**: PM agent intelligently routes work to specialists
@@ -193,10 +196,12 @@ claude-mpm mcp-pipx-config
193
196
  ```
194
197
 
195
198
  **💡 Optional Dependencies**:
196
- - `[mcp]` - Include MCP services (mcp-vector-search, mcp-browser, mcp-ticketer, kuzu-memory)
199
+ - `[mcp]` - Include MCP services (mcp-vector-search, mcp-browser, mcp-ticketer)
197
200
  - `[monitor]` - Full monitoring dashboard with Socket.IO and async web server components
198
201
  - **Combine both**: Use `"claude-mpm[mcp,monitor]"` to install all features
199
- - Without optional dependencies, MCP services auto-install on first use via pipx
202
+ - **Note**: kuzu-memory is now a required dependency, always included with Claude MPM
203
+ - **Auto-Install**: mcp-vector-search offers interactive installation on first use (pip/pipx choice)
204
+ - Without pre-installed MCP dependencies, services install on-demand with user confirmation
200
205
 
201
206
  **🎉 Pipx Support Now Fully Functional!** Recent improvements ensure complete compatibility:
202
207
  - ✅ Socket.IO daemon script path resolution (fixed)
@@ -215,6 +220,11 @@ claude-mpm
215
220
  # Start with monitoring dashboard
216
221
  claude-mpm run --monitor
217
222
 
223
+ # Use semantic code search (auto-installs mcp-vector-search on first use)
224
+ claude-mpm search "authentication logic"
225
+ # or inside Claude Code session:
226
+ /mpm-search "authentication logic"
227
+
218
228
  # Use MCP Gateway for external tool integration
219
229
  claude-mpm mcp
220
230
 
@@ -297,6 +307,41 @@ Claude MPM includes 15 specialized agents:
297
307
  ### Agent Memory System
298
308
  Agents learn project-specific patterns using a simple list format and can update memories via JSON response fields (`remember` for incremental updates, `MEMORIES` for complete replacement). Initialize with `claude-mpm memory init`.
299
309
 
310
+ ### Skills System
311
+
312
+ Claude MPM includes a powerful skills system that eliminates redundant agent guidance through reusable skill modules:
313
+
314
+ **20 Bundled Skills** covering essential development workflows (all versioned starting at 0.1.0):
315
+ - Git workflow, TDD, code review, systematic debugging
316
+ - API documentation, refactoring patterns, performance profiling
317
+ - Docker containerization, database migrations, security scanning
318
+ - JSON/PDF/XLSX handling, async testing, ImageMagick operations
319
+ - Local development servers: Next.js, FastAPI, Vite, Express
320
+ - Web performance: Lighthouse metrics, Core Web Vitals optimization
321
+
322
+ **Three-Tier Organization:**
323
+ - **Bundled**: Core skills included with Claude MPM (~15,000 lines of reusable guidance)
324
+ - **User**: Custom skills in `~/.config/claude-mpm/skills/`
325
+ - **Project**: Project-specific skills in `.claude-mpm/skills/`
326
+
327
+ **Version Tracking:**
328
+ - All skills support semantic versioning (MAJOR.MINOR.PATCH)
329
+ - Check versions with `/mpm-version` command in Claude Code
330
+ - See [Skills Versioning Guide](docs/user/skills-versioning.md) for details
331
+
332
+ **Quick Access:**
333
+ ```bash
334
+ # Interactive skills management
335
+ claude-mpm configure
336
+ # Choose option 2: Skills Management
337
+
338
+ # Auto-link skills to agents based on their roles
339
+ # Configure custom skill assignments
340
+ # View current skill mappings
341
+ ```
342
+
343
+ Skills are automatically injected into agent prompts, reducing template size by 85% while maintaining full capability coverage.
344
+
300
345
  ### MCP Gateway (Model Context Protocol)
301
346
 
302
347
  Claude MPM includes a powerful MCP Gateway that enables:
@@ -319,6 +364,72 @@ claude-mpm cleanup-memory
319
364
  claude-mpm cleanup-memory --days 7
320
365
  ```
321
366
 
367
+ ### Resume Log System
368
+
369
+ **NEW in v4.17.2** - Proactive context management for seamless session continuity.
370
+
371
+ The Resume Log System automatically generates structured 10k-token logs when approaching Claude's context window limits, enabling you to resume work without losing important context.
372
+
373
+ **Key Features**:
374
+ - 🎯 **Graduated Thresholds**: Warnings at 70% (60k buffer), 85% (30k buffer), and 95% (10k buffer)
375
+ - 📋 **Structured Logs**: 10k-token budget intelligently distributed across 7 key sections
376
+ - 🔄 **Seamless Resumption**: Automatically loads previous session context on startup
377
+ - 📁 **Human-Readable**: Markdown format for both Claude and human review
378
+ - ⚙️ **Zero-Configuration**: Works automatically with sensible defaults
379
+
380
+ **How It Works**:
381
+ 1. Monitor token usage continuously throughout session
382
+ 2. Display proactive warnings at 70%, 85%, and 95% thresholds
383
+ 3. Automatically generate resume log when approaching limits
384
+ 4. Load previous resume log when starting new session
385
+ 5. Continue work seamlessly with full context preservation
386
+
387
+ **Example Resume Log Structure**:
388
+ ```markdown
389
+ # Session Resume Log: 20251101_115000
390
+
391
+ ## Context Metrics (500 tokens)
392
+ - Token usage and percentage
393
+
394
+ ## Mission Summary (1,000 tokens)
395
+ - Overall goal and purpose
396
+
397
+ ## Accomplishments (2,000 tokens)
398
+ - What was completed
399
+
400
+ ## Key Findings (2,500 tokens)
401
+ - Important discoveries
402
+
403
+ ## Decisions & Rationale (1,500 tokens)
404
+ - Why choices were made
405
+
406
+ ## Next Steps (1,500 tokens)
407
+ - What to do next
408
+
409
+ ## Critical Context (1,000 tokens)
410
+ - Essential state, IDs, paths
411
+ ```
412
+
413
+ **Configuration** (`.claude-mpm/configuration.yaml`):
414
+ ```yaml
415
+ context_management:
416
+ enabled: true
417
+ budget_total: 200000
418
+ thresholds:
419
+ caution: 0.70 # First warning - plan transition
420
+ warning: 0.85 # Strong warning - wrap up
421
+ critical: 0.95 # Urgent - stop new work
422
+ resume_logs:
423
+ enabled: true
424
+ auto_generate: true
425
+ max_tokens: 10000
426
+ storage_dir: ".claude-mpm/resume-logs"
427
+ ```
428
+
429
+ **QA Status**: 40/41 tests passing (97.6% coverage), APPROVED FOR PRODUCTION ✅
430
+
431
+ See [docs/user/resume-logs.md](docs/user/resume-logs.md) for complete documentation.
432
+
322
433
  ### Real-Time Monitoring
323
434
  The `--monitor` flag opens a web dashboard showing live agent activity, file operations, and session management.
324
435
 
@@ -357,19 +468,25 @@ See [docs/MEMORY.md](docs/MEMORY.md) and [docs/developer/11-dashboard/README.md]
357
468
  - **Single Entry Point**: [docs/README.md](docs/README.md) is your navigation hub
358
469
  - **Clear User Paths**: Organized by user type and experience level
359
470
  - **Cross-Referenced**: Links between related topics and sections
360
- - **Up-to-Date**: Version 4.3.3 with current information
471
+ - **Up-to-Date**: Version 4.16.3 with web performance optimization skill
472
+
473
+ ## Recent Updates (v4.16.3)
474
+
475
+ **Web Performance Optimization**: New `web-performance-optimization` skill for Lighthouse metrics, Core Web Vitals (LCP, INP, CLS), and framework-specific optimization patterns.
476
+
477
+ ## Previous Updates (v4.16.1)
361
478
 
362
- ## Recent Updates (v4.3.3)
479
+ **Local Development Skills**: Added 4 new toolchain-specific skills: `nextjs-local-dev`, `fastapi-local-dev`, `vite-local-dev`, and `express-local-dev` for professional local server management with PM2, HMR, and production-grade patterns.
363
480
 
364
- **Enhanced PM Instructions**: PM2 deployment support and mandatory web-qa verification for quality assurance.
481
+ **Skills System Integration**: 20 bundled skills with auto-linking, three-tier organization, and interactive configuration. Eliminates 85% of redundant guidance across agent templates (~15,000 lines of reusable content).
365
482
 
366
- **Improved Version Management**: Better version comparison logic and agent override warnings for smoother operations.
483
+ **Enhanced Documentation**: Complete documentation suite with PDF guides, reorganized structure, and comprehensive design documents for skills integration.
367
484
 
368
- **Code Quality Improvements**: Auto-fix code formatting and import management with enhanced standard tools recognition.
485
+ **Agent Template Improvements**: Cleaned agent templates with skills integration, removing redundant guidance while maintaining full capability coverage.
369
486
 
370
- **Documentation Overhaul**: Unified documentation architecture with single entry point and clear navigation paths.
487
+ **Interactive Skills Management**: New skills wizard accessible via `claude-mpm configure` for viewing, configuring, and auto-linking skills to agents.
371
488
 
372
- **Performance Enhancements**: Continued 50-80% performance improvements through intelligent caching and lazy loading.
489
+ **Bug Fixes**: Resolved agent template inconsistencies and improved configuration management.
373
490
 
374
491
  See [CHANGELOG.md](CHANGELOG.md) for full history and [docs/user/MIGRATION.md](docs/user/MIGRATION.md) for upgrade instructions.
375
492