claude-mpm 4.21.3__py3-none-any.whl → 5.1.9__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of claude-mpm might be problematic. Click here for more details.
- claude_mpm/VERSION +1 -1
- claude_mpm/agents/BASE_PM.md +12 -0
- claude_mpm/agents/{OUTPUT_STYLE.md → CLAUDE_MPM_OUTPUT_STYLE.md} +3 -48
- claude_mpm/agents/CLAUDE_MPM_TEACHER_OUTPUT_STYLE.md +2002 -0
- claude_mpm/agents/PM_INSTRUCTIONS.md +1239 -674
- claude_mpm/agents/WORKFLOW.md +75 -2
- claude_mpm/agents/__init__.py +6 -0
- claude_mpm/agents/agent_loader.py +1 -4
- claude_mpm/agents/base_agent.json +6 -3
- claude_mpm/agents/base_agent_loader.py +10 -35
- claude_mpm/agents/frontmatter_validator.py +69 -1
- claude_mpm/agents/templates/circuit-breakers.md +1254 -0
- claude_mpm/agents/templates/context-management-examples.md +544 -0
- claude_mpm/agents/templates/{pm_red_flags.md → pm-red-flags.md} +89 -19
- claude_mpm/agents/templates/pr-workflow-examples.md +427 -0
- claude_mpm/agents/templates/research-gate-examples.md +669 -0
- claude_mpm/agents/templates/structured-questions-examples.md +615 -0
- claude_mpm/agents/templates/ticket-completeness-examples.md +139 -0
- claude_mpm/agents/templates/ticketing-examples.md +277 -0
- claude_mpm/cli/__init__.py +37 -2
- claude_mpm/cli/commands/__init__.py +2 -0
- claude_mpm/cli/commands/agent_source.py +774 -0
- claude_mpm/cli/commands/agent_state_manager.py +188 -30
- claude_mpm/cli/commands/agents.py +1128 -36
- claude_mpm/cli/commands/agents_cleanup.py +210 -0
- claude_mpm/cli/commands/agents_discover.py +338 -0
- claude_mpm/cli/commands/aggregate.py +1 -1
- claude_mpm/cli/commands/analyze.py +3 -3
- claude_mpm/cli/commands/auto_configure.py +537 -239
- claude_mpm/cli/commands/cleanup.py +1 -1
- claude_mpm/cli/commands/config.py +7 -4
- claude_mpm/cli/commands/configure.py +935 -45
- claude_mpm/cli/commands/configure_agent_display.py +4 -4
- claude_mpm/cli/commands/configure_navigation.py +63 -46
- claude_mpm/cli/commands/debug.py +12 -12
- claude_mpm/cli/commands/doctor.py +10 -2
- claude_mpm/cli/commands/hook_errors.py +277 -0
- claude_mpm/cli/commands/local_deploy.py +1 -4
- claude_mpm/cli/commands/mcp_install_commands.py +1 -1
- claude_mpm/cli/commands/mpm_init/core.py +50 -2
- claude_mpm/cli/commands/mpm_init/git_activity.py +10 -10
- claude_mpm/cli/commands/mpm_init/prompts.py +6 -6
- claude_mpm/cli/commands/postmortem.py +401 -0
- claude_mpm/cli/commands/run.py +125 -167
- claude_mpm/cli/commands/skill_source.py +694 -0
- claude_mpm/cli/commands/skills.py +757 -20
- claude_mpm/cli/executor.py +78 -3
- claude_mpm/cli/interactive/agent_wizard.py +1032 -47
- claude_mpm/cli/parsers/agent_source_parser.py +171 -0
- claude_mpm/cli/parsers/agents_parser.py +310 -4
- claude_mpm/cli/parsers/auto_configure_parser.py +13 -0
- claude_mpm/cli/parsers/base_parser.py +53 -0
- claude_mpm/cli/parsers/config_parser.py +96 -43
- claude_mpm/cli/parsers/skill_source_parser.py +169 -0
- claude_mpm/cli/parsers/skills_parser.py +145 -0
- claude_mpm/cli/parsers/source_parser.py +138 -0
- claude_mpm/cli/startup.py +564 -108
- claude_mpm/cli/startup_display.py +480 -0
- claude_mpm/cli/utils.py +1 -1
- claude_mpm/cli_module/commands.py +1 -1
- claude_mpm/commands/{mpm-auto-configure.md → mpm-agents-auto-configure.md} +9 -0
- claude_mpm/commands/mpm-agents-detect.md +9 -0
- claude_mpm/commands/{mpm-agents.md → mpm-agents-list.md} +9 -0
- claude_mpm/commands/mpm-agents-recommend.md +9 -0
- claude_mpm/commands/{mpm-config.md → mpm-config-view.md} +9 -0
- claude_mpm/commands/mpm-doctor.md +9 -0
- claude_mpm/commands/mpm-help.md +14 -2
- claude_mpm/commands/mpm-init.md +27 -2
- claude_mpm/commands/mpm-monitor.md +9 -0
- claude_mpm/commands/mpm-postmortem.md +123 -0
- claude_mpm/commands/{mpm-resume.md → mpm-session-resume.md} +9 -0
- claude_mpm/commands/mpm-status.md +9 -0
- claude_mpm/commands/{mpm-organize.md → mpm-ticket-organize.md} +9 -0
- claude_mpm/commands/mpm-ticket-view.md +552 -0
- claude_mpm/commands/mpm-version.md +9 -0
- claude_mpm/commands/mpm.md +10 -0
- claude_mpm/config/agent_presets.py +488 -0
- claude_mpm/config/agent_sources.py +325 -0
- claude_mpm/config/skill_presets.py +392 -0
- claude_mpm/config/skill_sources.py +590 -0
- claude_mpm/constants.py +13 -0
- claude_mpm/core/api_validator.py +1 -1
- claude_mpm/core/claude_runner.py +19 -35
- claude_mpm/core/config.py +24 -0
- claude_mpm/core/constants.py +1 -1
- claude_mpm/core/framework/__init__.py +3 -16
- claude_mpm/core/framework/loaders/file_loader.py +54 -101
- claude_mpm/core/framework/loaders/instruction_loader.py +25 -5
- claude_mpm/core/framework/processors/metadata_processor.py +1 -1
- claude_mpm/core/hook_error_memory.py +381 -0
- claude_mpm/core/hook_manager.py +41 -2
- claude_mpm/core/interactive_session.py +131 -10
- claude_mpm/core/logger.py +3 -1
- claude_mpm/core/oneshot_session.py +110 -8
- claude_mpm/core/output_style_manager.py +173 -43
- claude_mpm/core/protocols/__init__.py +23 -0
- claude_mpm/core/protocols/runner_protocol.py +103 -0
- claude_mpm/core/protocols/session_protocol.py +131 -0
- claude_mpm/core/shared/singleton_manager.py +11 -4
- claude_mpm/core/system_context.py +38 -0
- claude_mpm/core/unified_agent_registry.py +129 -1
- claude_mpm/core/unified_config.py +22 -0
- claude_mpm/dashboard/static/css/activity.css +69 -69
- claude_mpm/dashboard/static/css/connection-status.css +10 -10
- claude_mpm/dashboard/static/css/dashboard.css +15 -15
- claude_mpm/dashboard/static/js/components/activity-tree.js +178 -178
- claude_mpm/dashboard/static/js/components/agent-hierarchy.js +101 -101
- claude_mpm/dashboard/static/js/components/agent-inference.js +31 -31
- claude_mpm/dashboard/static/js/components/build-tracker.js +59 -59
- claude_mpm/dashboard/static/js/components/code-simple.js +107 -107
- claude_mpm/dashboard/static/js/components/connection-debug.js +101 -101
- claude_mpm/dashboard/static/js/components/diff-viewer.js +113 -113
- claude_mpm/dashboard/static/js/components/event-viewer.js +12 -12
- claude_mpm/dashboard/static/js/components/file-change-tracker.js +57 -57
- claude_mpm/dashboard/static/js/components/file-change-viewer.js +74 -74
- claude_mpm/dashboard/static/js/components/file-tool-tracker.js +6 -6
- claude_mpm/dashboard/static/js/components/file-viewer.js +42 -42
- claude_mpm/dashboard/static/js/components/module-viewer.js +27 -27
- claude_mpm/dashboard/static/js/components/session-manager.js +14 -14
- claude_mpm/dashboard/static/js/components/socket-manager.js +1 -1
- claude_mpm/dashboard/static/js/components/ui-state-manager.js +14 -14
- claude_mpm/dashboard/static/js/components/unified-data-viewer.js +110 -110
- claude_mpm/dashboard/static/js/components/working-directory.js +8 -8
- claude_mpm/dashboard/static/js/connection-manager.js +76 -76
- claude_mpm/dashboard/static/js/dashboard.js +76 -58
- claude_mpm/dashboard/static/js/extension-error-handler.js +22 -22
- claude_mpm/dashboard/static/js/socket-client.js +138 -121
- claude_mpm/dashboard/templates/code_simple.html +23 -23
- claude_mpm/dashboard/templates/index.html +18 -18
- claude_mpm/experimental/cli_enhancements.py +1 -5
- claude_mpm/hooks/claude_hooks/event_handlers.py +3 -1
- claude_mpm/hooks/claude_hooks/hook_handler.py +24 -7
- claude_mpm/hooks/claude_hooks/installer.py +45 -0
- claude_mpm/hooks/claude_hooks/memory_integration.py +12 -1
- claude_mpm/hooks/failure_learning/__init__.py +2 -8
- claude_mpm/hooks/failure_learning/failure_detection_hook.py +1 -6
- claude_mpm/hooks/failure_learning/fix_detection_hook.py +1 -6
- claude_mpm/hooks/failure_learning/learning_extraction_hook.py +1 -6
- claude_mpm/hooks/kuzu_response_hook.py +1 -5
- claude_mpm/hooks/templates/pre_tool_use_simple.py +78 -0
- claude_mpm/hooks/templates/pre_tool_use_template.py +323 -0
- claude_mpm/models/agent_definition.py +7 -0
- claude_mpm/models/git_repository.py +198 -0
- claude_mpm/scripts/claude-hook-handler.sh +3 -3
- claude_mpm/scripts/start_activity_logging.py +3 -1
- claude_mpm/services/agents/agent_builder.py +45 -9
- claude_mpm/services/agents/agent_preset_service.py +238 -0
- claude_mpm/services/agents/agent_selection_service.py +484 -0
- claude_mpm/services/agents/auto_deploy_index_parser.py +569 -0
- claude_mpm/services/agents/cache_git_manager.py +621 -0
- claude_mpm/services/agents/deployment/agent_deployment.py +126 -2
- claude_mpm/services/agents/deployment/agent_discovery_service.py +105 -73
- claude_mpm/services/agents/deployment/agent_format_converter.py +1 -1
- claude_mpm/services/agents/deployment/agent_lifecycle_manager.py +1 -5
- claude_mpm/services/agents/deployment/agent_metrics_collector.py +3 -3
- claude_mpm/services/agents/deployment/agent_restore_handler.py +1 -4
- claude_mpm/services/agents/deployment/agent_template_builder.py +236 -15
- claude_mpm/services/agents/deployment/agents_directory_resolver.py +101 -15
- claude_mpm/services/agents/deployment/async_agent_deployment.py +2 -1
- claude_mpm/services/agents/deployment/facade/deployment_facade.py +3 -3
- claude_mpm/services/agents/deployment/multi_source_deployment_service.py +225 -18
- claude_mpm/services/agents/deployment/pipeline/pipeline_executor.py +2 -2
- claude_mpm/services/agents/deployment/refactored_agent_deployment_service.py +1 -4
- claude_mpm/services/agents/deployment/remote_agent_discovery_service.py +557 -0
- claude_mpm/services/agents/deployment/single_agent_deployer.py +2 -2
- claude_mpm/services/agents/deployment/system_instructions_deployer.py +168 -46
- claude_mpm/services/agents/deployment/validation/deployment_validator.py +2 -2
- claude_mpm/services/agents/git_source_manager.py +629 -0
- claude_mpm/services/agents/loading/framework_agent_loader.py +9 -12
- claude_mpm/services/agents/local_template_manager.py +50 -10
- claude_mpm/services/agents/single_tier_deployment_service.py +696 -0
- claude_mpm/services/agents/sources/__init__.py +13 -0
- claude_mpm/services/agents/sources/agent_sync_state.py +516 -0
- claude_mpm/services/agents/sources/git_source_sync_service.py +1087 -0
- claude_mpm/services/agents/startup_sync.py +239 -0
- claude_mpm/services/agents/toolchain_detector.py +474 -0
- claude_mpm/services/analysis/__init__.py +25 -0
- claude_mpm/services/analysis/postmortem_reporter.py +474 -0
- claude_mpm/services/analysis/postmortem_service.py +765 -0
- claude_mpm/services/cli/session_pause_manager.py +1 -1
- claude_mpm/services/cli/unified_dashboard_manager.py +1 -1
- claude_mpm/services/command_deployment_service.py +200 -6
- claude_mpm/services/core/base.py +7 -2
- claude_mpm/services/core/interfaces/__init__.py +1 -3
- claude_mpm/services/core/interfaces/health.py +1 -4
- claude_mpm/services/core/models/__init__.py +2 -11
- claude_mpm/services/diagnostics/checks/__init__.py +4 -0
- claude_mpm/services/diagnostics/checks/agent_check.py +0 -2
- claude_mpm/services/diagnostics/checks/agent_sources_check.py +577 -0
- claude_mpm/services/diagnostics/checks/instructions_check.py +1 -2
- claude_mpm/services/diagnostics/checks/mcp_check.py +0 -1
- claude_mpm/services/diagnostics/checks/mcp_services_check.py +7 -15
- claude_mpm/services/diagnostics/checks/monitor_check.py +0 -1
- claude_mpm/services/diagnostics/checks/skill_sources_check.py +587 -0
- claude_mpm/services/diagnostics/diagnostic_runner.py +9 -0
- claude_mpm/services/diagnostics/doctor_reporter.py +40 -10
- claude_mpm/services/event_bus/direct_relay.py +3 -3
- claude_mpm/services/event_bus/event_bus.py +36 -3
- claude_mpm/services/events/consumers/logging.py +1 -2
- claude_mpm/services/git/__init__.py +21 -0
- claude_mpm/services/git/git_operations_service.py +494 -0
- claude_mpm/services/github/__init__.py +21 -0
- claude_mpm/services/github/github_cli_service.py +397 -0
- claude_mpm/services/infrastructure/monitoring/__init__.py +1 -5
- claude_mpm/services/infrastructure/monitoring/aggregator.py +1 -6
- claude_mpm/services/infrastructure/monitoring/resources.py +1 -1
- claude_mpm/services/instructions/__init__.py +9 -0
- claude_mpm/services/instructions/instruction_cache_service.py +374 -0
- claude_mpm/services/local_ops/__init__.py +3 -13
- claude_mpm/services/local_ops/health_checks/__init__.py +1 -3
- claude_mpm/services/local_ops/health_manager.py +1 -4
- claude_mpm/services/local_ops/process_manager.py +1 -1
- claude_mpm/services/local_ops/resource_monitor.py +2 -2
- claude_mpm/services/mcp_config_manager.py +75 -145
- claude_mpm/services/mcp_gateway/config/configuration.py +1 -1
- claude_mpm/services/mcp_gateway/core/process_pool.py +22 -16
- claude_mpm/services/mcp_gateway/server/mcp_gateway.py +1 -6
- claude_mpm/services/mcp_gateway/server/stdio_server.py +0 -2
- claude_mpm/services/mcp_gateway/tools/document_summarizer.py +1 -1
- claude_mpm/services/mcp_gateway/tools/kuzu_memory_service.py +6 -2
- claude_mpm/services/mcp_service_verifier.py +6 -3
- claude_mpm/services/memory/optimizer.py +1 -1
- claude_mpm/services/model/model_router.py +8 -9
- claude_mpm/services/monitor/daemon.py +29 -9
- claude_mpm/services/monitor/daemon_manager.py +96 -19
- claude_mpm/services/monitor/server.py +2 -2
- claude_mpm/services/native_agent_converter.py +356 -0
- claude_mpm/services/port_manager.py +1 -1
- claude_mpm/services/pr/__init__.py +14 -0
- claude_mpm/services/pr/pr_template_service.py +329 -0
- claude_mpm/services/project/documentation_manager.py +2 -1
- claude_mpm/services/project/project_organizer.py +4 -0
- claude_mpm/services/project/toolchain_analyzer.py +3 -1
- claude_mpm/services/runner_configuration_service.py +17 -3
- claude_mpm/services/self_upgrade_service.py +165 -7
- claude_mpm/services/session_management_service.py +16 -4
- claude_mpm/services/skills/__init__.py +18 -0
- claude_mpm/services/skills/git_skill_source_manager.py +1169 -0
- claude_mpm/services/skills/skill_discovery_service.py +568 -0
- claude_mpm/services/skills_config.py +547 -0
- claude_mpm/services/skills_deployer.py +955 -0
- claude_mpm/services/socketio/handlers/connection.py +1 -1
- claude_mpm/services/socketio/handlers/git.py +2 -2
- claude_mpm/services/socketio/server/core.py +1 -4
- claude_mpm/services/socketio/server/main.py +1 -3
- claude_mpm/services/system_instructions_service.py +1 -3
- claude_mpm/services/unified/analyzer_strategies/performance_analyzer.py +0 -3
- claude_mpm/services/unified/analyzer_strategies/security_analyzer.py +0 -1
- claude_mpm/services/unified/deployment_strategies/cloud_strategies.py +1 -1
- claude_mpm/services/unified/deployment_strategies/vercel.py +1 -5
- claude_mpm/services/unified/unified_deployment.py +1 -5
- claude_mpm/services/version_control/conflict_resolution.py +6 -4
- claude_mpm/services/visualization/__init__.py +1 -5
- claude_mpm/services/visualization/mermaid_generator.py +2 -3
- claude_mpm/skills/bundled/infrastructure/env-manager/scripts/validate_env.py +576 -0
- claude_mpm/skills/bundled/performance-profiling.md +6 -0
- claude_mpm/skills/bundled/testing/webapp-testing/scripts/with_server.py +2 -2
- claude_mpm/skills/skills_registry.py +0 -1
- claude_mpm/templates/questions/__init__.py +38 -0
- claude_mpm/templates/questions/base.py +193 -0
- claude_mpm/templates/questions/pr_strategy.py +311 -0
- claude_mpm/templates/questions/project_init.py +385 -0
- claude_mpm/templates/questions/ticket_mgmt.py +394 -0
- claude_mpm/tools/__main__.py +8 -8
- claude_mpm/tools/code_tree_analyzer/analysis.py +1 -1
- claude_mpm/utils/agent_dependency_loader.py +80 -13
- claude_mpm/utils/agent_filters.py +288 -0
- claude_mpm/utils/dependency_cache.py +3 -1
- claude_mpm/utils/gitignore.py +244 -0
- claude_mpm/utils/log_cleanup.py +3 -3
- claude_mpm/utils/migration.py +372 -0
- claude_mpm/utils/progress.py +387 -0
- claude_mpm/utils/robust_installer.py +3 -5
- claude_mpm/utils/structured_questions.py +619 -0
- {claude_mpm-4.21.3.dist-info → claude_mpm-5.1.9.dist-info}/METADATA +496 -65
- {claude_mpm-4.21.3.dist-info → claude_mpm-5.1.9.dist-info}/RECORD +284 -443
- claude_mpm/agents/templates/.claude-mpm/memories/README.md +0 -17
- claude_mpm/agents/templates/.claude-mpm/memories/engineer_memories.md +0 -3
- claude_mpm/agents/templates/agent-manager.json +0 -273
- claude_mpm/agents/templates/agentic-coder-optimizer.json +0 -248
- claude_mpm/agents/templates/api_qa.json +0 -180
- claude_mpm/agents/templates/circuit_breakers.md +0 -638
- claude_mpm/agents/templates/clerk-ops.json +0 -235
- claude_mpm/agents/templates/code_analyzer.json +0 -101
- claude_mpm/agents/templates/content-agent.json +0 -358
- claude_mpm/agents/templates/dart_engineer.json +0 -307
- claude_mpm/agents/templates/data_engineer.json +0 -225
- claude_mpm/agents/templates/documentation.json +0 -211
- claude_mpm/agents/templates/engineer.json +0 -210
- claude_mpm/agents/templates/gcp_ops_agent.json +0 -253
- claude_mpm/agents/templates/golang_engineer.json +0 -270
- claude_mpm/agents/templates/imagemagick.json +0 -264
- claude_mpm/agents/templates/java_engineer.json +0 -346
- claude_mpm/agents/templates/local_ops_agent.json +0 -1840
- claude_mpm/agents/templates/logs/prompts/agent_engineer_20250826_014258_728.md +0 -39
- claude_mpm/agents/templates/logs/prompts/agent_engineer_20250901_010124_142.md +0 -400
- claude_mpm/agents/templates/memory_manager.json +0 -158
- claude_mpm/agents/templates/nextjs_engineer.json +0 -285
- claude_mpm/agents/templates/ops.json +0 -185
- claude_mpm/agents/templates/php-engineer.json +0 -287
- claude_mpm/agents/templates/product_owner.json +0 -338
- claude_mpm/agents/templates/project_organizer.json +0 -140
- claude_mpm/agents/templates/prompt-engineer.json +0 -737
- claude_mpm/agents/templates/python_engineer.json +0 -387
- claude_mpm/agents/templates/qa.json +0 -242
- claude_mpm/agents/templates/react_engineer.json +0 -238
- claude_mpm/agents/templates/refactoring_engineer.json +0 -276
- claude_mpm/agents/templates/research.json +0 -188
- claude_mpm/agents/templates/ruby-engineer.json +0 -280
- claude_mpm/agents/templates/rust_engineer.json +0 -275
- claude_mpm/agents/templates/security.json +0 -202
- claude_mpm/agents/templates/svelte-engineer.json +0 -225
- claude_mpm/agents/templates/ticketing.json +0 -177
- claude_mpm/agents/templates/typescript_engineer.json +0 -285
- claude_mpm/agents/templates/vercel_ops_agent.json +0 -412
- claude_mpm/agents/templates/version_control.json +0 -157
- claude_mpm/agents/templates/web_qa.json +0 -399
- claude_mpm/agents/templates/web_ui.json +0 -189
- claude_mpm/commands/mpm-tickets.md +0 -102
- claude_mpm/dashboard/.claude-mpm/socketio-instances.json +0 -1
- claude_mpm/dashboard/react/components/DataInspector/DataInspector.module.css +0 -188
- claude_mpm/dashboard/react/components/EventViewer/EventViewer.module.css +0 -156
- claude_mpm/dashboard/react/components/shared/ConnectionStatus.module.css +0 -38
- claude_mpm/dashboard/react/components/shared/FilterBar.module.css +0 -92
- claude_mpm/dashboard/static/archive/activity_dashboard_fixed.html +0 -248
- claude_mpm/dashboard/static/archive/activity_dashboard_test.html +0 -61
- claude_mpm/dashboard/static/archive/test_activity_connection.html +0 -179
- claude_mpm/dashboard/static/archive/test_claude_tree_tab.html +0 -68
- claude_mpm/dashboard/static/archive/test_dashboard.html +0 -409
- claude_mpm/dashboard/static/archive/test_dashboard_fixed.html +0 -519
- claude_mpm/dashboard/static/archive/test_dashboard_verification.html +0 -181
- claude_mpm/dashboard/static/archive/test_file_data.html +0 -315
- claude_mpm/dashboard/static/archive/test_file_tree_empty_state.html +0 -243
- claude_mpm/dashboard/static/archive/test_file_tree_fix.html +0 -234
- claude_mpm/dashboard/static/archive/test_file_tree_rename.html +0 -117
- claude_mpm/dashboard/static/archive/test_file_tree_tab.html +0 -115
- claude_mpm/dashboard/static/archive/test_file_viewer.html +0 -224
- claude_mpm/dashboard/static/archive/test_final_activity.html +0 -220
- claude_mpm/dashboard/static/archive/test_tab_fix.html +0 -139
- claude_mpm/dashboard/static/built/assets/events.DjpNxWNo.css +0 -1
- claude_mpm/dashboard/static/built/components/activity-tree.js +0 -2
- claude_mpm/dashboard/static/built/components/agent-hierarchy.js +0 -777
- claude_mpm/dashboard/static/built/components/agent-inference.js +0 -2
- claude_mpm/dashboard/static/built/components/build-tracker.js +0 -333
- claude_mpm/dashboard/static/built/components/code-simple.js +0 -857
- claude_mpm/dashboard/static/built/components/code-tree/tree-breadcrumb.js +0 -353
- claude_mpm/dashboard/static/built/components/code-tree/tree-constants.js +0 -235
- claude_mpm/dashboard/static/built/components/code-tree/tree-search.js +0 -409
- claude_mpm/dashboard/static/built/components/code-tree/tree-utils.js +0 -435
- claude_mpm/dashboard/static/built/components/code-tree.js +0 -2
- claude_mpm/dashboard/static/built/components/code-viewer.js +0 -2
- claude_mpm/dashboard/static/built/components/connection-debug.js +0 -654
- claude_mpm/dashboard/static/built/components/diff-viewer.js +0 -891
- claude_mpm/dashboard/static/built/components/event-processor.js +0 -2
- claude_mpm/dashboard/static/built/components/event-viewer.js +0 -2
- claude_mpm/dashboard/static/built/components/export-manager.js +0 -2
- claude_mpm/dashboard/static/built/components/file-change-tracker.js +0 -443
- claude_mpm/dashboard/static/built/components/file-change-viewer.js +0 -690
- claude_mpm/dashboard/static/built/components/file-tool-tracker.js +0 -2
- claude_mpm/dashboard/static/built/components/file-viewer.js +0 -2
- claude_mpm/dashboard/static/built/components/hud-library-loader.js +0 -2
- claude_mpm/dashboard/static/built/components/hud-manager.js +0 -2
- claude_mpm/dashboard/static/built/components/hud-visualizer.js +0 -2
- claude_mpm/dashboard/static/built/components/module-viewer.js +0 -2
- claude_mpm/dashboard/static/built/components/nav-bar.js +0 -145
- claude_mpm/dashboard/static/built/components/page-structure.js +0 -429
- claude_mpm/dashboard/static/built/components/session-manager.js +0 -2
- claude_mpm/dashboard/static/built/components/socket-manager.js +0 -2
- claude_mpm/dashboard/static/built/components/ui-state-manager.js +0 -2
- claude_mpm/dashboard/static/built/components/unified-data-viewer.js +0 -2
- claude_mpm/dashboard/static/built/components/working-directory.js +0 -2
- claude_mpm/dashboard/static/built/connection-manager.js +0 -536
- claude_mpm/dashboard/static/built/dashboard.js +0 -2
- claude_mpm/dashboard/static/built/extension-error-handler.js +0 -164
- claude_mpm/dashboard/static/built/react/events.js +0 -30
- claude_mpm/dashboard/static/built/shared/dom-helpers.js +0 -396
- claude_mpm/dashboard/static/built/shared/event-bus.js +0 -330
- claude_mpm/dashboard/static/built/shared/event-filter-service.js +0 -540
- claude_mpm/dashboard/static/built/shared/logger.js +0 -385
- claude_mpm/dashboard/static/built/shared/page-structure.js +0 -249
- claude_mpm/dashboard/static/built/shared/tooltip-service.js +0 -253
- claude_mpm/dashboard/static/built/socket-client.js +0 -2
- claude_mpm/dashboard/static/built/tab-isolation-fix.js +0 -185
- claude_mpm/dashboard/static/dist/assets/events.DjpNxWNo.css +0 -1
- claude_mpm/dashboard/static/dist/components/activity-tree.js +0 -2
- claude_mpm/dashboard/static/dist/components/agent-inference.js +0 -2
- claude_mpm/dashboard/static/dist/components/code-tree.js +0 -2
- claude_mpm/dashboard/static/dist/components/code-viewer.js +0 -2
- claude_mpm/dashboard/static/dist/components/event-processor.js +0 -2
- claude_mpm/dashboard/static/dist/components/event-viewer.js +0 -2
- claude_mpm/dashboard/static/dist/components/export-manager.js +0 -2
- claude_mpm/dashboard/static/dist/components/file-tool-tracker.js +0 -2
- claude_mpm/dashboard/static/dist/components/file-viewer.js +0 -2
- claude_mpm/dashboard/static/dist/components/hud-library-loader.js +0 -2
- claude_mpm/dashboard/static/dist/components/hud-manager.js +0 -2
- claude_mpm/dashboard/static/dist/components/hud-visualizer.js +0 -2
- claude_mpm/dashboard/static/dist/components/module-viewer.js +0 -2
- claude_mpm/dashboard/static/dist/components/session-manager.js +0 -2
- claude_mpm/dashboard/static/dist/components/socket-manager.js +0 -2
- claude_mpm/dashboard/static/dist/components/ui-state-manager.js +0 -2
- claude_mpm/dashboard/static/dist/components/unified-data-viewer.js +0 -2
- claude_mpm/dashboard/static/dist/components/working-directory.js +0 -2
- claude_mpm/dashboard/static/dist/dashboard.js +0 -2
- claude_mpm/dashboard/static/dist/react/events.js +0 -30
- claude_mpm/dashboard/static/dist/socket-client.js +0 -2
- claude_mpm/dashboard/static/events.html +0 -607
- claude_mpm/dashboard/static/index.html +0 -635
- claude_mpm/dashboard/static/js/shared/dom-helpers.js +0 -396
- claude_mpm/dashboard/static/js/shared/event-bus.js +0 -330
- claude_mpm/dashboard/static/js/shared/logger.js +0 -385
- claude_mpm/dashboard/static/js/shared/tooltip-service.js +0 -253
- claude_mpm/dashboard/static/js/stores/dashboard-store.js +0 -562
- claude_mpm/dashboard/static/legacy/activity.html +0 -736
- claude_mpm/dashboard/static/legacy/agents.html +0 -786
- claude_mpm/dashboard/static/legacy/files.html +0 -747
- claude_mpm/dashboard/static/legacy/tools.html +0 -831
- claude_mpm/dashboard/static/monitors.html +0 -431
- claude_mpm/dashboard/static/production/events.html +0 -659
- claude_mpm/dashboard/static/production/main.html +0 -698
- claude_mpm/dashboard/static/production/monitors.html +0 -483
- claude_mpm/dashboard/static/test-archive/dashboard.html +0 -635
- claude_mpm/dashboard/static/test-archive/debug-events.html +0 -147
- claude_mpm/dashboard/static/test-archive/test-navigation.html +0 -256
- claude_mpm/dashboard/static/test-archive/test-react-exports.html +0 -180
- claude_mpm/dashboard/static/test-archive/test_debug.html +0 -25
- claude_mpm/skills/bundled/collaboration/brainstorming/SKILL.md +0 -79
- claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/SKILL.md +0 -178
- claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/agent-prompts.md +0 -577
- claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/coordination-patterns.md +0 -467
- claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/examples.md +0 -537
- claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/troubleshooting.md +0 -730
- claude_mpm/skills/bundled/collaboration/requesting-code-review/SKILL.md +0 -112
- claude_mpm/skills/bundled/collaboration/requesting-code-review/references/code-reviewer-template.md +0 -146
- claude_mpm/skills/bundled/collaboration/requesting-code-review/references/review-examples.md +0 -412
- claude_mpm/skills/bundled/collaboration/writing-plans/SKILL.md +0 -81
- claude_mpm/skills/bundled/collaboration/writing-plans/references/best-practices.md +0 -362
- claude_mpm/skills/bundled/collaboration/writing-plans/references/plan-structure-templates.md +0 -312
- claude_mpm/skills/bundled/debugging/root-cause-tracing/SKILL.md +0 -152
- claude_mpm/skills/bundled/debugging/root-cause-tracing/references/advanced-techniques.md +0 -668
- claude_mpm/skills/bundled/debugging/root-cause-tracing/references/examples.md +0 -587
- claude_mpm/skills/bundled/debugging/root-cause-tracing/references/integration.md +0 -438
- claude_mpm/skills/bundled/debugging/root-cause-tracing/references/tracing-techniques.md +0 -391
- claude_mpm/skills/bundled/debugging/systematic-debugging/CREATION-LOG.md +0 -119
- claude_mpm/skills/bundled/debugging/systematic-debugging/SKILL.md +0 -148
- claude_mpm/skills/bundled/debugging/systematic-debugging/references/anti-patterns.md +0 -483
- claude_mpm/skills/bundled/debugging/systematic-debugging/references/examples.md +0 -452
- claude_mpm/skills/bundled/debugging/systematic-debugging/references/troubleshooting.md +0 -449
- claude_mpm/skills/bundled/debugging/systematic-debugging/references/workflow.md +0 -411
- claude_mpm/skills/bundled/debugging/systematic-debugging/test-academic.md +0 -14
- claude_mpm/skills/bundled/debugging/systematic-debugging/test-pressure-1.md +0 -58
- claude_mpm/skills/bundled/debugging/systematic-debugging/test-pressure-2.md +0 -68
- claude_mpm/skills/bundled/debugging/systematic-debugging/test-pressure-3.md +0 -69
- claude_mpm/skills/bundled/debugging/verification-before-completion/SKILL.md +0 -131
- claude_mpm/skills/bundled/debugging/verification-before-completion/references/gate-function.md +0 -325
- claude_mpm/skills/bundled/debugging/verification-before-completion/references/integration-and-workflows.md +0 -490
- claude_mpm/skills/bundled/debugging/verification-before-completion/references/red-flags-and-failures.md +0 -425
- claude_mpm/skills/bundled/debugging/verification-before-completion/references/verification-patterns.md +0 -499
- claude_mpm/skills/bundled/main/artifacts-builder/SKILL.md +0 -86
- claude_mpm/skills/bundled/main/internal-comms/SKILL.md +0 -43
- claude_mpm/skills/bundled/main/internal-comms/examples/3p-updates.md +0 -47
- claude_mpm/skills/bundled/main/internal-comms/examples/company-newsletter.md +0 -65
- claude_mpm/skills/bundled/main/internal-comms/examples/faq-answers.md +0 -30
- claude_mpm/skills/bundled/main/internal-comms/examples/general-comms.md +0 -16
- claude_mpm/skills/bundled/main/mcp-builder/SKILL.md +0 -160
- claude_mpm/skills/bundled/main/mcp-builder/reference/design_principles.md +0 -412
- claude_mpm/skills/bundled/main/mcp-builder/reference/evaluation.md +0 -602
- claude_mpm/skills/bundled/main/mcp-builder/reference/mcp_best_practices.md +0 -915
- claude_mpm/skills/bundled/main/mcp-builder/reference/node_mcp_server.md +0 -916
- claude_mpm/skills/bundled/main/mcp-builder/reference/python_mcp_server.md +0 -752
- claude_mpm/skills/bundled/main/mcp-builder/reference/workflow.md +0 -1237
- claude_mpm/skills/bundled/main/skill-creator/SKILL.md +0 -189
- claude_mpm/skills/bundled/main/skill-creator/references/best-practices.md +0 -500
- claude_mpm/skills/bundled/main/skill-creator/references/creation-workflow.md +0 -464
- claude_mpm/skills/bundled/main/skill-creator/references/examples.md +0 -619
- claude_mpm/skills/bundled/main/skill-creator/references/progressive-disclosure.md +0 -437
- claude_mpm/skills/bundled/main/skill-creator/references/skill-structure.md +0 -231
- claude_mpm/skills/bundled/php/espocrm-development/SKILL.md +0 -170
- claude_mpm/skills/bundled/php/espocrm-development/references/architecture.md +0 -602
- claude_mpm/skills/bundled/php/espocrm-development/references/common-tasks.md +0 -821
- claude_mpm/skills/bundled/php/espocrm-development/references/development-workflow.md +0 -742
- claude_mpm/skills/bundled/php/espocrm-development/references/frontend-customization.md +0 -726
- claude_mpm/skills/bundled/php/espocrm-development/references/hooks-and-services.md +0 -764
- claude_mpm/skills/bundled/php/espocrm-development/references/testing-debugging.md +0 -831
- claude_mpm/skills/bundled/rust/desktop-applications/SKILL.md +0 -226
- claude_mpm/skills/bundled/rust/desktop-applications/references/architecture-patterns.md +0 -901
- claude_mpm/skills/bundled/rust/desktop-applications/references/native-gui-frameworks.md +0 -901
- claude_mpm/skills/bundled/rust/desktop-applications/references/platform-integration.md +0 -775
- claude_mpm/skills/bundled/rust/desktop-applications/references/state-management.md +0 -937
- claude_mpm/skills/bundled/rust/desktop-applications/references/tauri-framework.md +0 -770
- claude_mpm/skills/bundled/rust/desktop-applications/references/testing-deployment.md +0 -961
- claude_mpm/skills/bundled/testing/condition-based-waiting/SKILL.md +0 -119
- claude_mpm/skills/bundled/testing/condition-based-waiting/references/patterns-and-implementation.md +0 -253
- claude_mpm/skills/bundled/testing/test-driven-development/SKILL.md +0 -145
- claude_mpm/skills/bundled/testing/test-driven-development/references/anti-patterns.md +0 -543
- claude_mpm/skills/bundled/testing/test-driven-development/references/examples.md +0 -741
- claude_mpm/skills/bundled/testing/test-driven-development/references/integration.md +0 -470
- claude_mpm/skills/bundled/testing/test-driven-development/references/philosophy.md +0 -458
- claude_mpm/skills/bundled/testing/test-driven-development/references/workflow.md +0 -639
- claude_mpm/skills/bundled/testing/testing-anti-patterns/SKILL.md +0 -140
- claude_mpm/skills/bundled/testing/testing-anti-patterns/references/completeness-anti-patterns.md +0 -572
- claude_mpm/skills/bundled/testing/testing-anti-patterns/references/core-anti-patterns.md +0 -411
- claude_mpm/skills/bundled/testing/testing-anti-patterns/references/detection-guide.md +0 -569
- claude_mpm/skills/bundled/testing/testing-anti-patterns/references/tdd-connection.md +0 -695
- claude_mpm/skills/bundled/testing/webapp-testing/SKILL.md +0 -184
- claude_mpm/skills/bundled/testing/webapp-testing/decision-tree.md +0 -459
- claude_mpm/skills/bundled/testing/webapp-testing/playwright-patterns.md +0 -479
- claude_mpm/skills/bundled/testing/webapp-testing/reconnaissance-pattern.md +0 -687
- claude_mpm/skills/bundled/testing/webapp-testing/server-management.md +0 -758
- claude_mpm/skills/bundled/testing/webapp-testing/troubleshooting.md +0 -868
- /claude_mpm/agents/templates/{git_file_tracking.md → git-file-tracking.md} +0 -0
- /claude_mpm/agents/templates/{pm_examples.md → pm-examples.md} +0 -0
- /claude_mpm/agents/templates/{response_format.md → response-format.md} +0 -0
- /claude_mpm/agents/templates/{validation_templates.md → validation-templates.md} +0 -0
- {claude_mpm-4.21.3.dist-info → claude_mpm-5.1.9.dist-info}/WHEEL +0 -0
- {claude_mpm-4.21.3.dist-info → claude_mpm-5.1.9.dist-info}/entry_points.txt +0 -0
- {claude_mpm-4.21.3.dist-info → claude_mpm-5.1.9.dist-info}/licenses/LICENSE +0 -0
- {claude_mpm-4.21.3.dist-info → claude_mpm-5.1.9.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
"""Agent source command parser for agent repository management.
|
|
2
|
+
|
|
3
|
+
WHY: This module provides CLI commands for managing agent source repositories
|
|
4
|
+
(Git repositories containing agent markdown files). Parallel to skill source management
|
|
5
|
+
but for the agent deployment system (multi-tier Git-based agents).
|
|
6
|
+
|
|
7
|
+
DESIGN DECISION: Agent source management is separate from agent deployment to
|
|
8
|
+
maintain clear separation of concerns:
|
|
9
|
+
- agent-source commands: Manage repository configuration
|
|
10
|
+
- agents commands: View and interact with agents themselves
|
|
11
|
+
|
|
12
|
+
IMPLEMENTATION NOTE: This module is adapted from skill_source_parser.py, following
|
|
13
|
+
the same proven patterns but for agent repositories instead of skills.
|
|
14
|
+
"""
|
|
15
|
+
|
|
16
|
+
import argparse
|
|
17
|
+
|
|
18
|
+
from .base_parser import add_common_arguments
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
def add_agent_source_subparser(subparsers) -> argparse.ArgumentParser:
|
|
22
|
+
"""Add the agent-source subparser with all repository management commands.
|
|
23
|
+
|
|
24
|
+
WHY: Agent sources (Git repositories) need their own command group
|
|
25
|
+
for managing repository configuration, priorities, and synchronization.
|
|
26
|
+
|
|
27
|
+
Args:
|
|
28
|
+
subparsers: The subparsers object from the main parser
|
|
29
|
+
|
|
30
|
+
Returns:
|
|
31
|
+
The configured agent-source subparser
|
|
32
|
+
"""
|
|
33
|
+
# Agent source command with subcommands
|
|
34
|
+
agent_source_parser = subparsers.add_parser(
|
|
35
|
+
"agent-source",
|
|
36
|
+
help="Manage agent source repositories",
|
|
37
|
+
)
|
|
38
|
+
add_common_arguments(agent_source_parser)
|
|
39
|
+
|
|
40
|
+
agent_source_subparsers = agent_source_parser.add_subparsers(
|
|
41
|
+
dest="agent_source_command",
|
|
42
|
+
help="Agent source repository commands",
|
|
43
|
+
metavar="SUBCOMMAND",
|
|
44
|
+
)
|
|
45
|
+
|
|
46
|
+
# Add repository
|
|
47
|
+
add_parser = agent_source_subparsers.add_parser(
|
|
48
|
+
"add",
|
|
49
|
+
help="Add a new agent source repository",
|
|
50
|
+
)
|
|
51
|
+
add_parser.add_argument(
|
|
52
|
+
"url",
|
|
53
|
+
help="Git repository URL (e.g., https://github.com/owner/repo)",
|
|
54
|
+
)
|
|
55
|
+
add_parser.add_argument(
|
|
56
|
+
"--subdirectory",
|
|
57
|
+
help="Subdirectory within repository containing agents (e.g., 'agents')",
|
|
58
|
+
)
|
|
59
|
+
add_parser.add_argument(
|
|
60
|
+
"--priority",
|
|
61
|
+
type=int,
|
|
62
|
+
default=100,
|
|
63
|
+
help="Priority for conflict resolution (lower = higher precedence, default: 100)",
|
|
64
|
+
)
|
|
65
|
+
add_parser.add_argument(
|
|
66
|
+
"--disabled",
|
|
67
|
+
action="store_true",
|
|
68
|
+
help="Add repository but keep it disabled",
|
|
69
|
+
)
|
|
70
|
+
add_parser.add_argument(
|
|
71
|
+
"--test",
|
|
72
|
+
action="store_true",
|
|
73
|
+
help="Test repository access without saving to configuration",
|
|
74
|
+
)
|
|
75
|
+
add_parser.add_argument(
|
|
76
|
+
"--no-test",
|
|
77
|
+
action="store_true",
|
|
78
|
+
dest="skip_test",
|
|
79
|
+
help="Skip immediate testing (not recommended)",
|
|
80
|
+
)
|
|
81
|
+
|
|
82
|
+
# Remove repository
|
|
83
|
+
remove_parser = agent_source_subparsers.add_parser(
|
|
84
|
+
"remove",
|
|
85
|
+
help="Remove an agent source repository",
|
|
86
|
+
)
|
|
87
|
+
remove_parser.add_argument(
|
|
88
|
+
"source_id",
|
|
89
|
+
help="Source identifier (e.g., 'owner/repo' or 'owner/repo/subdirectory')",
|
|
90
|
+
)
|
|
91
|
+
remove_parser.add_argument(
|
|
92
|
+
"--force",
|
|
93
|
+
action="store_true",
|
|
94
|
+
help="Skip confirmation prompt",
|
|
95
|
+
)
|
|
96
|
+
|
|
97
|
+
# List repositories
|
|
98
|
+
list_parser = agent_source_subparsers.add_parser(
|
|
99
|
+
"list",
|
|
100
|
+
help="List configured agent source repositories",
|
|
101
|
+
)
|
|
102
|
+
list_parser.add_argument(
|
|
103
|
+
"--by-priority",
|
|
104
|
+
action="store_true",
|
|
105
|
+
dest="by_priority",
|
|
106
|
+
help="Sort by priority (lowest first)",
|
|
107
|
+
)
|
|
108
|
+
list_parser.add_argument(
|
|
109
|
+
"--enabled-only",
|
|
110
|
+
action="store_true",
|
|
111
|
+
dest="enabled_only",
|
|
112
|
+
help="Show only enabled repositories",
|
|
113
|
+
)
|
|
114
|
+
list_parser.add_argument(
|
|
115
|
+
"--json",
|
|
116
|
+
action="store_true",
|
|
117
|
+
help="Output as JSON",
|
|
118
|
+
)
|
|
119
|
+
|
|
120
|
+
# Update/sync repositories
|
|
121
|
+
update_parser = agent_source_subparsers.add_parser(
|
|
122
|
+
"update",
|
|
123
|
+
help="Update (sync) agent sources from Git",
|
|
124
|
+
)
|
|
125
|
+
update_parser.add_argument(
|
|
126
|
+
"source_id",
|
|
127
|
+
nargs="?",
|
|
128
|
+
help="Optional: Update only this repository (default: update all)",
|
|
129
|
+
)
|
|
130
|
+
update_parser.add_argument(
|
|
131
|
+
"--force",
|
|
132
|
+
action="store_true",
|
|
133
|
+
help="Force update even if cache is fresh",
|
|
134
|
+
)
|
|
135
|
+
|
|
136
|
+
# Enable repository
|
|
137
|
+
enable_parser = agent_source_subparsers.add_parser(
|
|
138
|
+
"enable",
|
|
139
|
+
help="Enable a disabled repository",
|
|
140
|
+
)
|
|
141
|
+
enable_parser.add_argument(
|
|
142
|
+
"source_id",
|
|
143
|
+
help="Source identifier to enable",
|
|
144
|
+
)
|
|
145
|
+
|
|
146
|
+
# Disable repository
|
|
147
|
+
disable_parser = agent_source_subparsers.add_parser(
|
|
148
|
+
"disable",
|
|
149
|
+
help="Disable a repository",
|
|
150
|
+
)
|
|
151
|
+
disable_parser.add_argument(
|
|
152
|
+
"source_id",
|
|
153
|
+
help="Source identifier to disable",
|
|
154
|
+
)
|
|
155
|
+
|
|
156
|
+
# Show repository details
|
|
157
|
+
show_parser = agent_source_subparsers.add_parser(
|
|
158
|
+
"show",
|
|
159
|
+
help="Show details for an agent source",
|
|
160
|
+
)
|
|
161
|
+
show_parser.add_argument(
|
|
162
|
+
"source_id",
|
|
163
|
+
help="Source identifier to show",
|
|
164
|
+
)
|
|
165
|
+
show_parser.add_argument(
|
|
166
|
+
"--agents",
|
|
167
|
+
action="store_true",
|
|
168
|
+
help="Also list agents from this source",
|
|
169
|
+
)
|
|
170
|
+
|
|
171
|
+
return agent_source_parser
|
|
@@ -31,7 +31,22 @@ def add_agents_subparser(subparsers) -> argparse.ArgumentParser:
|
|
|
31
31
|
"""
|
|
32
32
|
# Agents command with subcommands
|
|
33
33
|
agents_parser = subparsers.add_parser(
|
|
34
|
-
CLICommands.AGENTS.value,
|
|
34
|
+
CLICommands.AGENTS.value,
|
|
35
|
+
help="Manage agents and deployment",
|
|
36
|
+
description="""
|
|
37
|
+
Manage Claude MPM agents.
|
|
38
|
+
|
|
39
|
+
NOTE: For interactive agent management, use 'claude-mpm config' instead.
|
|
40
|
+
The 'agents manage' command has been deprecated in favor of the
|
|
41
|
+
unified configuration interface.
|
|
42
|
+
|
|
43
|
+
Available commands:
|
|
44
|
+
discover Discover available agents from configured sources
|
|
45
|
+
deploy Deploy agents to your project
|
|
46
|
+
list List available agents
|
|
47
|
+
manage (Deprecated) Use 'claude-mpm config' instead
|
|
48
|
+
""",
|
|
49
|
+
formatter_class=argparse.RawDescriptionHelpFormatter,
|
|
35
50
|
)
|
|
36
51
|
add_common_arguments(agents_parser)
|
|
37
52
|
|
|
@@ -121,9 +136,17 @@ def add_agents_subparser(subparsers) -> argparse.ArgumentParser:
|
|
|
121
136
|
"--backup", action="store_true", help="Create backup before deletion"
|
|
122
137
|
)
|
|
123
138
|
|
|
124
|
-
# Manage local agents (interactive menu)
|
|
125
|
-
agents_subparsers.add_parser(
|
|
126
|
-
"manage",
|
|
139
|
+
# Manage local agents (interactive menu) - DEPRECATED
|
|
140
|
+
manage_parser = agents_subparsers.add_parser(
|
|
141
|
+
"manage",
|
|
142
|
+
help="(Deprecated) Manage local agents - use 'claude-mpm config' instead",
|
|
143
|
+
description="Manage locally deployed agents. Note: This command has been deprecated. "
|
|
144
|
+
"Please use 'claude-mpm config' for the enhanced configuration interface.",
|
|
145
|
+
)
|
|
146
|
+
manage_parser.epilog = (
|
|
147
|
+
"\nDEPRECATION NOTICE:\n"
|
|
148
|
+
"This command has been deprecated in favor of 'claude-mpm config' which provides\n"
|
|
149
|
+
"a unified interface for managing agents, skills, templates, and behavior settings.\n"
|
|
127
150
|
)
|
|
128
151
|
|
|
129
152
|
# Configure agent deployment settings
|
|
@@ -193,6 +216,11 @@ def add_agents_subparser(subparsers) -> argparse.ArgumentParser:
|
|
|
193
216
|
action="store_true",
|
|
194
217
|
help="Show what would be deployed without actually deploying",
|
|
195
218
|
)
|
|
219
|
+
deploy_agents_parser.add_argument(
|
|
220
|
+
"--preset",
|
|
221
|
+
type=str,
|
|
222
|
+
help="Deploy agents by preset name (minimal, python-dev, nextjs-fullstack, etc.)",
|
|
223
|
+
)
|
|
196
224
|
|
|
197
225
|
# Validate agents
|
|
198
226
|
validate_agents_parser = agents_subparsers.add_parser(
|
|
@@ -240,6 +268,28 @@ def add_agents_subparser(subparsers) -> argparse.ArgumentParser:
|
|
|
240
268
|
help="Maximum retry attempts per package (default: 3)",
|
|
241
269
|
)
|
|
242
270
|
|
|
271
|
+
# Cleanup: sync, install, and remove old underscore-named agents
|
|
272
|
+
cleanup_parser = agents_subparsers.add_parser(
|
|
273
|
+
"cleanup",
|
|
274
|
+
help="Sync agents, install with new naming, and remove old underscore-named duplicates",
|
|
275
|
+
)
|
|
276
|
+
cleanup_parser.add_argument(
|
|
277
|
+
"--dry-run",
|
|
278
|
+
action="store_true",
|
|
279
|
+
help="Show what would be done without actually doing it",
|
|
280
|
+
)
|
|
281
|
+
cleanup_parser.add_argument(
|
|
282
|
+
"--target",
|
|
283
|
+
type=Path,
|
|
284
|
+
help="Target directory for agent deployment (default: project .claude-mpm/agents/)",
|
|
285
|
+
)
|
|
286
|
+
cleanup_parser.add_argument(
|
|
287
|
+
"--global",
|
|
288
|
+
dest="global_deployment",
|
|
289
|
+
action="store_true",
|
|
290
|
+
help="Deploy to global ~/.claude/agents/ instead of project directory",
|
|
291
|
+
)
|
|
292
|
+
|
|
243
293
|
# Cleanup orphaned agents
|
|
244
294
|
cleanup_orphaned_parser = agents_subparsers.add_parser(
|
|
245
295
|
"cleanup-orphaned", help="Clean up orphaned agents that don't have templates"
|
|
@@ -266,6 +316,96 @@ def add_agents_subparser(subparsers) -> argparse.ArgumentParser:
|
|
|
266
316
|
help="Only show summary, not individual agents",
|
|
267
317
|
)
|
|
268
318
|
|
|
319
|
+
# Migrate user-level agents to project-level (DEPRECATION support)
|
|
320
|
+
migrate_parser = agents_subparsers.add_parser(
|
|
321
|
+
"migrate-to-project",
|
|
322
|
+
help="Migrate user-level agents to project-level (user-level is DEPRECATED)",
|
|
323
|
+
)
|
|
324
|
+
migrate_parser.add_argument(
|
|
325
|
+
"--dry-run",
|
|
326
|
+
action="store_true",
|
|
327
|
+
help="Show what would be migrated without actually doing it",
|
|
328
|
+
)
|
|
329
|
+
migrate_parser.add_argument(
|
|
330
|
+
"--force",
|
|
331
|
+
"-f",
|
|
332
|
+
action="store_true",
|
|
333
|
+
help="Overwrite existing project agents if conflicts",
|
|
334
|
+
)
|
|
335
|
+
|
|
336
|
+
# Deploy all agents from sources (single-tier deployment)
|
|
337
|
+
deploy_all_parser = agents_subparsers.add_parser(
|
|
338
|
+
"deploy-all",
|
|
339
|
+
help="Deploy all agents from configured sources (single-tier deployment)",
|
|
340
|
+
)
|
|
341
|
+
deploy_all_parser.add_argument(
|
|
342
|
+
"--force-sync",
|
|
343
|
+
action="store_true",
|
|
344
|
+
help="Force sync repositories before deploying (ignore cache)",
|
|
345
|
+
)
|
|
346
|
+
deploy_all_parser.add_argument(
|
|
347
|
+
"--dry-run",
|
|
348
|
+
action="store_true",
|
|
349
|
+
help="Show what would be deployed without actually deploying",
|
|
350
|
+
)
|
|
351
|
+
|
|
352
|
+
# List available agents from sources
|
|
353
|
+
available_parser = agents_subparsers.add_parser(
|
|
354
|
+
"available",
|
|
355
|
+
help="List available agents from all configured sources",
|
|
356
|
+
)
|
|
357
|
+
available_parser.add_argument(
|
|
358
|
+
"--source",
|
|
359
|
+
help="Filter by source repository (e.g., 'owner/repo/subdirectory')",
|
|
360
|
+
)
|
|
361
|
+
available_parser.add_argument(
|
|
362
|
+
"--format",
|
|
363
|
+
choices=["table", "json", "simple"],
|
|
364
|
+
default="table",
|
|
365
|
+
help="Output format (default: table)",
|
|
366
|
+
)
|
|
367
|
+
|
|
368
|
+
# Discover agents with rich filtering (Phase 1: Discovery & Browsing)
|
|
369
|
+
discover_parser = agents_subparsers.add_parser(
|
|
370
|
+
"discover",
|
|
371
|
+
help="Discover available agents from configured sources with rich filtering",
|
|
372
|
+
)
|
|
373
|
+
discover_parser.add_argument(
|
|
374
|
+
"--source",
|
|
375
|
+
help="Filter by specific source ID (e.g., 'owner/repo')",
|
|
376
|
+
)
|
|
377
|
+
discover_parser.add_argument(
|
|
378
|
+
"--category",
|
|
379
|
+
help="Filter by category (e.g., 'engineer/backend', 'qa', 'ops/platform')",
|
|
380
|
+
)
|
|
381
|
+
discover_parser.add_argument(
|
|
382
|
+
"--language",
|
|
383
|
+
help="Filter by programming language (e.g., 'python', 'javascript', 'rust')",
|
|
384
|
+
)
|
|
385
|
+
discover_parser.add_argument(
|
|
386
|
+
"--framework",
|
|
387
|
+
help="Filter by framework (e.g., 'react', 'nextjs', 'django')",
|
|
388
|
+
)
|
|
389
|
+
discover_parser.add_argument(
|
|
390
|
+
"--platform",
|
|
391
|
+
help="Filter by platform (e.g., 'vercel', 'gcp', 'docker')",
|
|
392
|
+
)
|
|
393
|
+
discover_parser.add_argument(
|
|
394
|
+
"--specialization",
|
|
395
|
+
help="Filter by specialization (e.g., 'data', 'security', 'mobile')",
|
|
396
|
+
)
|
|
397
|
+
discover_parser.add_argument(
|
|
398
|
+
"--format",
|
|
399
|
+
choices=["table", "json", "simple"],
|
|
400
|
+
default="table",
|
|
401
|
+
help="Output format (default: table)",
|
|
402
|
+
)
|
|
403
|
+
discover_parser.add_argument(
|
|
404
|
+
"--verbose",
|
|
405
|
+
action="store_true",
|
|
406
|
+
help="Show descriptions and metadata for each agent",
|
|
407
|
+
)
|
|
408
|
+
|
|
269
409
|
# Auto-configuration commands (TSK-0054 Phase 5)
|
|
270
410
|
from .auto_configure_parser import (
|
|
271
411
|
add_agents_detect_subparser,
|
|
@@ -275,4 +415,170 @@ def add_agents_subparser(subparsers) -> argparse.ArgumentParser:
|
|
|
275
415
|
add_agents_detect_subparser(agents_subparsers)
|
|
276
416
|
add_agents_recommend_subparser(agents_subparsers)
|
|
277
417
|
|
|
418
|
+
# Phase 3: Agent Selection Modes (single-tier deployment)
|
|
419
|
+
# Minimal configuration - deploy 6 core agents
|
|
420
|
+
deploy_minimal_parser = agents_subparsers.add_parser(
|
|
421
|
+
"deploy-minimal",
|
|
422
|
+
help="Deploy minimal configuration (6 core agents: engineer, documentation, qa, research, ops, ticketing)",
|
|
423
|
+
)
|
|
424
|
+
deploy_minimal_parser.add_argument(
|
|
425
|
+
"--dry-run",
|
|
426
|
+
action="store_true",
|
|
427
|
+
help="Show what would be deployed without actually deploying",
|
|
428
|
+
)
|
|
429
|
+
|
|
430
|
+
# Auto-configure - detect toolchain and deploy matching agents
|
|
431
|
+
deploy_auto_parser = agents_subparsers.add_parser(
|
|
432
|
+
"deploy-auto",
|
|
433
|
+
help="Auto-detect project toolchain and deploy matching agents",
|
|
434
|
+
)
|
|
435
|
+
deploy_auto_parser.add_argument(
|
|
436
|
+
"--path",
|
|
437
|
+
type=Path,
|
|
438
|
+
default=Path.cwd(),
|
|
439
|
+
help="Project path to scan for toolchain detection (default: current directory)",
|
|
440
|
+
)
|
|
441
|
+
deploy_auto_parser.add_argument(
|
|
442
|
+
"--dry-run",
|
|
443
|
+
action="store_true",
|
|
444
|
+
help="Show what would be deployed without actually deploying",
|
|
445
|
+
)
|
|
446
|
+
|
|
447
|
+
# ============================================================================
|
|
448
|
+
# Collection-Based Agent Management Commands
|
|
449
|
+
# ============================================================================
|
|
450
|
+
# Purpose: Enable collection-based agent selection and deployment
|
|
451
|
+
# Commands: list-collections, deploy-collection, list-by-collection
|
|
452
|
+
# NEW: Enhanced agent matching with collection_id support
|
|
453
|
+
# ============================================================================
|
|
454
|
+
|
|
455
|
+
# list-collections: List all available agent collections
|
|
456
|
+
agents_subparsers.add_parser(
|
|
457
|
+
"list-collections",
|
|
458
|
+
help="List all available agent collections",
|
|
459
|
+
description="Display all agent collections with agent counts and collection metadata",
|
|
460
|
+
)
|
|
461
|
+
|
|
462
|
+
# deploy-collection: Deploy all agents from a specific collection
|
|
463
|
+
deploy_collection_parser = agents_subparsers.add_parser(
|
|
464
|
+
"deploy-collection",
|
|
465
|
+
help="Deploy all agents from a specific collection",
|
|
466
|
+
description="Deploy all agents from a named collection (e.g., 'bobmatnyc/claude-mpm-agents')",
|
|
467
|
+
)
|
|
468
|
+
deploy_collection_parser.add_argument(
|
|
469
|
+
"collection_id",
|
|
470
|
+
help="Collection ID in format 'owner/repo-name' (e.g., 'bobmatnyc/claude-mpm-agents')",
|
|
471
|
+
)
|
|
472
|
+
deploy_collection_parser.add_argument(
|
|
473
|
+
"--force",
|
|
474
|
+
"-f",
|
|
475
|
+
action="store_true",
|
|
476
|
+
help="Force redeployment even if agents are already deployed",
|
|
477
|
+
)
|
|
478
|
+
deploy_collection_parser.add_argument(
|
|
479
|
+
"--dry-run",
|
|
480
|
+
action="store_true",
|
|
481
|
+
help="Show what would be deployed without actually deploying",
|
|
482
|
+
)
|
|
483
|
+
|
|
484
|
+
# list-by-collection: List agents filtered by collection
|
|
485
|
+
list_by_collection_parser = agents_subparsers.add_parser(
|
|
486
|
+
"list-by-collection",
|
|
487
|
+
help="List agents from a specific collection",
|
|
488
|
+
description="Display agents from a specific collection with metadata",
|
|
489
|
+
)
|
|
490
|
+
list_by_collection_parser.add_argument(
|
|
491
|
+
"collection_id",
|
|
492
|
+
help="Collection ID to filter by (e.g., 'bobmatnyc/claude-mpm-agents')",
|
|
493
|
+
)
|
|
494
|
+
list_by_collection_parser.add_argument(
|
|
495
|
+
"--format",
|
|
496
|
+
choices=["table", "json", "yaml"],
|
|
497
|
+
default="table",
|
|
498
|
+
help="Output format (default: table)",
|
|
499
|
+
)
|
|
500
|
+
|
|
501
|
+
# ============================================================================
|
|
502
|
+
# Cache Git Management Commands (claude-mpm Issue 1M-442 Phase 2)
|
|
503
|
+
# ============================================================================
|
|
504
|
+
# Purpose: Enable git workflow for agent cache management
|
|
505
|
+
# Commands: cache-status, cache-pull, cache-commit, cache-push, cache-sync
|
|
506
|
+
# Documentation: See docs/research/cache-update-workflow-analysis-2025-12-03.md
|
|
507
|
+
# ============================================================================
|
|
508
|
+
|
|
509
|
+
# cache-status: Show git status of agent cache
|
|
510
|
+
agents_subparsers.add_parser(
|
|
511
|
+
"cache-status",
|
|
512
|
+
help="Show git status of agent cache directory",
|
|
513
|
+
description="Display git status including branch, uncommitted changes, and unpushed commits",
|
|
514
|
+
)
|
|
515
|
+
|
|
516
|
+
# cache-pull: Pull latest agents from remote
|
|
517
|
+
cache_pull_parser = agents_subparsers.add_parser(
|
|
518
|
+
"cache-pull",
|
|
519
|
+
help="Pull latest agents from remote repository",
|
|
520
|
+
description="Fetch and merge latest agent changes from GitHub remote repository",
|
|
521
|
+
)
|
|
522
|
+
cache_pull_parser.add_argument(
|
|
523
|
+
"--branch",
|
|
524
|
+
default="main",
|
|
525
|
+
help="Branch to pull from (default: main)",
|
|
526
|
+
)
|
|
527
|
+
|
|
528
|
+
# cache-commit: Commit changes to agent cache
|
|
529
|
+
cache_commit_parser = agents_subparsers.add_parser(
|
|
530
|
+
"cache-commit",
|
|
531
|
+
help="Commit changes to agent cache",
|
|
532
|
+
description="Stage and commit changes to local agent cache git repository",
|
|
533
|
+
)
|
|
534
|
+
cache_commit_parser.add_argument(
|
|
535
|
+
"--message",
|
|
536
|
+
"-m",
|
|
537
|
+
help="Commit message (default: 'feat: update agents from local development')",
|
|
538
|
+
)
|
|
539
|
+
cache_commit_parser.add_argument(
|
|
540
|
+
"--files",
|
|
541
|
+
nargs="+",
|
|
542
|
+
help="Specific files to commit (default: all modified files)",
|
|
543
|
+
)
|
|
544
|
+
|
|
545
|
+
# cache-push: Push agent changes to remote
|
|
546
|
+
cache_push_parser = agents_subparsers.add_parser(
|
|
547
|
+
"cache-push",
|
|
548
|
+
help="Push agent changes to remote repository",
|
|
549
|
+
description="Push committed changes from local cache to GitHub remote repository",
|
|
550
|
+
)
|
|
551
|
+
cache_push_parser.add_argument(
|
|
552
|
+
"--branch",
|
|
553
|
+
default="main",
|
|
554
|
+
help="Branch to push to (default: main)",
|
|
555
|
+
)
|
|
556
|
+
cache_push_parser.add_argument(
|
|
557
|
+
"--auto-commit",
|
|
558
|
+
action="store_true",
|
|
559
|
+
help="Automatically commit uncommitted changes before pushing",
|
|
560
|
+
)
|
|
561
|
+
|
|
562
|
+
# cache-sync: Full cache sync workflow
|
|
563
|
+
cache_sync_parser = agents_subparsers.add_parser(
|
|
564
|
+
"cache-sync",
|
|
565
|
+
help="Full agent cache sync with remote",
|
|
566
|
+
description="Complete sync workflow: pull latest, commit local changes, push to remote",
|
|
567
|
+
)
|
|
568
|
+
cache_sync_parser.add_argument(
|
|
569
|
+
"--message",
|
|
570
|
+
"-m",
|
|
571
|
+
help="Commit message for any uncommitted changes",
|
|
572
|
+
)
|
|
573
|
+
cache_sync_parser.add_argument(
|
|
574
|
+
"--skip-pull",
|
|
575
|
+
action="store_true",
|
|
576
|
+
help="Skip pulling from remote before sync",
|
|
577
|
+
)
|
|
578
|
+
cache_sync_parser.add_argument(
|
|
579
|
+
"--skip-push",
|
|
580
|
+
action="store_true",
|
|
581
|
+
help="Skip pushing to remote after sync",
|
|
582
|
+
)
|
|
583
|
+
|
|
278
584
|
return agents_parser
|
|
@@ -88,6 +88,19 @@ Examples:
|
|
|
88
88
|
help="Skip confirmation prompts and deploy automatically",
|
|
89
89
|
)
|
|
90
90
|
|
|
91
|
+
# Scope selection
|
|
92
|
+
scope_group = auto_configure_parser.add_mutually_exclusive_group()
|
|
93
|
+
scope_group.add_argument(
|
|
94
|
+
"--agents-only",
|
|
95
|
+
action="store_true",
|
|
96
|
+
help="Configure agents only (skip skills)",
|
|
97
|
+
)
|
|
98
|
+
scope_group.add_argument(
|
|
99
|
+
"--skills-only",
|
|
100
|
+
action="store_true",
|
|
101
|
+
help="Configure skills only (skip agents)",
|
|
102
|
+
)
|
|
103
|
+
|
|
91
104
|
# Configuration options
|
|
92
105
|
auto_configure_parser.add_argument(
|
|
93
106
|
"--min-confidence",
|
|
@@ -389,6 +389,27 @@ def create_parser(
|
|
|
389
389
|
except ImportError:
|
|
390
390
|
pass
|
|
391
391
|
|
|
392
|
+
try:
|
|
393
|
+
from .source_parser import add_source_subparser
|
|
394
|
+
|
|
395
|
+
add_source_subparser(subparsers)
|
|
396
|
+
except ImportError:
|
|
397
|
+
pass
|
|
398
|
+
|
|
399
|
+
try:
|
|
400
|
+
from .skill_source_parser import add_skill_source_subparser
|
|
401
|
+
|
|
402
|
+
add_skill_source_subparser(subparsers)
|
|
403
|
+
except ImportError:
|
|
404
|
+
pass
|
|
405
|
+
|
|
406
|
+
try:
|
|
407
|
+
from .agent_source_parser import add_agent_source_subparser
|
|
408
|
+
|
|
409
|
+
add_agent_source_subparser(subparsers)
|
|
410
|
+
except ImportError:
|
|
411
|
+
pass
|
|
412
|
+
|
|
392
413
|
try:
|
|
393
414
|
from .auto_configure_parser import add_auto_configure_subparser
|
|
394
415
|
|
|
@@ -532,6 +553,10 @@ def create_parser(
|
|
|
532
553
|
|
|
533
554
|
add_doctor_parser(subparsers)
|
|
534
555
|
|
|
556
|
+
from ..commands.postmortem import add_postmortem_parser
|
|
557
|
+
|
|
558
|
+
add_postmortem_parser(subparsers)
|
|
559
|
+
|
|
535
560
|
# Add upgrade command
|
|
536
561
|
from ..commands.upgrade import add_upgrade_parser
|
|
537
562
|
|
|
@@ -541,6 +566,34 @@ def create_parser(
|
|
|
541
566
|
from ..commands.verify import add_parser as add_verify_parser
|
|
542
567
|
|
|
543
568
|
add_verify_parser(subparsers)
|
|
569
|
+
|
|
570
|
+
# Add hook-errors command for managing hook error memory
|
|
571
|
+
hook_errors_parser = subparsers.add_parser(
|
|
572
|
+
"hook-errors",
|
|
573
|
+
help="Manage hook error memory and diagnostics",
|
|
574
|
+
)
|
|
575
|
+
hook_errors_parser.add_argument(
|
|
576
|
+
"hook_errors_command",
|
|
577
|
+
nargs="?",
|
|
578
|
+
choices=["list", "summary", "clear", "diagnose", "status"],
|
|
579
|
+
help="Hook errors subcommand",
|
|
580
|
+
)
|
|
581
|
+
hook_errors_parser.add_argument(
|
|
582
|
+
"--format",
|
|
583
|
+
choices=["table", "json"],
|
|
584
|
+
default="table",
|
|
585
|
+
help="Output format for list command",
|
|
586
|
+
)
|
|
587
|
+
hook_errors_parser.add_argument(
|
|
588
|
+
"--hook-type",
|
|
589
|
+
help="Filter by specific hook type",
|
|
590
|
+
)
|
|
591
|
+
hook_errors_parser.add_argument(
|
|
592
|
+
"-y",
|
|
593
|
+
"--yes",
|
|
594
|
+
action="store_true",
|
|
595
|
+
help="Skip confirmation prompts",
|
|
596
|
+
)
|
|
544
597
|
except ImportError:
|
|
545
598
|
# Commands module may not be available during testing or refactoring
|
|
546
599
|
pass
|