claude-mpm 4.14.6__py3-none-any.whl → 4.21.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.
- claude_mpm/VERSION +1 -1
- claude_mpm/agents/BASE_ENGINEER.md +286 -0
- claude_mpm/agents/BASE_PM.md +272 -23
- claude_mpm/agents/OUTPUT_STYLE.md +48 -3
- claude_mpm/agents/PM_INSTRUCTIONS.md +49 -0
- claude_mpm/agents/agent_loader.py +17 -5
- claude_mpm/agents/frontmatter_validator.py +284 -253
- claude_mpm/agents/templates/agentic-coder-optimizer.json +9 -2
- claude_mpm/agents/templates/api_qa.json +7 -1
- claude_mpm/agents/templates/clerk-ops.json +8 -1
- claude_mpm/agents/templates/code_analyzer.json +4 -1
- claude_mpm/agents/templates/dart_engineer.json +11 -1
- claude_mpm/agents/templates/data_engineer.json +11 -1
- claude_mpm/agents/templates/documentation.json +6 -1
- claude_mpm/agents/templates/engineer.json +18 -1
- claude_mpm/agents/templates/gcp_ops_agent.json +8 -1
- claude_mpm/agents/templates/golang_engineer.json +11 -1
- claude_mpm/agents/templates/java_engineer.json +12 -2
- claude_mpm/agents/templates/local_ops_agent.json +216 -37
- claude_mpm/agents/templates/nextjs_engineer.json +11 -1
- claude_mpm/agents/templates/ops.json +8 -1
- claude_mpm/agents/templates/php-engineer.json +20 -4
- claude_mpm/agents/templates/project_organizer.json +10 -3
- claude_mpm/agents/templates/prompt-engineer.json +5 -1
- claude_mpm/agents/templates/python_engineer.json +19 -4
- claude_mpm/agents/templates/qa.json +7 -1
- claude_mpm/agents/templates/react_engineer.json +11 -1
- claude_mpm/agents/templates/refactoring_engineer.json +8 -1
- claude_mpm/agents/templates/research.json +4 -1
- claude_mpm/agents/templates/ruby-engineer.json +11 -1
- claude_mpm/agents/templates/rust_engineer.json +23 -8
- claude_mpm/agents/templates/security.json +6 -1
- claude_mpm/agents/templates/svelte-engineer.json +225 -0
- claude_mpm/agents/templates/ticketing.json +6 -1
- claude_mpm/agents/templates/typescript_engineer.json +11 -1
- claude_mpm/agents/templates/vercel_ops_agent.json +8 -1
- claude_mpm/agents/templates/version_control.json +8 -1
- claude_mpm/agents/templates/web_qa.json +7 -1
- claude_mpm/agents/templates/web_ui.json +11 -1
- claude_mpm/cli/__init__.py +34 -740
- claude_mpm/cli/commands/__init__.py +2 -0
- claude_mpm/cli/commands/agent_manager.py +25 -12
- claude_mpm/cli/commands/agent_state_manager.py +186 -0
- claude_mpm/cli/commands/agents.py +204 -148
- claude_mpm/cli/commands/aggregate.py +7 -3
- claude_mpm/cli/commands/analyze.py +9 -4
- claude_mpm/cli/commands/analyze_code.py +7 -2
- claude_mpm/cli/commands/auto_configure.py +7 -9
- claude_mpm/cli/commands/config.py +47 -13
- claude_mpm/cli/commands/configure.py +294 -1788
- 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/local_deploy.py +3 -2
- claude_mpm/cli/commands/memory.py +54 -20
- 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 +75 -4
- claude_mpm/cli/commands/skills.py +488 -0
- claude_mpm/cli/executor.py +204 -0
- claude_mpm/cli/helpers.py +105 -0
- claude_mpm/cli/interactive/__init__.py +3 -0
- claude_mpm/cli/interactive/skills_wizard.py +491 -0
- claude_mpm/cli/parsers/base_parser.py +7 -0
- claude_mpm/cli/parsers/mpm_init_parser.py +42 -0
- claude_mpm/cli/parsers/skills_parser.py +137 -0
- claude_mpm/cli/shared/output_formatters.py +28 -19
- claude_mpm/cli/startup.py +538 -0
- claude_mpm/commands/mpm-auto-configure.md +52 -0
- claude_mpm/commands/mpm-help.md +3 -0
- claude_mpm/commands/mpm-init.md +112 -6
- claude_mpm/commands/mpm-version.md +113 -0
- claude_mpm/commands/mpm.md +1 -0
- claude_mpm/config/agent_config.py +2 -2
- claude_mpm/constants.py +12 -0
- claude_mpm/core/base_service.py +13 -12
- claude_mpm/core/config.py +42 -0
- claude_mpm/core/enums.py +452 -0
- claude_mpm/core/factories.py +1 -1
- claude_mpm/core/instruction_reinforcement_hook.py +2 -1
- claude_mpm/core/interactive_session.py +6 -3
- claude_mpm/core/interfaces.py +56 -1
- claude_mpm/core/logging_config.py +6 -2
- claude_mpm/core/oneshot_session.py +8 -4
- claude_mpm/core/optimized_agent_loader.py +3 -3
- claude_mpm/core/output_style_manager.py +12 -192
- claude_mpm/core/service_registry.py +5 -1
- claude_mpm/core/types.py +2 -9
- claude_mpm/core/typing_utils.py +7 -6
- claude_mpm/dashboard/static/js/dashboard.js +0 -14
- claude_mpm/dashboard/templates/index.html +3 -41
- claude_mpm/hooks/__init__.py +8 -0
- claude_mpm/hooks/claude_hooks/response_tracking.py +35 -1
- claude_mpm/hooks/instruction_reinforcement.py +7 -2
- claude_mpm/hooks/session_resume_hook.py +121 -0
- claude_mpm/models/resume_log.py +340 -0
- claude_mpm/services/agents/auto_config_manager.py +10 -11
- claude_mpm/services/agents/deployment/agent_configuration_manager.py +1 -1
- claude_mpm/services/agents/deployment/agent_record_service.py +1 -1
- claude_mpm/services/agents/deployment/agent_validator.py +17 -1
- claude_mpm/services/agents/deployment/async_agent_deployment.py +1 -1
- claude_mpm/services/agents/deployment/interface_adapter.py +3 -2
- claude_mpm/services/agents/deployment/local_template_deployment.py +1 -1
- claude_mpm/services/agents/deployment/pipeline/steps/agent_processing_step.py +7 -6
- 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 +5 -3
- 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/validation/__init__.py +3 -1
- claude_mpm/services/agents/deployment/validation/validation_result.py +1 -9
- claude_mpm/services/agents/local_template_manager.py +1 -1
- claude_mpm/services/agents/memory/agent_memory_manager.py +5 -2
- claude_mpm/services/agents/recommender.py +47 -0
- claude_mpm/services/agents/registry/modification_tracker.py +5 -2
- claude_mpm/services/cli/resume_service.py +617 -0
- claude_mpm/services/cli/session_manager.py +87 -0
- claude_mpm/services/cli/session_pause_manager.py +504 -0
- claude_mpm/services/cli/session_resume_helper.py +372 -0
- claude_mpm/services/command_handler_service.py +11 -5
- claude_mpm/services/core/interfaces/process.py +6 -6
- claude_mpm/services/core/interfaces.py +56 -1
- claude_mpm/services/core/models/__init__.py +0 -2
- claude_mpm/services/core/models/agent_config.py +15 -28
- claude_mpm/services/core/models/health.py +1 -28
- claude_mpm/services/core/models/process.py +22 -41
- claude_mpm/services/core/path_resolver.py +1 -1
- claude_mpm/services/diagnostics/__init__.py +2 -2
- claude_mpm/services/diagnostics/checks/agent_check.py +25 -24
- claude_mpm/services/diagnostics/checks/claude_code_check.py +24 -23
- claude_mpm/services/diagnostics/checks/common_issues_check.py +25 -24
- claude_mpm/services/diagnostics/checks/configuration_check.py +24 -23
- claude_mpm/services/diagnostics/checks/filesystem_check.py +18 -17
- claude_mpm/services/diagnostics/checks/installation_check.py +30 -29
- claude_mpm/services/diagnostics/checks/instructions_check.py +20 -19
- claude_mpm/services/diagnostics/checks/mcp_check.py +50 -36
- claude_mpm/services/diagnostics/checks/mcp_services_check.py +36 -31
- claude_mpm/services/diagnostics/checks/monitor_check.py +23 -22
- claude_mpm/services/diagnostics/checks/startup_log_check.py +9 -8
- claude_mpm/services/diagnostics/diagnostic_runner.py +6 -5
- claude_mpm/services/diagnostics/doctor_reporter.py +28 -25
- claude_mpm/services/diagnostics/models.py +37 -21
- 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 +7 -6
- 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 +5 -3
- claude_mpm/services/local_ops/crash_detector.py +1 -1
- claude_mpm/services/local_ops/health_checks/http_check.py +2 -1
- claude_mpm/services/local_ops/health_checks/process_check.py +2 -1
- claude_mpm/services/local_ops/health_checks/resource_check.py +2 -1
- claude_mpm/services/local_ops/health_manager.py +1 -1
- claude_mpm/services/local_ops/process_manager.py +12 -12
- claude_mpm/services/local_ops/restart_manager.py +1 -1
- claude_mpm/services/local_ops/state_manager.py +6 -5
- claude_mpm/services/local_ops/unified_manager.py +2 -2
- claude_mpm/services/mcp_config_manager.py +7 -126
- claude_mpm/services/mcp_gateway/auto_configure.py +31 -25
- claude_mpm/services/mcp_gateway/core/__init__.py +1 -2
- claude_mpm/services/mcp_gateway/core/base.py +18 -31
- claude_mpm/services/mcp_gateway/core/process_pool.py +19 -10
- claude_mpm/services/mcp_gateway/tools/external_mcp_services.py +97 -45
- claude_mpm/services/mcp_gateway/tools/health_check_tool.py +30 -28
- claude_mpm/services/memory_hook_service.py +4 -1
- claude_mpm/services/monitor/daemon_manager.py +3 -2
- claude_mpm/services/monitor/handlers/dashboard.py +2 -1
- claude_mpm/services/monitor/handlers/hooks.py +2 -1
- claude_mpm/services/monitor/management/lifecycle.py +3 -2
- claude_mpm/services/monitor/server.py +2 -1
- claude_mpm/services/session_management_service.py +3 -2
- claude_mpm/services/session_manager.py +205 -1
- claude_mpm/services/shared/async_service_base.py +16 -27
- claude_mpm/services/shared/lifecycle_service_base.py +1 -14
- claude_mpm/services/socketio/handlers/__init__.py +5 -2
- claude_mpm/services/socketio/handlers/hook.py +13 -2
- claude_mpm/services/socketio/handlers/registry.py +4 -2
- claude_mpm/services/socketio/server/main.py +10 -8
- claude_mpm/services/subprocess_launcher_service.py +14 -5
- claude_mpm/services/unified/analyzer_strategies/code_analyzer.py +8 -7
- claude_mpm/services/unified/analyzer_strategies/dependency_analyzer.py +6 -5
- claude_mpm/services/unified/analyzer_strategies/performance_analyzer.py +8 -7
- claude_mpm/services/unified/analyzer_strategies/security_analyzer.py +7 -6
- claude_mpm/services/unified/analyzer_strategies/structure_analyzer.py +5 -4
- claude_mpm/services/unified/config_strategies/validation_strategy.py +13 -9
- claude_mpm/services/unified/deployment_strategies/cloud_strategies.py +10 -3
- claude_mpm/services/unified/deployment_strategies/local.py +6 -5
- claude_mpm/services/unified/deployment_strategies/utils.py +6 -5
- claude_mpm/services/unified/deployment_strategies/vercel.py +7 -6
- claude_mpm/services/unified/interfaces.py +3 -1
- claude_mpm/services/unified/unified_analyzer.py +14 -10
- claude_mpm/services/unified/unified_config.py +2 -1
- claude_mpm/services/unified/unified_deployment.py +9 -4
- 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/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 +567 -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/tools/code_tree_analyzer.py +177 -141
- claude_mpm/tools/code_tree_events.py +4 -2
- claude_mpm/utils/agent_dependency_loader.py +2 -2
- {claude_mpm-4.14.6.dist-info → claude_mpm-4.21.0.dist-info}/METADATA +211 -33
- {claude_mpm-4.14.6.dist-info → claude_mpm-4.21.0.dist-info}/RECORD +339 -199
- claude_mpm/agents/INSTRUCTIONS_OLD_DEPRECATED.md +0 -602
- claude_mpm/cli/commands/mpm_init.py +0 -1994
- claude_mpm/dashboard/static/css/code-tree.css +0 -1639
- claude_mpm/dashboard/static/js/components/code-tree/tree-breadcrumb.js +0 -353
- claude_mpm/dashboard/static/js/components/code-tree/tree-constants.js +0 -235
- claude_mpm/dashboard/static/js/components/code-tree/tree-search.js +0 -409
- claude_mpm/dashboard/static/js/components/code-tree/tree-utils.js +0 -435
- claude_mpm/dashboard/static/js/components/code-tree.js +0 -5869
- claude_mpm/dashboard/static/js/components/code-viewer.js +0 -1386
- claude_mpm/hooks/claude_hooks/hook_handler_eventbus.py +0 -425
- claude_mpm/hooks/claude_hooks/hook_handler_original.py +0 -1041
- claude_mpm/hooks/claude_hooks/hook_handler_refactored.py +0 -347
- claude_mpm/services/agents/deployment/agent_lifecycle_manager_refactored.py +0 -575
- claude_mpm/services/project/analyzer_refactored.py +0 -450
- {claude_mpm-4.14.6.dist-info → claude_mpm-4.21.0.dist-info}/WHEEL +0 -0
- {claude_mpm-4.14.6.dist-info → claude_mpm-4.21.0.dist-info}/entry_points.txt +0 -0
- {claude_mpm-4.14.6.dist-info → claude_mpm-4.21.0.dist-info}/licenses/LICENSE +0 -0
- {claude_mpm-4.14.6.dist-info → claude_mpm-4.21.0.dist-info}/top_level.txt +0 -0
|
@@ -16,6 +16,7 @@ import os
|
|
|
16
16
|
from pathlib import Path
|
|
17
17
|
from typing import Any, Dict
|
|
18
18
|
|
|
19
|
+
from ...core.enums import OutputFormat
|
|
19
20
|
from ...core.shared.config_loader import ConfigLoader
|
|
20
21
|
from ...services.agents.memory import AgentMemoryManager
|
|
21
22
|
from ...services.cli.memory_crud_service import MemoryCRUDService
|
|
@@ -23,6 +24,14 @@ from ...services.cli.memory_output_formatter import MemoryOutputFormatter
|
|
|
23
24
|
from ..shared.base_command import CommandResult, MemoryCommand
|
|
24
25
|
|
|
25
26
|
|
|
27
|
+
def _is_structured_output(args) -> bool:
|
|
28
|
+
"""Check if args specify structured output format (JSON/YAML)."""
|
|
29
|
+
if hasattr(args, "format"):
|
|
30
|
+
fmt = str(args.format).lower()
|
|
31
|
+
return fmt in (OutputFormat.JSON, OutputFormat.YAML)
|
|
32
|
+
return False
|
|
33
|
+
|
|
34
|
+
|
|
26
35
|
class MemoryManagementCommand(MemoryCommand):
|
|
27
36
|
"""Memory management command using shared utilities."""
|
|
28
37
|
|
|
@@ -60,6 +69,31 @@ class MemoryManagementCommand(MemoryCommand):
|
|
|
60
69
|
self._crud_service = MemoryCRUDService(memory_manager=self.memory_manager)
|
|
61
70
|
return self._crud_service
|
|
62
71
|
|
|
72
|
+
def _get_output_format(self, args) -> str:
|
|
73
|
+
"""
|
|
74
|
+
Get output format from args with enum default.
|
|
75
|
+
|
|
76
|
+
Args:
|
|
77
|
+
args: Command arguments
|
|
78
|
+
|
|
79
|
+
Returns:
|
|
80
|
+
Output format string (compatible with both enum and string usage)
|
|
81
|
+
"""
|
|
82
|
+
return getattr(args, "format", OutputFormat.TEXT)
|
|
83
|
+
|
|
84
|
+
def _is_structured_format(self, format_str: str) -> bool:
|
|
85
|
+
"""
|
|
86
|
+
Check if format is structured (JSON/YAML).
|
|
87
|
+
|
|
88
|
+
Args:
|
|
89
|
+
format_str: Format string to check
|
|
90
|
+
|
|
91
|
+
Returns:
|
|
92
|
+
True if format is JSON or YAML
|
|
93
|
+
"""
|
|
94
|
+
fmt = str(format_str).lower()
|
|
95
|
+
return fmt in (OutputFormat.JSON, OutputFormat.YAML)
|
|
96
|
+
|
|
63
97
|
def validate_args(self, args) -> str:
|
|
64
98
|
"""Validate command arguments."""
|
|
65
99
|
# Check if memory command is valid
|
|
@@ -104,8 +138,8 @@ class MemoryManagementCommand(MemoryCommand):
|
|
|
104
138
|
available_commands = list(command_map.keys())
|
|
105
139
|
error_msg = f"Unknown memory command: {args.memory_command}"
|
|
106
140
|
|
|
107
|
-
output_format =
|
|
108
|
-
if output_format
|
|
141
|
+
output_format = self._get_output_format(args)
|
|
142
|
+
if self._is_structured_format(output_format):
|
|
109
143
|
return CommandResult.error_result(
|
|
110
144
|
error_msg, data={"available_commands": available_commands}
|
|
111
145
|
)
|
|
@@ -120,9 +154,9 @@ class MemoryManagementCommand(MemoryCommand):
|
|
|
120
154
|
def _show_status(self, args) -> CommandResult:
|
|
121
155
|
"""Show memory system status."""
|
|
122
156
|
try:
|
|
123
|
-
output_format =
|
|
157
|
+
output_format = self._get_output_format(args)
|
|
124
158
|
|
|
125
|
-
if output_format
|
|
159
|
+
if self._is_structured_format(output_format):
|
|
126
160
|
# Structured output
|
|
127
161
|
status_data = self._get_status_data()
|
|
128
162
|
return CommandResult.success_result(
|
|
@@ -175,7 +209,7 @@ class MemoryManagementCommand(MemoryCommand):
|
|
|
175
209
|
def _show_memories(self, args) -> CommandResult:
|
|
176
210
|
"""Show agent memories."""
|
|
177
211
|
try:
|
|
178
|
-
output_format =
|
|
212
|
+
output_format = self._get_output_format(args)
|
|
179
213
|
agent_id = getattr(args, "agent_id", None)
|
|
180
214
|
raw_output = getattr(args, "raw", False)
|
|
181
215
|
|
|
@@ -245,7 +279,7 @@ class MemoryManagementCommand(MemoryCommand):
|
|
|
245
279
|
def _init_memory(self, args) -> CommandResult:
|
|
246
280
|
"""Initialize project-specific memories."""
|
|
247
281
|
try:
|
|
248
|
-
output_format =
|
|
282
|
+
output_format = self._get_output_format(args)
|
|
249
283
|
|
|
250
284
|
# Use CRUD service for initialization task
|
|
251
285
|
result = self.crud_service.init_project_memories()
|
|
@@ -255,7 +289,7 @@ class MemoryManagementCommand(MemoryCommand):
|
|
|
255
289
|
result.get("error", "Failed to create initialization task")
|
|
256
290
|
)
|
|
257
291
|
|
|
258
|
-
if output_format
|
|
292
|
+
if self._is_structured_format(output_format):
|
|
259
293
|
# Return structured task data
|
|
260
294
|
return CommandResult.success_result(
|
|
261
295
|
"Memory initialization task created", data=result.get("task_data")
|
|
@@ -293,7 +327,7 @@ class MemoryManagementCommand(MemoryCommand):
|
|
|
293
327
|
def _add_learning(self, args) -> CommandResult:
|
|
294
328
|
"""Add learning to agent memory."""
|
|
295
329
|
try:
|
|
296
|
-
output_format =
|
|
330
|
+
output_format = self._get_output_format(args)
|
|
297
331
|
|
|
298
332
|
# Extract arguments
|
|
299
333
|
agent_id = getattr(args, "agent_id", None)
|
|
@@ -313,7 +347,7 @@ class MemoryManagementCommand(MemoryCommand):
|
|
|
313
347
|
result.get("error", "Failed to add learning")
|
|
314
348
|
)
|
|
315
349
|
|
|
316
|
-
if output_format
|
|
350
|
+
if self._is_structured_format(output_format):
|
|
317
351
|
# Return structured result
|
|
318
352
|
return CommandResult.success_result(
|
|
319
353
|
"Learning added to agent memory", data=result
|
|
@@ -333,7 +367,7 @@ class MemoryManagementCommand(MemoryCommand):
|
|
|
333
367
|
def _clean_memory(self, args) -> CommandResult:
|
|
334
368
|
"""Clean up old/unused memory files."""
|
|
335
369
|
try:
|
|
336
|
-
output_format =
|
|
370
|
+
output_format = self._get_output_format(args)
|
|
337
371
|
agent_id = getattr(args, "agent_id", None)
|
|
338
372
|
dry_run = getattr(args, "dry_run", True)
|
|
339
373
|
|
|
@@ -343,7 +377,7 @@ class MemoryManagementCommand(MemoryCommand):
|
|
|
343
377
|
if not result.get("success"):
|
|
344
378
|
return CommandResult.error_result(result.get("error", "Cleanup failed"))
|
|
345
379
|
|
|
346
|
-
if output_format
|
|
380
|
+
if self._is_structured_format(output_format):
|
|
347
381
|
# Return structured cleanup results
|
|
348
382
|
return CommandResult.success_result(
|
|
349
383
|
result.get("message", "Memory cleanup completed"), data=result
|
|
@@ -384,10 +418,10 @@ class MemoryManagementCommand(MemoryCommand):
|
|
|
384
418
|
def _optimize_memory(self, args) -> CommandResult:
|
|
385
419
|
"""Optimize memory files."""
|
|
386
420
|
try:
|
|
387
|
-
output_format =
|
|
421
|
+
output_format = self._get_output_format(args)
|
|
388
422
|
agent_id = getattr(args, "agent_id", None)
|
|
389
423
|
|
|
390
|
-
if output_format
|
|
424
|
+
if self._is_structured_format(output_format):
|
|
391
425
|
# For structured output, perform optimization and return results
|
|
392
426
|
if agent_id:
|
|
393
427
|
result = self.memory_manager.optimize_memory(agent_id)
|
|
@@ -419,9 +453,9 @@ class MemoryManagementCommand(MemoryCommand):
|
|
|
419
453
|
def _build_memory(self, args) -> CommandResult:
|
|
420
454
|
"""Build agent memories from project documentation."""
|
|
421
455
|
try:
|
|
422
|
-
output_format =
|
|
456
|
+
output_format = self._get_output_format(args)
|
|
423
457
|
|
|
424
|
-
if output_format
|
|
458
|
+
if self._is_structured_format(output_format):
|
|
425
459
|
# For structured output, return build results
|
|
426
460
|
build_data = {
|
|
427
461
|
"built_memories": [],
|
|
@@ -442,9 +476,9 @@ class MemoryManagementCommand(MemoryCommand):
|
|
|
442
476
|
def _cross_reference_memory(self, args) -> CommandResult:
|
|
443
477
|
"""Find cross-references and common patterns."""
|
|
444
478
|
try:
|
|
445
|
-
output_format =
|
|
479
|
+
output_format = self._get_output_format(args)
|
|
446
480
|
|
|
447
|
-
if output_format
|
|
481
|
+
if self._is_structured_format(output_format):
|
|
448
482
|
# For structured output, return cross-reference results
|
|
449
483
|
crossref_data = {
|
|
450
484
|
"common_patterns": [],
|
|
@@ -465,9 +499,9 @@ class MemoryManagementCommand(MemoryCommand):
|
|
|
465
499
|
def _route_memory_command(self, args) -> CommandResult:
|
|
466
500
|
"""Route memory command to appropriate agent."""
|
|
467
501
|
try:
|
|
468
|
-
output_format =
|
|
502
|
+
output_format = self._get_output_format(args)
|
|
469
503
|
|
|
470
|
-
if output_format
|
|
504
|
+
if self._is_structured_format(output_format):
|
|
471
505
|
# For structured output, return routing results
|
|
472
506
|
routing_data = {
|
|
473
507
|
"routed_to": "memory_agent",
|
|
@@ -495,7 +529,7 @@ def manage_memory(args) -> int:
|
|
|
495
529
|
result = command.execute(args)
|
|
496
530
|
|
|
497
531
|
# Print result if structured output format is requested
|
|
498
|
-
if
|
|
532
|
+
if _is_structured_output(args):
|
|
499
533
|
command.print_result(result, args)
|
|
500
534
|
|
|
501
535
|
return result.exit_code
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"""MPM initialization command package.
|
|
2
|
+
|
|
3
|
+
This package provides comprehensive project initialization and update capabilities
|
|
4
|
+
for Claude Code and Claude MPM. It includes:
|
|
5
|
+
|
|
6
|
+
- Core command class (MPMInitCommand) for orchestrating initialization
|
|
7
|
+
- Click CLI commands for command-line interface
|
|
8
|
+
- Modular components for prompts, display, git analysis, and modes
|
|
9
|
+
- Support for multiple initialization modes (create, update, review, quick-update, catchup)
|
|
10
|
+
|
|
11
|
+
Main Components:
|
|
12
|
+
- core.py: MPMInitCommand class - main initialization orchestrator
|
|
13
|
+
- mpm_init_cli.py: Click command definitions and CLI entry points
|
|
14
|
+
- prompts.py: Prompt building functions for agent delegation
|
|
15
|
+
- display.py: Display and UI helper functions
|
|
16
|
+
- git_activity.py: Git history analysis and context building
|
|
17
|
+
- modes.py: Mode-specific handlers (review, dry-run, quick-update, etc.)
|
|
18
|
+
|
|
19
|
+
Public API:
|
|
20
|
+
- MPMInitCommand: Main command class (from core)
|
|
21
|
+
- mpm_init: Click command group (from mpm_init_cli)
|
|
22
|
+
|
|
23
|
+
Example Usage:
|
|
24
|
+
# Programmatic usage
|
|
25
|
+
from claude_mpm.cli.commands.mpm_init import MPMInitCommand
|
|
26
|
+
command = MPMInitCommand(project_path)
|
|
27
|
+
result = command.initialize_project()
|
|
28
|
+
|
|
29
|
+
# CLI usage (via Click)
|
|
30
|
+
from claude_mpm.cli.commands.mpm_init import mpm_init
|
|
31
|
+
# Command is registered with Click and invoked via CLI
|
|
32
|
+
"""
|
|
33
|
+
|
|
34
|
+
# Import core components for re-export
|
|
35
|
+
from .core import MPMInitCommand
|
|
36
|
+
|
|
37
|
+
# Import the Click command group - this must be imported from parent level
|
|
38
|
+
# to avoid circular dependencies, as mpm_init_cli imports from core
|
|
39
|
+
# We'll handle this via late import in __all__
|
|
40
|
+
|
|
41
|
+
__all__ = [
|
|
42
|
+
# Main command class
|
|
43
|
+
"MPMInitCommand",
|
|
44
|
+
"core",
|
|
45
|
+
# Internal modules (for internal package use)
|
|
46
|
+
"display",
|
|
47
|
+
"git_activity",
|
|
48
|
+
"modes",
|
|
49
|
+
# Click CLI command (imported via __getattr__ to avoid circular import)
|
|
50
|
+
"mpm_init",
|
|
51
|
+
"prompts",
|
|
52
|
+
]
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
def __getattr__(name):
|
|
56
|
+
"""Lazy import to avoid circular dependencies.
|
|
57
|
+
|
|
58
|
+
This allows importing mpm_init Click command without importing
|
|
59
|
+
mpm_init_cli at module load time, which would cause circular imports.
|
|
60
|
+
"""
|
|
61
|
+
if name == "mpm_init":
|
|
62
|
+
# Lazy import the Click command group
|
|
63
|
+
from ..mpm_init_cli import mpm_init as _mpm_init
|
|
64
|
+
|
|
65
|
+
return _mpm_init
|
|
66
|
+
|
|
67
|
+
# For internal module imports, import them directly
|
|
68
|
+
if name in ("display", "git_activity", "prompts", "modes", "core"):
|
|
69
|
+
import importlib
|
|
70
|
+
|
|
71
|
+
return importlib.import_module(f".{name}", __package__)
|
|
72
|
+
|
|
73
|
+
raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
|