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
|
@@ -0,0 +1,409 @@
|
|
|
1
|
+
# Manage Socket.IO monitoring server
|
|
2
|
+
|
|
3
|
+
Control the Claude MPM monitoring server that powers the real-time dashboard interface for event tracking and project visualization.
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
/mpm-monitor [subcommand] [options]
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Description
|
|
12
|
+
|
|
13
|
+
This slash command manages the Socket.IO monitoring server that provides real-time event tracking and visualization through a web-based dashboard. The monitoring server listens for events from the Claude MPM framework and displays them in an interactive interface accessible via web browser.
|
|
14
|
+
|
|
15
|
+
The monitoring server typically runs on port 8765 (or auto-selects an available port in the range 8765-8785) and provides a real-time dashboard at `http://localhost:8765`.
|
|
16
|
+
|
|
17
|
+
## Available Subcommands
|
|
18
|
+
|
|
19
|
+
### Start Monitoring Server
|
|
20
|
+
Start the Socket.IO monitoring server to enable real-time event tracking.
|
|
21
|
+
|
|
22
|
+
```
|
|
23
|
+
/mpm-monitor start [--port PORT] [--host HOST] [--dashboard] [--dashboard-port PORT] [--foreground] [--background] [--force] [--no-reclaim]
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
**Options:**
|
|
27
|
+
- `--port PORT`: Specific port to start server on (auto-selects if not specified, range: 8765-8785)
|
|
28
|
+
- `--host HOST`: Host to bind to (default: localhost)
|
|
29
|
+
- `--dashboard`: Enable web dashboard interface (enabled by default)
|
|
30
|
+
- `--dashboard-port PORT`: Dashboard port number (default: 8766)
|
|
31
|
+
- `--foreground`: Run server in foreground mode (blocks terminal)
|
|
32
|
+
- `--background`: Run server in background/daemon mode (default behavior)
|
|
33
|
+
- `--force`: Force kill daemon processes to reclaim ports (use with caution)
|
|
34
|
+
- `--no-reclaim`: Don't automatically reclaim ports from debug scripts
|
|
35
|
+
|
|
36
|
+
**Examples:**
|
|
37
|
+
```
|
|
38
|
+
/mpm-monitor start
|
|
39
|
+
/mpm-monitor start --port 8765
|
|
40
|
+
/mpm-monitor start --port 8770 --dashboard --dashboard-port 8771
|
|
41
|
+
/mpm-monitor start --foreground
|
|
42
|
+
/mpm-monitor start --force --port 8765
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
**Default Behavior:**
|
|
46
|
+
- Runs in background/daemon mode
|
|
47
|
+
- Auto-selects first available port in range 8765-8785
|
|
48
|
+
- Enables web dashboard on port 8766
|
|
49
|
+
- Gracefully reclaims ports from debug scripts (not daemons)
|
|
50
|
+
|
|
51
|
+
### Stop Monitoring Server
|
|
52
|
+
Stop a running monitoring server instance.
|
|
53
|
+
|
|
54
|
+
```
|
|
55
|
+
/mpm-monitor stop [--port PORT] [--force]
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
**Options:**
|
|
59
|
+
- `--port PORT`: Port of server to stop (stops all instances if not specified)
|
|
60
|
+
- `--force`: Force stop even if clients are connected
|
|
61
|
+
|
|
62
|
+
**Examples:**
|
|
63
|
+
```
|
|
64
|
+
/mpm-monitor stop
|
|
65
|
+
/mpm-monitor stop --port 8765
|
|
66
|
+
/mpm-monitor stop --force
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
**Behavior:**
|
|
70
|
+
- Without `--port`: Stops all running monitoring server instances
|
|
71
|
+
- With `--port`: Stops only the server on specified port
|
|
72
|
+
- Without `--force`: Gracefully disconnects clients before stopping
|
|
73
|
+
- With `--force`: Immediately stops server regardless of client connections
|
|
74
|
+
|
|
75
|
+
### Restart Monitoring Server
|
|
76
|
+
Restart the monitoring server (stop and start in one operation).
|
|
77
|
+
|
|
78
|
+
```
|
|
79
|
+
/mpm-monitor restart [--port PORT] [--host HOST]
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
**Options:**
|
|
83
|
+
- `--port PORT`: Port to restart on (uses previous port if not specified)
|
|
84
|
+
- `--host HOST`: Host to bind to (default: localhost)
|
|
85
|
+
|
|
86
|
+
**Examples:**
|
|
87
|
+
```
|
|
88
|
+
/mpm-monitor restart
|
|
89
|
+
/mpm-monitor restart --port 8770
|
|
90
|
+
/mpm-monitor restart --port 8765 --host 0.0.0.0
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
**Behavior:**
|
|
94
|
+
- Stops existing server instance
|
|
95
|
+
- Starts new instance with same or updated configuration
|
|
96
|
+
- Preserves client connections where possible
|
|
97
|
+
|
|
98
|
+
### Check Server Status
|
|
99
|
+
Display status information about running monitoring servers.
|
|
100
|
+
|
|
101
|
+
```
|
|
102
|
+
/mpm-monitor status [--verbose] [--show-ports]
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
**Options:**
|
|
106
|
+
- `--verbose`: Show detailed status information (process IDs, uptime, connections)
|
|
107
|
+
- `--show-ports`: Show status of all ports in the range (8765-8785)
|
|
108
|
+
|
|
109
|
+
**Examples:**
|
|
110
|
+
```
|
|
111
|
+
/mpm-monitor status
|
|
112
|
+
/mpm-monitor status --verbose
|
|
113
|
+
/mpm-monitor status --show-ports
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
**Status Information:**
|
|
117
|
+
- Running server instances and their ports
|
|
118
|
+
- Process IDs and uptime
|
|
119
|
+
- Number of connected clients
|
|
120
|
+
- Dashboard URLs
|
|
121
|
+
- Port availability status (with --show-ports)
|
|
122
|
+
|
|
123
|
+
### Start on Specific Port
|
|
124
|
+
Start or restart monitoring server on a specific port (convenience command).
|
|
125
|
+
|
|
126
|
+
```
|
|
127
|
+
/mpm-monitor port <PORT> [--host HOST] [--force] [--no-reclaim]
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
**Arguments:**
|
|
131
|
+
- `PORT`: Port number to use (required)
|
|
132
|
+
|
|
133
|
+
**Options:**
|
|
134
|
+
- `--host HOST`: Host to bind to (default: localhost)
|
|
135
|
+
- `--force`: Force kill daemon processes to reclaim port (use with caution)
|
|
136
|
+
- `--no-reclaim`: Don't automatically reclaim port from debug scripts
|
|
137
|
+
|
|
138
|
+
**Examples:**
|
|
139
|
+
```
|
|
140
|
+
/mpm-monitor port 8765
|
|
141
|
+
/mpm-monitor port 8770 --host 0.0.0.0
|
|
142
|
+
/mpm-monitor port 8765 --force
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
**Behavior:**
|
|
146
|
+
- If server already running on port: restarts it
|
|
147
|
+
- If port is in use by another process: fails (unless --force)
|
|
148
|
+
- Auto-reclaims ports from debug scripts (unless --no-reclaim)
|
|
149
|
+
|
|
150
|
+
## Implementation
|
|
151
|
+
|
|
152
|
+
This command executes:
|
|
153
|
+
```bash
|
|
154
|
+
claude-mpm monitor [subcommand] [options]
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
The slash command passes through to the actual CLI monitoring system, which manages Socket.IO server processes.
|
|
158
|
+
|
|
159
|
+
## Monitoring Features
|
|
160
|
+
|
|
161
|
+
### Real-Time Event Tracking
|
|
162
|
+
The monitoring server captures and displays:
|
|
163
|
+
- **Agent Events**: Task delegation, completion, errors
|
|
164
|
+
- **Tool Usage**: File operations, bash commands, API calls
|
|
165
|
+
- **System Events**: Server startup/shutdown, configuration changes
|
|
166
|
+
- **Project Events**: File changes, git operations, test results
|
|
167
|
+
- **Memory Operations**: Knowledge persistence, context updates
|
|
168
|
+
- **WebSocket Events**: Client connections, disconnections, errors
|
|
169
|
+
|
|
170
|
+
### Web Dashboard
|
|
171
|
+
The dashboard interface provides:
|
|
172
|
+
- **Live Event Stream**: Real-time event feed with filtering
|
|
173
|
+
- **Project Overview**: Active agents, current tasks, system status
|
|
174
|
+
- **Performance Metrics**: Event rates, processing times, error counts
|
|
175
|
+
- **Event History**: Searchable log of past events
|
|
176
|
+
- **Connection Status**: Client connections, server health
|
|
177
|
+
- **Visualization**: Event timelines, agent activity graphs
|
|
178
|
+
|
|
179
|
+
### Port Management
|
|
180
|
+
The monitoring server implements smart port selection:
|
|
181
|
+
- **Auto-Selection**: Finds first available port in range 8765-8785
|
|
182
|
+
- **Port Reclamation**: Gracefully reclaims ports from debug scripts
|
|
183
|
+
- **Conflict Resolution**: Detects and handles port conflicts
|
|
184
|
+
- **Multi-Instance**: Supports multiple servers on different ports
|
|
185
|
+
|
|
186
|
+
## Expected Output
|
|
187
|
+
|
|
188
|
+
### Start Command Output
|
|
189
|
+
```
|
|
190
|
+
Starting Socket.IO monitoring server...
|
|
191
|
+
|
|
192
|
+
✓ Server started successfully
|
|
193
|
+
- Server URL: http://localhost:8765
|
|
194
|
+
- Dashboard URL: http://localhost:8766
|
|
195
|
+
- Process ID: 12345
|
|
196
|
+
- Mode: background
|
|
197
|
+
|
|
198
|
+
Monitoring server is ready for connections.
|
|
199
|
+
Open http://localhost:8766 in your browser to view the dashboard.
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
### Stop Command Output
|
|
203
|
+
```
|
|
204
|
+
Stopping monitoring server...
|
|
205
|
+
|
|
206
|
+
✓ Server on port 8765 stopped successfully
|
|
207
|
+
- Disconnected 3 clients gracefully
|
|
208
|
+
- Process 12345 terminated
|
|
209
|
+
|
|
210
|
+
Monitoring server stopped.
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
### Status Command Output
|
|
214
|
+
```
|
|
215
|
+
Monitoring Server Status
|
|
216
|
+
========================
|
|
217
|
+
|
|
218
|
+
Active Servers: 1
|
|
219
|
+
|
|
220
|
+
Server 1:
|
|
221
|
+
- Port: 8765
|
|
222
|
+
- Dashboard: http://localhost:8766
|
|
223
|
+
- Process ID: 12345
|
|
224
|
+
- Uptime: 2h 15m 30s
|
|
225
|
+
- Connected Clients: 3
|
|
226
|
+
- Status: Running
|
|
227
|
+
|
|
228
|
+
Dashboard accessible at: http://localhost:8766
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
### Status with --verbose Output
|
|
232
|
+
```
|
|
233
|
+
Monitoring Server Status (Detailed)
|
|
234
|
+
====================================
|
|
235
|
+
|
|
236
|
+
Active Servers: 1
|
|
237
|
+
|
|
238
|
+
Server 1:
|
|
239
|
+
- Port: 8765
|
|
240
|
+
- Host: localhost
|
|
241
|
+
- Dashboard: http://localhost:8766
|
|
242
|
+
- Dashboard Port: 8766
|
|
243
|
+
- Process ID: 12345
|
|
244
|
+
- Started: 2025-01-08 14:30:15
|
|
245
|
+
- Uptime: 2h 15m 30s
|
|
246
|
+
- Connected Clients: 3
|
|
247
|
+
- Events Processed: 1,247
|
|
248
|
+
- Average Event Rate: 0.17/sec
|
|
249
|
+
- Status: Running (Healthy)
|
|
250
|
+
|
|
251
|
+
Client Connections:
|
|
252
|
+
1. Browser (127.0.0.1:54321) - Connected 2h 10m ago
|
|
253
|
+
2. CLI Monitor (127.0.0.1:54322) - Connected 1h 45m ago
|
|
254
|
+
3. External Tool (127.0.0.1:54323) - Connected 30m ago
|
|
255
|
+
|
|
256
|
+
Dashboard accessible at: http://localhost:8766
|
|
257
|
+
```
|
|
258
|
+
|
|
259
|
+
### Status with --show-ports Output
|
|
260
|
+
```
|
|
261
|
+
Monitoring Server Status
|
|
262
|
+
========================
|
|
263
|
+
|
|
264
|
+
Active Servers: 1
|
|
265
|
+
Available Ports: 19
|
|
266
|
+
|
|
267
|
+
Port Status (8765-8785):
|
|
268
|
+
8765: ✓ RUNNING (PID 12345, 3 clients)
|
|
269
|
+
8766: • IN USE (Dashboard for 8765)
|
|
270
|
+
8767: ○ AVAILABLE
|
|
271
|
+
8768: ○ AVAILABLE
|
|
272
|
+
8769: ○ AVAILABLE
|
|
273
|
+
8770: ○ AVAILABLE
|
|
274
|
+
... (additional ports)
|
|
275
|
+
8785: ○ AVAILABLE
|
|
276
|
+
|
|
277
|
+
Legend:
|
|
278
|
+
✓ RUNNING - Monitor server active
|
|
279
|
+
• IN USE - Used by another process
|
|
280
|
+
○ AVAILABLE - Ready for use
|
|
281
|
+
|
|
282
|
+
Dashboard accessible at: http://localhost:8766
|
|
283
|
+
```
|
|
284
|
+
|
|
285
|
+
### Error Output Examples
|
|
286
|
+
```
|
|
287
|
+
Error: Port 8765 is already in use by another process
|
|
288
|
+
Suggestion: Use --port to specify a different port or --force to reclaim
|
|
289
|
+
|
|
290
|
+
Error: Failed to start monitoring server
|
|
291
|
+
Reason: Permission denied on port 8765
|
|
292
|
+
Suggestion: Try a port > 1024 or run with appropriate permissions
|
|
293
|
+
|
|
294
|
+
Error: Server on port 8765 is not running
|
|
295
|
+
Suggestion: Use '/mpm-monitor start' to start the server
|
|
296
|
+
```
|
|
297
|
+
|
|
298
|
+
## Use Cases
|
|
299
|
+
|
|
300
|
+
### Development Workflow
|
|
301
|
+
1. **Start monitoring** before beginning development session
|
|
302
|
+
2. **View dashboard** to track agent activity and events in real-time
|
|
303
|
+
3. **Monitor errors** to catch issues as they occur
|
|
304
|
+
4. **Stop monitoring** when done or to free resources
|
|
305
|
+
|
|
306
|
+
### Debugging
|
|
307
|
+
1. **Start with --verbose** to see detailed process information
|
|
308
|
+
2. **Check status** to verify server is running and clients are connected
|
|
309
|
+
3. **Review dashboard** to examine event history and error patterns
|
|
310
|
+
4. **Restart** if server becomes unresponsive
|
|
311
|
+
|
|
312
|
+
### Multiple Projects
|
|
313
|
+
1. **Use --port** to run separate monitors for different projects
|
|
314
|
+
2. **Check --show-ports** to see which ports are available
|
|
315
|
+
3. **Manage multiple instances** independently
|
|
316
|
+
|
|
317
|
+
### Production Monitoring
|
|
318
|
+
1. **Start with --background** to run as daemon (default)
|
|
319
|
+
2. **Configure --host 0.0.0.0** to allow remote access
|
|
320
|
+
3. **Check status regularly** to ensure server health
|
|
321
|
+
4. **Use --force carefully** only when necessary to reclaim ports
|
|
322
|
+
|
|
323
|
+
## Troubleshooting
|
|
324
|
+
|
|
325
|
+
### Port Already in Use
|
|
326
|
+
```bash
|
|
327
|
+
# Check what's using the port
|
|
328
|
+
/mpm-monitor status --show-ports
|
|
329
|
+
|
|
330
|
+
# Start on a different port
|
|
331
|
+
/mpm-monitor start --port 8770
|
|
332
|
+
|
|
333
|
+
# Or force reclaim (use cautiously)
|
|
334
|
+
/mpm-monitor start --port 8765 --force
|
|
335
|
+
```
|
|
336
|
+
|
|
337
|
+
### Server Won't Start
|
|
338
|
+
```bash
|
|
339
|
+
# Check detailed status
|
|
340
|
+
/mpm-monitor status --verbose
|
|
341
|
+
|
|
342
|
+
# Try manual restart
|
|
343
|
+
/mpm-monitor stop --force
|
|
344
|
+
/mpm-monitor start
|
|
345
|
+
```
|
|
346
|
+
|
|
347
|
+
### Dashboard Not Accessible
|
|
348
|
+
```bash
|
|
349
|
+
# Verify server is running
|
|
350
|
+
/mpm-monitor status
|
|
351
|
+
|
|
352
|
+
# Check dashboard port
|
|
353
|
+
/mpm-monitor status --verbose
|
|
354
|
+
|
|
355
|
+
# Restart with specific dashboard port
|
|
356
|
+
/mpm-monitor restart --dashboard-port 8766
|
|
357
|
+
```
|
|
358
|
+
|
|
359
|
+
### Multiple Servers Running
|
|
360
|
+
```bash
|
|
361
|
+
# Check all running servers
|
|
362
|
+
/mpm-monitor status --show-ports
|
|
363
|
+
|
|
364
|
+
# Stop all servers
|
|
365
|
+
/mpm-monitor stop
|
|
366
|
+
|
|
367
|
+
# Start single server
|
|
368
|
+
/mpm-monitor start
|
|
369
|
+
```
|
|
370
|
+
|
|
371
|
+
## Related Commands
|
|
372
|
+
|
|
373
|
+
- `/mpm-status`: Show overall system status including monitoring server
|
|
374
|
+
- `/mpm-doctor`: Diagnose monitoring and server issues
|
|
375
|
+
- `/mpm-config`: Configure monitoring server settings
|
|
376
|
+
- `/mpm-init`: Initialize project with monitoring configuration
|
|
377
|
+
|
|
378
|
+
## Notes
|
|
379
|
+
|
|
380
|
+
- **Default Mode**: Server runs in background/daemon mode by default
|
|
381
|
+
- **Port Range**: Auto-selects from 8765-8785 if not specified
|
|
382
|
+
- **Dashboard**: Web interface is enabled by default on port 8766
|
|
383
|
+
- **Graceful Shutdown**: Server attempts to disconnect clients gracefully on stop
|
|
384
|
+
- **Force Reclaim**: The `--force` option should be used with caution as it kills processes
|
|
385
|
+
- **Debug Scripts**: Ports are automatically reclaimed from debug scripts (not daemons) unless `--no-reclaim` is specified
|
|
386
|
+
- **Multiple Instances**: You can run multiple monitoring servers on different ports for different projects
|
|
387
|
+
- **Security**: By default, server only binds to localhost. Use `--host 0.0.0.0` for remote access (consider security implications)
|
|
388
|
+
|
|
389
|
+
## Technical Details
|
|
390
|
+
|
|
391
|
+
### Socket.IO Server
|
|
392
|
+
- **Protocol**: Socket.IO 4.x with WebSocket transport
|
|
393
|
+
- **Port Range**: 8765-8785 (auto-selection)
|
|
394
|
+
- **Dashboard**: Static web application served on separate port
|
|
395
|
+
- **Events**: Real-time bidirectional event streaming
|
|
396
|
+
- **Clients**: Supports multiple simultaneous client connections
|
|
397
|
+
|
|
398
|
+
### Process Management
|
|
399
|
+
- **Daemon Mode**: Background process with PID tracking
|
|
400
|
+
- **Foreground Mode**: Blocking process (useful for debugging)
|
|
401
|
+
- **Health Checks**: Automatic health monitoring
|
|
402
|
+
- **Graceful Shutdown**: Clean client disconnection on stop
|
|
403
|
+
|
|
404
|
+
### Port Allocation Strategy
|
|
405
|
+
1. Check if requested port is available
|
|
406
|
+
2. If not specified, scan range 8765-8785
|
|
407
|
+
3. Detect port conflicts with existing processes
|
|
408
|
+
4. Optionally reclaim ports from debug scripts (not daemons)
|
|
409
|
+
5. Fail gracefully if no ports available
|
|
@@ -0,0 +1,295 @@
|
|
|
1
|
+
# /mpm-organize
|
|
2
|
+
|
|
3
|
+
Organize your project files into proper directories using intelligent pattern detection and framework-aware structure management.
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
/mpm-organize # Interactive mode with preview
|
|
9
|
+
/mpm-organize --dry-run # Preview changes without applying
|
|
10
|
+
/mpm-organize --force # Proceed even with uncommitted changes
|
|
11
|
+
/mpm-organize --no-backup # Skip backup creation (not recommended)
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
## Description
|
|
15
|
+
|
|
16
|
+
This slash command delegates to the **Project Organizer agent** to perform thorough project housekeeping. The agent analyzes your project structure, detects existing patterns and framework conventions, then organizes files into proper directories following best practices.
|
|
17
|
+
|
|
18
|
+
**Smart Organization**: The agent follows the official [Project Organization Standard](../../../docs/reference/PROJECT_ORGANIZATION.md), which defines comprehensive organization rules for Claude MPM projects. It also checks CLAUDE.md for project-specific guidelines and respects framework-specific conventions.
|
|
19
|
+
|
|
20
|
+
**Standard Documentation**: After organizing, this command ensures the organization standard is documented and accessible at `docs/reference/PROJECT_ORGANIZATION.md` with proper linking from CLAUDE.md.
|
|
21
|
+
|
|
22
|
+
## Features
|
|
23
|
+
|
|
24
|
+
- **📁 Intelligent Pattern Detection**: Analyzes existing directory structure and naming conventions
|
|
25
|
+
- **🎯 Framework-Aware**: Respects Next.js, React, Django, Rails, and other framework patterns
|
|
26
|
+
- **🔍 CLAUDE.md Integration**: Follows project-specific guidelines when available
|
|
27
|
+
- **✅ Safe Operations**: Uses `git mv` for tracked files to preserve history
|
|
28
|
+
- **💾 Automatic Backups**: Creates backups before major reorganizations
|
|
29
|
+
- **🔄 Import Path Updates**: Updates import statements after file moves
|
|
30
|
+
- **📊 Organization Report**: Detailed summary of changes and recommendations
|
|
31
|
+
|
|
32
|
+
## Options
|
|
33
|
+
|
|
34
|
+
### Safety Options
|
|
35
|
+
- `--dry-run`: Preview all changes without making them (recommended first run)
|
|
36
|
+
- `--no-backup`: Skip backup creation before reorganization (not recommended)
|
|
37
|
+
- `--force`: Proceed even with uncommitted changes (use with caution)
|
|
38
|
+
|
|
39
|
+
### Organization Options
|
|
40
|
+
- `--docs-only`: Only organize documentation files
|
|
41
|
+
- `--tests-only`: Only organize test files
|
|
42
|
+
- `--scripts-only`: Only organize script files
|
|
43
|
+
- `--skip-imports`: Don't update import paths after moves
|
|
44
|
+
|
|
45
|
+
### Output Options
|
|
46
|
+
- `--verbose`: Show detailed analysis and reasoning
|
|
47
|
+
- `--quiet`: Minimal output, errors only
|
|
48
|
+
- `--report [path]`: Save organization report to file
|
|
49
|
+
|
|
50
|
+
## What This Command Does
|
|
51
|
+
|
|
52
|
+
### 1. Organization Standard Verification
|
|
53
|
+
- Ensures `docs/reference/PROJECT_ORGANIZATION.md` exists and is current
|
|
54
|
+
- Creates or updates the standard if needed
|
|
55
|
+
- Links the standard from CLAUDE.md for easy reference
|
|
56
|
+
|
|
57
|
+
### 2. CLAUDE.md Analysis
|
|
58
|
+
- Checks for existing organization guidelines
|
|
59
|
+
- Extracts project-specific rules and conventions
|
|
60
|
+
- Identifies priority areas for organization
|
|
61
|
+
|
|
62
|
+
### 3. Project Structure Detection
|
|
63
|
+
- Scans directory hierarchy and patterns
|
|
64
|
+
- Identifies naming conventions (camelCase, kebab-case, snake_case)
|
|
65
|
+
- Maps current file type locations
|
|
66
|
+
- Detects framework-specific conventions (Next.js, Django, Rails, etc.)
|
|
67
|
+
- Determines organization type (feature/type/domain-based)
|
|
68
|
+
|
|
69
|
+
### 4. File Organization Strategy
|
|
70
|
+
|
|
71
|
+
The agent organizes files into standard directories per [PROJECT_ORGANIZATION.md](../../../docs/reference/PROJECT_ORGANIZATION.md):
|
|
72
|
+
|
|
73
|
+
```
|
|
74
|
+
docs/ # All documentation files (*.md, guides, architecture)
|
|
75
|
+
tests/ # All test files and test utilities
|
|
76
|
+
tmp/ # Temporary and ephemeral files
|
|
77
|
+
scripts/ # Ad-hoc scripts and utilities
|
|
78
|
+
src/ # Source code following framework conventions
|
|
79
|
+
.claude/ # Claude MPM configuration and agents
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
### 5. Framework-Specific Handling
|
|
83
|
+
|
|
84
|
+
**Next.js Projects**:
|
|
85
|
+
- Respects `pages/`, `app/`, `public/`, API routes
|
|
86
|
+
- Organizes components by feature or domain
|
|
87
|
+
- Maintains Next.js conventions
|
|
88
|
+
|
|
89
|
+
**Django Projects**:
|
|
90
|
+
- Maintains app structure
|
|
91
|
+
- Organizes migrations, templates, static files
|
|
92
|
+
- Preserves Django conventions
|
|
93
|
+
|
|
94
|
+
**React Projects**:
|
|
95
|
+
- Organizes components, hooks, utils
|
|
96
|
+
- Maintains component hierarchy
|
|
97
|
+
- Groups related files
|
|
98
|
+
|
|
99
|
+
**Other Frameworks**:
|
|
100
|
+
- Detects and respects framework conventions
|
|
101
|
+
- Applies appropriate organizational patterns
|
|
102
|
+
|
|
103
|
+
### 6. Safe File Movement
|
|
104
|
+
|
|
105
|
+
For each file to be moved:
|
|
106
|
+
1. Analyzes file purpose and dependencies
|
|
107
|
+
2. Determines optimal location based on patterns
|
|
108
|
+
3. Uses `git mv` for version-controlled files
|
|
109
|
+
4. Updates import paths in affected files
|
|
110
|
+
5. Validates build still works
|
|
111
|
+
|
|
112
|
+
### 7. Backup Creation
|
|
113
|
+
|
|
114
|
+
Before major reorganization:
|
|
115
|
+
```bash
|
|
116
|
+
backup_YYYYMMDD_HHMMSS.tar.gz # Complete project backup
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
### 8. Import Path Updates
|
|
120
|
+
|
|
121
|
+
Automatically updates:
|
|
122
|
+
- Python imports (`from old.path import X` → `from new.path import X`)
|
|
123
|
+
- JavaScript/TypeScript imports (`import X from './old/path'` → `import X from './new/path'`)
|
|
124
|
+
- Relative path references
|
|
125
|
+
- Configuration file paths
|
|
126
|
+
|
|
127
|
+
### 9. Organization Report
|
|
128
|
+
|
|
129
|
+
Generates detailed report including:
|
|
130
|
+
- Files moved and their new locations
|
|
131
|
+
- Pattern analysis and detected conventions
|
|
132
|
+
- Import paths updated
|
|
133
|
+
- Recommendations for further improvements
|
|
134
|
+
- Violations of best practices (if any)
|
|
135
|
+
|
|
136
|
+
## Examples
|
|
137
|
+
|
|
138
|
+
### Preview Organization (Recommended First Run)
|
|
139
|
+
```bash
|
|
140
|
+
/mpm-organize --dry-run
|
|
141
|
+
```
|
|
142
|
+
Shows what would be changed without making any modifications.
|
|
143
|
+
|
|
144
|
+
### Full Organization with Backup
|
|
145
|
+
```bash
|
|
146
|
+
/mpm-organize
|
|
147
|
+
```
|
|
148
|
+
Interactive mode with automatic backup before changes.
|
|
149
|
+
|
|
150
|
+
### Force Organization (With Uncommitted Changes)
|
|
151
|
+
```bash
|
|
152
|
+
/mpm-organize --force --verbose
|
|
153
|
+
```
|
|
154
|
+
Organizes project even with uncommitted changes, shows detailed output.
|
|
155
|
+
|
|
156
|
+
### Organize Documentation Only
|
|
157
|
+
```bash
|
|
158
|
+
/mpm-organize --docs-only --dry-run
|
|
159
|
+
```
|
|
160
|
+
Preview how documentation files would be organized.
|
|
161
|
+
|
|
162
|
+
### Quick Organization Without Backup
|
|
163
|
+
```bash
|
|
164
|
+
/mpm-organize --no-backup
|
|
165
|
+
```
|
|
166
|
+
Skip backup creation for small changes (use with caution).
|
|
167
|
+
|
|
168
|
+
### Save Organization Report
|
|
169
|
+
```bash
|
|
170
|
+
/mpm-organize --report /tmp/organize-report.md
|
|
171
|
+
```
|
|
172
|
+
Save detailed report to file for review.
|
|
173
|
+
|
|
174
|
+
## Implementation
|
|
175
|
+
|
|
176
|
+
This slash command delegates to the **Project Organizer agent** (`project-organizer`), which performs intelligent file organization based on detected patterns and framework conventions.
|
|
177
|
+
|
|
178
|
+
The agent receives the command options as context and then:
|
|
179
|
+
1. Analyzes CLAUDE.md for organization guidelines
|
|
180
|
+
2. Detects project framework and patterns
|
|
181
|
+
3. Identifies misplaced files
|
|
182
|
+
4. Creates safe reorganization plan
|
|
183
|
+
5. Executes file moves with git integration
|
|
184
|
+
6. Updates import paths across codebase
|
|
185
|
+
7. Validates build integrity
|
|
186
|
+
8. Generates organization report
|
|
187
|
+
|
|
188
|
+
When you invoke `/mpm-organize [options]`, Claude MPM:
|
|
189
|
+
- Passes the options to the Project Organizer agent as task context
|
|
190
|
+
- The agent executes the organization workflow
|
|
191
|
+
- Results are returned to you through the agent's structured output
|
|
192
|
+
|
|
193
|
+
## Expected Output
|
|
194
|
+
|
|
195
|
+
### Dry Run Mode
|
|
196
|
+
```
|
|
197
|
+
🔍 Analyzing project structure...
|
|
198
|
+
✓ Detected framework: Next.js
|
|
199
|
+
✓ Organization pattern: Feature-based
|
|
200
|
+
✓ Found CLAUDE.md guidelines
|
|
201
|
+
|
|
202
|
+
📁 Proposed Changes:
|
|
203
|
+
|
|
204
|
+
docs/
|
|
205
|
+
← README_OLD.md (from root)
|
|
206
|
+
← architecture-notes.txt (from root)
|
|
207
|
+
|
|
208
|
+
tests/
|
|
209
|
+
← test_helper.py (from src/)
|
|
210
|
+
← api.test.js (from src/api/)
|
|
211
|
+
|
|
212
|
+
tmp/
|
|
213
|
+
← debug_output.log (from root)
|
|
214
|
+
← scratch.py (from root)
|
|
215
|
+
|
|
216
|
+
scripts/
|
|
217
|
+
← migrate.sh (from root)
|
|
218
|
+
← deploy_helper.py (from root)
|
|
219
|
+
|
|
220
|
+
📊 Summary:
|
|
221
|
+
- 8 files to move
|
|
222
|
+
- 12 import paths to update
|
|
223
|
+
- 0 conflicts detected
|
|
224
|
+
|
|
225
|
+
Run without --dry-run to apply changes.
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
### Actual Organization
|
|
229
|
+
```
|
|
230
|
+
🔍 Analyzing project structure...
|
|
231
|
+
✓ Detected framework: Next.js
|
|
232
|
+
✓ Organization pattern: Feature-based
|
|
233
|
+
✓ Created backup: backup_20250102_143022.tar.gz
|
|
234
|
+
|
|
235
|
+
📁 Organizing files...
|
|
236
|
+
✓ Moved README_OLD.md → docs/
|
|
237
|
+
✓ Moved architecture-notes.txt → docs/
|
|
238
|
+
✓ Updated 5 import statements
|
|
239
|
+
|
|
240
|
+
✅ Organization complete!
|
|
241
|
+
|
|
242
|
+
📊 Report saved to: /tmp/organization-report.md
|
|
243
|
+
```
|
|
244
|
+
|
|
245
|
+
## Safety Guarantees
|
|
246
|
+
|
|
247
|
+
- **Backup Created**: Full project backup before changes (unless --no-backup)
|
|
248
|
+
- **Git Integration**: Uses `git mv` to preserve file history
|
|
249
|
+
- **Dry Run Available**: Preview all changes before applying
|
|
250
|
+
- **Import Updates**: Automatically fixes broken imports
|
|
251
|
+
- **Build Validation**: Verifies build still works after changes
|
|
252
|
+
- **Rollback Support**: Backup enables full rollback if needed
|
|
253
|
+
|
|
254
|
+
## When to Use This Command
|
|
255
|
+
|
|
256
|
+
Use `/mpm-organize` when:
|
|
257
|
+
- Starting a new project and establishing structure
|
|
258
|
+
- Project has accumulated misplaced files
|
|
259
|
+
- After major feature additions
|
|
260
|
+
- Before major refactoring
|
|
261
|
+
- When onboarding new team members
|
|
262
|
+
- To enforce organization standards
|
|
263
|
+
|
|
264
|
+
## Best Practices
|
|
265
|
+
|
|
266
|
+
1. **Always Start with Dry Run**: Use `--dry-run` first to preview changes
|
|
267
|
+
2. **Commit First**: Commit your work before organizing (or use --force)
|
|
268
|
+
3. **Review CLAUDE.md**: Ensure guidelines are current before organizing
|
|
269
|
+
4. **Test After**: Run tests after organization to verify nothing broke
|
|
270
|
+
5. **Update Documentation**: Document any new organizational patterns
|
|
271
|
+
|
|
272
|
+
## Notes
|
|
273
|
+
|
|
274
|
+
- This slash command delegates to the **Project Organizer agent** (`project-organizer`)
|
|
275
|
+
- The agent performs intelligent file placement based on learned patterns
|
|
276
|
+
- Respects framework-specific conventions automatically
|
|
277
|
+
- Integrates with git to preserve file history
|
|
278
|
+
- Updates import paths to prevent build breakage
|
|
279
|
+
- Creates comprehensive reports for audit trails
|
|
280
|
+
- Can be run repeatedly safely (idempotent)
|
|
281
|
+
- Follows guidelines in CLAUDE.md when available
|
|
282
|
+
- Falls back to framework conventions and best practices
|
|
283
|
+
|
|
284
|
+
## Related Documentation
|
|
285
|
+
|
|
286
|
+
- **[Project Organization Standard](../../../docs/reference/PROJECT_ORGANIZATION.md)**: Comprehensive organization rules and guidelines
|
|
287
|
+
- **[Project Structure](../../../docs/developer/STRUCTURE.md)**: Authoritative file organization reference
|
|
288
|
+
- **[CLAUDE.md](../../../CLAUDE.md)**: Development guidelines with organization quick reference
|
|
289
|
+
|
|
290
|
+
## Related Commands
|
|
291
|
+
|
|
292
|
+
- `/mpm-init`: Initialize or update project documentation and structure
|
|
293
|
+
- `/mpm-doctor`: Diagnose project health and issues
|
|
294
|
+
- `/mpm-status`: Check current project state
|
|
295
|
+
- `/mpm-config`: Configure organization rules and preferences
|