claude-mpm 4.21.3__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 +11 -2
- claude_mpm/commands/mpm-init.md +27 -2
- claude_mpm/commands/mpm-monitor.md +9 -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 +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/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/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/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/analysis.py +1 -1
- 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.3.dist-info → claude_mpm-5.0.2.dist-info}/METADATA +429 -59
- {claude_mpm-4.21.3.dist-info → claude_mpm-5.0.2.dist-info}/RECORD +252 -425
- 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/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.0.2.dist-info}/WHEEL +0 -0
- {claude_mpm-4.21.3.dist-info → claude_mpm-5.0.2.dist-info}/entry_points.txt +0 -0
- {claude_mpm-4.21.3.dist-info → claude_mpm-5.0.2.dist-info}/licenses/LICENSE +0 -0
- {claude_mpm-4.21.3.dist-info → claude_mpm-5.0.2.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
"""Skill source command parser for skill repository management.
|
|
2
|
+
|
|
3
|
+
WHY: This module provides CLI commands for managing skill source repositories
|
|
4
|
+
(Git repositories containing skill JSON files). Parallel to agent source management
|
|
5
|
+
but for the Skills feature (single-tier Git-based skills system).
|
|
6
|
+
|
|
7
|
+
DESIGN DECISION: Skill source management is separate from skill deployment to
|
|
8
|
+
maintain clear separation of concerns:
|
|
9
|
+
- skill-source commands: Manage repository configuration
|
|
10
|
+
- skills commands: View and interact with skills themselves
|
|
11
|
+
"""
|
|
12
|
+
|
|
13
|
+
import argparse
|
|
14
|
+
|
|
15
|
+
from .base_parser import add_common_arguments
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
def add_skill_source_subparser(subparsers) -> argparse.ArgumentParser:
|
|
19
|
+
"""Add the skill-source subparser with all repository management commands.
|
|
20
|
+
|
|
21
|
+
WHY: Skill sources (Git repositories) need their own command group
|
|
22
|
+
for managing repository configuration, priorities, and synchronization.
|
|
23
|
+
|
|
24
|
+
Args:
|
|
25
|
+
subparsers: The subparsers object from the main parser
|
|
26
|
+
|
|
27
|
+
Returns:
|
|
28
|
+
The configured skill-source subparser
|
|
29
|
+
"""
|
|
30
|
+
# Skill source command with subcommands
|
|
31
|
+
skill_source_parser = subparsers.add_parser(
|
|
32
|
+
"skill-source",
|
|
33
|
+
help="Manage skill source repositories",
|
|
34
|
+
)
|
|
35
|
+
add_common_arguments(skill_source_parser)
|
|
36
|
+
|
|
37
|
+
skill_source_subparsers = skill_source_parser.add_subparsers(
|
|
38
|
+
dest="skill_source_command",
|
|
39
|
+
help="Skill source repository commands",
|
|
40
|
+
metavar="SUBCOMMAND",
|
|
41
|
+
)
|
|
42
|
+
|
|
43
|
+
# Add repository
|
|
44
|
+
add_parser = skill_source_subparsers.add_parser(
|
|
45
|
+
"add",
|
|
46
|
+
help="Add a new skill source repository",
|
|
47
|
+
)
|
|
48
|
+
add_parser.add_argument(
|
|
49
|
+
"url",
|
|
50
|
+
help="Git repository URL (e.g., https://github.com/owner/repo)",
|
|
51
|
+
)
|
|
52
|
+
add_parser.add_argument(
|
|
53
|
+
"--branch",
|
|
54
|
+
default="main",
|
|
55
|
+
help="Git branch to use (default: main)",
|
|
56
|
+
)
|
|
57
|
+
add_parser.add_argument(
|
|
58
|
+
"--priority",
|
|
59
|
+
type=int,
|
|
60
|
+
default=100,
|
|
61
|
+
help="Priority for conflict resolution (lower = higher precedence, default: 100)",
|
|
62
|
+
)
|
|
63
|
+
add_parser.add_argument(
|
|
64
|
+
"--disabled",
|
|
65
|
+
action="store_true",
|
|
66
|
+
help="Add repository but keep it disabled",
|
|
67
|
+
)
|
|
68
|
+
add_parser.add_argument(
|
|
69
|
+
"--test",
|
|
70
|
+
action="store_true",
|
|
71
|
+
help="Test repository access without saving to configuration",
|
|
72
|
+
)
|
|
73
|
+
add_parser.add_argument(
|
|
74
|
+
"--no-test",
|
|
75
|
+
action="store_true",
|
|
76
|
+
dest="skip_test",
|
|
77
|
+
help="Skip immediate testing (not recommended)",
|
|
78
|
+
)
|
|
79
|
+
|
|
80
|
+
# Remove repository
|
|
81
|
+
remove_parser = skill_source_subparsers.add_parser(
|
|
82
|
+
"remove",
|
|
83
|
+
help="Remove a skill source repository",
|
|
84
|
+
)
|
|
85
|
+
remove_parser.add_argument(
|
|
86
|
+
"source_id",
|
|
87
|
+
help="Source identifier (e.g., repository name)",
|
|
88
|
+
)
|
|
89
|
+
remove_parser.add_argument(
|
|
90
|
+
"--force",
|
|
91
|
+
action="store_true",
|
|
92
|
+
help="Skip confirmation prompt",
|
|
93
|
+
)
|
|
94
|
+
|
|
95
|
+
# List repositories
|
|
96
|
+
list_parser = skill_source_subparsers.add_parser(
|
|
97
|
+
"list",
|
|
98
|
+
help="List configured skill source repositories",
|
|
99
|
+
)
|
|
100
|
+
list_parser.add_argument(
|
|
101
|
+
"--by-priority",
|
|
102
|
+
action="store_true",
|
|
103
|
+
dest="by_priority",
|
|
104
|
+
help="Sort by priority (lowest first)",
|
|
105
|
+
)
|
|
106
|
+
list_parser.add_argument(
|
|
107
|
+
"--enabled-only",
|
|
108
|
+
action="store_true",
|
|
109
|
+
dest="enabled_only",
|
|
110
|
+
help="Show only enabled repositories",
|
|
111
|
+
)
|
|
112
|
+
list_parser.add_argument(
|
|
113
|
+
"--json",
|
|
114
|
+
action="store_true",
|
|
115
|
+
help="Output as JSON",
|
|
116
|
+
)
|
|
117
|
+
|
|
118
|
+
# Update/sync repositories
|
|
119
|
+
update_parser = skill_source_subparsers.add_parser(
|
|
120
|
+
"update",
|
|
121
|
+
help="Update (sync) skill sources from Git",
|
|
122
|
+
)
|
|
123
|
+
update_parser.add_argument(
|
|
124
|
+
"source_id",
|
|
125
|
+
nargs="?",
|
|
126
|
+
help="Optional: Update only this repository (default: update all)",
|
|
127
|
+
)
|
|
128
|
+
update_parser.add_argument(
|
|
129
|
+
"--force",
|
|
130
|
+
action="store_true",
|
|
131
|
+
help="Force update even if cache is fresh",
|
|
132
|
+
)
|
|
133
|
+
|
|
134
|
+
# Enable repository
|
|
135
|
+
enable_parser = skill_source_subparsers.add_parser(
|
|
136
|
+
"enable",
|
|
137
|
+
help="Enable a disabled repository",
|
|
138
|
+
)
|
|
139
|
+
enable_parser.add_argument(
|
|
140
|
+
"source_id",
|
|
141
|
+
help="Source identifier to enable",
|
|
142
|
+
)
|
|
143
|
+
|
|
144
|
+
# Disable repository
|
|
145
|
+
disable_parser = skill_source_subparsers.add_parser(
|
|
146
|
+
"disable",
|
|
147
|
+
help="Disable a repository",
|
|
148
|
+
)
|
|
149
|
+
disable_parser.add_argument(
|
|
150
|
+
"source_id",
|
|
151
|
+
help="Source identifier to disable",
|
|
152
|
+
)
|
|
153
|
+
|
|
154
|
+
# Show repository details
|
|
155
|
+
show_parser = skill_source_subparsers.add_parser(
|
|
156
|
+
"show",
|
|
157
|
+
help="Show details for a skill source",
|
|
158
|
+
)
|
|
159
|
+
show_parser.add_argument(
|
|
160
|
+
"source_id",
|
|
161
|
+
help="Source identifier to show",
|
|
162
|
+
)
|
|
163
|
+
show_parser.add_argument(
|
|
164
|
+
"--skills",
|
|
165
|
+
action="store_true",
|
|
166
|
+
help="Also list skills from this source",
|
|
167
|
+
)
|
|
168
|
+
|
|
169
|
+
return skill_source_parser
|
|
@@ -134,4 +134,142 @@ def add_skills_subparser(subparsers) -> argparse.ArgumentParser:
|
|
|
134
134
|
help="Show configuration file path",
|
|
135
135
|
)
|
|
136
136
|
|
|
137
|
+
# GitHub deployment commands
|
|
138
|
+
# Deploy from GitHub command
|
|
139
|
+
deploy_github_parser = skills_subparsers.add_parser(
|
|
140
|
+
SkillsCommands.DEPLOY_FROM_GITHUB.value,
|
|
141
|
+
help="Deploy skills from GitHub to ~/.claude/skills/ for Claude Code",
|
|
142
|
+
)
|
|
143
|
+
deploy_github_parser.add_argument(
|
|
144
|
+
"--collection",
|
|
145
|
+
"-c",
|
|
146
|
+
help="Collection to deploy from (default: uses default collection)",
|
|
147
|
+
)
|
|
148
|
+
deploy_github_parser.add_argument(
|
|
149
|
+
"--toolchain",
|
|
150
|
+
nargs="+",
|
|
151
|
+
help="Filter by toolchain/language (e.g., python javascript rust)",
|
|
152
|
+
)
|
|
153
|
+
deploy_github_parser.add_argument(
|
|
154
|
+
"--categories",
|
|
155
|
+
nargs="+",
|
|
156
|
+
help="Filter by categories (e.g., testing debugging web)",
|
|
157
|
+
)
|
|
158
|
+
deploy_github_parser.add_argument(
|
|
159
|
+
"--force",
|
|
160
|
+
action="store_true",
|
|
161
|
+
help="Force redeployment of already deployed skills",
|
|
162
|
+
)
|
|
163
|
+
deploy_github_parser.add_argument(
|
|
164
|
+
"--all",
|
|
165
|
+
action="store_true",
|
|
166
|
+
help="Deploy all available skills (no filtering)",
|
|
167
|
+
)
|
|
168
|
+
|
|
169
|
+
# List available GitHub skills
|
|
170
|
+
list_available_parser = skills_subparsers.add_parser(
|
|
171
|
+
SkillsCommands.LIST_AVAILABLE.value,
|
|
172
|
+
help="List all available skills from GitHub repository",
|
|
173
|
+
)
|
|
174
|
+
list_available_parser.add_argument(
|
|
175
|
+
"--collection",
|
|
176
|
+
"-c",
|
|
177
|
+
help="Collection to list from (default: uses default collection)",
|
|
178
|
+
)
|
|
179
|
+
list_available_parser.add_argument(
|
|
180
|
+
"--verbose",
|
|
181
|
+
"-v",
|
|
182
|
+
action="store_true",
|
|
183
|
+
help="Show detailed skill information including names",
|
|
184
|
+
)
|
|
185
|
+
|
|
186
|
+
# Check deployed skills
|
|
187
|
+
skills_subparsers.add_parser(
|
|
188
|
+
SkillsCommands.CHECK_DEPLOYED.value,
|
|
189
|
+
help="Check which skills are currently deployed in ~/.claude/skills/",
|
|
190
|
+
)
|
|
191
|
+
|
|
192
|
+
# Remove skills
|
|
193
|
+
remove_parser = skills_subparsers.add_parser(
|
|
194
|
+
SkillsCommands.REMOVE.value,
|
|
195
|
+
help="Remove deployed skills from ~/.claude/skills/",
|
|
196
|
+
)
|
|
197
|
+
remove_parser.add_argument(
|
|
198
|
+
"skill_names",
|
|
199
|
+
nargs="*",
|
|
200
|
+
help="Specific skills to remove",
|
|
201
|
+
)
|
|
202
|
+
remove_parser.add_argument(
|
|
203
|
+
"--all",
|
|
204
|
+
action="store_true",
|
|
205
|
+
help="Remove all deployed skills",
|
|
206
|
+
)
|
|
207
|
+
|
|
208
|
+
# Collection management commands
|
|
209
|
+
# List collections
|
|
210
|
+
skills_subparsers.add_parser(
|
|
211
|
+
SkillsCommands.COLLECTION_LIST.value,
|
|
212
|
+
help="List all configured skill collections",
|
|
213
|
+
)
|
|
214
|
+
|
|
215
|
+
# Add collection
|
|
216
|
+
collection_add_parser = skills_subparsers.add_parser(
|
|
217
|
+
SkillsCommands.COLLECTION_ADD.value,
|
|
218
|
+
help="Add a new skill collection from GitHub",
|
|
219
|
+
)
|
|
220
|
+
collection_add_parser.add_argument(
|
|
221
|
+
"collection_name",
|
|
222
|
+
help="Name for the collection (e.g., obra-superpowers)",
|
|
223
|
+
)
|
|
224
|
+
collection_add_parser.add_argument(
|
|
225
|
+
"collection_url",
|
|
226
|
+
help="GitHub repository URL (e.g., https://github.com/obra/superpowers)",
|
|
227
|
+
)
|
|
228
|
+
collection_add_parser.add_argument(
|
|
229
|
+
"--priority",
|
|
230
|
+
type=int,
|
|
231
|
+
default=99,
|
|
232
|
+
help="Collection priority (lower = higher priority, default: 99)",
|
|
233
|
+
)
|
|
234
|
+
|
|
235
|
+
# Remove collection
|
|
236
|
+
collection_remove_parser = skills_subparsers.add_parser(
|
|
237
|
+
SkillsCommands.COLLECTION_REMOVE.value,
|
|
238
|
+
help="Remove a skill collection",
|
|
239
|
+
)
|
|
240
|
+
collection_remove_parser.add_argument(
|
|
241
|
+
"collection_name",
|
|
242
|
+
help="Name of the collection to remove",
|
|
243
|
+
)
|
|
244
|
+
|
|
245
|
+
# Enable collection
|
|
246
|
+
collection_enable_parser = skills_subparsers.add_parser(
|
|
247
|
+
SkillsCommands.COLLECTION_ENABLE.value,
|
|
248
|
+
help="Enable a disabled collection",
|
|
249
|
+
)
|
|
250
|
+
collection_enable_parser.add_argument(
|
|
251
|
+
"collection_name",
|
|
252
|
+
help="Name of the collection to enable",
|
|
253
|
+
)
|
|
254
|
+
|
|
255
|
+
# Disable collection
|
|
256
|
+
collection_disable_parser = skills_subparsers.add_parser(
|
|
257
|
+
SkillsCommands.COLLECTION_DISABLE.value,
|
|
258
|
+
help="Disable a collection without removing it",
|
|
259
|
+
)
|
|
260
|
+
collection_disable_parser.add_argument(
|
|
261
|
+
"collection_name",
|
|
262
|
+
help="Name of the collection to disable",
|
|
263
|
+
)
|
|
264
|
+
|
|
265
|
+
# Set default collection
|
|
266
|
+
collection_set_default_parser = skills_subparsers.add_parser(
|
|
267
|
+
SkillsCommands.COLLECTION_SET_DEFAULT.value,
|
|
268
|
+
help="Set the default collection for deployments",
|
|
269
|
+
)
|
|
270
|
+
collection_set_default_parser.add_argument(
|
|
271
|
+
"collection_name",
|
|
272
|
+
help="Name of the collection to set as default",
|
|
273
|
+
)
|
|
274
|
+
|
|
137
275
|
return skills_parser
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
"""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). Extracted into its own
|
|
5
|
+
module to support the single-tier deployment migration (Phase 2).
|
|
6
|
+
|
|
7
|
+
DESIGN DECISION: Source management is separate from agent deployment to
|
|
8
|
+
maintain clear separation of concerns:
|
|
9
|
+
- source commands: Manage repository configuration
|
|
10
|
+
- agents commands: Deploy and manage agents themselves
|
|
11
|
+
"""
|
|
12
|
+
|
|
13
|
+
import argparse
|
|
14
|
+
|
|
15
|
+
from .base_parser import add_common_arguments
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
def add_source_subparser(subparsers) -> argparse.ArgumentParser:
|
|
19
|
+
"""Add the source subparser with all repository management commands.
|
|
20
|
+
|
|
21
|
+
WHY: Agent sources (Git repositories) need their own command group
|
|
22
|
+
for managing repository configuration, priorities, and synchronization.
|
|
23
|
+
|
|
24
|
+
Args:
|
|
25
|
+
subparsers: The subparsers object from the main parser
|
|
26
|
+
|
|
27
|
+
Returns:
|
|
28
|
+
The configured source subparser
|
|
29
|
+
"""
|
|
30
|
+
# Source command with subcommands
|
|
31
|
+
source_parser = subparsers.add_parser(
|
|
32
|
+
"source",
|
|
33
|
+
help="Manage agent source repositories",
|
|
34
|
+
)
|
|
35
|
+
add_common_arguments(source_parser)
|
|
36
|
+
|
|
37
|
+
source_subparsers = source_parser.add_subparsers(
|
|
38
|
+
dest="source_command",
|
|
39
|
+
help="Source repository commands",
|
|
40
|
+
metavar="SUBCOMMAND",
|
|
41
|
+
)
|
|
42
|
+
|
|
43
|
+
# Add repository
|
|
44
|
+
add_parser = source_subparsers.add_parser(
|
|
45
|
+
"add",
|
|
46
|
+
help="Add a new agent source repository",
|
|
47
|
+
)
|
|
48
|
+
add_parser.add_argument(
|
|
49
|
+
"url",
|
|
50
|
+
help="GitHub repository URL (e.g., https://github.com/owner/repo)",
|
|
51
|
+
)
|
|
52
|
+
add_parser.add_argument(
|
|
53
|
+
"--subdirectory",
|
|
54
|
+
"--subdir",
|
|
55
|
+
help="Subdirectory path within repository (e.g., 'agents')",
|
|
56
|
+
)
|
|
57
|
+
add_parser.add_argument(
|
|
58
|
+
"--priority",
|
|
59
|
+
type=int,
|
|
60
|
+
default=100,
|
|
61
|
+
help="Priority for conflict resolution (lower = higher precedence, default: 100)",
|
|
62
|
+
)
|
|
63
|
+
add_parser.add_argument(
|
|
64
|
+
"--disabled",
|
|
65
|
+
action="store_true",
|
|
66
|
+
help="Add repository but keep it disabled",
|
|
67
|
+
)
|
|
68
|
+
|
|
69
|
+
# Remove repository
|
|
70
|
+
remove_parser = source_subparsers.add_parser(
|
|
71
|
+
"remove",
|
|
72
|
+
help="Remove an agent source repository",
|
|
73
|
+
)
|
|
74
|
+
remove_parser.add_argument(
|
|
75
|
+
"identifier",
|
|
76
|
+
help="Repository identifier (e.g., 'owner/repo' or 'owner/repo/subdirectory')",
|
|
77
|
+
)
|
|
78
|
+
|
|
79
|
+
# List repositories
|
|
80
|
+
list_parser = source_subparsers.add_parser(
|
|
81
|
+
"list",
|
|
82
|
+
help="List configured agent source repositories",
|
|
83
|
+
)
|
|
84
|
+
list_parser.add_argument(
|
|
85
|
+
"--all",
|
|
86
|
+
action="store_true",
|
|
87
|
+
dest="show_all",
|
|
88
|
+
help="Show disabled repositories (default: only enabled)",
|
|
89
|
+
)
|
|
90
|
+
|
|
91
|
+
# Enable repository
|
|
92
|
+
enable_parser = source_subparsers.add_parser(
|
|
93
|
+
"enable",
|
|
94
|
+
help="Enable a disabled repository",
|
|
95
|
+
)
|
|
96
|
+
enable_parser.add_argument(
|
|
97
|
+
"identifier",
|
|
98
|
+
help="Repository identifier to enable",
|
|
99
|
+
)
|
|
100
|
+
|
|
101
|
+
# Disable repository
|
|
102
|
+
disable_parser = source_subparsers.add_parser(
|
|
103
|
+
"disable",
|
|
104
|
+
help="Disable a repository",
|
|
105
|
+
)
|
|
106
|
+
disable_parser.add_argument(
|
|
107
|
+
"identifier",
|
|
108
|
+
help="Repository identifier to disable",
|
|
109
|
+
)
|
|
110
|
+
|
|
111
|
+
# Disable system repository
|
|
112
|
+
disable_system_parser = source_subparsers.add_parser(
|
|
113
|
+
"disable-system",
|
|
114
|
+
help="Disable or enable the default system repository",
|
|
115
|
+
)
|
|
116
|
+
disable_system_parser.add_argument(
|
|
117
|
+
"--enable",
|
|
118
|
+
action="store_true",
|
|
119
|
+
help="Re-enable system repository instead of disabling",
|
|
120
|
+
)
|
|
121
|
+
|
|
122
|
+
# Sync repositories
|
|
123
|
+
sync_parser = source_subparsers.add_parser(
|
|
124
|
+
"sync",
|
|
125
|
+
help="Sync agent sources from Git",
|
|
126
|
+
)
|
|
127
|
+
sync_parser.add_argument(
|
|
128
|
+
"--force",
|
|
129
|
+
action="store_true",
|
|
130
|
+
help="Force sync even if cache is fresh (ignore ETags)",
|
|
131
|
+
)
|
|
132
|
+
sync_parser.add_argument(
|
|
133
|
+
"identifier",
|
|
134
|
+
nargs="?",
|
|
135
|
+
help="Optional: Sync only this repository (default: sync all)",
|
|
136
|
+
)
|
|
137
|
+
|
|
138
|
+
return source_parser
|