claude-mpm 4.21.0__py3-none-any.whl → 5.0.2__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_PM.md +12 -0
- claude_mpm/agents/OUTPUT_STYLE.md +3 -48
- claude_mpm/agents/PM_INSTRUCTIONS.md +632 -334
- 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/frontmatter_validator.py +1 -1
- claude_mpm/agents/templates/{circuit_breakers.md → circuit-breakers.md} +370 -3
- 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 +38 -2
- claude_mpm/cli/commands/agent_source.py +774 -0
- claude_mpm/cli/commands/agent_state_manager.py +125 -20
- claude_mpm/cli/commands/agents.py +684 -13
- 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 +2 -6
- claude_mpm/cli/commands/cleanup.py +1 -1
- claude_mpm/cli/commands/config.py +7 -4
- claude_mpm/cli/commands/configure.py +478 -44
- 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/run.py +124 -128
- claude_mpm/cli/commands/skill_source.py +694 -0
- claude_mpm/cli/commands/skills.py +435 -1
- claude_mpm/cli/executor.py +78 -3
- claude_mpm/cli/interactive/agent_wizard.py +919 -41
- claude_mpm/cli/parsers/agent_source_parser.py +171 -0
- claude_mpm/cli/parsers/agents_parser.py +173 -4
- claude_mpm/cli/parsers/base_parser.py +49 -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 +138 -0
- claude_mpm/cli/parsers/source_parser.py +138 -0
- claude_mpm/cli/startup.py +499 -84
- 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-session-resume.md +381 -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 +11 -0
- claude_mpm/config/agent_presets.py +258 -0
- claude_mpm/config/agent_sources.py +325 -0
- claude_mpm/config/skill_sources.py +590 -0
- claude_mpm/constants.py +12 -0
- claude_mpm/core/api_validator.py +1 -1
- claude_mpm/core/claude_runner.py +17 -10
- 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/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 +112 -5
- claude_mpm/core/logger.py +3 -1
- claude_mpm/core/oneshot_session.py +94 -4
- 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/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/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/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 +115 -15
- 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 +363 -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 +1055 -0
- claude_mpm/services/agents/startup_sync.py +239 -0
- claude_mpm/services/agents/toolchain_detector.py +474 -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 +92 -1
- claude_mpm/services/core/base.py +26 -11
- 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/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/event_bus/relay.py +23 -7
- 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_gateway/config/configuration.py +1 -1
- 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/memory/failure_tracker.py +19 -4
- claude_mpm/services/memory/optimizer.py +1 -1
- claude_mpm/services/model/model_router.py +8 -9
- claude_mpm/services/monitor/daemon.py +1 -1
- 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/toolchain_analyzer.py +3 -1
- claude_mpm/services/runner_configuration_service.py +1 -0
- claude_mpm/services/self_upgrade_service.py +165 -7
- 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/__init__.py +45 -0
- claude_mpm/tools/code_tree_analyzer/analysis.py +299 -0
- claude_mpm/tools/code_tree_analyzer/cache.py +131 -0
- claude_mpm/tools/code_tree_analyzer/core.py +380 -0
- claude_mpm/tools/code_tree_analyzer/discovery.py +403 -0
- claude_mpm/tools/code_tree_analyzer/events.py +168 -0
- claude_mpm/tools/code_tree_analyzer/gitignore.py +308 -0
- claude_mpm/tools/code_tree_analyzer/models.py +39 -0
- claude_mpm/tools/code_tree_analyzer/multilang_analyzer.py +224 -0
- claude_mpm/tools/code_tree_analyzer/python_analyzer.py +284 -0
- claude_mpm/utils/agent_dependency_loader.py +80 -13
- claude_mpm/utils/dependency_cache.py +3 -1
- claude_mpm/utils/gitignore.py +241 -0
- claude_mpm/utils/log_cleanup.py +3 -3
- claude_mpm/utils/progress.py +383 -0
- claude_mpm/utils/robust_installer.py +3 -5
- claude_mpm/utils/structured_questions.py +619 -0
- {claude_mpm-4.21.0.dist-info → claude_mpm-5.0.2.dist-info}/METADATA +429 -59
- {claude_mpm-4.21.0.dist-info → claude_mpm-5.0.2.dist-info}/RECORD +264 -427
- 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/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/tools/code_tree_analyzer.py +0 -1825
- /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.0.dist-info → claude_mpm-5.0.2.dist-info}/WHEEL +0 -0
- {claude_mpm-4.21.0.dist-info → claude_mpm-5.0.2.dist-info}/entry_points.txt +0 -0
- {claude_mpm-4.21.0.dist-info → claude_mpm-5.0.2.dist-info}/licenses/LICENSE +0 -0
- {claude_mpm-4.21.0.dist-info → claude_mpm-5.0.2.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,33 @@ 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
|
+
|
|
278
447
|
return agents_parser
|
|
@@ -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
|
|
|
@@ -541,6 +562,34 @@ def create_parser(
|
|
|
541
562
|
from ..commands.verify import add_parser as add_verify_parser
|
|
542
563
|
|
|
543
564
|
add_verify_parser(subparsers)
|
|
565
|
+
|
|
566
|
+
# Add hook-errors command for managing hook error memory
|
|
567
|
+
hook_errors_parser = subparsers.add_parser(
|
|
568
|
+
"hook-errors",
|
|
569
|
+
help="Manage hook error memory and diagnostics",
|
|
570
|
+
)
|
|
571
|
+
hook_errors_parser.add_argument(
|
|
572
|
+
"hook_errors_command",
|
|
573
|
+
nargs="?",
|
|
574
|
+
choices=["list", "summary", "clear", "diagnose", "status"],
|
|
575
|
+
help="Hook errors subcommand",
|
|
576
|
+
)
|
|
577
|
+
hook_errors_parser.add_argument(
|
|
578
|
+
"--format",
|
|
579
|
+
choices=["table", "json"],
|
|
580
|
+
default="table",
|
|
581
|
+
help="Output format for list command",
|
|
582
|
+
)
|
|
583
|
+
hook_errors_parser.add_argument(
|
|
584
|
+
"--hook-type",
|
|
585
|
+
help="Filter by specific hook type",
|
|
586
|
+
)
|
|
587
|
+
hook_errors_parser.add_argument(
|
|
588
|
+
"-y",
|
|
589
|
+
"--yes",
|
|
590
|
+
action="store_true",
|
|
591
|
+
help="Skip confirmation prompts",
|
|
592
|
+
)
|
|
544
593
|
except ImportError:
|
|
545
594
|
# Commands module may not be available during testing or refactoring
|
|
546
595
|
pass
|
|
@@ -1,27 +1,26 @@
|
|
|
1
|
-
from pathlib import Path
|
|
2
|
-
|
|
3
1
|
"""
|
|
4
2
|
Config command parser for claude-mpm CLI.
|
|
5
3
|
|
|
6
|
-
WHY: This module
|
|
7
|
-
|
|
4
|
+
WHY: This module provides the config command which is synonymous with configure.
|
|
5
|
+
Both launch the interactive configuration TUI.
|
|
8
6
|
|
|
9
|
-
DESIGN DECISION:
|
|
10
|
-
|
|
7
|
+
DESIGN DECISION: 'config' and 'configure' are aliases - both commands provide
|
|
8
|
+
identical functionality through the interactive configuration interface.
|
|
11
9
|
"""
|
|
12
10
|
|
|
13
11
|
import argparse
|
|
14
12
|
|
|
15
|
-
from ...constants import CLICommands
|
|
13
|
+
from ...constants import CLICommands
|
|
16
14
|
from .base_parser import add_common_arguments
|
|
17
15
|
|
|
18
16
|
|
|
19
17
|
def add_config_subparser(subparsers) -> argparse.ArgumentParser:
|
|
20
18
|
"""
|
|
21
|
-
Add the config subparser
|
|
19
|
+
Add the config subparser (alias for configure).
|
|
22
20
|
|
|
23
|
-
WHY:
|
|
24
|
-
|
|
21
|
+
WHY: 'config' and 'configure' are synonymous commands that both launch
|
|
22
|
+
the interactive configuration interface. This provides a consistent
|
|
23
|
+
parser setup matching the configure command.
|
|
25
24
|
|
|
26
25
|
Args:
|
|
27
26
|
subparsers: The subparsers object from the main parser
|
|
@@ -29,57 +28,111 @@ def add_config_subparser(subparsers) -> argparse.ArgumentParser:
|
|
|
29
28
|
Returns:
|
|
30
29
|
The configured config subparser
|
|
31
30
|
"""
|
|
32
|
-
# Config command
|
|
31
|
+
# Config command - alias for configure (interactive configuration)
|
|
33
32
|
config_parser = subparsers.add_parser(
|
|
34
|
-
CLICommands.CONFIG.value,
|
|
33
|
+
CLICommands.CONFIG.value,
|
|
34
|
+
help="Interactive configuration interface for managing agents and behaviors (alias for 'configure')",
|
|
35
|
+
description="Launch an interactive Rich-based menu for configuring claude-mpm agents, templates, and behavior files",
|
|
35
36
|
)
|
|
37
|
+
|
|
38
|
+
# Add common arguments
|
|
36
39
|
add_common_arguments(config_parser)
|
|
37
40
|
|
|
38
|
-
|
|
39
|
-
|
|
41
|
+
# Configuration scope options
|
|
42
|
+
scope_group = config_parser.add_argument_group("configuration scope")
|
|
43
|
+
scope_group.add_argument(
|
|
44
|
+
"--scope",
|
|
45
|
+
choices=["project", "user"],
|
|
46
|
+
default="project",
|
|
47
|
+
help="Configuration scope to manage (default: project)",
|
|
40
48
|
)
|
|
41
49
|
|
|
42
|
-
#
|
|
43
|
-
|
|
44
|
-
|
|
50
|
+
# Direct navigation options (skip main menu)
|
|
51
|
+
nav_group = config_parser.add_argument_group("direct navigation")
|
|
52
|
+
nav_group.add_argument(
|
|
53
|
+
"--agents", action="store_true", help="Jump directly to agent management"
|
|
45
54
|
)
|
|
46
|
-
|
|
47
|
-
"--
|
|
48
|
-
|
|
49
|
-
|
|
55
|
+
nav_group.add_argument(
|
|
56
|
+
"--templates", action="store_true", help="Jump directly to template editing"
|
|
57
|
+
)
|
|
58
|
+
nav_group.add_argument(
|
|
59
|
+
"--behaviors",
|
|
60
|
+
action="store_true",
|
|
61
|
+
help="Jump directly to behavior file management",
|
|
50
62
|
)
|
|
51
|
-
|
|
52
|
-
"--
|
|
63
|
+
nav_group.add_argument(
|
|
64
|
+
"--startup",
|
|
65
|
+
action="store_true",
|
|
66
|
+
help="Configure startup services and agents",
|
|
53
67
|
)
|
|
54
|
-
|
|
55
|
-
"--
|
|
68
|
+
nav_group.add_argument(
|
|
69
|
+
"--version-info",
|
|
56
70
|
action="store_true",
|
|
57
|
-
help="
|
|
71
|
+
help="Display version information and exit",
|
|
72
|
+
)
|
|
73
|
+
|
|
74
|
+
# Non-interactive options
|
|
75
|
+
noninteractive_group = config_parser.add_argument_group("non-interactive options")
|
|
76
|
+
noninteractive_group.add_argument(
|
|
77
|
+
"--list-agents", action="store_true", help="List all available agents and exit"
|
|
78
|
+
)
|
|
79
|
+
noninteractive_group.add_argument(
|
|
80
|
+
"--enable-agent",
|
|
81
|
+
type=str,
|
|
82
|
+
metavar="AGENT_NAME",
|
|
83
|
+
help="Enable a specific agent and exit",
|
|
84
|
+
)
|
|
85
|
+
noninteractive_group.add_argument(
|
|
86
|
+
"--disable-agent",
|
|
87
|
+
type=str,
|
|
88
|
+
metavar="AGENT_NAME",
|
|
89
|
+
help="Disable a specific agent and exit",
|
|
90
|
+
)
|
|
91
|
+
noninteractive_group.add_argument(
|
|
92
|
+
"--export-config",
|
|
93
|
+
type=str,
|
|
94
|
+
metavar="FILE",
|
|
95
|
+
help="Export current configuration to a file",
|
|
96
|
+
)
|
|
97
|
+
noninteractive_group.add_argument(
|
|
98
|
+
"--import-config",
|
|
99
|
+
type=str,
|
|
100
|
+
metavar="FILE",
|
|
101
|
+
help="Import configuration from a file",
|
|
58
102
|
)
|
|
59
103
|
|
|
60
|
-
#
|
|
61
|
-
|
|
62
|
-
|
|
104
|
+
# Hook management options
|
|
105
|
+
hooks_group = config_parser.add_argument_group("hook management")
|
|
106
|
+
hooks_group.add_argument(
|
|
107
|
+
"--install-hooks",
|
|
108
|
+
action="store_true",
|
|
109
|
+
help="Install Claude MPM hooks for Claude Code integration",
|
|
63
110
|
)
|
|
64
|
-
|
|
65
|
-
"--
|
|
111
|
+
hooks_group.add_argument(
|
|
112
|
+
"--verify-hooks",
|
|
113
|
+
action="store_true",
|
|
114
|
+
help="Verify that Claude MPM hooks are properly installed",
|
|
66
115
|
)
|
|
67
|
-
|
|
68
|
-
"--
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
help="Output format (default: yaml)",
|
|
116
|
+
hooks_group.add_argument(
|
|
117
|
+
"--uninstall-hooks",
|
|
118
|
+
action="store_true",
|
|
119
|
+
help="Uninstall Claude MPM hooks",
|
|
72
120
|
)
|
|
73
|
-
|
|
74
|
-
"--
|
|
121
|
+
hooks_group.add_argument(
|
|
122
|
+
"--force",
|
|
123
|
+
action="store_true",
|
|
124
|
+
help="Force reinstallation of hooks even if they already exist",
|
|
75
125
|
)
|
|
76
126
|
|
|
77
|
-
#
|
|
78
|
-
|
|
79
|
-
|
|
127
|
+
# Display options
|
|
128
|
+
display_group = config_parser.add_argument_group("display options")
|
|
129
|
+
display_group.add_argument(
|
|
130
|
+
"--no-colors",
|
|
131
|
+
action="store_true",
|
|
132
|
+
help="Disable colored output in the interface",
|
|
80
133
|
)
|
|
81
|
-
|
|
82
|
-
"--
|
|
134
|
+
display_group.add_argument(
|
|
135
|
+
"--compact", action="store_true", help="Use compact display mode"
|
|
83
136
|
)
|
|
84
137
|
|
|
85
138
|
return config_parser
|