claude-mpm 4.1.26__py3-none-any.whl → 4.24.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of claude-mpm might be problematic. Click here for more details.
- 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 +420 -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 +299 -29
- claude_mpm/agents/PM_INSTRUCTIONS.md +1159 -0
- claude_mpm/agents/WORKFLOW.md +355 -191
- claude_mpm/agents/agent_loader.py +40 -10
- claude_mpm/agents/agent_loader_integration.py +3 -2
- claude_mpm/agents/async_agent_loader.py +3 -3
- claude_mpm/agents/base_agent_loader.py +11 -9
- claude_mpm/agents/frontmatter_validator.py +291 -251
- claude_mpm/agents/system_agent_config.py +3 -2
- claude_mpm/agents/templates/README.md +465 -0
- claude_mpm/agents/templates/agent-manager.json +7 -4
- claude_mpm/agents/templates/{agentic_coder_optimizer.json → agentic-coder-optimizer.json} +33 -7
- claude_mpm/agents/templates/api_qa.json +16 -4
- claude_mpm/agents/templates/circuit_breakers.md +638 -0
- claude_mpm/agents/templates/clerk-ops.json +235 -0
- claude_mpm/agents/templates/code_analyzer.json +10 -4
- claude_mpm/agents/templates/content-agent.json +358 -0
- claude_mpm/agents/templates/dart_engineer.json +307 -0
- claude_mpm/agents/templates/data_engineer.json +87 -14
- claude_mpm/agents/templates/documentation.json +76 -13
- claude_mpm/agents/templates/engineer.json +43 -9
- claude_mpm/agents/templates/gcp_ops_agent.json +253 -0
- claude_mpm/agents/templates/git_file_tracking.md +584 -0
- claude_mpm/agents/templates/golang_engineer.json +270 -0
- claude_mpm/agents/templates/imagemagick.json +5 -2
- claude_mpm/agents/templates/java_engineer.json +346 -0
- claude_mpm/agents/templates/javascript_engineer_agent.json +380 -0
- claude_mpm/agents/templates/local_ops_agent.json +1840 -0
- claude_mpm/agents/templates/logs/prompts/agent_engineer_20250901_010124_142.md +400 -0
- claude_mpm/agents/templates/memory_manager.json +6 -3
- claude_mpm/agents/templates/nextjs_engineer.json +285 -0
- claude_mpm/agents/templates/ops.json +14 -4
- claude_mpm/agents/templates/php-engineer.json +287 -0
- claude_mpm/agents/templates/pm_examples.md +474 -0
- claude_mpm/agents/templates/pm_red_flags.md +262 -0
- claude_mpm/agents/templates/product_owner.json +338 -0
- claude_mpm/agents/templates/project_organizer.json +19 -5
- claude_mpm/agents/templates/prompt-engineer.json +737 -0
- claude_mpm/agents/templates/python_engineer.json +387 -0
- claude_mpm/agents/templates/qa.json +25 -5
- claude_mpm/agents/templates/react_engineer.json +239 -0
- claude_mpm/agents/templates/refactoring_engineer.json +15 -5
- claude_mpm/agents/templates/research.json +46 -21
- claude_mpm/agents/templates/response_format.md +583 -0
- claude_mpm/agents/templates/ruby-engineer.json +280 -0
- claude_mpm/agents/templates/rust_engineer.json +275 -0
- claude_mpm/agents/templates/security.json +59 -10
- claude_mpm/agents/templates/svelte-engineer.json +225 -0
- claude_mpm/agents/templates/tauri_engineer.json +274 -0
- claude_mpm/agents/templates/ticketing.json +16 -7
- claude_mpm/agents/templates/typescript_engineer.json +285 -0
- claude_mpm/agents/templates/validation_templates.md +312 -0
- claude_mpm/agents/templates/vercel_ops_agent.json +164 -33
- claude_mpm/agents/templates/version_control.json +16 -4
- claude_mpm/agents/templates/web_qa.json +167 -21
- claude_mpm/agents/templates/web_ui.json +18 -5
- claude_mpm/cli/__init__.py +38 -378
- claude_mpm/cli/commands/__init__.py +2 -0
- claude_mpm/cli/commands/agent_manager.py +675 -20
- claude_mpm/cli/commands/agent_state_manager.py +186 -0
- claude_mpm/cli/commands/agents.py +722 -150
- claude_mpm/cli/commands/agents_detect.py +380 -0
- claude_mpm/cli/commands/agents_recommend.py +309 -0
- claude_mpm/cli/commands/aggregate.py +10 -6
- claude_mpm/cli/commands/analyze.py +15 -10
- claude_mpm/cli/commands/analyze_code.py +8 -4
- claude_mpm/cli/commands/auto_configure.py +570 -0
- claude_mpm/cli/commands/cleanup.py +12 -12
- claude_mpm/cli/commands/config.py +47 -13
- claude_mpm/cli/commands/configure.py +469 -1064
- 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 +167 -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 +7 -7
- claude_mpm/cli/commands/doctor.py +43 -7
- claude_mpm/cli/commands/info.py +3 -4
- claude_mpm/cli/commands/local_deploy.py +537 -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 +525 -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/run.py +169 -42
- claude_mpm/cli/commands/search.py +458 -0
- claude_mpm/cli/commands/skills.py +488 -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 +204 -0
- claude_mpm/cli/helpers.py +105 -0
- claude_mpm/cli/interactive/__init__.py +21 -0
- claude_mpm/cli/interactive/agent_wizard.py +962 -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/agents_parser.py +116 -0
- claude_mpm/cli/parsers/auto_configure_parser.py +245 -0
- claude_mpm/cli/parsers/base_parser.py +143 -3
- 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/skills_parser.py +137 -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 +562 -0
- claude_mpm/cli/startup_logging.py +179 -13
- claude_mpm/cli/utils.py +53 -2
- claude_mpm/commands/mpm-agents-detect.md +168 -0
- claude_mpm/commands/mpm-agents-recommend.md +214 -0
- claude_mpm/commands/mpm-agents.md +118 -8
- claude_mpm/commands/mpm-auto-configure.md +269 -0
- claude_mpm/commands/mpm-config.md +137 -14
- claude_mpm/commands/mpm-help.md +285 -5
- claude_mpm/commands/mpm-init.md +374 -15
- claude_mpm/commands/mpm-monitor.md +409 -0
- claude_mpm/commands/mpm-organize.md +295 -0
- claude_mpm/commands/mpm-resume.md +372 -0
- claude_mpm/commands/mpm-status.md +71 -9
- claude_mpm/commands/mpm-tickets.md +56 -7
- claude_mpm/commands/mpm-version.md +113 -0
- claude_mpm/commands/mpm.md +2 -0
- claude_mpm/config/agent_config.py +4 -4
- 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/socketio_config.py +3 -3
- claude_mpm/constants.py +15 -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 +19 -8
- claude_mpm/core/config.py +85 -8
- claude_mpm/core/config_aliases.py +7 -6
- claude_mpm/core/constants.py +65 -0
- 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 +38 -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 +223 -0
- claude_mpm/core/framework/loaders/instruction_loader.py +161 -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_manager.py +8 -6
- claude_mpm/core/injectable_service.py +11 -8
- claude_mpm/core/instruction_reinforcement_hook.py +4 -3
- claude_mpm/core/interactive_session.py +55 -8
- 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 +19 -14
- claude_mpm/core/logging_config.py +6 -2
- claude_mpm/core/logging_utils.py +520 -0
- claude_mpm/core/oneshot_session.py +51 -7
- 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/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/socketio_pool.py +15 -15
- 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/react/components/DataInspector/DataInspector.module.css +188 -0
- claude_mpm/dashboard/react/components/EventViewer/EventViewer.module.css +156 -0
- claude_mpm/dashboard/react/components/shared/ConnectionStatus.module.css +38 -0
- claude_mpm/dashboard/react/components/shared/FilterBar.module.css +92 -0
- claude_mpm/dashboard/static/archive/activity_dashboard_fixed.html +248 -0
- claude_mpm/dashboard/static/archive/activity_dashboard_test.html +61 -0
- claude_mpm/dashboard/static/archive/test_activity_connection.html +179 -0
- claude_mpm/dashboard/static/archive/test_claude_tree_tab.html +68 -0
- claude_mpm/dashboard/static/archive/test_dashboard.html +409 -0
- claude_mpm/dashboard/static/archive/test_dashboard_fixed.html +519 -0
- claude_mpm/dashboard/static/archive/test_dashboard_verification.html +181 -0
- claude_mpm/dashboard/static/archive/test_file_data.html +315 -0
- claude_mpm/dashboard/static/archive/test_file_tree_empty_state.html +243 -0
- claude_mpm/dashboard/static/archive/test_file_tree_fix.html +234 -0
- claude_mpm/dashboard/static/archive/test_file_tree_rename.html +117 -0
- claude_mpm/dashboard/static/archive/test_file_tree_tab.html +115 -0
- claude_mpm/dashboard/static/archive/test_file_viewer.html +224 -0
- claude_mpm/dashboard/static/archive/test_final_activity.html +220 -0
- claude_mpm/dashboard/static/archive/test_tab_fix.html +139 -0
- claude_mpm/dashboard/static/built/assets/events.DjpNxWNo.css +1 -0
- claude_mpm/dashboard/static/built/components/activity-tree.js +1 -1
- claude_mpm/dashboard/static/built/components/agent-hierarchy.js +777 -0
- claude_mpm/dashboard/static/built/components/agent-inference.js +1 -1
- claude_mpm/dashboard/static/built/components/build-tracker.js +333 -0
- claude_mpm/dashboard/static/built/components/code-simple.js +857 -0
- claude_mpm/dashboard/static/built/components/code-tree/tree-breadcrumb.js +353 -0
- claude_mpm/dashboard/static/built/components/code-tree/tree-constants.js +235 -0
- claude_mpm/dashboard/static/built/components/code-tree/tree-search.js +409 -0
- claude_mpm/dashboard/static/built/components/code-tree/tree-utils.js +435 -0
- claude_mpm/dashboard/static/built/components/code-tree.js +1 -1
- claude_mpm/dashboard/static/built/components/code-viewer.js +1 -1
- claude_mpm/dashboard/static/built/components/connection-debug.js +654 -0
- claude_mpm/dashboard/static/built/components/diff-viewer.js +891 -0
- claude_mpm/dashboard/static/built/components/event-processor.js +1 -1
- claude_mpm/dashboard/static/built/components/event-viewer.js +1 -1
- claude_mpm/dashboard/static/built/components/export-manager.js +1 -1
- claude_mpm/dashboard/static/built/components/file-change-tracker.js +443 -0
- claude_mpm/dashboard/static/built/components/file-change-viewer.js +690 -0
- claude_mpm/dashboard/static/built/components/file-tool-tracker.js +1 -1
- claude_mpm/dashboard/static/built/components/file-viewer.js +2 -0
- claude_mpm/dashboard/static/built/components/module-viewer.js +1 -1
- claude_mpm/dashboard/static/built/components/nav-bar.js +145 -0
- claude_mpm/dashboard/static/built/components/page-structure.js +429 -0
- claude_mpm/dashboard/static/built/components/session-manager.js +1 -1
- claude_mpm/dashboard/static/built/components/unified-data-viewer.js +1 -1
- claude_mpm/dashboard/static/built/components/working-directory.js +1 -1
- claude_mpm/dashboard/static/built/connection-manager.js +536 -0
- claude_mpm/dashboard/static/built/dashboard.js +1 -1
- claude_mpm/dashboard/static/built/extension-error-handler.js +164 -0
- claude_mpm/dashboard/static/built/react/events.js +30 -0
- claude_mpm/dashboard/static/built/shared/dom-helpers.js +396 -0
- claude_mpm/dashboard/static/built/shared/event-bus.js +330 -0
- claude_mpm/dashboard/static/built/shared/event-filter-service.js +540 -0
- claude_mpm/dashboard/static/built/shared/logger.js +385 -0
- claude_mpm/dashboard/static/built/shared/page-structure.js +249 -0
- claude_mpm/dashboard/static/built/shared/tooltip-service.js +253 -0
- claude_mpm/dashboard/static/built/socket-client.js +1 -1
- claude_mpm/dashboard/static/built/tab-isolation-fix.js +185 -0
- claude_mpm/dashboard/static/css/dashboard.css +588 -6
- claude_mpm/dashboard/static/dist/assets/events.DjpNxWNo.css +1 -0
- claude_mpm/dashboard/static/dist/components/activity-tree.js +1 -1
- claude_mpm/dashboard/static/dist/components/agent-inference.js +1 -1
- claude_mpm/dashboard/static/dist/components/code-tree.js +1 -1
- claude_mpm/dashboard/static/dist/components/code-viewer.js +1 -1
- claude_mpm/dashboard/static/dist/components/event-processor.js +1 -1
- claude_mpm/dashboard/static/dist/components/event-viewer.js +1 -1
- claude_mpm/dashboard/static/dist/components/export-manager.js +1 -1
- claude_mpm/dashboard/static/dist/components/file-tool-tracker.js +1 -1
- claude_mpm/dashboard/static/dist/components/file-viewer.js +2 -0
- claude_mpm/dashboard/static/dist/components/module-viewer.js +1 -1
- claude_mpm/dashboard/static/dist/components/session-manager.js +1 -1
- claude_mpm/dashboard/static/dist/components/unified-data-viewer.js +1 -1
- claude_mpm/dashboard/static/dist/components/working-directory.js +1 -1
- claude_mpm/dashboard/static/dist/dashboard.js +1 -1
- claude_mpm/dashboard/static/dist/react/events.js +30 -0
- claude_mpm/dashboard/static/dist/socket-client.js +1 -1
- claude_mpm/dashboard/static/events.html +607 -0
- claude_mpm/dashboard/static/index.html +635 -0
- claude_mpm/dashboard/static/js/components/activity-tree.js +3 -17
- claude_mpm/dashboard/static/js/components/agent-hierarchy.js +4 -1
- claude_mpm/dashboard/static/js/components/agent-inference.js +3 -0
- claude_mpm/dashboard/static/js/components/build-tracker.js +8 -0
- claude_mpm/dashboard/static/js/components/code-simple.js +857 -0
- 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 +39 -2
- 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 +30 -10
- claude_mpm/dashboard/static/js/components/file-viewer.js +580 -0
- claude_mpm/dashboard/static/js/components/module-viewer.js +26 -0
- claude_mpm/dashboard/static/js/components/session-manager.js +7 -7
- claude_mpm/dashboard/static/js/components/socket-manager.js +4 -0
- claude_mpm/dashboard/static/js/components/ui-state-manager.js +356 -41
- claude_mpm/dashboard/static/js/components/unified-data-viewer.js +455 -23
- claude_mpm/dashboard/static/js/components/working-directory.js +44 -9
- claude_mpm/dashboard/static/js/dashboard.js +245 -132
- claude_mpm/dashboard/static/js/shared/dom-helpers.js +396 -0
- claude_mpm/dashboard/static/js/shared/event-bus.js +330 -0
- claude_mpm/dashboard/static/js/shared/logger.js +385 -0
- claude_mpm/dashboard/static/js/shared/tooltip-service.js +253 -0
- claude_mpm/dashboard/static/js/socket-client.js +49 -22
- claude_mpm/dashboard/static/js/stores/dashboard-store.js +562 -0
- claude_mpm/dashboard/static/js/tab-isolation-fix.js +185 -0
- claude_mpm/dashboard/static/legacy/activity.html +736 -0
- claude_mpm/dashboard/static/legacy/agents.html +786 -0
- claude_mpm/dashboard/static/legacy/files.html +747 -0
- claude_mpm/dashboard/static/legacy/tools.html +831 -0
- claude_mpm/dashboard/static/monitors.html +431 -0
- claude_mpm/dashboard/static/production/events.html +659 -0
- claude_mpm/dashboard/static/production/main.html +698 -0
- claude_mpm/dashboard/static/production/monitors.html +483 -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/static/test-archive/dashboard.html +635 -0
- claude_mpm/dashboard/static/test-archive/debug-events.html +147 -0
- claude_mpm/dashboard/static/test-archive/test-navigation.html +256 -0
- claude_mpm/dashboard/static/test-archive/test-react-exports.html +180 -0
- claude_mpm/dashboard/static/test-archive/test_debug.html +25 -0
- claude_mpm/dashboard/templates/code_simple.html +153 -0
- claude_mpm/dashboard/templates/index.html +112 -109
- claude_mpm/experimental/cli_enhancements.py +4 -2
- 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/connection_pool.py +4 -4
- claude_mpm/hooks/claude_hooks/event_handlers.py +21 -18
- 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/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 +60 -0
- claude_mpm/hooks/failure_learning/failure_detection_hook.py +235 -0
- claude_mpm/hooks/failure_learning/fix_detection_hook.py +217 -0
- claude_mpm/hooks/failure_learning/learning_extraction_hook.py +286 -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 +183 -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/resume_log.py +340 -0
- claude_mpm/scripts/claude-hook-handler.sh +33 -7
- 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/services/__init__.py +144 -160
- claude_mpm/services/agents/__init__.py +18 -5
- claude_mpm/services/agents/agent_builder.py +13 -11
- claude_mpm/services/agents/auto_config_manager.py +796 -0
- claude_mpm/services/agents/deployment/agent_configuration_manager.py +1 -1
- claude_mpm/services/agents/deployment/agent_deployment.py +38 -15
- claude_mpm/services/agents/deployment/agent_discovery_service.py +125 -7
- 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 +4 -2
- 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_state_service.py +2 -2
- claude_mpm/services/agents/deployment/agent_template_builder.py +715 -47
- 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/async_agent_deployment.py +1 -1
- 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/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 +134 -38
- 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 +9 -6
- claude_mpm/services/agents/deployment/system_instructions_deployer.py +9 -6
- claude_mpm/services/agents/deployment/validation/__init__.py +3 -1
- 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/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 +2 -2
- claude_mpm/services/agents/local_template_manager.py +744 -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/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 +9 -7
- claude_mpm/services/command_handler_service.py +11 -5
- claude_mpm/services/core/__init__.py +33 -1
- claude_mpm/services/core/base.py +26 -11
- claude_mpm/services/core/interfaces/__init__.py +90 -3
- claude_mpm/services/core/interfaces/agent.py +184 -0
- claude_mpm/services/core/interfaces/health.py +172 -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 +79 -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 +4 -2
- claude_mpm/services/diagnostics/checks/agent_check.py +30 -32
- 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 +20 -19
- claude_mpm/services/diagnostics/checks/mcp_check.py +57 -43
- claude_mpm/services/diagnostics/checks/mcp_services_check.py +1066 -0
- claude_mpm/services/diagnostics/checks/monitor_check.py +24 -23
- claude_mpm/services/diagnostics/checks/startup_log_check.py +14 -11
- claude_mpm/services/diagnostics/diagnostic_runner.py +22 -13
- claude_mpm/services/diagnostics/doctor_reporter.py +275 -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 +8 -4
- 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/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/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 +1 -1
- claude_mpm/services/infrastructure/monitoring/aggregator.py +12 -12
- 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/local_ops/__init__.py +165 -0
- claude_mpm/services/local_ops/crash_detector.py +257 -0
- claude_mpm/services/local_ops/health_checks/__init__.py +28 -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 +430 -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 +1612 -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 +23 -4
- 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 +585 -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 +4 -4
- claude_mpm/services/mcp_gateway/server/stdio_server.py +9 -15
- 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 +551 -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 +729 -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 +453 -0
- claude_mpm/services/model/ollama_provider.py +415 -0
- claude_mpm/services/monitor/__init__.py +20 -0
- claude_mpm/services/monitor/daemon.py +671 -0
- claude_mpm/services/monitor/daemon_manager.py +963 -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 +2 -2
- 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 +553 -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 +581 -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 +1 -0
- claude_mpm/services/self_upgrade_service.py +500 -0
- claude_mpm/services/session_management_service.py +7 -5
- 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/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 +21 -40
- 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 +8 -8
- 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 +141 -4
- claude_mpm/services/socketio/server/eventbus_integration.py +20 -14
- claude_mpm/services/socketio/server/main.py +23 -21
- 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 +2 -2
- 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 +903 -0
- claude_mpm/services/unified/analyzer_strategies/security_analyzer.py +746 -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 +475 -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 +470 -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 +8 -4
- 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/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/collaboration/brainstorming/SKILL.md +79 -0
- claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/SKILL.md +178 -0
- claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/agent-prompts.md +577 -0
- claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/coordination-patterns.md +467 -0
- claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/examples.md +537 -0
- claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/troubleshooting.md +730 -0
- claude_mpm/skills/bundled/collaboration/requesting-code-review/SKILL.md +112 -0
- claude_mpm/skills/bundled/collaboration/requesting-code-review/references/code-reviewer-template.md +146 -0
- claude_mpm/skills/bundled/collaboration/requesting-code-review/references/review-examples.md +412 -0
- claude_mpm/skills/bundled/collaboration/writing-plans/SKILL.md +81 -0
- claude_mpm/skills/bundled/collaboration/writing-plans/references/best-practices.md +362 -0
- claude_mpm/skills/bundled/collaboration/writing-plans/references/plan-structure-templates.md +312 -0
- claude_mpm/skills/bundled/database-migration.md +199 -0
- claude_mpm/skills/bundled/debugging/root-cause-tracing/SKILL.md +152 -0
- claude_mpm/skills/bundled/debugging/root-cause-tracing/references/advanced-techniques.md +668 -0
- claude_mpm/skills/bundled/debugging/root-cause-tracing/references/examples.md +587 -0
- claude_mpm/skills/bundled/debugging/root-cause-tracing/references/integration.md +438 -0
- claude_mpm/skills/bundled/debugging/root-cause-tracing/references/tracing-techniques.md +391 -0
- claude_mpm/skills/bundled/debugging/systematic-debugging/CREATION-LOG.md +119 -0
- claude_mpm/skills/bundled/debugging/systematic-debugging/SKILL.md +148 -0
- claude_mpm/skills/bundled/debugging/systematic-debugging/references/anti-patterns.md +483 -0
- claude_mpm/skills/bundled/debugging/systematic-debugging/references/examples.md +452 -0
- claude_mpm/skills/bundled/debugging/systematic-debugging/references/troubleshooting.md +449 -0
- claude_mpm/skills/bundled/debugging/systematic-debugging/references/workflow.md +411 -0
- claude_mpm/skills/bundled/debugging/systematic-debugging/test-academic.md +14 -0
- claude_mpm/skills/bundled/debugging/systematic-debugging/test-pressure-1.md +58 -0
- claude_mpm/skills/bundled/debugging/systematic-debugging/test-pressure-2.md +68 -0
- claude_mpm/skills/bundled/debugging/systematic-debugging/test-pressure-3.md +69 -0
- claude_mpm/skills/bundled/debugging/verification-before-completion/SKILL.md +131 -0
- claude_mpm/skills/bundled/debugging/verification-before-completion/references/gate-function.md +325 -0
- claude_mpm/skills/bundled/debugging/verification-before-completion/references/integration-and-workflows.md +490 -0
- claude_mpm/skills/bundled/debugging/verification-before-completion/references/red-flags-and-failures.md +425 -0
- claude_mpm/skills/bundled/debugging/verification-before-completion/references/verification-patterns.md +499 -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/artifacts-builder/SKILL.md +86 -0
- claude_mpm/skills/bundled/main/internal-comms/SKILL.md +43 -0
- claude_mpm/skills/bundled/main/internal-comms/examples/3p-updates.md +47 -0
- claude_mpm/skills/bundled/main/internal-comms/examples/company-newsletter.md +65 -0
- claude_mpm/skills/bundled/main/internal-comms/examples/faq-answers.md +30 -0
- claude_mpm/skills/bundled/main/internal-comms/examples/general-comms.md +16 -0
- claude_mpm/skills/bundled/main/mcp-builder/SKILL.md +160 -0
- claude_mpm/skills/bundled/main/mcp-builder/reference/design_principles.md +412 -0
- claude_mpm/skills/bundled/main/mcp-builder/reference/evaluation.md +602 -0
- claude_mpm/skills/bundled/main/mcp-builder/reference/mcp_best_practices.md +915 -0
- claude_mpm/skills/bundled/main/mcp-builder/reference/node_mcp_server.md +916 -0
- claude_mpm/skills/bundled/main/mcp-builder/reference/python_mcp_server.md +752 -0
- claude_mpm/skills/bundled/main/mcp-builder/reference/workflow.md +1237 -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/SKILL.md +189 -0
- claude_mpm/skills/bundled/main/skill-creator/references/best-practices.md +500 -0
- claude_mpm/skills/bundled/main/skill-creator/references/creation-workflow.md +464 -0
- claude_mpm/skills/bundled/main/skill-creator/references/examples.md +619 -0
- claude_mpm/skills/bundled/main/skill-creator/references/progressive-disclosure.md +437 -0
- claude_mpm/skills/bundled/main/skill-creator/references/skill-structure.md +231 -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/php/espocrm-development/SKILL.md +170 -0
- claude_mpm/skills/bundled/php/espocrm-development/references/architecture.md +602 -0
- claude_mpm/skills/bundled/php/espocrm-development/references/common-tasks.md +821 -0
- claude_mpm/skills/bundled/php/espocrm-development/references/development-workflow.md +742 -0
- claude_mpm/skills/bundled/php/espocrm-development/references/frontend-customization.md +726 -0
- claude_mpm/skills/bundled/php/espocrm-development/references/hooks-and-services.md +764 -0
- claude_mpm/skills/bundled/php/espocrm-development/references/testing-debugging.md +831 -0
- claude_mpm/skills/bundled/refactoring-patterns.md +180 -0
- claude_mpm/skills/bundled/rust/desktop-applications/SKILL.md +226 -0
- claude_mpm/skills/bundled/rust/desktop-applications/references/architecture-patterns.md +901 -0
- claude_mpm/skills/bundled/rust/desktop-applications/references/native-gui-frameworks.md +901 -0
- claude_mpm/skills/bundled/rust/desktop-applications/references/platform-integration.md +775 -0
- claude_mpm/skills/bundled/rust/desktop-applications/references/state-management.md +937 -0
- claude_mpm/skills/bundled/rust/desktop-applications/references/tauri-framework.md +770 -0
- claude_mpm/skills/bundled/rust/desktop-applications/references/testing-deployment.md +961 -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/condition-based-waiting/SKILL.md +119 -0
- claude_mpm/skills/bundled/testing/condition-based-waiting/references/patterns-and-implementation.md +253 -0
- claude_mpm/skills/bundled/testing/test-driven-development/SKILL.md +145 -0
- claude_mpm/skills/bundled/testing/test-driven-development/references/anti-patterns.md +543 -0
- claude_mpm/skills/bundled/testing/test-driven-development/references/examples.md +741 -0
- claude_mpm/skills/bundled/testing/test-driven-development/references/integration.md +470 -0
- claude_mpm/skills/bundled/testing/test-driven-development/references/philosophy.md +458 -0
- claude_mpm/skills/bundled/testing/test-driven-development/references/workflow.md +639 -0
- claude_mpm/skills/bundled/testing/testing-anti-patterns/SKILL.md +140 -0
- claude_mpm/skills/bundled/testing/testing-anti-patterns/references/completeness-anti-patterns.md +572 -0
- claude_mpm/skills/bundled/testing/testing-anti-patterns/references/core-anti-patterns.md +411 -0
- claude_mpm/skills/bundled/testing/testing-anti-patterns/references/detection-guide.md +569 -0
- claude_mpm/skills/bundled/testing/testing-anti-patterns/references/tdd-connection.md +695 -0
- claude_mpm/skills/bundled/testing/webapp-testing/SKILL.md +184 -0
- claude_mpm/skills/bundled/testing/webapp-testing/decision-tree.md +459 -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/playwright-patterns.md +479 -0
- claude_mpm/skills/bundled/testing/webapp-testing/reconnaissance-pattern.md +687 -0
- claude_mpm/skills/bundled/testing/webapp-testing/scripts/with_server.py +129 -0
- claude_mpm/skills/bundled/testing/webapp-testing/server-management.md +758 -0
- claude_mpm/skills/bundled/testing/webapp-testing/troubleshooting.md +868 -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 +348 -0
- claude_mpm/skills/skills_service.py +739 -0
- claude_mpm/storage/state_storage.py +31 -31
- claude_mpm/tools/__main__.py +1 -1
- 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 +108 -27
- 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 +2 -2
- 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/log_cleanup.py +627 -0
- claude_mpm/utils/path_operations.py +7 -4
- claude_mpm/utils/robust_installer.py +133 -24
- claude_mpm/utils/session_logging.py +2 -2
- 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-4.24.0.dist-info/METADATA +675 -0
- claude_mpm-4.24.0.dist-info/RECORD +1018 -0
- {claude_mpm-4.1.26.dist-info → claude_mpm-4.24.0.dist-info}/entry_points.txt +1 -0
- claude_mpm/agents/INSTRUCTIONS.md +0 -261
- claude_mpm/agents/templates/agent-manager.md +0 -619
- 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/dashboard/static/css/code-tree.css +0 -1408
- 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-4.24.0.dist-info}/WHEEL +0 -0
- {claude_mpm-4.1.26.dist-info → claude_mpm-4.24.0.dist-info}/licenses/LICENSE +0 -0
- {claude_mpm-4.1.26.dist-info → claude_mpm-4.24.0.dist-info}/top_level.txt +0 -0
|
@@ -22,7 +22,7 @@ def add_agent_manager_subparser(subparsers: argparse._SubParsersAction) -> None:
|
|
|
22
22
|
description="Comprehensive agent lifecycle management for Claude MPM",
|
|
23
23
|
formatter_class=argparse.RawDescriptionHelpFormatter,
|
|
24
24
|
epilog="""
|
|
25
|
-
|
|
25
|
+
Standard Commands:
|
|
26
26
|
claude-mpm agent-manager list # List all agents across tiers
|
|
27
27
|
claude-mpm agent-manager create # Interactive agent creation
|
|
28
28
|
claude-mpm agent-manager create --id my-agent # Create agent with ID
|
|
@@ -35,6 +35,16 @@ Examples:
|
|
|
35
35
|
claude-mpm agent-manager reset --dry-run # Preview agent cleanup
|
|
36
36
|
claude-mpm agent-manager reset --force # Remove all claude-mpm agents
|
|
37
37
|
claude-mpm agent-manager reset --project-only # Clean only project agents
|
|
38
|
+
|
|
39
|
+
Local Agent Commands:
|
|
40
|
+
claude-mpm agent-manager create-local --agent-id my-custom # Create local template
|
|
41
|
+
claude-mpm agent-manager deploy-local --agent-id my-custom # Deploy local template
|
|
42
|
+
claude-mpm agent-manager list-local # List local templates
|
|
43
|
+
claude-mpm agent-manager sync-local # Sync templates with deployment
|
|
44
|
+
claude-mpm agent-manager export-local --output ./agents # Export templates
|
|
45
|
+
claude-mpm agent-manager import-local --input ./agents # Import templates
|
|
46
|
+
claude-mpm agent-manager delete-local --agent-id my-custom # Delete single agent
|
|
47
|
+
claude-mpm agent-manager delete-local --all --backup # Delete all with backup
|
|
38
48
|
""",
|
|
39
49
|
)
|
|
40
50
|
|
|
@@ -231,3 +241,153 @@ Examples:
|
|
|
231
241
|
default="text",
|
|
232
242
|
help="Output format (default: text)",
|
|
233
243
|
)
|
|
244
|
+
|
|
245
|
+
# === Interactive Commands ===
|
|
246
|
+
|
|
247
|
+
# Create interactive command
|
|
248
|
+
agent_subparsers.add_parser(
|
|
249
|
+
"create-interactive", help="🧙♂️ Launch step-by-step agent creation wizard"
|
|
250
|
+
)
|
|
251
|
+
|
|
252
|
+
# Manage local interactive command
|
|
253
|
+
agent_subparsers.add_parser(
|
|
254
|
+
"manage-local", help="🔧 Interactive menu for managing local agents"
|
|
255
|
+
)
|
|
256
|
+
|
|
257
|
+
# Edit interactive command
|
|
258
|
+
edit_interactive_parser = agent_subparsers.add_parser(
|
|
259
|
+
"edit-interactive", help="✏️ Edit agent configuration interactively"
|
|
260
|
+
)
|
|
261
|
+
edit_interactive_parser.add_argument(
|
|
262
|
+
"--agent-id", required=True, help="Agent ID to edit"
|
|
263
|
+
)
|
|
264
|
+
|
|
265
|
+
# Test local command
|
|
266
|
+
test_local_parser = agent_subparsers.add_parser(
|
|
267
|
+
"test-local", help="🧪 Test local agent with validation and deployment"
|
|
268
|
+
)
|
|
269
|
+
test_local_parser.add_argument("--agent-id", required=True, help="Agent ID to test")
|
|
270
|
+
|
|
271
|
+
# === Local Agent Commands ===
|
|
272
|
+
|
|
273
|
+
# Create local command
|
|
274
|
+
create_local_parser = agent_subparsers.add_parser(
|
|
275
|
+
"create-local", help="Create a local JSON agent template"
|
|
276
|
+
)
|
|
277
|
+
create_local_parser.add_argument(
|
|
278
|
+
"--agent-id", required=True, help="Unique agent identifier"
|
|
279
|
+
)
|
|
280
|
+
create_local_parser.add_argument("--name", help="Human-readable agent name")
|
|
281
|
+
create_local_parser.add_argument("--description", help="Agent description")
|
|
282
|
+
create_local_parser.add_argument("--instructions", help="Agent instructions")
|
|
283
|
+
create_local_parser.add_argument(
|
|
284
|
+
"--model",
|
|
285
|
+
choices=["sonnet", "opus", "haiku"],
|
|
286
|
+
default="sonnet",
|
|
287
|
+
help="Model to use (default: sonnet)",
|
|
288
|
+
)
|
|
289
|
+
create_local_parser.add_argument(
|
|
290
|
+
"--tools", help="Tools available to agent (default: *)"
|
|
291
|
+
)
|
|
292
|
+
create_local_parser.add_argument("--parent", help="Parent agent to inherit from")
|
|
293
|
+
create_local_parser.add_argument(
|
|
294
|
+
"--tier",
|
|
295
|
+
choices=["project", "user"],
|
|
296
|
+
default="project",
|
|
297
|
+
help="Tier level (default: project)",
|
|
298
|
+
)
|
|
299
|
+
|
|
300
|
+
# Deploy local command
|
|
301
|
+
deploy_local_parser = agent_subparsers.add_parser(
|
|
302
|
+
"deploy-local", help="Deploy local JSON templates to Claude Code"
|
|
303
|
+
)
|
|
304
|
+
deploy_local_parser.add_argument(
|
|
305
|
+
"--agent-id", help="Specific agent to deploy (deploy all if not specified)"
|
|
306
|
+
)
|
|
307
|
+
deploy_local_parser.add_argument(
|
|
308
|
+
"--force", action="store_true", help="Force deployment even if file exists"
|
|
309
|
+
)
|
|
310
|
+
deploy_local_parser.add_argument(
|
|
311
|
+
"--tier", choices=["project", "user"], help="Filter by tier for bulk deployment"
|
|
312
|
+
)
|
|
313
|
+
|
|
314
|
+
# List local command
|
|
315
|
+
list_local_parser = agent_subparsers.add_parser(
|
|
316
|
+
"list-local", help="List all local agent templates"
|
|
317
|
+
)
|
|
318
|
+
list_local_parser.add_argument(
|
|
319
|
+
"--tier", choices=["project", "user"], help="Filter by tier"
|
|
320
|
+
)
|
|
321
|
+
list_local_parser.add_argument(
|
|
322
|
+
"--format",
|
|
323
|
+
choices=["text", "json"],
|
|
324
|
+
default="text",
|
|
325
|
+
help="Output format (default: text)",
|
|
326
|
+
)
|
|
327
|
+
|
|
328
|
+
# Sync local command
|
|
329
|
+
agent_subparsers.add_parser(
|
|
330
|
+
"sync-local", help="Synchronize local templates with deployed agents"
|
|
331
|
+
)
|
|
332
|
+
|
|
333
|
+
# Export local command
|
|
334
|
+
export_local_parser = agent_subparsers.add_parser(
|
|
335
|
+
"export-local", help="Export local templates to a directory"
|
|
336
|
+
)
|
|
337
|
+
export_local_parser.add_argument(
|
|
338
|
+
"--output",
|
|
339
|
+
default="./exported-agents",
|
|
340
|
+
help="Output directory (default: ./exported-agents)",
|
|
341
|
+
)
|
|
342
|
+
|
|
343
|
+
# Import local command
|
|
344
|
+
import_local_parser = agent_subparsers.add_parser(
|
|
345
|
+
"import-local", help="Import templates from a directory"
|
|
346
|
+
)
|
|
347
|
+
import_local_parser.add_argument(
|
|
348
|
+
"--input", required=True, help="Input directory containing templates"
|
|
349
|
+
)
|
|
350
|
+
import_local_parser.add_argument(
|
|
351
|
+
"--tier",
|
|
352
|
+
choices=["project", "user"],
|
|
353
|
+
default="project",
|
|
354
|
+
help="Tier to import into (default: project)",
|
|
355
|
+
)
|
|
356
|
+
|
|
357
|
+
# Delete local command
|
|
358
|
+
delete_local_parser = agent_subparsers.add_parser(
|
|
359
|
+
"delete-local", help="Delete local agent templates with safety checks"
|
|
360
|
+
)
|
|
361
|
+
delete_local_parser.add_argument(
|
|
362
|
+
"--agent-id",
|
|
363
|
+
nargs="+",
|
|
364
|
+
dest="agent_id",
|
|
365
|
+
help="Agent ID(s) to delete (space-separated for multiple)",
|
|
366
|
+
)
|
|
367
|
+
delete_local_parser.add_argument(
|
|
368
|
+
"--all",
|
|
369
|
+
action="store_true",
|
|
370
|
+
help="Delete all local agents (requires confirmation)",
|
|
371
|
+
)
|
|
372
|
+
delete_local_parser.add_argument(
|
|
373
|
+
"--force",
|
|
374
|
+
"-f",
|
|
375
|
+
action="store_true",
|
|
376
|
+
help="Skip confirmation prompts",
|
|
377
|
+
)
|
|
378
|
+
delete_local_parser.add_argument(
|
|
379
|
+
"--keep-deployment",
|
|
380
|
+
action="store_true",
|
|
381
|
+
help="Keep Claude Code deployment, only delete template",
|
|
382
|
+
)
|
|
383
|
+
delete_local_parser.add_argument(
|
|
384
|
+
"--backup",
|
|
385
|
+
action="store_true",
|
|
386
|
+
help="Create backup before deletion",
|
|
387
|
+
)
|
|
388
|
+
delete_local_parser.add_argument(
|
|
389
|
+
"--tier",
|
|
390
|
+
choices=["project", "user", "all"],
|
|
391
|
+
default="project",
|
|
392
|
+
help="Tier to delete from (default: project)",
|
|
393
|
+
)
|
|
@@ -68,6 +68,113 @@ def add_agents_subparser(subparsers) -> argparse.ArgumentParser:
|
|
|
68
68
|
"--show-config", action="store_true", help="Show agent configuration"
|
|
69
69
|
)
|
|
70
70
|
|
|
71
|
+
# Create local agent
|
|
72
|
+
create_agent_parser = agents_subparsers.add_parser(
|
|
73
|
+
"create", help="Create a new local agent template"
|
|
74
|
+
)
|
|
75
|
+
create_agent_parser.add_argument(
|
|
76
|
+
"--interactive",
|
|
77
|
+
"-i",
|
|
78
|
+
action="store_true",
|
|
79
|
+
help="Launch interactive agent creation wizard",
|
|
80
|
+
)
|
|
81
|
+
create_agent_parser.add_argument("--agent-id", help="Agent ID (lowercase, hyphens)")
|
|
82
|
+
create_agent_parser.add_argument("--name", help="Agent display name")
|
|
83
|
+
create_agent_parser.add_argument(
|
|
84
|
+
"--model",
|
|
85
|
+
choices=["sonnet", "opus", "haiku"],
|
|
86
|
+
default="sonnet",
|
|
87
|
+
help="Model to use",
|
|
88
|
+
)
|
|
89
|
+
create_agent_parser.add_argument(
|
|
90
|
+
"--inherit-from", help="System agent to inherit from"
|
|
91
|
+
)
|
|
92
|
+
|
|
93
|
+
# Edit local agent
|
|
94
|
+
edit_agent_parser = agents_subparsers.add_parser(
|
|
95
|
+
"edit", help="Edit a local agent template"
|
|
96
|
+
)
|
|
97
|
+
edit_agent_parser.add_argument("agent_id", help="Agent ID to edit")
|
|
98
|
+
edit_agent_parser.add_argument(
|
|
99
|
+
"--interactive", "-i", action="store_true", help="Use interactive editor"
|
|
100
|
+
)
|
|
101
|
+
edit_agent_parser.add_argument(
|
|
102
|
+
"--editor", help="Editor to use (default: $EDITOR or nano)"
|
|
103
|
+
)
|
|
104
|
+
|
|
105
|
+
# Delete local agent
|
|
106
|
+
delete_agent_parser = agents_subparsers.add_parser(
|
|
107
|
+
"delete", help="Delete a local agent template"
|
|
108
|
+
)
|
|
109
|
+
delete_agent_parser.add_argument(
|
|
110
|
+
"agent_ids", nargs="+", help="Agent ID(s) to delete"
|
|
111
|
+
)
|
|
112
|
+
delete_agent_parser.add_argument(
|
|
113
|
+
"--force", "-f", action="store_true", help="Skip confirmation prompts"
|
|
114
|
+
)
|
|
115
|
+
delete_agent_parser.add_argument(
|
|
116
|
+
"--keep-deployment",
|
|
117
|
+
action="store_true",
|
|
118
|
+
help="Keep Claude Code deployment, only delete template",
|
|
119
|
+
)
|
|
120
|
+
delete_agent_parser.add_argument(
|
|
121
|
+
"--backup", action="store_true", help="Create backup before deletion"
|
|
122
|
+
)
|
|
123
|
+
|
|
124
|
+
# Manage local agents (interactive menu)
|
|
125
|
+
agents_subparsers.add_parser(
|
|
126
|
+
"manage", help="Interactive menu for managing local agents"
|
|
127
|
+
)
|
|
128
|
+
|
|
129
|
+
# Configure agent deployment settings
|
|
130
|
+
configure_agents_parser = agents_subparsers.add_parser(
|
|
131
|
+
"configure", help="Configure which agents are deployed"
|
|
132
|
+
)
|
|
133
|
+
configure_agents_parser.add_argument(
|
|
134
|
+
"--enable",
|
|
135
|
+
nargs="+",
|
|
136
|
+
metavar="AGENT_ID",
|
|
137
|
+
help="Enable specific agents for deployment",
|
|
138
|
+
)
|
|
139
|
+
configure_agents_parser.add_argument(
|
|
140
|
+
"--disable",
|
|
141
|
+
nargs="+",
|
|
142
|
+
metavar="AGENT_ID",
|
|
143
|
+
help="Disable specific agents from deployment",
|
|
144
|
+
)
|
|
145
|
+
configure_agents_parser.add_argument(
|
|
146
|
+
"--enable-all", action="store_true", help="Enable all agents for deployment"
|
|
147
|
+
)
|
|
148
|
+
configure_agents_parser.add_argument(
|
|
149
|
+
"--disable-system",
|
|
150
|
+
action="store_true",
|
|
151
|
+
help="Disable all system agents from deployment",
|
|
152
|
+
)
|
|
153
|
+
configure_agents_parser.add_argument(
|
|
154
|
+
"--enable-system",
|
|
155
|
+
action="store_true",
|
|
156
|
+
help="Enable system agents for deployment",
|
|
157
|
+
)
|
|
158
|
+
configure_agents_parser.add_argument(
|
|
159
|
+
"--disable-local",
|
|
160
|
+
action="store_true",
|
|
161
|
+
help="Disable local project agents from deployment",
|
|
162
|
+
)
|
|
163
|
+
configure_agents_parser.add_argument(
|
|
164
|
+
"--enable-local",
|
|
165
|
+
action="store_true",
|
|
166
|
+
help="Enable local project agents for deployment",
|
|
167
|
+
)
|
|
168
|
+
configure_agents_parser.add_argument(
|
|
169
|
+
"--show", action="store_true", help="Show current deployment configuration"
|
|
170
|
+
)
|
|
171
|
+
configure_agents_parser.add_argument(
|
|
172
|
+
"--interactive",
|
|
173
|
+
"-i",
|
|
174
|
+
action="store_true",
|
|
175
|
+
help="Interactive configuration mode",
|
|
176
|
+
)
|
|
177
|
+
|
|
71
178
|
# Deploy agents
|
|
72
179
|
deploy_agents_parser = agents_subparsers.add_parser(
|
|
73
180
|
AgentCommands.DEPLOY.value, help="Deploy agents to target directory"
|
|
@@ -159,4 +266,13 @@ def add_agents_subparser(subparsers) -> argparse.ArgumentParser:
|
|
|
159
266
|
help="Only show summary, not individual agents",
|
|
160
267
|
)
|
|
161
268
|
|
|
269
|
+
# Auto-configuration commands (TSK-0054 Phase 5)
|
|
270
|
+
from .auto_configure_parser import (
|
|
271
|
+
add_agents_detect_subparser,
|
|
272
|
+
add_agents_recommend_subparser,
|
|
273
|
+
)
|
|
274
|
+
|
|
275
|
+
add_agents_detect_subparser(agents_subparsers)
|
|
276
|
+
add_agents_recommend_subparser(agents_subparsers)
|
|
277
|
+
|
|
162
278
|
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
|