claude-mpm 4.1.26__py3-none-any.whl → 5.0.9__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.
- claude_mpm/BUILD_NUMBER +1 -1
- claude_mpm/VERSION +1 -1
- claude_mpm/__init__.py +20 -5
- claude_mpm/agents/BASE_AGENT_TEMPLATE.md +118 -0
- claude_mpm/agents/BASE_DOCUMENTATION.md +53 -0
- claude_mpm/agents/BASE_ENGINEER.md +658 -0
- claude_mpm/agents/BASE_OPS.md +219 -0
- claude_mpm/agents/BASE_PM.md +432 -158
- claude_mpm/agents/BASE_PROMPT_ENGINEER.md +787 -0
- claude_mpm/agents/BASE_QA.md +167 -0
- claude_mpm/agents/BASE_RESEARCH.md +53 -0
- claude_mpm/agents/OUTPUT_STYLE.md +254 -29
- claude_mpm/agents/PM_INSTRUCTIONS.md +969 -0
- claude_mpm/agents/PM_INSTRUCTIONS_TEACH.md +1322 -0
- claude_mpm/agents/WORKFLOW.md +355 -191
- claude_mpm/agents/__init__.py +6 -0
- claude_mpm/agents/agent_loader.py +41 -14
- claude_mpm/agents/agent_loader_integration.py +3 -2
- claude_mpm/agents/async_agent_loader.py +3 -3
- claude_mpm/agents/base_agent.json +6 -3
- claude_mpm/agents/base_agent_loader.py +21 -44
- claude_mpm/agents/frontmatter_validator.py +292 -252
- claude_mpm/agents/system_agent_config.py +3 -2
- claude_mpm/agents/templates/README.md +465 -0
- claude_mpm/agents/templates/circuit-breakers.md +1005 -0
- claude_mpm/agents/templates/context-management-examples.md +544 -0
- claude_mpm/agents/templates/git-file-tracking.md +584 -0
- claude_mpm/agents/templates/pm-examples.md +474 -0
- claude_mpm/agents/templates/pm-red-flags.md +310 -0
- claude_mpm/agents/templates/pr-workflow-examples.md +427 -0
- claude_mpm/agents/templates/research-gate-examples.md +669 -0
- claude_mpm/agents/templates/response-format.md +583 -0
- claude_mpm/agents/templates/structured-questions-examples.md +615 -0
- claude_mpm/agents/templates/ticket-completeness-examples.md +139 -0
- claude_mpm/agents/templates/ticketing-examples.md +277 -0
- claude_mpm/agents/templates/validation-templates.md +312 -0
- claude_mpm/cli/__init__.py +72 -376
- claude_mpm/cli/commands/__init__.py +4 -0
- claude_mpm/cli/commands/agent_manager.py +675 -20
- claude_mpm/cli/commands/agent_source.py +774 -0
- claude_mpm/cli/commands/agent_state_manager.py +344 -0
- claude_mpm/cli/commands/agents.py +1673 -178
- claude_mpm/cli/commands/agents_cleanup.py +210 -0
- claude_mpm/cli/commands/agents_detect.py +380 -0
- claude_mpm/cli/commands/agents_discover.py +338 -0
- claude_mpm/cli/commands/agents_recommend.py +309 -0
- claude_mpm/cli/commands/aggregate.py +11 -7
- claude_mpm/cli/commands/analyze.py +18 -13
- claude_mpm/cli/commands/analyze_code.py +8 -4
- claude_mpm/cli/commands/auto_configure.py +566 -0
- claude_mpm/cli/commands/cleanup.py +12 -12
- claude_mpm/cli/commands/config.py +54 -17
- claude_mpm/cli/commands/configure.py +1184 -1055
- claude_mpm/cli/commands/configure_agent_display.py +261 -0
- claude_mpm/cli/commands/configure_behavior_manager.py +204 -0
- claude_mpm/cli/commands/configure_hook_manager.py +225 -0
- claude_mpm/cli/commands/configure_models.py +18 -0
- claude_mpm/cli/commands/configure_navigation.py +184 -0
- claude_mpm/cli/commands/configure_paths.py +104 -0
- claude_mpm/cli/commands/configure_persistence.py +254 -0
- claude_mpm/cli/commands/configure_startup_manager.py +646 -0
- claude_mpm/cli/commands/configure_template_editor.py +497 -0
- claude_mpm/cli/commands/configure_validators.py +73 -0
- claude_mpm/cli/commands/dashboard.py +50 -52
- claude_mpm/cli/commands/debug.py +19 -19
- claude_mpm/cli/commands/doctor.py +51 -7
- claude_mpm/cli/commands/hook_errors.py +277 -0
- claude_mpm/cli/commands/info.py +3 -4
- claude_mpm/cli/commands/local_deploy.py +534 -0
- claude_mpm/cli/commands/mcp.py +17 -10
- claude_mpm/cli/commands/mcp_command_router.py +11 -0
- claude_mpm/cli/commands/mcp_config.py +154 -0
- claude_mpm/cli/commands/mcp_external_commands.py +249 -0
- claude_mpm/cli/commands/mcp_install_commands.py +101 -32
- claude_mpm/cli/commands/mcp_pipx_config.py +2 -2
- claude_mpm/cli/commands/mcp_setup_external.py +868 -0
- claude_mpm/cli/commands/memory.py +55 -21
- claude_mpm/cli/commands/monitor.py +160 -70
- claude_mpm/cli/commands/mpm_init/__init__.py +73 -0
- claude_mpm/cli/commands/mpm_init/core.py +573 -0
- claude_mpm/cli/commands/mpm_init/display.py +341 -0
- claude_mpm/cli/commands/mpm_init/git_activity.py +427 -0
- claude_mpm/cli/commands/mpm_init/modes.py +397 -0
- claude_mpm/cli/commands/mpm_init/prompts.py +442 -0
- claude_mpm/cli/commands/mpm_init_cli.py +396 -0
- claude_mpm/cli/commands/mpm_init_handler.py +114 -4
- claude_mpm/cli/commands/postmortem.py +401 -0
- claude_mpm/cli/commands/run.py +252 -167
- claude_mpm/cli/commands/search.py +458 -0
- claude_mpm/cli/commands/skill_source.py +694 -0
- claude_mpm/cli/commands/skills.py +1225 -0
- claude_mpm/cli/commands/uninstall.py +176 -0
- claude_mpm/cli/commands/upgrade.py +152 -0
- claude_mpm/cli/commands/verify.py +119 -0
- claude_mpm/cli/executor.py +279 -0
- claude_mpm/cli/helpers.py +105 -0
- claude_mpm/cli/interactive/__init__.py +21 -0
- claude_mpm/cli/interactive/agent_wizard.py +1872 -0
- claude_mpm/cli/interactive/skills_wizard.py +491 -0
- claude_mpm/cli/parser.py +79 -2
- claude_mpm/cli/parsers/__init__.py +7 -1
- claude_mpm/cli/parsers/agent_manager_parser.py +161 -1
- claude_mpm/cli/parsers/agent_source_parser.py +171 -0
- claude_mpm/cli/parsers/agents_parser.py +369 -1
- claude_mpm/cli/parsers/auto_configure_parser.py +245 -0
- claude_mpm/cli/parsers/base_parser.py +196 -3
- claude_mpm/cli/parsers/config_parser.py +96 -43
- claude_mpm/cli/parsers/configure_parser.py +11 -15
- claude_mpm/cli/parsers/local_deploy_parser.py +227 -0
- claude_mpm/cli/parsers/mcp_parser.py +15 -0
- claude_mpm/cli/parsers/monitor_parser.py +12 -2
- claude_mpm/cli/parsers/mpm_init_parser.py +179 -9
- claude_mpm/cli/parsers/run_parser.py +5 -0
- claude_mpm/cli/parsers/search_parser.py +245 -0
- claude_mpm/cli/parsers/skill_source_parser.py +169 -0
- claude_mpm/cli/parsers/skills_parser.py +282 -0
- claude_mpm/cli/parsers/source_parser.py +138 -0
- claude_mpm/cli/shared/argument_patterns.py +20 -13
- claude_mpm/cli/shared/base_command.py +2 -2
- claude_mpm/cli/shared/output_formatters.py +28 -19
- claude_mpm/cli/startup.py +994 -0
- claude_mpm/cli/startup_display.py +480 -0
- claude_mpm/cli/startup_logging.py +179 -13
- claude_mpm/cli/utils.py +54 -3
- claude_mpm/cli_module/commands.py +1 -1
- claude_mpm/commands/mpm-agents-auto-configure.md +278 -0
- claude_mpm/commands/mpm-agents-detect.md +177 -0
- claude_mpm/commands/mpm-agents-list.md +131 -0
- claude_mpm/commands/mpm-agents-recommend.md +223 -0
- claude_mpm/commands/mpm-config-view.md +150 -0
- claude_mpm/commands/mpm-doctor.md +9 -0
- claude_mpm/commands/mpm-help.md +297 -5
- claude_mpm/commands/mpm-init.md +401 -17
- claude_mpm/commands/mpm-monitor.md +418 -0
- claude_mpm/commands/mpm-postmortem.md +123 -0
- claude_mpm/commands/mpm-session-resume.md +381 -0
- claude_mpm/commands/mpm-status.md +79 -8
- claude_mpm/commands/mpm-ticket-organize.md +304 -0
- claude_mpm/commands/mpm-ticket-view.md +552 -0
- claude_mpm/commands/mpm-version.md +122 -0
- claude_mpm/commands/mpm.md +12 -0
- claude_mpm/config/agent_config.py +4 -4
- claude_mpm/config/agent_presets.py +488 -0
- claude_mpm/config/agent_sources.py +325 -0
- claude_mpm/config/experimental_features.py +7 -7
- claude_mpm/config/model_config.py +428 -0
- claude_mpm/config/paths.py +3 -2
- claude_mpm/config/skill_presets.py +392 -0
- claude_mpm/config/skill_sources.py +590 -0
- claude_mpm/config/socketio_config.py +3 -3
- claude_mpm/constants.py +28 -1
- claude_mpm/core/__init__.py +53 -17
- claude_mpm/core/agent_name_normalizer.py +3 -2
- claude_mpm/core/agent_registry.py +2 -2
- claude_mpm/core/agent_session_manager.py +10 -10
- claude_mpm/core/api_validator.py +330 -0
- claude_mpm/core/base_service.py +33 -23
- claude_mpm/core/cache.py +9 -9
- claude_mpm/core/claude_runner.py +24 -42
- claude_mpm/core/config.py +101 -8
- claude_mpm/core/config_aliases.py +7 -6
- claude_mpm/core/constants.py +66 -1
- claude_mpm/core/container.py +11 -5
- claude_mpm/core/enums.py +452 -0
- claude_mpm/core/error_handler.py +623 -0
- claude_mpm/core/factories.py +1 -1
- claude_mpm/core/file_utils.py +764 -0
- claude_mpm/core/framework/__init__.py +25 -0
- claude_mpm/core/framework/formatters/__init__.py +11 -0
- claude_mpm/core/framework/formatters/capability_generator.py +367 -0
- claude_mpm/core/framework/formatters/content_formatter.py +288 -0
- claude_mpm/core/framework/formatters/context_generator.py +185 -0
- claude_mpm/core/framework/loaders/__init__.py +13 -0
- claude_mpm/core/framework/loaders/agent_loader.py +210 -0
- claude_mpm/core/framework/loaders/file_loader.py +176 -0
- claude_mpm/core/framework/loaders/instruction_loader.py +181 -0
- claude_mpm/core/framework/loaders/packaged_loader.py +232 -0
- claude_mpm/core/framework/processors/__init__.py +11 -0
- claude_mpm/core/framework/processors/memory_processor.py +230 -0
- claude_mpm/core/framework/processors/metadata_processor.py +146 -0
- claude_mpm/core/framework/processors/template_processor.py +244 -0
- claude_mpm/core/framework_loader.py +321 -1631
- claude_mpm/core/hook_error_memory.py +381 -0
- claude_mpm/core/hook_manager.py +49 -8
- claude_mpm/core/injectable_service.py +11 -8
- claude_mpm/core/instruction_reinforcement_hook.py +4 -3
- claude_mpm/core/interactive_session.py +146 -18
- claude_mpm/core/interfaces.py +56 -1
- claude_mpm/core/lazy.py +3 -3
- claude_mpm/core/log_manager.py +92 -23
- claude_mpm/core/logger.py +22 -15
- claude_mpm/core/logging_config.py +6 -2
- claude_mpm/core/logging_utils.py +520 -0
- claude_mpm/core/oneshot_session.py +122 -15
- claude_mpm/core/optimized_agent_loader.py +9 -9
- claude_mpm/core/optimized_startup.py +1 -1
- claude_mpm/core/output_style_manager.py +12 -192
- claude_mpm/core/pm_hook_interceptor.py +18 -12
- claude_mpm/core/protocols/__init__.py +23 -0
- claude_mpm/core/protocols/runner_protocol.py +103 -0
- claude_mpm/core/protocols/session_protocol.py +131 -0
- claude_mpm/core/service_registry.py +7 -3
- claude_mpm/core/session_manager.py +14 -12
- claude_mpm/core/shared/config_loader.py +1 -1
- claude_mpm/core/shared/singleton_manager.py +11 -4
- claude_mpm/core/socketio_pool.py +15 -15
- claude_mpm/core/system_context.py +38 -0
- claude_mpm/core/tool_access_control.py +3 -2
- claude_mpm/core/types.py +4 -11
- claude_mpm/core/typing_utils.py +7 -6
- claude_mpm/core/unified_agent_registry.py +115 -11
- claude_mpm/core/unified_config.py +6 -6
- claude_mpm/core/unified_paths.py +23 -20
- claude_mpm/dashboard/analysis_runner.py +4 -4
- claude_mpm/dashboard/api/simple_directory.py +261 -0
- claude_mpm/dashboard/static/css/activity.css +69 -69
- claude_mpm/dashboard/static/css/connection-status.css +10 -10
- claude_mpm/dashboard/static/css/dashboard.css +600 -18
- claude_mpm/dashboard/static/js/components/activity-tree.js +181 -195
- claude_mpm/dashboard/static/js/components/agent-hierarchy.js +105 -102
- claude_mpm/dashboard/static/js/components/agent-inference.js +34 -31
- claude_mpm/dashboard/static/js/components/build-tracker.js +67 -59
- claude_mpm/dashboard/static/js/components/code-simple.js +857 -0
- claude_mpm/dashboard/static/js/components/connection-debug.js +101 -101
- claude_mpm/dashboard/static/js/components/diff-viewer.js +891 -0
- claude_mpm/dashboard/static/js/components/event-processor.js +3 -0
- claude_mpm/dashboard/static/js/components/event-viewer.js +50 -13
- claude_mpm/dashboard/static/js/components/export-manager.js +3 -0
- claude_mpm/dashboard/static/js/components/file-change-tracker.js +443 -0
- claude_mpm/dashboard/static/js/components/file-change-viewer.js +690 -0
- claude_mpm/dashboard/static/js/components/file-tool-tracker.js +36 -16
- claude_mpm/dashboard/static/js/components/file-viewer.js +580 -0
- claude_mpm/dashboard/static/js/components/module-viewer.js +49 -23
- claude_mpm/dashboard/static/js/components/session-manager.js +19 -19
- claude_mpm/dashboard/static/js/components/socket-manager.js +5 -1
- claude_mpm/dashboard/static/js/components/ui-state-manager.js +356 -41
- claude_mpm/dashboard/static/js/components/unified-data-viewer.js +520 -88
- claude_mpm/dashboard/static/js/components/working-directory.js +46 -11
- claude_mpm/dashboard/static/js/connection-manager.js +76 -76
- claude_mpm/dashboard/static/js/dashboard.js +309 -178
- claude_mpm/dashboard/static/js/extension-error-handler.js +22 -22
- claude_mpm/dashboard/static/js/socket-client.js +183 -139
- claude_mpm/dashboard/static/js/tab-isolation-fix.js +185 -0
- claude_mpm/dashboard/static/socket.io.min.js +7 -0
- claude_mpm/dashboard/static/socket.io.v4.8.1.backup.js +7 -0
- claude_mpm/dashboard/templates/code_simple.html +153 -0
- claude_mpm/dashboard/templates/index.html +125 -122
- claude_mpm/experimental/cli_enhancements.py +5 -7
- claude_mpm/generators/agent_profile_generator.py +5 -3
- claude_mpm/hooks/__init__.py +37 -1
- claude_mpm/hooks/base_hook.py +5 -4
- claude_mpm/hooks/claude_hooks/__pycache__/__init__.cpython-313.pyc +0 -0
- claude_mpm/hooks/claude_hooks/__pycache__/event_handlers.cpython-313.pyc +0 -0
- claude_mpm/hooks/claude_hooks/__pycache__/hook_handler.cpython-313.pyc +0 -0
- claude_mpm/hooks/claude_hooks/__pycache__/memory_integration.cpython-313.pyc +0 -0
- claude_mpm/hooks/claude_hooks/__pycache__/response_tracking.cpython-313.pyc +0 -0
- claude_mpm/hooks/claude_hooks/__pycache__/tool_analysis.cpython-313.pyc +0 -0
- claude_mpm/hooks/claude_hooks/connection_pool.py +4 -4
- claude_mpm/hooks/claude_hooks/event_handlers.py +24 -19
- claude_mpm/hooks/claude_hooks/hook_handler.py +29 -22
- claude_mpm/hooks/claude_hooks/installer.py +67 -22
- claude_mpm/hooks/claude_hooks/memory_integration.py +3 -3
- claude_mpm/hooks/claude_hooks/response_tracking.py +57 -17
- claude_mpm/hooks/claude_hooks/services/__pycache__/__init__.cpython-313.pyc +0 -0
- claude_mpm/hooks/claude_hooks/services/__pycache__/connection_manager_http.cpython-313.pyc +0 -0
- claude_mpm/hooks/claude_hooks/services/__pycache__/duplicate_detector.cpython-313.pyc +0 -0
- claude_mpm/hooks/claude_hooks/services/__pycache__/state_manager.cpython-313.pyc +0 -0
- claude_mpm/hooks/claude_hooks/services/__pycache__/subagent_processor.cpython-313.pyc +0 -0
- claude_mpm/hooks/claude_hooks/services/connection_manager.py +62 -64
- claude_mpm/hooks/claude_hooks/services/connection_manager_http.py +140 -76
- claude_mpm/hooks/claude_hooks/services/state_manager.py +11 -9
- claude_mpm/hooks/claude_hooks/services/subagent_processor.py +3 -3
- claude_mpm/hooks/failure_learning/__init__.py +54 -0
- claude_mpm/hooks/failure_learning/failure_detection_hook.py +230 -0
- claude_mpm/hooks/failure_learning/fix_detection_hook.py +212 -0
- claude_mpm/hooks/failure_learning/learning_extraction_hook.py +281 -0
- claude_mpm/hooks/instruction_reinforcement.py +301 -0
- claude_mpm/hooks/kuzu_enrichment_hook.py +263 -0
- claude_mpm/hooks/kuzu_memory_hook.py +386 -0
- claude_mpm/hooks/kuzu_response_hook.py +179 -0
- claude_mpm/hooks/memory_integration_hook.py +1 -1
- claude_mpm/hooks/session_resume_hook.py +121 -0
- claude_mpm/hooks/templates/pre_tool_use_simple.py +78 -0
- claude_mpm/hooks/templates/pre_tool_use_template.py +323 -0
- claude_mpm/hooks/tool_call_interceptor.py +8 -5
- claude_mpm/hooks/validation_hooks.py +3 -3
- claude_mpm/init.py +23 -4
- claude_mpm/models/agent_session.py +8 -6
- claude_mpm/models/git_repository.py +198 -0
- claude_mpm/models/resume_log.py +340 -0
- claude_mpm/scripts/claude-hook-handler.sh +35 -9
- claude_mpm/scripts/launch_monitor.py +85 -0
- claude_mpm/scripts/mcp_server.py +3 -5
- claude_mpm/scripts/mpm_doctor.py +3 -2
- claude_mpm/scripts/socketio_daemon.py +159 -512
- claude_mpm/scripts/start_activity_logging.py +3 -1
- claude_mpm/services/__init__.py +144 -160
- claude_mpm/services/agents/__init__.py +18 -5
- claude_mpm/services/agents/agent_builder.py +56 -18
- claude_mpm/services/agents/agent_preset_service.py +238 -0
- claude_mpm/services/agents/agent_selection_service.py +484 -0
- claude_mpm/services/agents/auto_config_manager.py +796 -0
- claude_mpm/services/agents/auto_deploy_index_parser.py +569 -0
- claude_mpm/services/agents/cache_git_manager.py +621 -0
- claude_mpm/services/agents/deployment/agent_configuration_manager.py +1 -1
- claude_mpm/services/agents/deployment/agent_deployment.py +164 -17
- claude_mpm/services/agents/deployment/agent_discovery_service.py +191 -41
- claude_mpm/services/agents/deployment/agent_filesystem_manager.py +5 -5
- claude_mpm/services/agents/deployment/agent_format_converter.py +56 -12
- claude_mpm/services/agents/deployment/agent_lifecycle_manager.py +5 -7
- claude_mpm/services/agents/deployment/agent_metrics_collector.py +3 -3
- claude_mpm/services/agents/deployment/agent_operation_service.py +2 -2
- claude_mpm/services/agents/deployment/agent_record_service.py +4 -4
- claude_mpm/services/agents/deployment/agent_restore_handler.py +1 -4
- claude_mpm/services/agents/deployment/agent_state_service.py +2 -2
- claude_mpm/services/agents/deployment/agent_template_builder.py +939 -50
- claude_mpm/services/agents/deployment/agent_validator.py +31 -7
- claude_mpm/services/agents/deployment/agent_version_manager.py +8 -5
- claude_mpm/services/agents/deployment/agent_versioning.py +1 -1
- claude_mpm/services/agents/deployment/agents_directory_resolver.py +101 -15
- claude_mpm/services/agents/deployment/async_agent_deployment.py +3 -2
- claude_mpm/services/agents/deployment/deployment_config_loader.py +131 -7
- claude_mpm/services/agents/deployment/deployment_type_detector.py +10 -14
- claude_mpm/services/agents/deployment/deployment_wrapper.py +58 -0
- claude_mpm/services/agents/deployment/facade/deployment_facade.py +3 -3
- claude_mpm/services/agents/deployment/interface_adapter.py +3 -2
- claude_mpm/services/agents/deployment/local_template_deployment.py +360 -0
- claude_mpm/services/agents/deployment/multi_source_deployment_service.py +249 -53
- claude_mpm/services/agents/deployment/pipeline/pipeline_executor.py +2 -2
- claude_mpm/services/agents/deployment/pipeline/steps/agent_processing_step.py +8 -7
- claude_mpm/services/agents/deployment/pipeline/steps/base_step.py +7 -16
- claude_mpm/services/agents/deployment/pipeline/steps/configuration_step.py +4 -3
- claude_mpm/services/agents/deployment/pipeline/steps/target_directory_step.py +7 -5
- claude_mpm/services/agents/deployment/pipeline/steps/validation_step.py +6 -5
- claude_mpm/services/agents/deployment/refactored_agent_deployment_service.py +10 -10
- claude_mpm/services/agents/deployment/remote_agent_discovery_service.py +363 -0
- claude_mpm/services/agents/deployment/single_agent_deployer.py +2 -2
- claude_mpm/services/agents/deployment/system_instructions_deployer.py +168 -43
- claude_mpm/services/agents/deployment/validation/__init__.py +3 -1
- claude_mpm/services/agents/deployment/validation/deployment_validator.py +2 -2
- claude_mpm/services/agents/deployment/validation/template_validator.py +64 -44
- claude_mpm/services/agents/deployment/validation/validation_result.py +1 -9
- claude_mpm/services/agents/git_source_manager.py +629 -0
- claude_mpm/services/agents/loading/agent_profile_loader.py +10 -9
- claude_mpm/services/agents/loading/base_agent_manager.py +16 -6
- claude_mpm/services/agents/loading/framework_agent_loader.py +11 -14
- claude_mpm/services/agents/local_template_manager.py +784 -0
- claude_mpm/services/agents/management/agent_capabilities_generator.py +3 -2
- claude_mpm/services/agents/management/agent_management_service.py +5 -5
- claude_mpm/services/agents/memory/agent_memory_manager.py +32 -29
- claude_mpm/services/agents/memory/content_manager.py +17 -9
- claude_mpm/services/agents/memory/memory_categorization_service.py +4 -2
- claude_mpm/services/agents/memory/memory_file_service.py +32 -6
- claude_mpm/services/agents/memory/memory_format_service.py +6 -4
- claude_mpm/services/agents/memory/memory_limits_service.py +4 -2
- claude_mpm/services/agents/memory/template_generator.py +3 -3
- claude_mpm/services/agents/observers.py +547 -0
- claude_mpm/services/agents/recommender.py +615 -0
- claude_mpm/services/agents/registry/deployed_agent_discovery.py +3 -3
- claude_mpm/services/agents/registry/modification_tracker.py +30 -19
- claude_mpm/services/agents/single_tier_deployment_service.py +696 -0
- claude_mpm/services/agents/sources/__init__.py +13 -0
- claude_mpm/services/agents/sources/agent_sync_state.py +516 -0
- claude_mpm/services/agents/sources/git_source_sync_service.py +1087 -0
- claude_mpm/services/agents/startup_sync.py +239 -0
- claude_mpm/services/agents/toolchain_detector.py +474 -0
- claude_mpm/services/analysis/__init__.py +25 -0
- claude_mpm/services/analysis/postmortem_reporter.py +474 -0
- claude_mpm/services/analysis/postmortem_service.py +765 -0
- claude_mpm/services/async_session_logger.py +141 -98
- claude_mpm/services/claude_session_logger.py +82 -74
- claude_mpm/services/cli/agent_cleanup_service.py +5 -0
- claude_mpm/services/cli/agent_listing_service.py +5 -5
- claude_mpm/services/cli/agent_validation_service.py +3 -1
- claude_mpm/services/cli/memory_crud_service.py +12 -7
- claude_mpm/services/cli/memory_output_formatter.py +2 -2
- claude_mpm/services/cli/resume_service.py +617 -0
- claude_mpm/services/cli/session_manager.py +104 -13
- claude_mpm/services/cli/session_pause_manager.py +504 -0
- claude_mpm/services/cli/session_resume_helper.py +372 -0
- claude_mpm/services/cli/startup_checker.py +13 -10
- claude_mpm/services/cli/unified_dashboard_manager.py +439 -0
- claude_mpm/services/command_deployment_service.py +209 -13
- claude_mpm/services/command_handler_service.py +11 -5
- claude_mpm/services/core/__init__.py +33 -1
- claude_mpm/services/core/base.py +31 -11
- claude_mpm/services/core/interfaces/__init__.py +88 -3
- claude_mpm/services/core/interfaces/agent.py +184 -0
- claude_mpm/services/core/interfaces/health.py +169 -0
- claude_mpm/services/core/interfaces/model.py +281 -0
- claude_mpm/services/core/interfaces/process.py +372 -0
- claude_mpm/services/core/interfaces/project.py +121 -0
- claude_mpm/services/core/interfaces/restart.py +307 -0
- claude_mpm/services/core/interfaces/stability.py +260 -0
- claude_mpm/services/core/interfaces.py +56 -1
- claude_mpm/services/core/memory_manager.py +92 -47
- claude_mpm/services/core/models/__init__.py +70 -0
- claude_mpm/services/core/models/agent_config.py +384 -0
- claude_mpm/services/core/models/health.py +162 -0
- claude_mpm/services/core/models/process.py +239 -0
- claude_mpm/services/core/models/restart.py +302 -0
- claude_mpm/services/core/models/stability.py +264 -0
- claude_mpm/services/core/models/toolchain.py +306 -0
- claude_mpm/services/core/path_resolver.py +36 -14
- claude_mpm/services/diagnostics/__init__.py +2 -2
- claude_mpm/services/diagnostics/checks/__init__.py +8 -2
- claude_mpm/services/diagnostics/checks/agent_check.py +30 -34
- claude_mpm/services/diagnostics/checks/agent_sources_check.py +577 -0
- claude_mpm/services/diagnostics/checks/claude_code_check.py +270 -0
- claude_mpm/services/diagnostics/checks/common_issues_check.py +28 -27
- claude_mpm/services/diagnostics/checks/configuration_check.py +26 -25
- claude_mpm/services/diagnostics/checks/filesystem_check.py +18 -17
- claude_mpm/services/diagnostics/checks/installation_check.py +165 -60
- claude_mpm/services/diagnostics/checks/instructions_check.py +21 -21
- claude_mpm/services/diagnostics/checks/mcp_check.py +57 -44
- claude_mpm/services/diagnostics/checks/mcp_services_check.py +1058 -0
- claude_mpm/services/diagnostics/checks/monitor_check.py +24 -24
- claude_mpm/services/diagnostics/checks/skill_sources_check.py +587 -0
- claude_mpm/services/diagnostics/checks/startup_log_check.py +14 -11
- claude_mpm/services/diagnostics/diagnostic_runner.py +31 -13
- claude_mpm/services/diagnostics/doctor_reporter.py +305 -47
- claude_mpm/services/diagnostics/models.py +37 -21
- claude_mpm/services/event_aggregator.py +5 -3
- claude_mpm/services/event_bus/direct_relay.py +11 -7
- claude_mpm/services/event_bus/event_bus.py +51 -9
- claude_mpm/services/event_bus/relay.py +33 -14
- claude_mpm/services/events/consumers/dead_letter.py +7 -5
- claude_mpm/services/events/consumers/logging.py +1 -2
- claude_mpm/services/events/core.py +5 -6
- claude_mpm/services/events/producers/hook.py +6 -6
- claude_mpm/services/events/producers/system.py +8 -8
- claude_mpm/services/exceptions.py +5 -5
- claude_mpm/services/framework_claude_md_generator/__init__.py +1 -1
- claude_mpm/services/framework_claude_md_generator/content_assembler.py +5 -5
- claude_mpm/services/framework_claude_md_generator/content_validator.py +2 -2
- claude_mpm/services/framework_claude_md_generator/deployment_manager.py +3 -3
- claude_mpm/services/framework_claude_md_generator/section_generators/__init__.py +2 -2
- claude_mpm/services/framework_claude_md_generator/version_manager.py +1 -1
- claude_mpm/services/git/__init__.py +21 -0
- claude_mpm/services/git/git_operations_service.py +494 -0
- claude_mpm/services/github/__init__.py +21 -0
- claude_mpm/services/github/github_cli_service.py +397 -0
- claude_mpm/services/hook_installer_service.py +506 -0
- claude_mpm/services/hook_service.py +5 -6
- claude_mpm/services/infrastructure/context_preservation.py +13 -11
- claude_mpm/services/infrastructure/daemon_manager.py +9 -9
- claude_mpm/services/infrastructure/logging.py +2 -2
- claude_mpm/services/infrastructure/monitoring/__init__.py +2 -6
- claude_mpm/services/infrastructure/monitoring/aggregator.py +13 -18
- claude_mpm/services/infrastructure/monitoring/base.py +5 -13
- claude_mpm/services/infrastructure/monitoring/network.py +7 -6
- claude_mpm/services/infrastructure/monitoring/process.py +13 -12
- claude_mpm/services/infrastructure/monitoring/resources.py +8 -7
- claude_mpm/services/infrastructure/monitoring/service.py +16 -15
- claude_mpm/services/infrastructure/resume_log_generator.py +439 -0
- claude_mpm/services/instructions/__init__.py +9 -0
- claude_mpm/services/instructions/instruction_cache_service.py +374 -0
- claude_mpm/services/local_ops/__init__.py +155 -0
- claude_mpm/services/local_ops/crash_detector.py +257 -0
- claude_mpm/services/local_ops/health_checks/__init__.py +26 -0
- claude_mpm/services/local_ops/health_checks/http_check.py +224 -0
- claude_mpm/services/local_ops/health_checks/process_check.py +236 -0
- claude_mpm/services/local_ops/health_checks/resource_check.py +255 -0
- claude_mpm/services/local_ops/health_manager.py +427 -0
- claude_mpm/services/local_ops/log_monitor.py +396 -0
- claude_mpm/services/local_ops/memory_leak_detector.py +294 -0
- claude_mpm/services/local_ops/process_manager.py +595 -0
- claude_mpm/services/local_ops/resource_monitor.py +331 -0
- claude_mpm/services/local_ops/restart_manager.py +401 -0
- claude_mpm/services/local_ops/restart_policy.py +387 -0
- claude_mpm/services/local_ops/state_manager.py +372 -0
- claude_mpm/services/local_ops/unified_manager.py +600 -0
- claude_mpm/services/mcp_config_manager.py +1542 -0
- claude_mpm/services/mcp_gateway/__init__.py +97 -93
- claude_mpm/services/mcp_gateway/auto_configure.py +43 -38
- claude_mpm/services/mcp_gateway/config/config_loader.py +3 -3
- claude_mpm/services/mcp_gateway/config/configuration.py +24 -5
- claude_mpm/services/mcp_gateway/core/__init__.py +1 -2
- claude_mpm/services/mcp_gateway/core/base.py +20 -33
- claude_mpm/services/mcp_gateway/core/process_pool.py +591 -31
- claude_mpm/services/mcp_gateway/core/singleton_manager.py +2 -2
- claude_mpm/services/mcp_gateway/core/startup_verification.py +3 -3
- claude_mpm/services/mcp_gateway/main.py +90 -15
- claude_mpm/services/mcp_gateway/registry/service_registry.py +4 -2
- claude_mpm/services/mcp_gateway/registry/tool_registry.py +12 -9
- claude_mpm/services/mcp_gateway/server/mcp_gateway.py +5 -10
- claude_mpm/services/mcp_gateway/server/stdio_server.py +9 -17
- claude_mpm/services/mcp_gateway/tools/__init__.py +14 -2
- claude_mpm/services/mcp_gateway/tools/base_adapter.py +15 -15
- claude_mpm/services/mcp_gateway/tools/document_summarizer.py +10 -9
- claude_mpm/services/mcp_gateway/tools/external_mcp_services.py +654 -0
- claude_mpm/services/mcp_gateway/tools/health_check_tool.py +36 -34
- claude_mpm/services/mcp_gateway/tools/hello_world.py +8 -8
- claude_mpm/services/mcp_gateway/tools/kuzu_memory_service.py +555 -0
- claude_mpm/services/mcp_gateway/utils/__init__.py +14 -0
- claude_mpm/services/mcp_gateway/utils/package_version_checker.py +160 -0
- claude_mpm/services/mcp_gateway/utils/update_preferences.py +170 -0
- claude_mpm/services/mcp_service_verifier.py +732 -0
- claude_mpm/services/memory/builder.py +9 -8
- claude_mpm/services/memory/cache/shared_prompt_cache.py +2 -1
- claude_mpm/services/memory/cache/simple_cache.py +2 -2
- claude_mpm/services/memory/failure_tracker.py +578 -0
- claude_mpm/services/memory/indexed_memory.py +8 -8
- claude_mpm/services/memory/optimizer.py +8 -9
- claude_mpm/services/memory/router.py +3 -3
- claude_mpm/services/memory_hook_service.py +165 -4
- claude_mpm/services/model/__init__.py +147 -0
- claude_mpm/services/model/base_provider.py +365 -0
- claude_mpm/services/model/claude_provider.py +412 -0
- claude_mpm/services/model/model_router.py +452 -0
- claude_mpm/services/model/ollama_provider.py +415 -0
- claude_mpm/services/monitor/__init__.py +20 -0
- claude_mpm/services/monitor/daemon.py +691 -0
- claude_mpm/services/monitor/daemon_manager.py +1040 -0
- claude_mpm/services/monitor/event_emitter.py +350 -0
- claude_mpm/services/monitor/handlers/__init__.py +21 -0
- claude_mpm/services/monitor/handlers/code_analysis.py +332 -0
- claude_mpm/services/monitor/handlers/dashboard.py +299 -0
- claude_mpm/services/monitor/handlers/file.py +264 -0
- claude_mpm/services/monitor/handlers/hooks.py +512 -0
- claude_mpm/services/monitor/management/__init__.py +18 -0
- claude_mpm/services/monitor/management/health.py +124 -0
- claude_mpm/services/monitor/management/lifecycle.py +724 -0
- claude_mpm/services/monitor/server.py +817 -0
- claude_mpm/services/monitor_build_service.py +2 -2
- claude_mpm/services/native_agent_converter.py +356 -0
- claude_mpm/services/orphan_detection.py +786 -0
- claude_mpm/services/port_manager.py +3 -3
- claude_mpm/services/pr/__init__.py +14 -0
- claude_mpm/services/pr/pr_template_service.py +329 -0
- claude_mpm/services/project/__init__.py +23 -0
- claude_mpm/services/project/analyzer.py +3 -3
- claude_mpm/services/project/architecture_analyzer.py +5 -5
- claude_mpm/services/project/archive_manager.py +1045 -0
- claude_mpm/services/project/dependency_analyzer.py +4 -4
- claude_mpm/services/project/detection_strategies.py +719 -0
- claude_mpm/services/project/documentation_manager.py +554 -0
- claude_mpm/services/project/enhanced_analyzer.py +572 -0
- claude_mpm/services/project/metrics_collector.py +4 -4
- claude_mpm/services/project/project_organizer.py +1005 -0
- claude_mpm/services/project/registry.py +13 -7
- claude_mpm/services/project/toolchain_analyzer.py +583 -0
- claude_mpm/services/project_port_allocator.py +596 -0
- claude_mpm/services/response_tracker.py +21 -10
- claude_mpm/services/runner_configuration_service.py +17 -3
- claude_mpm/services/self_upgrade_service.py +500 -0
- claude_mpm/services/session_management_service.py +23 -9
- claude_mpm/services/session_manager.py +380 -0
- claude_mpm/services/shared/__init__.py +2 -1
- claude_mpm/services/shared/async_service_base.py +16 -27
- claude_mpm/services/shared/config_service_base.py +17 -14
- claude_mpm/services/shared/lifecycle_service_base.py +1 -14
- claude_mpm/services/shared/service_factory.py +8 -5
- claude_mpm/services/skills/__init__.py +18 -0
- claude_mpm/services/skills/git_skill_source_manager.py +1169 -0
- claude_mpm/services/skills/skill_discovery_service.py +568 -0
- claude_mpm/services/skills_config.py +547 -0
- claude_mpm/services/skills_deployer.py +955 -0
- claude_mpm/services/socketio/client_proxy.py +60 -5
- claude_mpm/services/socketio/dashboard_server.py +361 -0
- claude_mpm/services/socketio/event_normalizer.py +10 -6
- claude_mpm/services/socketio/handlers/__init__.py +5 -2
- claude_mpm/services/socketio/handlers/base.py +2 -2
- claude_mpm/services/socketio/handlers/code_analysis.py +90 -27
- claude_mpm/services/socketio/handlers/connection.py +22 -41
- claude_mpm/services/socketio/handlers/connection_handler.py +13 -10
- claude_mpm/services/socketio/handlers/file.py +46 -10
- claude_mpm/services/socketio/handlers/git.py +9 -9
- claude_mpm/services/socketio/handlers/hook.py +29 -17
- claude_mpm/services/socketio/handlers/registry.py +4 -2
- claude_mpm/services/socketio/monitor_client.py +364 -0
- claude_mpm/services/socketio/server/broadcaster.py +9 -7
- claude_mpm/services/socketio/server/connection_manager.py +2 -2
- claude_mpm/services/socketio/server/core.py +142 -8
- claude_mpm/services/socketio/server/eventbus_integration.py +20 -14
- claude_mpm/services/socketio/server/main.py +24 -24
- claude_mpm/services/socketio_client_manager.py +4 -4
- claude_mpm/services/subprocess_launcher_service.py +19 -15
- claude_mpm/services/system_instructions_service.py +3 -5
- claude_mpm/services/ticket_services/formatter_service.py +1 -1
- claude_mpm/services/ticket_services/validation_service.py +5 -5
- claude_mpm/services/unified/__init__.py +65 -0
- claude_mpm/services/unified/analyzer_strategies/__init__.py +44 -0
- claude_mpm/services/unified/analyzer_strategies/code_analyzer.py +518 -0
- claude_mpm/services/unified/analyzer_strategies/dependency_analyzer.py +680 -0
- claude_mpm/services/unified/analyzer_strategies/performance_analyzer.py +900 -0
- claude_mpm/services/unified/analyzer_strategies/security_analyzer.py +745 -0
- claude_mpm/services/unified/analyzer_strategies/structure_analyzer.py +733 -0
- claude_mpm/services/unified/config_strategies/__init__.py +175 -0
- claude_mpm/services/unified/config_strategies/config_schema.py +731 -0
- claude_mpm/services/unified/config_strategies/context_strategy.py +747 -0
- claude_mpm/services/unified/config_strategies/error_handling_strategy.py +1005 -0
- claude_mpm/services/unified/config_strategies/file_loader_strategy.py +881 -0
- claude_mpm/services/unified/config_strategies/unified_config_service.py +823 -0
- claude_mpm/services/unified/config_strategies/validation_strategy.py +1148 -0
- claude_mpm/services/unified/deployment_strategies/__init__.py +97 -0
- claude_mpm/services/unified/deployment_strategies/base.py +553 -0
- claude_mpm/services/unified/deployment_strategies/cloud_strategies.py +573 -0
- claude_mpm/services/unified/deployment_strategies/local.py +607 -0
- claude_mpm/services/unified/deployment_strategies/utils.py +667 -0
- claude_mpm/services/unified/deployment_strategies/vercel.py +471 -0
- claude_mpm/services/unified/interfaces.py +475 -0
- claude_mpm/services/unified/migration.py +509 -0
- claude_mpm/services/unified/strategies.py +534 -0
- claude_mpm/services/unified/unified_analyzer.py +542 -0
- claude_mpm/services/unified/unified_config.py +691 -0
- claude_mpm/services/unified/unified_deployment.py +466 -0
- claude_mpm/services/utility_service.py +6 -3
- claude_mpm/services/version_control/branch_strategy.py +2 -2
- claude_mpm/services/version_control/conflict_resolution.py +14 -8
- claude_mpm/services/version_control/git_operations.py +26 -24
- claude_mpm/services/version_control/semantic_versioning.py +14 -14
- claude_mpm/services/version_control/version_parser.py +14 -11
- claude_mpm/services/version_service.py +104 -1
- claude_mpm/services/visualization/__init__.py +1 -5
- claude_mpm/services/visualization/mermaid_generator.py +2 -3
- claude_mpm/skills/__init__.py +42 -0
- claude_mpm/skills/agent_skills_injector.py +324 -0
- claude_mpm/skills/bundled/LICENSE_ATTRIBUTIONS.md +79 -0
- claude_mpm/skills/bundled/__init__.py +6 -0
- claude_mpm/skills/bundled/api-documentation.md +393 -0
- claude_mpm/skills/bundled/async-testing.md +571 -0
- claude_mpm/skills/bundled/code-review.md +143 -0
- claude_mpm/skills/bundled/database-migration.md +199 -0
- claude_mpm/skills/bundled/docker-containerization.md +194 -0
- claude_mpm/skills/bundled/express-local-dev.md +1429 -0
- claude_mpm/skills/bundled/fastapi-local-dev.md +1199 -0
- claude_mpm/skills/bundled/git-workflow.md +414 -0
- claude_mpm/skills/bundled/imagemagick.md +204 -0
- claude_mpm/skills/bundled/infrastructure/env-manager/scripts/validate_env.py +576 -0
- claude_mpm/skills/bundled/json-data-handling.md +223 -0
- claude_mpm/skills/bundled/main/mcp-builder/scripts/connections.py +157 -0
- claude_mpm/skills/bundled/main/mcp-builder/scripts/evaluation.py +425 -0
- claude_mpm/skills/bundled/main/skill-creator/scripts/init_skill.py +303 -0
- claude_mpm/skills/bundled/main/skill-creator/scripts/package_skill.py +113 -0
- claude_mpm/skills/bundled/main/skill-creator/scripts/quick_validate.py +72 -0
- claude_mpm/skills/bundled/nextjs-local-dev.md +807 -0
- claude_mpm/skills/bundled/pdf.md +141 -0
- claude_mpm/skills/bundled/performance-profiling.md +573 -0
- claude_mpm/skills/bundled/refactoring-patterns.md +180 -0
- claude_mpm/skills/bundled/security-scanning.md +327 -0
- claude_mpm/skills/bundled/systematic-debugging.md +473 -0
- claude_mpm/skills/bundled/test-driven-development.md +378 -0
- claude_mpm/skills/bundled/testing/webapp-testing/examples/console_logging.py +35 -0
- claude_mpm/skills/bundled/testing/webapp-testing/examples/element_discovery.py +44 -0
- claude_mpm/skills/bundled/testing/webapp-testing/examples/static_html_automation.py +34 -0
- claude_mpm/skills/bundled/testing/webapp-testing/scripts/with_server.py +129 -0
- claude_mpm/skills/bundled/vite-local-dev.md +1061 -0
- claude_mpm/skills/bundled/web-performance-optimization.md +2305 -0
- claude_mpm/skills/bundled/xlsx.md +157 -0
- claude_mpm/skills/registry.py +286 -0
- claude_mpm/skills/skill_manager.py +310 -0
- claude_mpm/skills/skills_registry.py +347 -0
- claude_mpm/skills/skills_service.py +739 -0
- claude_mpm/storage/state_storage.py +31 -31
- claude_mpm/templates/questions/__init__.py +38 -0
- claude_mpm/templates/questions/base.py +193 -0
- claude_mpm/templates/questions/pr_strategy.py +311 -0
- claude_mpm/templates/questions/project_init.py +385 -0
- claude_mpm/templates/questions/ticket_mgmt.py +394 -0
- claude_mpm/tools/__main__.py +9 -9
- claude_mpm/tools/code_tree_analyzer/__init__.py +45 -0
- claude_mpm/tools/code_tree_analyzer/analysis.py +299 -0
- claude_mpm/tools/code_tree_analyzer/cache.py +131 -0
- claude_mpm/tools/code_tree_analyzer/core.py +380 -0
- claude_mpm/tools/code_tree_analyzer/discovery.py +403 -0
- claude_mpm/tools/code_tree_analyzer/events.py +168 -0
- claude_mpm/tools/code_tree_analyzer/gitignore.py +308 -0
- claude_mpm/tools/code_tree_analyzer/models.py +39 -0
- claude_mpm/tools/code_tree_analyzer/multilang_analyzer.py +224 -0
- claude_mpm/tools/code_tree_analyzer/python_analyzer.py +284 -0
- claude_mpm/tools/code_tree_builder.py +6 -6
- claude_mpm/tools/code_tree_events.py +14 -10
- claude_mpm/tools/socketio_debug.py +11 -11
- claude_mpm/utils/agent_dependency_loader.py +184 -36
- claude_mpm/utils/agent_filters.py +288 -0
- claude_mpm/utils/common.py +544 -0
- claude_mpm/utils/config_manager.py +12 -6
- claude_mpm/utils/database_connector.py +298 -0
- claude_mpm/utils/dependency_cache.py +5 -3
- claude_mpm/utils/dependency_strategies.py +15 -10
- claude_mpm/utils/display_helper.py +260 -0
- claude_mpm/utils/environment_context.py +4 -3
- claude_mpm/utils/error_handler.py +5 -3
- claude_mpm/utils/file_utils.py +13 -14
- claude_mpm/utils/git_analyzer.py +407 -0
- claude_mpm/utils/gitignore.py +241 -0
- claude_mpm/utils/log_cleanup.py +627 -0
- claude_mpm/utils/migration.py +372 -0
- claude_mpm/utils/path_operations.py +7 -4
- claude_mpm/utils/progress.py +387 -0
- claude_mpm/utils/robust_installer.py +131 -24
- claude_mpm/utils/session_logging.py +2 -2
- claude_mpm/utils/structured_questions.py +619 -0
- claude_mpm/utils/subprocess_utils.py +9 -8
- claude_mpm/validation/agent_validator.py +6 -6
- claude_mpm/validation/frontmatter_validator.py +6 -6
- claude_mpm-5.0.9.dist-info/METADATA +1028 -0
- claude_mpm-5.0.9.dist-info/RECORD +864 -0
- {claude_mpm-4.1.26.dist-info → claude_mpm-5.0.9.dist-info}/entry_points.txt +1 -0
- claude_mpm/agents/INSTRUCTIONS.md +0 -261
- claude_mpm/agents/templates/.claude-mpm/memories/README.md +0 -17
- claude_mpm/agents/templates/.claude-mpm/memories/engineer_memories.md +0 -3
- claude_mpm/agents/templates/agent-manager.json +0 -270
- claude_mpm/agents/templates/agent-manager.md +0 -619
- claude_mpm/agents/templates/agentic_coder_optimizer.json +0 -222
- claude_mpm/agents/templates/api_qa.json +0 -171
- claude_mpm/agents/templates/code_analyzer.json +0 -95
- claude_mpm/agents/templates/data_engineer.json +0 -152
- claude_mpm/agents/templates/documentation.json +0 -175
- claude_mpm/agents/templates/engineer.json +0 -176
- claude_mpm/agents/templates/imagemagick.json +0 -261
- claude_mpm/agents/templates/logs/prompts/agent_engineer_20250826_014258_728.md +0 -39
- claude_mpm/agents/templates/memory_manager.json +0 -155
- claude_mpm/agents/templates/ops.json +0 -175
- claude_mpm/agents/templates/project_organizer.json +0 -130
- claude_mpm/agents/templates/qa.json +0 -223
- claude_mpm/agents/templates/refactoring_engineer.json +0 -266
- claude_mpm/agents/templates/research.json +0 -163
- claude_mpm/agents/templates/security.json +0 -153
- claude_mpm/agents/templates/ticketing.json +0 -169
- claude_mpm/agents/templates/vercel_ops_agent.json +0 -281
- claude_mpm/agents/templates/version_control.json +0 -147
- claude_mpm/agents/templates/web_qa.json +0 -254
- claude_mpm/agents/templates/web_ui.json +0 -176
- claude_mpm/cli/commands/configure_tui.py +0 -1927
- claude_mpm/cli/commands/mpm_init.py +0 -594
- claude_mpm/cli/commands/socketio_monitor.py +0 -233
- claude_mpm/commands/mpm-agents.md +0 -12
- claude_mpm/commands/mpm-config.md +0 -18
- claude_mpm/commands/mpm-tickets.md +0 -102
- claude_mpm/dashboard/.claude-mpm/socketio-instances.json +0 -1
- claude_mpm/dashboard/static/built/components/activity-tree.js +0 -2
- claude_mpm/dashboard/static/built/components/agent-inference.js +0 -2
- claude_mpm/dashboard/static/built/components/code-tree.js +0 -2
- claude_mpm/dashboard/static/built/components/code-viewer.js +0 -2
- claude_mpm/dashboard/static/built/components/event-processor.js +0 -2
- claude_mpm/dashboard/static/built/components/event-viewer.js +0 -2
- claude_mpm/dashboard/static/built/components/export-manager.js +0 -2
- claude_mpm/dashboard/static/built/components/file-tool-tracker.js +0 -2
- claude_mpm/dashboard/static/built/components/hud-library-loader.js +0 -2
- claude_mpm/dashboard/static/built/components/hud-manager.js +0 -2
- claude_mpm/dashboard/static/built/components/hud-visualizer.js +0 -2
- claude_mpm/dashboard/static/built/components/module-viewer.js +0 -2
- claude_mpm/dashboard/static/built/components/session-manager.js +0 -2
- claude_mpm/dashboard/static/built/components/socket-manager.js +0 -2
- claude_mpm/dashboard/static/built/components/ui-state-manager.js +0 -2
- claude_mpm/dashboard/static/built/components/unified-data-viewer.js +0 -2
- claude_mpm/dashboard/static/built/components/working-directory.js +0 -2
- claude_mpm/dashboard/static/built/dashboard.js +0 -2
- claude_mpm/dashboard/static/built/socket-client.js +0 -2
- claude_mpm/dashboard/static/css/code-tree.css +0 -1408
- claude_mpm/dashboard/static/dist/components/activity-tree.js +0 -2
- claude_mpm/dashboard/static/dist/components/agent-inference.js +0 -2
- claude_mpm/dashboard/static/dist/components/code-tree.js +0 -2
- claude_mpm/dashboard/static/dist/components/code-viewer.js +0 -2
- claude_mpm/dashboard/static/dist/components/event-processor.js +0 -2
- claude_mpm/dashboard/static/dist/components/event-viewer.js +0 -2
- claude_mpm/dashboard/static/dist/components/export-manager.js +0 -2
- claude_mpm/dashboard/static/dist/components/file-tool-tracker.js +0 -2
- claude_mpm/dashboard/static/dist/components/hud-library-loader.js +0 -2
- claude_mpm/dashboard/static/dist/components/hud-manager.js +0 -2
- claude_mpm/dashboard/static/dist/components/hud-visualizer.js +0 -2
- claude_mpm/dashboard/static/dist/components/module-viewer.js +0 -2
- claude_mpm/dashboard/static/dist/components/session-manager.js +0 -2
- claude_mpm/dashboard/static/dist/components/socket-manager.js +0 -2
- claude_mpm/dashboard/static/dist/components/ui-state-manager.js +0 -2
- claude_mpm/dashboard/static/dist/components/unified-data-viewer.js +0 -2
- claude_mpm/dashboard/static/dist/components/working-directory.js +0 -2
- claude_mpm/dashboard/static/dist/dashboard.js +0 -2
- claude_mpm/dashboard/static/dist/socket-client.js +0 -2
- claude_mpm/dashboard/static/js/components/code-tree.js +0 -3220
- claude_mpm/dashboard/static/js/components/code-viewer.js +0 -480
- claude_mpm/hooks/claude_hooks/hook_handler_eventbus.py +0 -425
- claude_mpm/hooks/claude_hooks/hook_handler_original.py +0 -1040
- claude_mpm/hooks/claude_hooks/hook_handler_refactored.py +0 -347
- claude_mpm/scripts/socketio_daemon_hardened.py +0 -937
- claude_mpm/scripts/socketio_daemon_wrapper.py +0 -78
- claude_mpm/scripts/socketio_server_manager.py +0 -349
- claude_mpm/services/agents/deployment/agent_lifecycle_manager_refactored.py +0 -575
- claude_mpm/services/cli/dashboard_launcher.py +0 -423
- claude_mpm/services/cli/socketio_manager.py +0 -537
- claude_mpm/services/diagnostics/checks/claude_desktop_check.py +0 -286
- claude_mpm/services/mcp_gateway/tools/ticket_tools.py +0 -645
- claude_mpm/services/mcp_gateway/tools/unified_ticket_tool.py +0 -602
- claude_mpm/services/project/analyzer_refactored.py +0 -450
- claude_mpm/tools/code_tree_analyzer.py +0 -1693
- claude_mpm-4.1.26.dist-info/METADATA +0 -332
- claude_mpm-4.1.26.dist-info/RECORD +0 -606
- {claude_mpm-4.1.26.dist-info → claude_mpm-5.0.9.dist-info}/WHEEL +0 -0
- {claude_mpm-4.1.26.dist-info → claude_mpm-5.0.9.dist-info}/licenses/LICENSE +0 -0
- {claude_mpm-4.1.26.dist-info → claude_mpm-5.0.9.dist-info}/top_level.txt +0 -0
|
@@ -31,7 +31,22 @@ def add_agents_subparser(subparsers) -> argparse.ArgumentParser:
|
|
|
31
31
|
"""
|
|
32
32
|
# Agents command with subcommands
|
|
33
33
|
agents_parser = subparsers.add_parser(
|
|
34
|
-
CLICommands.AGENTS.value,
|
|
34
|
+
CLICommands.AGENTS.value,
|
|
35
|
+
help="Manage agents and deployment",
|
|
36
|
+
description="""
|
|
37
|
+
Manage Claude MPM agents.
|
|
38
|
+
|
|
39
|
+
NOTE: For interactive agent management, use 'claude-mpm config' instead.
|
|
40
|
+
The 'agents manage' command has been deprecated in favor of the
|
|
41
|
+
unified configuration interface.
|
|
42
|
+
|
|
43
|
+
Available commands:
|
|
44
|
+
discover Discover available agents from configured sources
|
|
45
|
+
deploy Deploy agents to your project
|
|
46
|
+
list List available agents
|
|
47
|
+
manage (Deprecated) Use 'claude-mpm config' instead
|
|
48
|
+
""",
|
|
49
|
+
formatter_class=argparse.RawDescriptionHelpFormatter,
|
|
35
50
|
)
|
|
36
51
|
add_common_arguments(agents_parser)
|
|
37
52
|
|
|
@@ -68,6 +83,121 @@ def add_agents_subparser(subparsers) -> argparse.ArgumentParser:
|
|
|
68
83
|
"--show-config", action="store_true", help="Show agent configuration"
|
|
69
84
|
)
|
|
70
85
|
|
|
86
|
+
# Create local agent
|
|
87
|
+
create_agent_parser = agents_subparsers.add_parser(
|
|
88
|
+
"create", help="Create a new local agent template"
|
|
89
|
+
)
|
|
90
|
+
create_agent_parser.add_argument(
|
|
91
|
+
"--interactive",
|
|
92
|
+
"-i",
|
|
93
|
+
action="store_true",
|
|
94
|
+
help="Launch interactive agent creation wizard",
|
|
95
|
+
)
|
|
96
|
+
create_agent_parser.add_argument("--agent-id", help="Agent ID (lowercase, hyphens)")
|
|
97
|
+
create_agent_parser.add_argument("--name", help="Agent display name")
|
|
98
|
+
create_agent_parser.add_argument(
|
|
99
|
+
"--model",
|
|
100
|
+
choices=["sonnet", "opus", "haiku"],
|
|
101
|
+
default="sonnet",
|
|
102
|
+
help="Model to use",
|
|
103
|
+
)
|
|
104
|
+
create_agent_parser.add_argument(
|
|
105
|
+
"--inherit-from", help="System agent to inherit from"
|
|
106
|
+
)
|
|
107
|
+
|
|
108
|
+
# Edit local agent
|
|
109
|
+
edit_agent_parser = agents_subparsers.add_parser(
|
|
110
|
+
"edit", help="Edit a local agent template"
|
|
111
|
+
)
|
|
112
|
+
edit_agent_parser.add_argument("agent_id", help="Agent ID to edit")
|
|
113
|
+
edit_agent_parser.add_argument(
|
|
114
|
+
"--interactive", "-i", action="store_true", help="Use interactive editor"
|
|
115
|
+
)
|
|
116
|
+
edit_agent_parser.add_argument(
|
|
117
|
+
"--editor", help="Editor to use (default: $EDITOR or nano)"
|
|
118
|
+
)
|
|
119
|
+
|
|
120
|
+
# Delete local agent
|
|
121
|
+
delete_agent_parser = agents_subparsers.add_parser(
|
|
122
|
+
"delete", help="Delete a local agent template"
|
|
123
|
+
)
|
|
124
|
+
delete_agent_parser.add_argument(
|
|
125
|
+
"agent_ids", nargs="+", help="Agent ID(s) to delete"
|
|
126
|
+
)
|
|
127
|
+
delete_agent_parser.add_argument(
|
|
128
|
+
"--force", "-f", action="store_true", help="Skip confirmation prompts"
|
|
129
|
+
)
|
|
130
|
+
delete_agent_parser.add_argument(
|
|
131
|
+
"--keep-deployment",
|
|
132
|
+
action="store_true",
|
|
133
|
+
help="Keep Claude Code deployment, only delete template",
|
|
134
|
+
)
|
|
135
|
+
delete_agent_parser.add_argument(
|
|
136
|
+
"--backup", action="store_true", help="Create backup before deletion"
|
|
137
|
+
)
|
|
138
|
+
|
|
139
|
+
# Manage local agents (interactive menu) - DEPRECATED
|
|
140
|
+
manage_parser = agents_subparsers.add_parser(
|
|
141
|
+
"manage",
|
|
142
|
+
help="(Deprecated) Manage local agents - use 'claude-mpm config' instead",
|
|
143
|
+
description="Manage locally deployed agents. Note: This command has been deprecated. "
|
|
144
|
+
"Please use 'claude-mpm config' for the enhanced configuration interface.",
|
|
145
|
+
)
|
|
146
|
+
manage_parser.epilog = (
|
|
147
|
+
"\nDEPRECATION NOTICE:\n"
|
|
148
|
+
"This command has been deprecated in favor of 'claude-mpm config' which provides\n"
|
|
149
|
+
"a unified interface for managing agents, skills, templates, and behavior settings.\n"
|
|
150
|
+
)
|
|
151
|
+
|
|
152
|
+
# Configure agent deployment settings
|
|
153
|
+
configure_agents_parser = agents_subparsers.add_parser(
|
|
154
|
+
"configure", help="Configure which agents are deployed"
|
|
155
|
+
)
|
|
156
|
+
configure_agents_parser.add_argument(
|
|
157
|
+
"--enable",
|
|
158
|
+
nargs="+",
|
|
159
|
+
metavar="AGENT_ID",
|
|
160
|
+
help="Enable specific agents for deployment",
|
|
161
|
+
)
|
|
162
|
+
configure_agents_parser.add_argument(
|
|
163
|
+
"--disable",
|
|
164
|
+
nargs="+",
|
|
165
|
+
metavar="AGENT_ID",
|
|
166
|
+
help="Disable specific agents from deployment",
|
|
167
|
+
)
|
|
168
|
+
configure_agents_parser.add_argument(
|
|
169
|
+
"--enable-all", action="store_true", help="Enable all agents for deployment"
|
|
170
|
+
)
|
|
171
|
+
configure_agents_parser.add_argument(
|
|
172
|
+
"--disable-system",
|
|
173
|
+
action="store_true",
|
|
174
|
+
help="Disable all system agents from deployment",
|
|
175
|
+
)
|
|
176
|
+
configure_agents_parser.add_argument(
|
|
177
|
+
"--enable-system",
|
|
178
|
+
action="store_true",
|
|
179
|
+
help="Enable system agents for deployment",
|
|
180
|
+
)
|
|
181
|
+
configure_agents_parser.add_argument(
|
|
182
|
+
"--disable-local",
|
|
183
|
+
action="store_true",
|
|
184
|
+
help="Disable local project agents from deployment",
|
|
185
|
+
)
|
|
186
|
+
configure_agents_parser.add_argument(
|
|
187
|
+
"--enable-local",
|
|
188
|
+
action="store_true",
|
|
189
|
+
help="Enable local project agents for deployment",
|
|
190
|
+
)
|
|
191
|
+
configure_agents_parser.add_argument(
|
|
192
|
+
"--show", action="store_true", help="Show current deployment configuration"
|
|
193
|
+
)
|
|
194
|
+
configure_agents_parser.add_argument(
|
|
195
|
+
"--interactive",
|
|
196
|
+
"-i",
|
|
197
|
+
action="store_true",
|
|
198
|
+
help="Interactive configuration mode",
|
|
199
|
+
)
|
|
200
|
+
|
|
71
201
|
# Deploy agents
|
|
72
202
|
deploy_agents_parser = agents_subparsers.add_parser(
|
|
73
203
|
AgentCommands.DEPLOY.value, help="Deploy agents to target directory"
|
|
@@ -86,6 +216,11 @@ def add_agents_subparser(subparsers) -> argparse.ArgumentParser:
|
|
|
86
216
|
action="store_true",
|
|
87
217
|
help="Show what would be deployed without actually deploying",
|
|
88
218
|
)
|
|
219
|
+
deploy_agents_parser.add_argument(
|
|
220
|
+
"--preset",
|
|
221
|
+
type=str,
|
|
222
|
+
help="Deploy agents by preset name (minimal, python-dev, nextjs-fullstack, etc.)",
|
|
223
|
+
)
|
|
89
224
|
|
|
90
225
|
# Validate agents
|
|
91
226
|
validate_agents_parser = agents_subparsers.add_parser(
|
|
@@ -133,6 +268,28 @@ def add_agents_subparser(subparsers) -> argparse.ArgumentParser:
|
|
|
133
268
|
help="Maximum retry attempts per package (default: 3)",
|
|
134
269
|
)
|
|
135
270
|
|
|
271
|
+
# Cleanup: sync, install, and remove old underscore-named agents
|
|
272
|
+
cleanup_parser = agents_subparsers.add_parser(
|
|
273
|
+
"cleanup",
|
|
274
|
+
help="Sync agents, install with new naming, and remove old underscore-named duplicates",
|
|
275
|
+
)
|
|
276
|
+
cleanup_parser.add_argument(
|
|
277
|
+
"--dry-run",
|
|
278
|
+
action="store_true",
|
|
279
|
+
help="Show what would be done without actually doing it",
|
|
280
|
+
)
|
|
281
|
+
cleanup_parser.add_argument(
|
|
282
|
+
"--target",
|
|
283
|
+
type=Path,
|
|
284
|
+
help="Target directory for agent deployment (default: project .claude-mpm/agents/)",
|
|
285
|
+
)
|
|
286
|
+
cleanup_parser.add_argument(
|
|
287
|
+
"--global",
|
|
288
|
+
dest="global_deployment",
|
|
289
|
+
action="store_true",
|
|
290
|
+
help="Deploy to global ~/.claude/agents/ instead of project directory",
|
|
291
|
+
)
|
|
292
|
+
|
|
136
293
|
# Cleanup orphaned agents
|
|
137
294
|
cleanup_orphaned_parser = agents_subparsers.add_parser(
|
|
138
295
|
"cleanup-orphaned", help="Clean up orphaned agents that don't have templates"
|
|
@@ -159,4 +316,215 @@ def add_agents_subparser(subparsers) -> argparse.ArgumentParser:
|
|
|
159
316
|
help="Only show summary, not individual agents",
|
|
160
317
|
)
|
|
161
318
|
|
|
319
|
+
# Migrate user-level agents to project-level (DEPRECATION support)
|
|
320
|
+
migrate_parser = agents_subparsers.add_parser(
|
|
321
|
+
"migrate-to-project",
|
|
322
|
+
help="Migrate user-level agents to project-level (user-level is DEPRECATED)",
|
|
323
|
+
)
|
|
324
|
+
migrate_parser.add_argument(
|
|
325
|
+
"--dry-run",
|
|
326
|
+
action="store_true",
|
|
327
|
+
help="Show what would be migrated without actually doing it",
|
|
328
|
+
)
|
|
329
|
+
migrate_parser.add_argument(
|
|
330
|
+
"--force",
|
|
331
|
+
"-f",
|
|
332
|
+
action="store_true",
|
|
333
|
+
help="Overwrite existing project agents if conflicts",
|
|
334
|
+
)
|
|
335
|
+
|
|
336
|
+
# Deploy all agents from sources (single-tier deployment)
|
|
337
|
+
deploy_all_parser = agents_subparsers.add_parser(
|
|
338
|
+
"deploy-all",
|
|
339
|
+
help="Deploy all agents from configured sources (single-tier deployment)",
|
|
340
|
+
)
|
|
341
|
+
deploy_all_parser.add_argument(
|
|
342
|
+
"--force-sync",
|
|
343
|
+
action="store_true",
|
|
344
|
+
help="Force sync repositories before deploying (ignore cache)",
|
|
345
|
+
)
|
|
346
|
+
deploy_all_parser.add_argument(
|
|
347
|
+
"--dry-run",
|
|
348
|
+
action="store_true",
|
|
349
|
+
help="Show what would be deployed without actually deploying",
|
|
350
|
+
)
|
|
351
|
+
|
|
352
|
+
# List available agents from sources
|
|
353
|
+
available_parser = agents_subparsers.add_parser(
|
|
354
|
+
"available",
|
|
355
|
+
help="List available agents from all configured sources",
|
|
356
|
+
)
|
|
357
|
+
available_parser.add_argument(
|
|
358
|
+
"--source",
|
|
359
|
+
help="Filter by source repository (e.g., 'owner/repo/subdirectory')",
|
|
360
|
+
)
|
|
361
|
+
available_parser.add_argument(
|
|
362
|
+
"--format",
|
|
363
|
+
choices=["table", "json", "simple"],
|
|
364
|
+
default="table",
|
|
365
|
+
help="Output format (default: table)",
|
|
366
|
+
)
|
|
367
|
+
|
|
368
|
+
# Discover agents with rich filtering (Phase 1: Discovery & Browsing)
|
|
369
|
+
discover_parser = agents_subparsers.add_parser(
|
|
370
|
+
"discover",
|
|
371
|
+
help="Discover available agents from configured sources with rich filtering",
|
|
372
|
+
)
|
|
373
|
+
discover_parser.add_argument(
|
|
374
|
+
"--source",
|
|
375
|
+
help="Filter by specific source ID (e.g., 'owner/repo')",
|
|
376
|
+
)
|
|
377
|
+
discover_parser.add_argument(
|
|
378
|
+
"--category",
|
|
379
|
+
help="Filter by category (e.g., 'engineer/backend', 'qa', 'ops/platform')",
|
|
380
|
+
)
|
|
381
|
+
discover_parser.add_argument(
|
|
382
|
+
"--language",
|
|
383
|
+
help="Filter by programming language (e.g., 'python', 'javascript', 'rust')",
|
|
384
|
+
)
|
|
385
|
+
discover_parser.add_argument(
|
|
386
|
+
"--framework",
|
|
387
|
+
help="Filter by framework (e.g., 'react', 'nextjs', 'django')",
|
|
388
|
+
)
|
|
389
|
+
discover_parser.add_argument(
|
|
390
|
+
"--platform",
|
|
391
|
+
help="Filter by platform (e.g., 'vercel', 'gcp', 'docker')",
|
|
392
|
+
)
|
|
393
|
+
discover_parser.add_argument(
|
|
394
|
+
"--specialization",
|
|
395
|
+
help="Filter by specialization (e.g., 'data', 'security', 'mobile')",
|
|
396
|
+
)
|
|
397
|
+
discover_parser.add_argument(
|
|
398
|
+
"--format",
|
|
399
|
+
choices=["table", "json", "simple"],
|
|
400
|
+
default="table",
|
|
401
|
+
help="Output format (default: table)",
|
|
402
|
+
)
|
|
403
|
+
discover_parser.add_argument(
|
|
404
|
+
"--verbose",
|
|
405
|
+
action="store_true",
|
|
406
|
+
help="Show descriptions and metadata for each agent",
|
|
407
|
+
)
|
|
408
|
+
|
|
409
|
+
# Auto-configuration commands (TSK-0054 Phase 5)
|
|
410
|
+
from .auto_configure_parser import (
|
|
411
|
+
add_agents_detect_subparser,
|
|
412
|
+
add_agents_recommend_subparser,
|
|
413
|
+
)
|
|
414
|
+
|
|
415
|
+
add_agents_detect_subparser(agents_subparsers)
|
|
416
|
+
add_agents_recommend_subparser(agents_subparsers)
|
|
417
|
+
|
|
418
|
+
# Phase 3: Agent Selection Modes (single-tier deployment)
|
|
419
|
+
# Minimal configuration - deploy 6 core agents
|
|
420
|
+
deploy_minimal_parser = agents_subparsers.add_parser(
|
|
421
|
+
"deploy-minimal",
|
|
422
|
+
help="Deploy minimal configuration (6 core agents: engineer, documentation, qa, research, ops, ticketing)",
|
|
423
|
+
)
|
|
424
|
+
deploy_minimal_parser.add_argument(
|
|
425
|
+
"--dry-run",
|
|
426
|
+
action="store_true",
|
|
427
|
+
help="Show what would be deployed without actually deploying",
|
|
428
|
+
)
|
|
429
|
+
|
|
430
|
+
# Auto-configure - detect toolchain and deploy matching agents
|
|
431
|
+
deploy_auto_parser = agents_subparsers.add_parser(
|
|
432
|
+
"deploy-auto",
|
|
433
|
+
help="Auto-detect project toolchain and deploy matching agents",
|
|
434
|
+
)
|
|
435
|
+
deploy_auto_parser.add_argument(
|
|
436
|
+
"--path",
|
|
437
|
+
type=Path,
|
|
438
|
+
default=Path.cwd(),
|
|
439
|
+
help="Project path to scan for toolchain detection (default: current directory)",
|
|
440
|
+
)
|
|
441
|
+
deploy_auto_parser.add_argument(
|
|
442
|
+
"--dry-run",
|
|
443
|
+
action="store_true",
|
|
444
|
+
help="Show what would be deployed without actually deploying",
|
|
445
|
+
)
|
|
446
|
+
|
|
447
|
+
# ============================================================================
|
|
448
|
+
# Cache Git Management Commands (claude-mpm Issue 1M-442 Phase 2)
|
|
449
|
+
# ============================================================================
|
|
450
|
+
# Purpose: Enable git workflow for agent cache management
|
|
451
|
+
# Commands: cache-status, cache-pull, cache-commit, cache-push, cache-sync
|
|
452
|
+
# Documentation: See docs/research/cache-update-workflow-analysis-2025-12-03.md
|
|
453
|
+
# ============================================================================
|
|
454
|
+
|
|
455
|
+
# cache-status: Show git status of agent cache
|
|
456
|
+
agents_subparsers.add_parser(
|
|
457
|
+
"cache-status",
|
|
458
|
+
help="Show git status of agent cache directory",
|
|
459
|
+
description="Display git status including branch, uncommitted changes, and unpushed commits",
|
|
460
|
+
)
|
|
461
|
+
|
|
462
|
+
# cache-pull: Pull latest agents from remote
|
|
463
|
+
cache_pull_parser = agents_subparsers.add_parser(
|
|
464
|
+
"cache-pull",
|
|
465
|
+
help="Pull latest agents from remote repository",
|
|
466
|
+
description="Fetch and merge latest agent changes from GitHub remote repository",
|
|
467
|
+
)
|
|
468
|
+
cache_pull_parser.add_argument(
|
|
469
|
+
"--branch",
|
|
470
|
+
default="main",
|
|
471
|
+
help="Branch to pull from (default: main)",
|
|
472
|
+
)
|
|
473
|
+
|
|
474
|
+
# cache-commit: Commit changes to agent cache
|
|
475
|
+
cache_commit_parser = agents_subparsers.add_parser(
|
|
476
|
+
"cache-commit",
|
|
477
|
+
help="Commit changes to agent cache",
|
|
478
|
+
description="Stage and commit changes to local agent cache git repository",
|
|
479
|
+
)
|
|
480
|
+
cache_commit_parser.add_argument(
|
|
481
|
+
"--message",
|
|
482
|
+
"-m",
|
|
483
|
+
help="Commit message (default: 'feat: update agents from local development')",
|
|
484
|
+
)
|
|
485
|
+
cache_commit_parser.add_argument(
|
|
486
|
+
"--files",
|
|
487
|
+
nargs="+",
|
|
488
|
+
help="Specific files to commit (default: all modified files)",
|
|
489
|
+
)
|
|
490
|
+
|
|
491
|
+
# cache-push: Push agent changes to remote
|
|
492
|
+
cache_push_parser = agents_subparsers.add_parser(
|
|
493
|
+
"cache-push",
|
|
494
|
+
help="Push agent changes to remote repository",
|
|
495
|
+
description="Push committed changes from local cache to GitHub remote repository",
|
|
496
|
+
)
|
|
497
|
+
cache_push_parser.add_argument(
|
|
498
|
+
"--branch",
|
|
499
|
+
default="main",
|
|
500
|
+
help="Branch to push to (default: main)",
|
|
501
|
+
)
|
|
502
|
+
cache_push_parser.add_argument(
|
|
503
|
+
"--auto-commit",
|
|
504
|
+
action="store_true",
|
|
505
|
+
help="Automatically commit uncommitted changes before pushing",
|
|
506
|
+
)
|
|
507
|
+
|
|
508
|
+
# cache-sync: Full cache sync workflow
|
|
509
|
+
cache_sync_parser = agents_subparsers.add_parser(
|
|
510
|
+
"cache-sync",
|
|
511
|
+
help="Full agent cache sync with remote",
|
|
512
|
+
description="Complete sync workflow: pull latest, commit local changes, push to remote",
|
|
513
|
+
)
|
|
514
|
+
cache_sync_parser.add_argument(
|
|
515
|
+
"--message",
|
|
516
|
+
"-m",
|
|
517
|
+
help="Commit message for any uncommitted changes",
|
|
518
|
+
)
|
|
519
|
+
cache_sync_parser.add_argument(
|
|
520
|
+
"--skip-pull",
|
|
521
|
+
action="store_true",
|
|
522
|
+
help="Skip pulling from remote before sync",
|
|
523
|
+
)
|
|
524
|
+
cache_sync_parser.add_argument(
|
|
525
|
+
"--skip-push",
|
|
526
|
+
action="store_true",
|
|
527
|
+
help="Skip pushing to remote after sync",
|
|
528
|
+
)
|
|
529
|
+
|
|
162
530
|
return agents_parser
|
|
@@ -0,0 +1,245 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Auto-Configuration Parser for Claude MPM CLI
|
|
3
|
+
============================================
|
|
4
|
+
|
|
5
|
+
WHY: This module provides argument parsing for auto-configuration commands,
|
|
6
|
+
enabling users to customize detection, recommendation, and deployment behavior.
|
|
7
|
+
|
|
8
|
+
DESIGN DECISION: Follows existing parser patterns in the codebase, using
|
|
9
|
+
add_common_arguments for consistency. Provides sensible defaults while
|
|
10
|
+
allowing full customization.
|
|
11
|
+
|
|
12
|
+
Part of TSK-0054: Auto-Configuration Feature - Phase 5
|
|
13
|
+
"""
|
|
14
|
+
|
|
15
|
+
import argparse
|
|
16
|
+
from pathlib import Path
|
|
17
|
+
|
|
18
|
+
from .base_parser import add_common_arguments
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
def add_auto_configure_subparser(subparsers) -> argparse.ArgumentParser:
|
|
22
|
+
"""
|
|
23
|
+
Add the auto-configure subparser for automated agent configuration.
|
|
24
|
+
|
|
25
|
+
WHY: Auto-configuration simplifies onboarding by detecting project toolchain
|
|
26
|
+
and deploying appropriate agents automatically.
|
|
27
|
+
|
|
28
|
+
Args:
|
|
29
|
+
subparsers: The subparsers object from the main parser
|
|
30
|
+
|
|
31
|
+
Returns:
|
|
32
|
+
The configured auto-configure subparser
|
|
33
|
+
"""
|
|
34
|
+
# Auto-configure command
|
|
35
|
+
auto_configure_parser = subparsers.add_parser(
|
|
36
|
+
"auto-configure",
|
|
37
|
+
help="Auto-configure agents based on project toolchain detection",
|
|
38
|
+
description="""
|
|
39
|
+
Auto-configure agents for your project based on detected toolchain.
|
|
40
|
+
|
|
41
|
+
This command analyzes your project to detect languages, frameworks, and
|
|
42
|
+
deployment targets, then recommends and deploys appropriate specialized
|
|
43
|
+
agents automatically.
|
|
44
|
+
|
|
45
|
+
The command provides safety features including:
|
|
46
|
+
• Preview mode to see changes before applying
|
|
47
|
+
• Confidence thresholds to ensure quality matches
|
|
48
|
+
• Validation gates to block invalid configurations
|
|
49
|
+
• Rollback on failure to maintain consistency
|
|
50
|
+
""",
|
|
51
|
+
formatter_class=argparse.RawDescriptionHelpFormatter,
|
|
52
|
+
epilog="""
|
|
53
|
+
Examples:
|
|
54
|
+
# Interactive configuration with confirmation
|
|
55
|
+
claude-mpm auto-configure
|
|
56
|
+
|
|
57
|
+
# Preview configuration without deploying
|
|
58
|
+
claude-mpm auto-configure --preview
|
|
59
|
+
|
|
60
|
+
# Auto-approve deployment (for scripts)
|
|
61
|
+
claude-mpm auto-configure --yes
|
|
62
|
+
|
|
63
|
+
# Require 90% confidence for recommendations
|
|
64
|
+
claude-mpm auto-configure --min-confidence 0.9
|
|
65
|
+
|
|
66
|
+
# JSON output for scripting
|
|
67
|
+
claude-mpm auto-configure --json
|
|
68
|
+
|
|
69
|
+
# Configure specific project directory
|
|
70
|
+
claude-mpm auto-configure --project-path /path/to/project
|
|
71
|
+
""",
|
|
72
|
+
)
|
|
73
|
+
add_common_arguments(auto_configure_parser)
|
|
74
|
+
|
|
75
|
+
# Configuration mode
|
|
76
|
+
mode_group = auto_configure_parser.add_mutually_exclusive_group()
|
|
77
|
+
mode_group.add_argument(
|
|
78
|
+
"--preview",
|
|
79
|
+
"--dry-run",
|
|
80
|
+
dest="preview",
|
|
81
|
+
action="store_true",
|
|
82
|
+
help="Show what would be configured without deploying (preview mode)",
|
|
83
|
+
)
|
|
84
|
+
mode_group.add_argument(
|
|
85
|
+
"--yes",
|
|
86
|
+
"-y",
|
|
87
|
+
action="store_true",
|
|
88
|
+
help="Skip confirmation prompts and deploy automatically",
|
|
89
|
+
)
|
|
90
|
+
|
|
91
|
+
# Configuration options
|
|
92
|
+
auto_configure_parser.add_argument(
|
|
93
|
+
"--min-confidence",
|
|
94
|
+
type=float,
|
|
95
|
+
default=0.8,
|
|
96
|
+
metavar="FLOAT",
|
|
97
|
+
help="Minimum confidence threshold for recommendations (0.0-1.0, default: 0.8)",
|
|
98
|
+
)
|
|
99
|
+
|
|
100
|
+
auto_configure_parser.add_argument(
|
|
101
|
+
"--project-path",
|
|
102
|
+
type=Path,
|
|
103
|
+
metavar="PATH",
|
|
104
|
+
help="Project path to analyze (default: current directory)",
|
|
105
|
+
)
|
|
106
|
+
|
|
107
|
+
return auto_configure_parser
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
def add_agents_detect_subparser(agents_subparsers) -> argparse.ArgumentParser:
|
|
111
|
+
"""
|
|
112
|
+
Add the agents detect subparser for toolchain detection.
|
|
113
|
+
|
|
114
|
+
WHY: Allows users to see what toolchain is detected without making changes,
|
|
115
|
+
useful for debugging and verification.
|
|
116
|
+
|
|
117
|
+
Args:
|
|
118
|
+
agents_subparsers: The agents subparsers object
|
|
119
|
+
|
|
120
|
+
Returns:
|
|
121
|
+
The configured detect subparser
|
|
122
|
+
"""
|
|
123
|
+
detect_parser = agents_subparsers.add_parser(
|
|
124
|
+
"detect",
|
|
125
|
+
help="Detect project toolchain without deploying",
|
|
126
|
+
description="""
|
|
127
|
+
Detect and display project toolchain without making any changes.
|
|
128
|
+
|
|
129
|
+
This command analyzes your project to detect:
|
|
130
|
+
• Programming languages and versions
|
|
131
|
+
• Frameworks and libraries
|
|
132
|
+
• Deployment targets and platforms
|
|
133
|
+
|
|
134
|
+
Useful for debugging toolchain detection and verifying what would be
|
|
135
|
+
detected before running auto-configure.
|
|
136
|
+
""",
|
|
137
|
+
formatter_class=argparse.RawDescriptionHelpFormatter,
|
|
138
|
+
epilog="""
|
|
139
|
+
Examples:
|
|
140
|
+
# Detect toolchain in current directory
|
|
141
|
+
claude-mpm agents detect
|
|
142
|
+
|
|
143
|
+
# Detect with verbose output showing evidence
|
|
144
|
+
claude-mpm agents detect --verbose
|
|
145
|
+
|
|
146
|
+
# JSON output for scripting
|
|
147
|
+
claude-mpm agents detect --json
|
|
148
|
+
|
|
149
|
+
# Detect specific project
|
|
150
|
+
claude-mpm agents detect --project-path /path/to/project
|
|
151
|
+
""",
|
|
152
|
+
)
|
|
153
|
+
add_common_arguments(detect_parser)
|
|
154
|
+
|
|
155
|
+
detect_parser.add_argument(
|
|
156
|
+
"--project-path",
|
|
157
|
+
type=Path,
|
|
158
|
+
metavar="PATH",
|
|
159
|
+
help="Project path to analyze (default: current directory)",
|
|
160
|
+
)
|
|
161
|
+
|
|
162
|
+
return detect_parser
|
|
163
|
+
|
|
164
|
+
|
|
165
|
+
def add_agents_recommend_subparser(
|
|
166
|
+
agents_subparsers,
|
|
167
|
+
) -> argparse.ArgumentParser:
|
|
168
|
+
"""
|
|
169
|
+
Add the agents recommend subparser for agent recommendations.
|
|
170
|
+
|
|
171
|
+
WHY: Allows users to see what agents would be recommended without deploying,
|
|
172
|
+
useful for reviewing recommendations before committing to deployment.
|
|
173
|
+
|
|
174
|
+
Args:
|
|
175
|
+
agents_subparsers: The agents subparsers object
|
|
176
|
+
|
|
177
|
+
Returns:
|
|
178
|
+
The configured recommend subparser
|
|
179
|
+
"""
|
|
180
|
+
recommend_parser = agents_subparsers.add_parser(
|
|
181
|
+
"recommend",
|
|
182
|
+
help="Show recommended agents without deploying",
|
|
183
|
+
description="""
|
|
184
|
+
Show recommended agents based on project toolchain without deploying.
|
|
185
|
+
|
|
186
|
+
This command analyzes your project toolchain and recommends appropriate
|
|
187
|
+
agents with detailed reasoning for each recommendation. No changes are
|
|
188
|
+
made to your project.
|
|
189
|
+
|
|
190
|
+
Useful for:
|
|
191
|
+
• Reviewing recommendations before deployment
|
|
192
|
+
• Understanding why agents are recommended
|
|
193
|
+
• Adjusting confidence thresholds
|
|
194
|
+
""",
|
|
195
|
+
formatter_class=argparse.RawDescriptionHelpFormatter,
|
|
196
|
+
epilog="""
|
|
197
|
+
Examples:
|
|
198
|
+
# Show recommendations with reasoning
|
|
199
|
+
claude-mpm agents recommend
|
|
200
|
+
|
|
201
|
+
# Require 90% confidence for recommendations
|
|
202
|
+
claude-mpm agents recommend --min-confidence 0.9
|
|
203
|
+
|
|
204
|
+
# JSON output for scripting
|
|
205
|
+
claude-mpm agents recommend --json
|
|
206
|
+
|
|
207
|
+
# Hide detailed reasoning
|
|
208
|
+
claude-mpm agents recommend --no-reasoning
|
|
209
|
+
|
|
210
|
+
# Recommend for specific project
|
|
211
|
+
claude-mpm agents recommend --project-path /path/to/project
|
|
212
|
+
""",
|
|
213
|
+
)
|
|
214
|
+
add_common_arguments(recommend_parser)
|
|
215
|
+
|
|
216
|
+
recommend_parser.add_argument(
|
|
217
|
+
"--project-path",
|
|
218
|
+
type=Path,
|
|
219
|
+
metavar="PATH",
|
|
220
|
+
help="Project path to analyze (default: current directory)",
|
|
221
|
+
)
|
|
222
|
+
|
|
223
|
+
recommend_parser.add_argument(
|
|
224
|
+
"--min-confidence",
|
|
225
|
+
type=float,
|
|
226
|
+
default=0.8,
|
|
227
|
+
metavar="FLOAT",
|
|
228
|
+
help="Minimum confidence threshold for recommendations (0.0-1.0, default: 0.8)",
|
|
229
|
+
)
|
|
230
|
+
|
|
231
|
+
recommend_parser.add_argument(
|
|
232
|
+
"--show-reasoning",
|
|
233
|
+
action="store_true",
|
|
234
|
+
default=True,
|
|
235
|
+
help="Show detailed reasoning for recommendations (default)",
|
|
236
|
+
)
|
|
237
|
+
|
|
238
|
+
recommend_parser.add_argument(
|
|
239
|
+
"--no-reasoning",
|
|
240
|
+
dest="show_reasoning",
|
|
241
|
+
action="store_false",
|
|
242
|
+
help="Hide detailed reasoning for recommendations",
|
|
243
|
+
)
|
|
244
|
+
|
|
245
|
+
return recommend_parser
|