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
|
@@ -1,594 +0,0 @@
|
|
|
1
|
-
"""
|
|
2
|
-
MPM-Init Command - Initialize projects for optimal Claude Code and Claude MPM success.
|
|
3
|
-
|
|
4
|
-
This command delegates to the Agentic Coder Optimizer agent to establish clear,
|
|
5
|
-
single-path project standards for documentation, tooling, and workflows.
|
|
6
|
-
|
|
7
|
-
Enhanced with AST inspection capabilities for generating comprehensive developer
|
|
8
|
-
documentation with code structure analysis.
|
|
9
|
-
"""
|
|
10
|
-
|
|
11
|
-
import logging
|
|
12
|
-
import subprocess
|
|
13
|
-
import sys
|
|
14
|
-
from pathlib import Path
|
|
15
|
-
from typing import Dict, List, Optional
|
|
16
|
-
|
|
17
|
-
import click
|
|
18
|
-
from rich.console import Console
|
|
19
|
-
from rich.panel import Panel
|
|
20
|
-
from rich.progress import Progress, SpinnerColumn, TextColumn
|
|
21
|
-
|
|
22
|
-
logger = logging.getLogger(__name__)
|
|
23
|
-
console = Console()
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
class MPMInitCommand:
|
|
27
|
-
"""Initialize projects for optimal Claude Code and Claude MPM usage."""
|
|
28
|
-
|
|
29
|
-
def __init__(self, project_path: Path = None):
|
|
30
|
-
"""Initialize the MPM-Init command."""
|
|
31
|
-
self.project_path = project_path or Path.cwd()
|
|
32
|
-
self.claude_mpm_script = self._find_claude_mpm_script()
|
|
33
|
-
|
|
34
|
-
def initialize_project(
|
|
35
|
-
self,
|
|
36
|
-
project_type: Optional[str] = None,
|
|
37
|
-
framework: Optional[str] = None,
|
|
38
|
-
force: bool = False,
|
|
39
|
-
verbose: bool = False,
|
|
40
|
-
use_venv: bool = False,
|
|
41
|
-
ast_analysis: bool = True,
|
|
42
|
-
) -> Dict:
|
|
43
|
-
"""
|
|
44
|
-
Initialize project with Agentic Coder Optimizer standards.
|
|
45
|
-
|
|
46
|
-
Args:
|
|
47
|
-
project_type: Type of project (web, api, cli, library, etc.)
|
|
48
|
-
framework: Specific framework if applicable
|
|
49
|
-
force: Force initialization even if project already configured
|
|
50
|
-
verbose: Show detailed output
|
|
51
|
-
use_venv: Force use of venv instead of mamba
|
|
52
|
-
ast_analysis: Enable AST analysis for enhanced documentation
|
|
53
|
-
|
|
54
|
-
Returns:
|
|
55
|
-
Dict containing initialization results
|
|
56
|
-
"""
|
|
57
|
-
try:
|
|
58
|
-
# Check if project already initialized
|
|
59
|
-
claude_md = self.project_path / "CLAUDE.md"
|
|
60
|
-
if claude_md.exists() and not force:
|
|
61
|
-
console.print("[yellow]⚠️ Project already has CLAUDE.md file.[/yellow]")
|
|
62
|
-
console.print(
|
|
63
|
-
"[yellow]Use --force to reinitialize the project.[/yellow]"
|
|
64
|
-
)
|
|
65
|
-
return {"status": "cancelled", "message": "Initialization cancelled"}
|
|
66
|
-
|
|
67
|
-
# Build the delegation prompt
|
|
68
|
-
prompt = self._build_initialization_prompt(
|
|
69
|
-
project_type, framework, ast_analysis
|
|
70
|
-
)
|
|
71
|
-
|
|
72
|
-
# Show initialization plan
|
|
73
|
-
console.print(
|
|
74
|
-
Panel(
|
|
75
|
-
"[bold cyan]🤖👥 Claude MPM Project Initialization[/bold cyan]\n\n"
|
|
76
|
-
"This will set up your project with:\n"
|
|
77
|
-
"• Clear CLAUDE.md documentation for AI agents\n"
|
|
78
|
-
"• Single-path workflows (ONE way to do ANYTHING)\n"
|
|
79
|
-
"• Optimized project structure\n"
|
|
80
|
-
"• Tool configurations (linting, formatting, testing)\n"
|
|
81
|
-
"• GitHub workflows and CI/CD setup\n"
|
|
82
|
-
"• Memory system initialization\n"
|
|
83
|
-
+ (
|
|
84
|
-
"• AST analysis for comprehensive code documentation\n"
|
|
85
|
-
if ast_analysis
|
|
86
|
-
else ""
|
|
87
|
-
)
|
|
88
|
-
+ "• Holistic CLAUDE.md organization with ranked instructions\n"
|
|
89
|
-
+ "• Priority-based content structure (🔴🟡🟢⚪)\n"
|
|
90
|
-
+ "\n[dim]Powered by Agentic Coder Optimizer Agent[/dim]",
|
|
91
|
-
title="MPM-Init",
|
|
92
|
-
border_style="cyan",
|
|
93
|
-
)
|
|
94
|
-
)
|
|
95
|
-
|
|
96
|
-
# Execute via claude-mpm run command
|
|
97
|
-
with Progress(
|
|
98
|
-
SpinnerColumn(),
|
|
99
|
-
TextColumn("[progress.description]{task.description}"),
|
|
100
|
-
console=console,
|
|
101
|
-
) as progress:
|
|
102
|
-
task = progress.add_task(
|
|
103
|
-
"[cyan]Delegating to Agentic Coder Optimizer...", total=None
|
|
104
|
-
)
|
|
105
|
-
|
|
106
|
-
# Run the initialization through subprocess
|
|
107
|
-
result = self._run_initialization(prompt, verbose, use_venv)
|
|
108
|
-
|
|
109
|
-
progress.update(task, description="[green]✓ Initialization complete")
|
|
110
|
-
|
|
111
|
-
return result
|
|
112
|
-
|
|
113
|
-
except Exception as e:
|
|
114
|
-
logger.error(f"Failed to initialize project: {e}")
|
|
115
|
-
console.print(f"[red]❌ Error: {e}[/red]")
|
|
116
|
-
return {"status": "error", "message": str(e)}
|
|
117
|
-
|
|
118
|
-
def _find_claude_mpm_script(self) -> Path:
|
|
119
|
-
"""Find the claude-mpm script location."""
|
|
120
|
-
# Try to find claude-mpm in the project scripts directory first
|
|
121
|
-
project_root = Path(__file__).parent.parent.parent.parent.parent
|
|
122
|
-
script_path = project_root / "scripts" / "claude-mpm"
|
|
123
|
-
if script_path.exists():
|
|
124
|
-
return script_path
|
|
125
|
-
# Otherwise assume it's in PATH
|
|
126
|
-
return Path("claude-mpm")
|
|
127
|
-
|
|
128
|
-
def _build_initialization_prompt(
|
|
129
|
-
self,
|
|
130
|
-
project_type: Optional[str] = None,
|
|
131
|
-
framework: Optional[str] = None,
|
|
132
|
-
ast_analysis: bool = True,
|
|
133
|
-
) -> str:
|
|
134
|
-
"""Build the initialization prompt for the agent."""
|
|
135
|
-
base_prompt = f"""Please delegate this task to the Agentic Coder Optimizer agent:
|
|
136
|
-
|
|
137
|
-
Initialize this project for optimal use with Claude Code and Claude MPM.
|
|
138
|
-
|
|
139
|
-
Project Path: {self.project_path}
|
|
140
|
-
"""
|
|
141
|
-
|
|
142
|
-
if project_type:
|
|
143
|
-
base_prompt += f"Project Type: {project_type}\n"
|
|
144
|
-
|
|
145
|
-
if framework:
|
|
146
|
-
base_prompt += f"Framework: {framework}\n"
|
|
147
|
-
|
|
148
|
-
base_prompt += """
|
|
149
|
-
Please perform the following initialization tasks:
|
|
150
|
-
|
|
151
|
-
1. **Analyze Current State**:
|
|
152
|
-
- Scan project structure and existing configurations
|
|
153
|
-
- Identify project type, language, and frameworks
|
|
154
|
-
- Check for existing documentation and tooling
|
|
155
|
-
|
|
156
|
-
2. **Create/Update CLAUDE.md**:
|
|
157
|
-
- Project overview and purpose
|
|
158
|
-
- Architecture and key components
|
|
159
|
-
- Development guidelines
|
|
160
|
-
- ONE clear way to: build, test, deploy, lint, format
|
|
161
|
-
- Links to all relevant documentation
|
|
162
|
-
- Common tasks and workflows
|
|
163
|
-
|
|
164
|
-
3. **Establish Single-Path Standards**:
|
|
165
|
-
- ONE command for each operation (build, test, lint, etc.)
|
|
166
|
-
- Clear documentation of THE way to do things
|
|
167
|
-
- Remove ambiguity in workflows
|
|
168
|
-
|
|
169
|
-
4. **Configure Development Tools**:
|
|
170
|
-
- Set up or verify linting configuration
|
|
171
|
-
- Configure code formatting standards
|
|
172
|
-
- Establish testing framework
|
|
173
|
-
- Add pre-commit hooks if needed
|
|
174
|
-
|
|
175
|
-
5. **Create Project Structure Documentation**:
|
|
176
|
-
- Document folder organization
|
|
177
|
-
- Explain where different file types belong
|
|
178
|
-
- Provide examples of proper file placement
|
|
179
|
-
|
|
180
|
-
6. **Set Up GitHub Integration** (if applicable):
|
|
181
|
-
- Create/update .github/workflows
|
|
182
|
-
- Add issue and PR templates
|
|
183
|
-
- Configure branch protection rules documentation
|
|
184
|
-
|
|
185
|
-
7. **Initialize Memory System**:
|
|
186
|
-
- Create .claude-mpm/memories/ directory
|
|
187
|
-
- Add initial memory files for key project knowledge
|
|
188
|
-
- Document memory usage patterns
|
|
189
|
-
|
|
190
|
-
8. **Generate Quick Start Guide**:
|
|
191
|
-
- Step-by-step setup instructions
|
|
192
|
-
- Common commands reference
|
|
193
|
-
- Troubleshooting guide
|
|
194
|
-
"""
|
|
195
|
-
|
|
196
|
-
if ast_analysis:
|
|
197
|
-
base_prompt += """
|
|
198
|
-
9. **Perform AST Analysis** (using Code Analyzer agent if needed):
|
|
199
|
-
- Parse code files to extract structure (classes, functions, methods)
|
|
200
|
-
- Generate comprehensive API documentation
|
|
201
|
-
- Create code architecture diagrams
|
|
202
|
-
- Document function signatures and dependencies
|
|
203
|
-
- Extract docstrings and inline comments
|
|
204
|
-
- Map code relationships and inheritance hierarchies
|
|
205
|
-
- Generate developer documentation with:
|
|
206
|
-
* Module overview and purpose
|
|
207
|
-
* Class hierarchies and relationships
|
|
208
|
-
* Function/method documentation
|
|
209
|
-
* Type annotations and parameter descriptions
|
|
210
|
-
* Code complexity metrics
|
|
211
|
-
* Dependency graphs
|
|
212
|
-
- Create DEVELOPER.md with technical architecture details
|
|
213
|
-
- Add CODE_STRUCTURE.md with AST-derived insights
|
|
214
|
-
"""
|
|
215
|
-
|
|
216
|
-
base_prompt += """
|
|
217
|
-
|
|
218
|
-
10. **Holistic CLAUDE.md Organization** (CRITICAL - Do this LAST):
|
|
219
|
-
After completing all initialization tasks, take a holistic look at the CLAUDE.md file and:
|
|
220
|
-
|
|
221
|
-
a) **Reorganize Content by Priority**:
|
|
222
|
-
- CRITICAL instructions (security, data handling, core business rules) at the TOP
|
|
223
|
-
- Project overview and purpose
|
|
224
|
-
- Key architectural decisions and constraints
|
|
225
|
-
- Development guidelines and standards
|
|
226
|
-
- Common tasks and workflows
|
|
227
|
-
- Links to additional documentation
|
|
228
|
-
- Nice-to-have or optional information at the BOTTOM
|
|
229
|
-
|
|
230
|
-
b) **Rank Instructions by Importance**:
|
|
231
|
-
- Use clear markers:
|
|
232
|
-
* 🔴 CRITICAL: Security, data handling, breaking changes, core business rules
|
|
233
|
-
* 🟡 IMPORTANT: Key workflows, architecture decisions, performance requirements
|
|
234
|
-
* 🟢 STANDARD: Common operations, coding standards, best practices
|
|
235
|
-
* ⚪ OPTIONAL: Nice-to-have features, experimental code, future considerations
|
|
236
|
-
- Group related instructions together
|
|
237
|
-
- Ensure no contradictory instructions exist
|
|
238
|
-
- Remove redundant or outdated information
|
|
239
|
-
- Add a "Priority Index" at the top listing all CRITICAL and IMPORTANT items
|
|
240
|
-
|
|
241
|
-
c) **Optimize for AI Agent Understanding**:
|
|
242
|
-
- Use consistent formatting and structure
|
|
243
|
-
- Provide clear examples for complex instructions
|
|
244
|
-
- Include "WHY" explanations for critical rules
|
|
245
|
-
- Add quick reference sections for common operations
|
|
246
|
-
- Ensure instructions are actionable and unambiguous
|
|
247
|
-
|
|
248
|
-
d) **Validate Completeness**:
|
|
249
|
-
- Ensure ALL critical project knowledge is captured
|
|
250
|
-
- Verify single-path principle (ONE way to do each task)
|
|
251
|
-
- Check that all referenced documentation exists
|
|
252
|
-
- Confirm all tools and dependencies are documented
|
|
253
|
-
- Test that a new AI agent could understand the project from CLAUDE.md alone
|
|
254
|
-
|
|
255
|
-
e) **Add Meta-Instructions Section**:
|
|
256
|
-
- Include a section about how to maintain CLAUDE.md
|
|
257
|
-
- Document when and how to update instructions
|
|
258
|
-
- Provide guidelines for instruction priority levels
|
|
259
|
-
- Add a changelog or last-updated timestamp
|
|
260
|
-
|
|
261
|
-
f) **Follow This CLAUDE.md Template Structure**:
|
|
262
|
-
```markdown
|
|
263
|
-
# Project Name - CLAUDE.md
|
|
264
|
-
|
|
265
|
-
## 🎯 Priority Index
|
|
266
|
-
### 🔴 CRITICAL Instructions
|
|
267
|
-
- [List all critical items with links to their sections]
|
|
268
|
-
|
|
269
|
-
### 🟡 IMPORTANT Instructions
|
|
270
|
-
- [List all important items with links to their sections]
|
|
271
|
-
|
|
272
|
-
## 📋 Project Overview
|
|
273
|
-
[Brief description and purpose]
|
|
274
|
-
|
|
275
|
-
## 🔴 CRITICAL: Security & Data Handling
|
|
276
|
-
[Critical security rules and data handling requirements]
|
|
277
|
-
|
|
278
|
-
## 🔴 CRITICAL: Core Business Rules
|
|
279
|
-
[Non-negotiable business logic and constraints]
|
|
280
|
-
|
|
281
|
-
## 🟡 IMPORTANT: Architecture & Design
|
|
282
|
-
[Key architectural decisions and patterns]
|
|
283
|
-
|
|
284
|
-
## 🟡 IMPORTANT: Development Workflow
|
|
285
|
-
### ONE Way to Build
|
|
286
|
-
### ONE Way to Test
|
|
287
|
-
### ONE Way to Deploy
|
|
288
|
-
|
|
289
|
-
## 🟢 STANDARD: Coding Guidelines
|
|
290
|
-
[Standard practices and conventions]
|
|
291
|
-
|
|
292
|
-
## 🟢 STANDARD: Common Tasks
|
|
293
|
-
[How to perform routine operations]
|
|
294
|
-
|
|
295
|
-
## 📚 Documentation Links
|
|
296
|
-
[Links to additional resources]
|
|
297
|
-
|
|
298
|
-
## ⚪ OPTIONAL: Future Enhancements
|
|
299
|
-
[Nice-to-have features and ideas]
|
|
300
|
-
|
|
301
|
-
## 📝 Meta: Maintaining This Document
|
|
302
|
-
- Last Updated: [timestamp]
|
|
303
|
-
- Update Frequency: [when to update]
|
|
304
|
-
- Priority Guidelines: [how to assign priorities]
|
|
305
|
-
```
|
|
306
|
-
|
|
307
|
-
Please ensure all documentation is clear, concise, and optimized for AI agents to understand and follow.
|
|
308
|
-
Focus on establishing ONE clear way to do ANYTHING in the project.
|
|
309
|
-
The final CLAUDE.md should be a comprehensive, well-organized guide that any AI agent can follow to work effectively on this project.
|
|
310
|
-
"""
|
|
311
|
-
|
|
312
|
-
return base_prompt
|
|
313
|
-
|
|
314
|
-
def _build_claude_mpm_command(
|
|
315
|
-
self, verbose: bool, use_venv: bool = False
|
|
316
|
-
) -> List[str]:
|
|
317
|
-
"""Build the claude-mpm run command with appropriate arguments."""
|
|
318
|
-
cmd = [str(self.claude_mpm_script)]
|
|
319
|
-
|
|
320
|
-
# Add venv flag if requested or if mamba issues detected
|
|
321
|
-
# This goes BEFORE the subcommand
|
|
322
|
-
if use_venv:
|
|
323
|
-
cmd.append("--use-venv")
|
|
324
|
-
|
|
325
|
-
# Add top-level flags that go before 'run' subcommand
|
|
326
|
-
cmd.append("--no-check-dependencies")
|
|
327
|
-
|
|
328
|
-
# Now add the run subcommand
|
|
329
|
-
cmd.append("run")
|
|
330
|
-
|
|
331
|
-
# Add non-interactive mode
|
|
332
|
-
# We'll pass the prompt via stdin instead of -i flag
|
|
333
|
-
cmd.append("--non-interactive")
|
|
334
|
-
|
|
335
|
-
# Add verbose flag if requested (run subcommand argument)
|
|
336
|
-
if verbose:
|
|
337
|
-
cmd.append("--verbose")
|
|
338
|
-
|
|
339
|
-
return cmd
|
|
340
|
-
|
|
341
|
-
def _run_initialization(
|
|
342
|
-
self, prompt: str, verbose: bool, use_venv: bool = False
|
|
343
|
-
) -> Dict:
|
|
344
|
-
"""Run the initialization through subprocess calling claude-mpm."""
|
|
345
|
-
import tempfile
|
|
346
|
-
|
|
347
|
-
try:
|
|
348
|
-
# Write prompt to temporary file
|
|
349
|
-
with tempfile.NamedTemporaryFile(
|
|
350
|
-
mode="w", suffix=".txt", delete=False
|
|
351
|
-
) as tmp_file:
|
|
352
|
-
tmp_file.write(prompt)
|
|
353
|
-
prompt_file = tmp_file.name
|
|
354
|
-
|
|
355
|
-
try:
|
|
356
|
-
# Build the command
|
|
357
|
-
cmd = self._build_claude_mpm_command(verbose, use_venv)
|
|
358
|
-
# Add the input file flag
|
|
359
|
-
cmd.extend(["-i", prompt_file])
|
|
360
|
-
|
|
361
|
-
# Log the command if verbose
|
|
362
|
-
if verbose:
|
|
363
|
-
console.print(f"[dim]Running: {' '.join(cmd)}[/dim]")
|
|
364
|
-
console.print(f"[dim]Prompt file: {prompt_file}[/dim]")
|
|
365
|
-
|
|
366
|
-
# Execute the command
|
|
367
|
-
result = subprocess.run(
|
|
368
|
-
cmd,
|
|
369
|
-
capture_output=True,
|
|
370
|
-
text=True,
|
|
371
|
-
cwd=str(self.project_path),
|
|
372
|
-
check=False,
|
|
373
|
-
)
|
|
374
|
-
|
|
375
|
-
# Check for environment-specific errors
|
|
376
|
-
if "libmamba" in result.stderr or "tree-sitter" in result.stderr:
|
|
377
|
-
console.print(
|
|
378
|
-
"\n[yellow]⚠️ Environment dependency issue detected.[/yellow]"
|
|
379
|
-
)
|
|
380
|
-
console.print(
|
|
381
|
-
"[yellow]Attempting alternative initialization method...[/yellow]\n"
|
|
382
|
-
)
|
|
383
|
-
|
|
384
|
-
# Try again with venv flag to bypass mamba
|
|
385
|
-
cmd_venv = self._build_claude_mpm_command(verbose, use_venv=True)
|
|
386
|
-
cmd_venv.extend(["-i", prompt_file])
|
|
387
|
-
|
|
388
|
-
if verbose:
|
|
389
|
-
console.print(f"[dim]Retrying with: {' '.join(cmd_venv)}[/dim]")
|
|
390
|
-
|
|
391
|
-
result = subprocess.run(
|
|
392
|
-
cmd_venv,
|
|
393
|
-
capture_output=not verbose,
|
|
394
|
-
text=True,
|
|
395
|
-
cwd=str(self.project_path),
|
|
396
|
-
check=False,
|
|
397
|
-
)
|
|
398
|
-
finally:
|
|
399
|
-
# Clean up temporary file
|
|
400
|
-
import os
|
|
401
|
-
|
|
402
|
-
try:
|
|
403
|
-
os.unlink(prompt_file)
|
|
404
|
-
except:
|
|
405
|
-
pass
|
|
406
|
-
|
|
407
|
-
# Display output if verbose
|
|
408
|
-
if verbose and result.stdout:
|
|
409
|
-
console.print(result.stdout)
|
|
410
|
-
if verbose and result.stderr:
|
|
411
|
-
console.print(f"[yellow]{result.stderr}[/yellow]")
|
|
412
|
-
|
|
413
|
-
# Check result - be more lenient with return codes
|
|
414
|
-
if result.returncode == 0 or (self.project_path / "CLAUDE.md").exists():
|
|
415
|
-
response = {
|
|
416
|
-
"status": "success",
|
|
417
|
-
"message": "Project initialized successfully",
|
|
418
|
-
"files_created": [],
|
|
419
|
-
"files_updated": [],
|
|
420
|
-
"next_steps": [],
|
|
421
|
-
}
|
|
422
|
-
|
|
423
|
-
# Check if CLAUDE.md was created
|
|
424
|
-
claude_md = self.project_path / "CLAUDE.md"
|
|
425
|
-
if claude_md.exists():
|
|
426
|
-
response["files_created"].append("CLAUDE.md")
|
|
427
|
-
|
|
428
|
-
# Check for other common files
|
|
429
|
-
for file_name in ["CODE.md", "DEVELOPER.md", "STRUCTURE.md", "OPS.md"]:
|
|
430
|
-
file_path = self.project_path / file_name
|
|
431
|
-
if file_path.exists():
|
|
432
|
-
response["files_created"].append(file_name)
|
|
433
|
-
|
|
434
|
-
# Add next steps
|
|
435
|
-
response["next_steps"] = [
|
|
436
|
-
"Review the generated CLAUDE.md documentation",
|
|
437
|
-
"Verify the project structure meets your needs",
|
|
438
|
-
"Run 'claude-mpm run' to start using the optimized setup",
|
|
439
|
-
]
|
|
440
|
-
|
|
441
|
-
# Display results
|
|
442
|
-
self._display_results(response, verbose)
|
|
443
|
-
|
|
444
|
-
return response
|
|
445
|
-
# Extract meaningful error message
|
|
446
|
-
error_msg = (
|
|
447
|
-
result.stderr
|
|
448
|
-
if result.stderr
|
|
449
|
-
else result.stdout if result.stdout else "Unknown error occurred"
|
|
450
|
-
)
|
|
451
|
-
# Clean up mamba warnings from error message
|
|
452
|
-
if "libmamba" in error_msg:
|
|
453
|
-
lines = error_msg.split("\n")
|
|
454
|
-
error_lines = [
|
|
455
|
-
l for l in lines if not l.startswith("warning") and l.strip()
|
|
456
|
-
]
|
|
457
|
-
error_msg = "\n".join(error_lines) if error_lines else error_msg
|
|
458
|
-
|
|
459
|
-
logger.error(f"claude-mpm run failed: {error_msg}")
|
|
460
|
-
return {
|
|
461
|
-
"status": "error",
|
|
462
|
-
"message": f"Initialization failed: {error_msg}",
|
|
463
|
-
}
|
|
464
|
-
|
|
465
|
-
except FileNotFoundError:
|
|
466
|
-
logger.error("claude-mpm command not found")
|
|
467
|
-
console.print(
|
|
468
|
-
"[red]Error: claude-mpm command not found. Ensure Claude MPM is properly installed.[/red]"
|
|
469
|
-
)
|
|
470
|
-
return {"status": "error", "message": "claude-mpm not found"}
|
|
471
|
-
except Exception as e:
|
|
472
|
-
logger.error(f"Initialization failed: {e}")
|
|
473
|
-
return {"status": "error", "message": str(e)}
|
|
474
|
-
|
|
475
|
-
def _display_results(self, result: Dict, verbose: bool):
|
|
476
|
-
"""Display initialization results."""
|
|
477
|
-
if result["status"] == "success":
|
|
478
|
-
console.print("\n[green]✅ Project Initialization Complete![/green]\n")
|
|
479
|
-
|
|
480
|
-
if result.get("files_created"):
|
|
481
|
-
console.print("[bold]Files Created:[/bold]")
|
|
482
|
-
for file in result["files_created"]:
|
|
483
|
-
console.print(f" • {file}")
|
|
484
|
-
console.print()
|
|
485
|
-
|
|
486
|
-
if result.get("files_updated"):
|
|
487
|
-
console.print("[bold]Files Updated:[/bold]")
|
|
488
|
-
for file in result["files_updated"]:
|
|
489
|
-
console.print(f" • {file}")
|
|
490
|
-
console.print()
|
|
491
|
-
|
|
492
|
-
if result.get("next_steps"):
|
|
493
|
-
console.print("[bold]Next Steps:[/bold]")
|
|
494
|
-
for step in result["next_steps"]:
|
|
495
|
-
console.print(f" → {step}")
|
|
496
|
-
console.print()
|
|
497
|
-
|
|
498
|
-
console.print(
|
|
499
|
-
Panel(
|
|
500
|
-
"[green]Your project is now optimized for Claude Code and Claude MPM![/green]\n\n"
|
|
501
|
-
"Key files:\n"
|
|
502
|
-
"• [cyan]CLAUDE.md[/cyan] - Main documentation for AI agents\n"
|
|
503
|
-
" - Organized with priority rankings (🔴🟡🟢⚪)\n"
|
|
504
|
-
" - Instructions ranked by importance for AI understanding\n"
|
|
505
|
-
" - Holistic documentation review completed\n"
|
|
506
|
-
"• [cyan].claude-mpm/[/cyan] - Configuration and memories\n"
|
|
507
|
-
"• [cyan]CODE_STRUCTURE.md[/cyan] - AST-derived architecture documentation (if enabled)\n\n"
|
|
508
|
-
"[dim]Run 'claude-mpm run' to start using the optimized setup[/dim]",
|
|
509
|
-
title="Success",
|
|
510
|
-
border_style="green",
|
|
511
|
-
)
|
|
512
|
-
)
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
@click.command(name="mpm-init")
|
|
516
|
-
@click.option(
|
|
517
|
-
"--project-type",
|
|
518
|
-
type=click.Choice(
|
|
519
|
-
["web", "api", "cli", "library", "mobile", "desktop", "fullstack"]
|
|
520
|
-
),
|
|
521
|
-
help="Type of project to initialize",
|
|
522
|
-
)
|
|
523
|
-
@click.option(
|
|
524
|
-
"--framework",
|
|
525
|
-
type=str,
|
|
526
|
-
help="Specific framework (e.g., react, django, fastapi, express)",
|
|
527
|
-
)
|
|
528
|
-
@click.option(
|
|
529
|
-
"--force",
|
|
530
|
-
is_flag=True,
|
|
531
|
-
help="Force reinitialization even if project is already configured",
|
|
532
|
-
)
|
|
533
|
-
@click.option(
|
|
534
|
-
"--verbose", is_flag=True, help="Show detailed output during initialization"
|
|
535
|
-
)
|
|
536
|
-
@click.option(
|
|
537
|
-
"--ast-analysis/--no-ast-analysis",
|
|
538
|
-
default=True,
|
|
539
|
-
help="Enable/disable AST analysis for enhanced documentation (default: enabled)",
|
|
540
|
-
)
|
|
541
|
-
@click.argument(
|
|
542
|
-
"project_path",
|
|
543
|
-
type=click.Path(exists=True, file_okay=False, dir_okay=True),
|
|
544
|
-
required=False,
|
|
545
|
-
default=".",
|
|
546
|
-
)
|
|
547
|
-
def mpm_init(project_type, framework, force, verbose, ast_analysis, project_path):
|
|
548
|
-
"""
|
|
549
|
-
Initialize a project for optimal use with Claude Code and Claude MPM.
|
|
550
|
-
|
|
551
|
-
This command uses the Agentic Coder Optimizer agent to:
|
|
552
|
-
- Create comprehensive CLAUDE.md documentation
|
|
553
|
-
- Establish single-path workflows (ONE way to do ANYTHING)
|
|
554
|
-
- Configure development tools and standards
|
|
555
|
-
- Set up memory systems for project knowledge
|
|
556
|
-
- Optimize for AI agent understanding
|
|
557
|
-
- Perform AST analysis for enhanced developer documentation
|
|
558
|
-
|
|
559
|
-
Examples:
|
|
560
|
-
claude-mpm mpm-init
|
|
561
|
-
claude-mpm mpm-init --project-type web --framework react
|
|
562
|
-
claude-mpm mpm-init /path/to/project --force
|
|
563
|
-
claude-mpm mpm-init --ast-analysis # Enable AST analysis (default)
|
|
564
|
-
claude-mpm mpm-init --no-ast-analysis # Disable AST analysis
|
|
565
|
-
"""
|
|
566
|
-
try:
|
|
567
|
-
# Create command instance
|
|
568
|
-
command = MPMInitCommand(Path(project_path))
|
|
569
|
-
|
|
570
|
-
# Run initialization (now synchronous)
|
|
571
|
-
result = command.initialize_project(
|
|
572
|
-
project_type=project_type,
|
|
573
|
-
framework=framework,
|
|
574
|
-
force=force,
|
|
575
|
-
verbose=verbose,
|
|
576
|
-
ast_analysis=ast_analysis,
|
|
577
|
-
)
|
|
578
|
-
|
|
579
|
-
# Exit with appropriate code
|
|
580
|
-
if result["status"] == "success":
|
|
581
|
-
sys.exit(0)
|
|
582
|
-
else:
|
|
583
|
-
sys.exit(1)
|
|
584
|
-
|
|
585
|
-
except KeyboardInterrupt:
|
|
586
|
-
console.print("\n[yellow]Initialization cancelled by user[/yellow]")
|
|
587
|
-
sys.exit(130)
|
|
588
|
-
except Exception as e:
|
|
589
|
-
console.print(f"[red]Initialization failed: {e}[/red]")
|
|
590
|
-
sys.exit(1)
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
# Export for CLI registration
|
|
594
|
-
__all__ = ["mpm_init"]
|