claude-mpm 5.0.9__py3-none-any.whl → 5.4.41__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of claude-mpm might be problematic. Click here for more details.
- claude_mpm/VERSION +1 -1
- claude_mpm/__init__.py +4 -0
- claude_mpm/agents/BASE_AGENT.md +164 -0
- claude_mpm/agents/{PM_INSTRUCTIONS_TEACH.md → CLAUDE_MPM_TEACHER_OUTPUT_STYLE.md} +721 -41
- claude_mpm/agents/MEMORY.md +1 -1
- claude_mpm/agents/PM_INSTRUCTIONS.md +468 -468
- claude_mpm/agents/WORKFLOW.md +5 -254
- claude_mpm/agents/agent_loader.py +13 -44
- claude_mpm/agents/base_agent.json +1 -1
- claude_mpm/agents/frontmatter_validator.py +70 -2
- claude_mpm/agents/templates/circuit-breakers.md +431 -45
- claude_mpm/cli/__init__.py +0 -1
- claude_mpm/cli/__main__.py +4 -0
- claude_mpm/cli/chrome_devtools_installer.py +175 -0
- claude_mpm/cli/commands/agent_state_manager.py +18 -27
- claude_mpm/cli/commands/agents.py +175 -37
- claude_mpm/cli/commands/auto_configure.py +723 -236
- claude_mpm/cli/commands/config.py +88 -2
- claude_mpm/cli/commands/configure.py +1262 -157
- claude_mpm/cli/commands/configure_agent_display.py +25 -6
- claude_mpm/cli/commands/mpm_init/core.py +225 -46
- claude_mpm/cli/commands/mpm_init/knowledge_extractor.py +481 -0
- claude_mpm/cli/commands/mpm_init/prompts.py +280 -0
- claude_mpm/cli/commands/postmortem.py +1 -1
- claude_mpm/cli/commands/profile.py +277 -0
- claude_mpm/cli/commands/skills.py +214 -189
- claude_mpm/cli/commands/summarize.py +413 -0
- claude_mpm/cli/executor.py +21 -3
- claude_mpm/cli/interactive/agent_wizard.py +85 -10
- claude_mpm/cli/parsers/agents_parser.py +54 -9
- claude_mpm/cli/parsers/auto_configure_parser.py +13 -138
- claude_mpm/cli/parsers/base_parser.py +12 -0
- claude_mpm/cli/parsers/config_parser.py +153 -83
- claude_mpm/cli/parsers/profile_parser.py +148 -0
- claude_mpm/cli/parsers/skills_parser.py +3 -2
- claude_mpm/cli/startup.py +879 -149
- claude_mpm/commands/mpm-config.md +28 -0
- claude_mpm/commands/mpm-doctor.md +9 -22
- claude_mpm/commands/mpm-help.md +5 -287
- claude_mpm/commands/mpm-init.md +81 -507
- claude_mpm/commands/mpm-monitor.md +15 -402
- claude_mpm/commands/mpm-organize.md +120 -0
- claude_mpm/commands/mpm-postmortem.md +6 -108
- claude_mpm/commands/mpm-session-resume.md +12 -363
- claude_mpm/commands/mpm-status.md +5 -69
- claude_mpm/commands/mpm-ticket-view.md +52 -495
- claude_mpm/commands/mpm-version.md +5 -107
- claude_mpm/config/agent_sources.py +27 -0
- claude_mpm/core/config.py +2 -4
- claude_mpm/core/framework/formatters/content_formatter.py +3 -13
- claude_mpm/core/framework/loaders/agent_loader.py +8 -5
- claude_mpm/core/framework/loaders/instruction_loader.py +52 -11
- claude_mpm/core/framework_loader.py +4 -2
- claude_mpm/core/logger.py +13 -0
- claude_mpm/core/optimized_startup.py +59 -0
- claude_mpm/core/output_style_manager.py +173 -43
- claude_mpm/core/shared/config_loader.py +1 -1
- claude_mpm/core/socketio_pool.py +3 -3
- claude_mpm/core/unified_agent_registry.py +134 -16
- claude_mpm/core/unified_config.py +22 -0
- claude_mpm/dashboard/static/svelte-build/_app/env.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/assets/0.B_FtCwCQ.css +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/assets/2.Cl_eSA4x.css +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/BgChzWQ1.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/CIXEwuWe.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/CWc5urbQ.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/DMkZpdF2.js +2 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/DjhvlsAc.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/N4qtv3Hx.js +2 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/uj46x2Wr.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/entry/app.DTL5mJO-.js +2 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/entry/start.DzuEhzqh.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/nodes/0.CAGBuiOw.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/nodes/1.DFLC8jdE.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/nodes/2.DPvEihJJ.js +10 -0
- claude_mpm/dashboard/static/svelte-build/_app/version.json +1 -0
- claude_mpm/dashboard/static/svelte-build/favicon.svg +7 -0
- claude_mpm/dashboard/static/svelte-build/index.html +36 -0
- claude_mpm/hooks/claude_hooks/__pycache__/__init__.cpython-311.pyc +0 -0
- claude_mpm/hooks/claude_hooks/__pycache__/correlation_manager.cpython-311.pyc +0 -0
- claude_mpm/hooks/claude_hooks/__pycache__/event_handlers.cpython-311.pyc +0 -0
- claude_mpm/hooks/claude_hooks/__pycache__/hook_handler.cpython-311.pyc +0 -0
- claude_mpm/hooks/claude_hooks/__pycache__/installer.cpython-311.pyc +0 -0
- claude_mpm/hooks/claude_hooks/__pycache__/memory_integration.cpython-311.pyc +0 -0
- claude_mpm/hooks/claude_hooks/__pycache__/response_tracking.cpython-311.pyc +0 -0
- claude_mpm/hooks/claude_hooks/__pycache__/tool_analysis.cpython-311.pyc +0 -0
- claude_mpm/hooks/claude_hooks/correlation_manager.py +60 -0
- claude_mpm/hooks/claude_hooks/event_handlers.py +211 -78
- claude_mpm/hooks/claude_hooks/hook_handler.py +155 -1
- claude_mpm/hooks/claude_hooks/installer.py +33 -10
- claude_mpm/hooks/claude_hooks/memory_integration.py +28 -0
- claude_mpm/hooks/claude_hooks/response_tracking.py +2 -3
- claude_mpm/hooks/claude_hooks/services/__pycache__/__init__.cpython-311.pyc +0 -0
- claude_mpm/hooks/claude_hooks/services/__pycache__/connection_manager.cpython-311.pyc +0 -0
- claude_mpm/hooks/claude_hooks/services/__pycache__/connection_manager_http.cpython-311.pyc +0 -0
- claude_mpm/hooks/claude_hooks/services/__pycache__/duplicate_detector.cpython-311.pyc +0 -0
- claude_mpm/hooks/claude_hooks/services/__pycache__/state_manager.cpython-311.pyc +0 -0
- claude_mpm/hooks/claude_hooks/services/__pycache__/subagent_processor.cpython-311.pyc +0 -0
- claude_mpm/hooks/claude_hooks/services/connection_manager.py +30 -6
- claude_mpm/hooks/memory_integration_hook.py +46 -1
- claude_mpm/init.py +63 -19
- claude_mpm/models/agent_definition.py +7 -0
- claude_mpm/models/git_repository.py +3 -3
- claude_mpm/scripts/claude-hook-handler.sh +58 -18
- claude_mpm/scripts/launch_monitor.py +93 -13
- claude_mpm/scripts/start_activity_logging.py +0 -0
- claude_mpm/services/agents/agent_builder.py +3 -3
- claude_mpm/services/agents/agent_recommendation_service.py +278 -0
- claude_mpm/services/agents/agent_review_service.py +280 -0
- claude_mpm/services/agents/cache_git_manager.py +6 -6
- claude_mpm/services/agents/deployment/agent_deployment.py +29 -7
- claude_mpm/services/agents/deployment/agent_discovery_service.py +4 -5
- claude_mpm/services/agents/deployment/agent_template_builder.py +5 -3
- claude_mpm/services/agents/deployment/agents_directory_resolver.py +2 -2
- claude_mpm/services/agents/deployment/multi_source_deployment_service.py +320 -29
- claude_mpm/services/agents/deployment/remote_agent_discovery_service.py +546 -68
- claude_mpm/services/agents/git_source_manager.py +36 -2
- claude_mpm/services/agents/loading/base_agent_manager.py +1 -13
- claude_mpm/services/agents/recommender.py +5 -3
- claude_mpm/services/agents/single_tier_deployment_service.py +2 -2
- claude_mpm/services/agents/sources/git_source_sync_service.py +13 -6
- claude_mpm/services/agents/startup_sync.py +22 -2
- claude_mpm/services/agents/toolchain_detector.py +10 -6
- claude_mpm/services/analysis/__init__.py +11 -1
- claude_mpm/services/analysis/clone_detector.py +1030 -0
- claude_mpm/services/command_deployment_service.py +81 -10
- claude_mpm/services/diagnostics/checks/agent_check.py +2 -2
- claude_mpm/services/diagnostics/checks/agent_sources_check.py +1 -1
- claude_mpm/services/event_bus/config.py +3 -1
- claude_mpm/services/git/git_operations_service.py +101 -16
- claude_mpm/services/monitor/daemon.py +9 -2
- claude_mpm/services/monitor/daemon_manager.py +39 -3
- claude_mpm/services/monitor/management/lifecycle.py +8 -1
- claude_mpm/services/monitor/server.py +698 -22
- claude_mpm/services/pm_skills_deployer.py +676 -0
- claude_mpm/services/profile_manager.py +331 -0
- claude_mpm/services/project/project_organizer.py +4 -0
- claude_mpm/services/self_upgrade_service.py +120 -12
- claude_mpm/services/skills/__init__.py +3 -0
- claude_mpm/services/skills/git_skill_source_manager.py +130 -2
- claude_mpm/services/skills/selective_skill_deployer.py +704 -0
- claude_mpm/services/skills/skill_to_agent_mapper.py +406 -0
- claude_mpm/services/skills_deployer.py +126 -9
- claude_mpm/services/socketio/dashboard_server.py +1 -0
- claude_mpm/services/socketio/event_normalizer.py +51 -6
- claude_mpm/services/socketio/server/core.py +386 -108
- claude_mpm/services/version_control/git_operations.py +103 -0
- claude_mpm/skills/skill_manager.py +92 -3
- claude_mpm/utils/agent_dependency_loader.py +14 -2
- claude_mpm/utils/agent_filters.py +17 -44
- claude_mpm/utils/gitignore.py +3 -0
- claude_mpm/utils/migration.py +4 -4
- claude_mpm/utils/robust_installer.py +47 -3
- {claude_mpm-5.0.9.dist-info → claude_mpm-5.4.41.dist-info}/METADATA +57 -87
- {claude_mpm-5.0.9.dist-info → claude_mpm-5.4.41.dist-info}/RECORD +160 -211
- claude_mpm-5.4.41.dist-info/entry_points.txt +5 -0
- claude_mpm-5.4.41.dist-info/licenses/LICENSE +94 -0
- claude_mpm-5.4.41.dist-info/licenses/LICENSE-FAQ.md +153 -0
- claude_mpm/agents/BASE_AGENT_TEMPLATE.md +0 -292
- claude_mpm/agents/BASE_DOCUMENTATION.md +0 -53
- claude_mpm/agents/BASE_OPS.md +0 -219
- claude_mpm/agents/BASE_PM.md +0 -480
- claude_mpm/agents/BASE_PROMPT_ENGINEER.md +0 -787
- claude_mpm/agents/BASE_QA.md +0 -167
- claude_mpm/agents/BASE_RESEARCH.md +0 -53
- claude_mpm/agents/base_agent_loader.py +0 -601
- claude_mpm/cli/commands/agents_detect.py +0 -380
- claude_mpm/cli/commands/agents_recommend.py +0 -309
- claude_mpm/cli/ticket_cli.py +0 -35
- claude_mpm/commands/mpm-agents-auto-configure.md +0 -278
- claude_mpm/commands/mpm-agents-detect.md +0 -177
- claude_mpm/commands/mpm-agents-list.md +0 -131
- claude_mpm/commands/mpm-agents-recommend.md +0 -223
- claude_mpm/commands/mpm-config-view.md +0 -150
- claude_mpm/commands/mpm-ticket-organize.md +0 -304
- claude_mpm/dashboard/analysis_runner.py +0 -455
- claude_mpm/dashboard/index.html +0 -13
- claude_mpm/dashboard/open_dashboard.py +0 -66
- claude_mpm/dashboard/static/css/activity.css +0 -1958
- claude_mpm/dashboard/static/css/connection-status.css +0 -370
- claude_mpm/dashboard/static/css/dashboard.css +0 -4701
- claude_mpm/dashboard/static/js/components/activity-tree.js +0 -1871
- claude_mpm/dashboard/static/js/components/agent-hierarchy.js +0 -777
- claude_mpm/dashboard/static/js/components/agent-inference.js +0 -956
- claude_mpm/dashboard/static/js/components/build-tracker.js +0 -333
- claude_mpm/dashboard/static/js/components/code-simple.js +0 -857
- claude_mpm/dashboard/static/js/components/connection-debug.js +0 -654
- claude_mpm/dashboard/static/js/components/diff-viewer.js +0 -891
- claude_mpm/dashboard/static/js/components/event-processor.js +0 -542
- claude_mpm/dashboard/static/js/components/event-viewer.js +0 -1155
- claude_mpm/dashboard/static/js/components/export-manager.js +0 -368
- claude_mpm/dashboard/static/js/components/file-change-tracker.js +0 -443
- claude_mpm/dashboard/static/js/components/file-change-viewer.js +0 -690
- claude_mpm/dashboard/static/js/components/file-tool-tracker.js +0 -724
- claude_mpm/dashboard/static/js/components/file-viewer.js +0 -580
- claude_mpm/dashboard/static/js/components/hud-library-loader.js +0 -211
- claude_mpm/dashboard/static/js/components/hud-manager.js +0 -671
- claude_mpm/dashboard/static/js/components/hud-visualizer.js +0 -1718
- claude_mpm/dashboard/static/js/components/module-viewer.js +0 -2764
- claude_mpm/dashboard/static/js/components/session-manager.js +0 -579
- claude_mpm/dashboard/static/js/components/socket-manager.js +0 -368
- claude_mpm/dashboard/static/js/components/ui-state-manager.js +0 -749
- claude_mpm/dashboard/static/js/components/unified-data-viewer.js +0 -1824
- claude_mpm/dashboard/static/js/components/working-directory.js +0 -920
- claude_mpm/dashboard/static/js/connection-manager.js +0 -536
- claude_mpm/dashboard/static/js/dashboard.js +0 -1914
- claude_mpm/dashboard/static/js/extension-error-handler.js +0 -164
- claude_mpm/dashboard/static/js/socket-client.js +0 -1474
- claude_mpm/dashboard/static/js/tab-isolation-fix.js +0 -185
- claude_mpm/dashboard/static/socket.io.min.js +0 -7
- claude_mpm/dashboard/static/socket.io.v4.8.1.backup.js +0 -7
- claude_mpm/dashboard/templates/code_simple.html +0 -153
- claude_mpm/dashboard/templates/index.html +0 -606
- claude_mpm/dashboard/test_dashboard.html +0 -372
- claude_mpm/hooks/claude_hooks/__pycache__/__init__.cpython-313.pyc +0 -0
- claude_mpm/hooks/claude_hooks/__pycache__/event_handlers.cpython-313.pyc +0 -0
- claude_mpm/hooks/claude_hooks/__pycache__/hook_handler.cpython-313.pyc +0 -0
- claude_mpm/hooks/claude_hooks/__pycache__/memory_integration.cpython-313.pyc +0 -0
- claude_mpm/hooks/claude_hooks/__pycache__/response_tracking.cpython-313.pyc +0 -0
- claude_mpm/hooks/claude_hooks/__pycache__/tool_analysis.cpython-313.pyc +0 -0
- claude_mpm/hooks/claude_hooks/services/__pycache__/__init__.cpython-313.pyc +0 -0
- claude_mpm/hooks/claude_hooks/services/__pycache__/connection_manager_http.cpython-313.pyc +0 -0
- claude_mpm/hooks/claude_hooks/services/__pycache__/duplicate_detector.cpython-313.pyc +0 -0
- claude_mpm/hooks/claude_hooks/services/__pycache__/state_manager.cpython-313.pyc +0 -0
- claude_mpm/hooks/claude_hooks/services/__pycache__/subagent_processor.cpython-313.pyc +0 -0
- claude_mpm/scripts/mcp_server.py +0 -75
- claude_mpm/scripts/mcp_wrapper.py +0 -39
- claude_mpm/services/mcp_gateway/__init__.py +0 -159
- claude_mpm/services/mcp_gateway/auto_configure.py +0 -369
- claude_mpm/services/mcp_gateway/config/__init__.py +0 -17
- claude_mpm/services/mcp_gateway/config/config_loader.py +0 -296
- claude_mpm/services/mcp_gateway/config/config_schema.py +0 -243
- claude_mpm/services/mcp_gateway/config/configuration.py +0 -429
- claude_mpm/services/mcp_gateway/core/__init__.py +0 -43
- claude_mpm/services/mcp_gateway/core/base.py +0 -312
- claude_mpm/services/mcp_gateway/core/exceptions.py +0 -253
- claude_mpm/services/mcp_gateway/core/interfaces.py +0 -443
- claude_mpm/services/mcp_gateway/core/process_pool.py +0 -977
- claude_mpm/services/mcp_gateway/core/singleton_manager.py +0 -315
- claude_mpm/services/mcp_gateway/core/startup_verification.py +0 -316
- claude_mpm/services/mcp_gateway/main.py +0 -589
- claude_mpm/services/mcp_gateway/registry/__init__.py +0 -12
- claude_mpm/services/mcp_gateway/registry/service_registry.py +0 -412
- claude_mpm/services/mcp_gateway/registry/tool_registry.py +0 -489
- claude_mpm/services/mcp_gateway/server/__init__.py +0 -15
- claude_mpm/services/mcp_gateway/server/mcp_gateway.py +0 -414
- claude_mpm/services/mcp_gateway/server/stdio_handler.py +0 -372
- claude_mpm/services/mcp_gateway/server/stdio_server.py +0 -712
- claude_mpm/services/mcp_gateway/tools/__init__.py +0 -36
- claude_mpm/services/mcp_gateway/tools/base_adapter.py +0 -485
- claude_mpm/services/mcp_gateway/tools/document_summarizer.py +0 -789
- claude_mpm/services/mcp_gateway/tools/external_mcp_services.py +0 -654
- claude_mpm/services/mcp_gateway/tools/health_check_tool.py +0 -456
- claude_mpm/services/mcp_gateway/tools/hello_world.py +0 -551
- claude_mpm/services/mcp_gateway/tools/kuzu_memory_service.py +0 -555
- claude_mpm/services/mcp_gateway/utils/__init__.py +0 -14
- claude_mpm/services/mcp_gateway/utils/package_version_checker.py +0 -160
- claude_mpm/services/mcp_gateway/utils/update_preferences.py +0 -170
- claude_mpm-5.0.9.dist-info/entry_points.txt +0 -10
- claude_mpm-5.0.9.dist-info/licenses/LICENSE +0 -21
- /claude_mpm/agents/{OUTPUT_STYLE.md → CLAUDE_MPM_OUTPUT_STYLE.md} +0 -0
- {claude_mpm-5.0.9.dist-info → claude_mpm-5.4.41.dist-info}/WHEEL +0 -0
- {claude_mpm-5.0.9.dist-info → claude_mpm-5.4.41.dist-info}/top_level.txt +0 -0
|
@@ -88,6 +88,19 @@ Examples:
|
|
|
88
88
|
help="Skip confirmation prompts and deploy automatically",
|
|
89
89
|
)
|
|
90
90
|
|
|
91
|
+
# Scope selection
|
|
92
|
+
scope_group = auto_configure_parser.add_mutually_exclusive_group()
|
|
93
|
+
scope_group.add_argument(
|
|
94
|
+
"--agents-only",
|
|
95
|
+
action="store_true",
|
|
96
|
+
help="Configure agents only (skip skills)",
|
|
97
|
+
)
|
|
98
|
+
scope_group.add_argument(
|
|
99
|
+
"--skills-only",
|
|
100
|
+
action="store_true",
|
|
101
|
+
help="Configure skills only (skip agents)",
|
|
102
|
+
)
|
|
103
|
+
|
|
91
104
|
# Configuration options
|
|
92
105
|
auto_configure_parser.add_argument(
|
|
93
106
|
"--min-confidence",
|
|
@@ -105,141 +118,3 @@ Examples:
|
|
|
105
118
|
)
|
|
106
119
|
|
|
107
120
|
return auto_configure_parser
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
def add_agents_detect_subparser(agents_subparsers) -> argparse.ArgumentParser:
|
|
111
|
-
"""
|
|
112
|
-
Add the agents detect subparser for toolchain detection.
|
|
113
|
-
|
|
114
|
-
WHY: Allows users to see what toolchain is detected without making changes,
|
|
115
|
-
useful for debugging and verification.
|
|
116
|
-
|
|
117
|
-
Args:
|
|
118
|
-
agents_subparsers: The agents subparsers object
|
|
119
|
-
|
|
120
|
-
Returns:
|
|
121
|
-
The configured detect subparser
|
|
122
|
-
"""
|
|
123
|
-
detect_parser = agents_subparsers.add_parser(
|
|
124
|
-
"detect",
|
|
125
|
-
help="Detect project toolchain without deploying",
|
|
126
|
-
description="""
|
|
127
|
-
Detect and display project toolchain without making any changes.
|
|
128
|
-
|
|
129
|
-
This command analyzes your project to detect:
|
|
130
|
-
• Programming languages and versions
|
|
131
|
-
• Frameworks and libraries
|
|
132
|
-
• Deployment targets and platforms
|
|
133
|
-
|
|
134
|
-
Useful for debugging toolchain detection and verifying what would be
|
|
135
|
-
detected before running auto-configure.
|
|
136
|
-
""",
|
|
137
|
-
formatter_class=argparse.RawDescriptionHelpFormatter,
|
|
138
|
-
epilog="""
|
|
139
|
-
Examples:
|
|
140
|
-
# Detect toolchain in current directory
|
|
141
|
-
claude-mpm agents detect
|
|
142
|
-
|
|
143
|
-
# Detect with verbose output showing evidence
|
|
144
|
-
claude-mpm agents detect --verbose
|
|
145
|
-
|
|
146
|
-
# JSON output for scripting
|
|
147
|
-
claude-mpm agents detect --json
|
|
148
|
-
|
|
149
|
-
# Detect specific project
|
|
150
|
-
claude-mpm agents detect --project-path /path/to/project
|
|
151
|
-
""",
|
|
152
|
-
)
|
|
153
|
-
add_common_arguments(detect_parser)
|
|
154
|
-
|
|
155
|
-
detect_parser.add_argument(
|
|
156
|
-
"--project-path",
|
|
157
|
-
type=Path,
|
|
158
|
-
metavar="PATH",
|
|
159
|
-
help="Project path to analyze (default: current directory)",
|
|
160
|
-
)
|
|
161
|
-
|
|
162
|
-
return detect_parser
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
def add_agents_recommend_subparser(
|
|
166
|
-
agents_subparsers,
|
|
167
|
-
) -> argparse.ArgumentParser:
|
|
168
|
-
"""
|
|
169
|
-
Add the agents recommend subparser for agent recommendations.
|
|
170
|
-
|
|
171
|
-
WHY: Allows users to see what agents would be recommended without deploying,
|
|
172
|
-
useful for reviewing recommendations before committing to deployment.
|
|
173
|
-
|
|
174
|
-
Args:
|
|
175
|
-
agents_subparsers: The agents subparsers object
|
|
176
|
-
|
|
177
|
-
Returns:
|
|
178
|
-
The configured recommend subparser
|
|
179
|
-
"""
|
|
180
|
-
recommend_parser = agents_subparsers.add_parser(
|
|
181
|
-
"recommend",
|
|
182
|
-
help="Show recommended agents without deploying",
|
|
183
|
-
description="""
|
|
184
|
-
Show recommended agents based on project toolchain without deploying.
|
|
185
|
-
|
|
186
|
-
This command analyzes your project toolchain and recommends appropriate
|
|
187
|
-
agents with detailed reasoning for each recommendation. No changes are
|
|
188
|
-
made to your project.
|
|
189
|
-
|
|
190
|
-
Useful for:
|
|
191
|
-
• Reviewing recommendations before deployment
|
|
192
|
-
• Understanding why agents are recommended
|
|
193
|
-
• Adjusting confidence thresholds
|
|
194
|
-
""",
|
|
195
|
-
formatter_class=argparse.RawDescriptionHelpFormatter,
|
|
196
|
-
epilog="""
|
|
197
|
-
Examples:
|
|
198
|
-
# Show recommendations with reasoning
|
|
199
|
-
claude-mpm agents recommend
|
|
200
|
-
|
|
201
|
-
# Require 90% confidence for recommendations
|
|
202
|
-
claude-mpm agents recommend --min-confidence 0.9
|
|
203
|
-
|
|
204
|
-
# JSON output for scripting
|
|
205
|
-
claude-mpm agents recommend --json
|
|
206
|
-
|
|
207
|
-
# Hide detailed reasoning
|
|
208
|
-
claude-mpm agents recommend --no-reasoning
|
|
209
|
-
|
|
210
|
-
# Recommend for specific project
|
|
211
|
-
claude-mpm agents recommend --project-path /path/to/project
|
|
212
|
-
""",
|
|
213
|
-
)
|
|
214
|
-
add_common_arguments(recommend_parser)
|
|
215
|
-
|
|
216
|
-
recommend_parser.add_argument(
|
|
217
|
-
"--project-path",
|
|
218
|
-
type=Path,
|
|
219
|
-
metavar="PATH",
|
|
220
|
-
help="Project path to analyze (default: current directory)",
|
|
221
|
-
)
|
|
222
|
-
|
|
223
|
-
recommend_parser.add_argument(
|
|
224
|
-
"--min-confidence",
|
|
225
|
-
type=float,
|
|
226
|
-
default=0.8,
|
|
227
|
-
metavar="FLOAT",
|
|
228
|
-
help="Minimum confidence threshold for recommendations (0.0-1.0, default: 0.8)",
|
|
229
|
-
)
|
|
230
|
-
|
|
231
|
-
recommend_parser.add_argument(
|
|
232
|
-
"--show-reasoning",
|
|
233
|
-
action="store_true",
|
|
234
|
-
default=True,
|
|
235
|
-
help="Show detailed reasoning for recommendations (default)",
|
|
236
|
-
)
|
|
237
|
-
|
|
238
|
-
recommend_parser.add_argument(
|
|
239
|
-
"--no-reasoning",
|
|
240
|
-
dest="show_reasoning",
|
|
241
|
-
action="store_false",
|
|
242
|
-
help="Hide detailed reasoning for recommendations",
|
|
243
|
-
)
|
|
244
|
-
|
|
245
|
-
return recommend_parser
|
|
@@ -438,6 +438,13 @@ def create_parser(
|
|
|
438
438
|
except ImportError:
|
|
439
439
|
pass
|
|
440
440
|
|
|
441
|
+
try:
|
|
442
|
+
from .profile_parser import add_profile_subparser
|
|
443
|
+
|
|
444
|
+
add_profile_subparser(subparsers)
|
|
445
|
+
except ImportError:
|
|
446
|
+
pass
|
|
447
|
+
|
|
441
448
|
try:
|
|
442
449
|
from .monitor_parser import add_monitor_subparser
|
|
443
450
|
|
|
@@ -594,6 +601,11 @@ def create_parser(
|
|
|
594
601
|
action="store_true",
|
|
595
602
|
help="Skip confirmation prompts",
|
|
596
603
|
)
|
|
604
|
+
|
|
605
|
+
# Add summarize command
|
|
606
|
+
from ..commands.summarize import add_summarize_parser
|
|
607
|
+
|
|
608
|
+
add_summarize_parser(subparsers)
|
|
597
609
|
except ImportError:
|
|
598
610
|
# Commands module may not be available during testing or refactoring
|
|
599
611
|
pass
|
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
"""
|
|
2
2
|
Config command parser for claude-mpm CLI.
|
|
3
3
|
|
|
4
|
-
WHY: This module provides the config command
|
|
5
|
-
|
|
4
|
+
WHY: This module provides the unified config command with subcommands for
|
|
5
|
+
auto-configuration, viewing, validation, and status checks.
|
|
6
6
|
|
|
7
|
-
DESIGN DECISION: 'config'
|
|
8
|
-
|
|
7
|
+
DESIGN DECISION: 'config' provides both auto-configuration (default) and
|
|
8
|
+
manual configuration management through subcommands.
|
|
9
9
|
"""
|
|
10
10
|
|
|
11
11
|
import argparse
|
|
12
|
+
from pathlib import Path
|
|
12
13
|
|
|
13
14
|
from ...constants import CLICommands
|
|
14
15
|
from .base_parser import add_common_arguments
|
|
@@ -16,11 +17,10 @@ from .base_parser import add_common_arguments
|
|
|
16
17
|
|
|
17
18
|
def add_config_subparser(subparsers) -> argparse.ArgumentParser:
|
|
18
19
|
"""
|
|
19
|
-
Add the config subparser
|
|
20
|
+
Add the unified config subparser with all configuration subcommands.
|
|
20
21
|
|
|
21
|
-
WHY: 'config'
|
|
22
|
-
|
|
23
|
-
parser setup matching the configure command.
|
|
22
|
+
WHY: 'config' provides comprehensive configuration management including
|
|
23
|
+
auto-detection, manual viewing, validation, and status checks.
|
|
24
24
|
|
|
25
25
|
Args:
|
|
26
26
|
subparsers: The subparsers object from the main parser
|
|
@@ -28,111 +28,181 @@ def add_config_subparser(subparsers) -> argparse.ArgumentParser:
|
|
|
28
28
|
Returns:
|
|
29
29
|
The configured config subparser
|
|
30
30
|
"""
|
|
31
|
-
# Config command
|
|
31
|
+
# Config command with subcommands
|
|
32
32
|
config_parser = subparsers.add_parser(
|
|
33
33
|
CLICommands.CONFIG.value,
|
|
34
|
-
help="
|
|
35
|
-
description="
|
|
36
|
-
|
|
34
|
+
help="Unified configuration management with auto-detection and manual viewing",
|
|
35
|
+
description="""
|
|
36
|
+
Unified configuration management for Claude MPM.
|
|
37
37
|
|
|
38
|
-
|
|
39
|
-
|
|
38
|
+
Available commands:
|
|
39
|
+
auto Auto-configure agents and skills based on detected toolchain (default)
|
|
40
|
+
view View current configuration settings
|
|
41
|
+
validate Validate configuration files
|
|
42
|
+
status Show configuration health and status
|
|
40
43
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
"--scope",
|
|
45
|
-
choices=["project", "user"],
|
|
46
|
-
default="project",
|
|
47
|
-
help="Configuration scope to manage (default: project)",
|
|
44
|
+
Running 'config' with no subcommand defaults to 'auto' in preview mode.
|
|
45
|
+
""",
|
|
46
|
+
formatter_class=argparse.RawDescriptionHelpFormatter,
|
|
48
47
|
)
|
|
48
|
+
add_common_arguments(config_parser)
|
|
49
49
|
|
|
50
|
-
#
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
50
|
+
# Add subcommands
|
|
51
|
+
config_subparsers = config_parser.add_subparsers(
|
|
52
|
+
dest="config_command", help="Configuration commands", metavar="SUBCOMMAND"
|
|
53
|
+
)
|
|
54
|
+
|
|
55
|
+
# Auto-configure subcommand (default)
|
|
56
|
+
auto_parser = config_subparsers.add_parser(
|
|
57
|
+
"auto",
|
|
58
|
+
help="Auto-configure agents and skills based on detected toolchain",
|
|
59
|
+
description="""
|
|
60
|
+
Auto-configure agents and skills for your project based on detected toolchain.
|
|
61
|
+
|
|
62
|
+
This command analyzes your project to detect languages, frameworks, and
|
|
63
|
+
deployment targets, then recommends and deploys appropriate specialized
|
|
64
|
+
agents and skills automatically.
|
|
65
|
+
|
|
66
|
+
The command provides safety features including:
|
|
67
|
+
• Preview mode to see changes before applying
|
|
68
|
+
• Confidence thresholds to ensure quality matches
|
|
69
|
+
• Validation gates to block invalid configurations
|
|
70
|
+
• Rollback on failure to maintain consistency
|
|
71
|
+
""",
|
|
72
|
+
formatter_class=argparse.RawDescriptionHelpFormatter,
|
|
73
|
+
)
|
|
74
|
+
add_common_arguments(auto_parser)
|
|
75
|
+
|
|
76
|
+
# Configuration mode
|
|
77
|
+
mode_group = auto_parser.add_mutually_exclusive_group()
|
|
78
|
+
mode_group.add_argument(
|
|
79
|
+
"--preview",
|
|
80
|
+
"--dry-run",
|
|
81
|
+
dest="preview",
|
|
82
|
+
action="store_true",
|
|
83
|
+
help="Show what would be configured without deploying (preview mode)",
|
|
54
84
|
)
|
|
55
|
-
|
|
56
|
-
"--
|
|
85
|
+
mode_group.add_argument(
|
|
86
|
+
"--yes",
|
|
87
|
+
"-y",
|
|
88
|
+
action="store_true",
|
|
89
|
+
help="Skip confirmation prompts and deploy automatically",
|
|
57
90
|
)
|
|
58
|
-
|
|
59
|
-
|
|
91
|
+
|
|
92
|
+
# Scope selection
|
|
93
|
+
scope_group = auto_parser.add_mutually_exclusive_group()
|
|
94
|
+
scope_group.add_argument(
|
|
95
|
+
"--agents-only",
|
|
60
96
|
action="store_true",
|
|
61
|
-
help="
|
|
97
|
+
help="Configure agents only (skip skills)",
|
|
62
98
|
)
|
|
63
|
-
|
|
64
|
-
"--
|
|
99
|
+
scope_group.add_argument(
|
|
100
|
+
"--skills-only",
|
|
65
101
|
action="store_true",
|
|
66
|
-
help="Configure
|
|
102
|
+
help="Configure skills only (skip agents)",
|
|
103
|
+
)
|
|
104
|
+
|
|
105
|
+
# Configuration options
|
|
106
|
+
auto_parser.add_argument(
|
|
107
|
+
"--min-confidence",
|
|
108
|
+
type=float,
|
|
109
|
+
default=0.8,
|
|
110
|
+
metavar="FLOAT",
|
|
111
|
+
help="Minimum confidence threshold for recommendations (0.0-1.0, default: 0.8)",
|
|
112
|
+
)
|
|
113
|
+
|
|
114
|
+
auto_parser.add_argument(
|
|
115
|
+
"--project-path",
|
|
116
|
+
type=Path,
|
|
117
|
+
metavar="PATH",
|
|
118
|
+
help="Project path to analyze (default: current directory)",
|
|
67
119
|
)
|
|
68
|
-
|
|
69
|
-
|
|
120
|
+
|
|
121
|
+
auto_parser.add_argument(
|
|
122
|
+
"--json",
|
|
70
123
|
action="store_true",
|
|
71
|
-
help="
|
|
124
|
+
help="Output results in JSON format",
|
|
72
125
|
)
|
|
73
126
|
|
|
74
|
-
#
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
127
|
+
# View subcommand
|
|
128
|
+
view_parser = config_subparsers.add_parser(
|
|
129
|
+
"view",
|
|
130
|
+
help="View current configuration settings",
|
|
78
131
|
)
|
|
79
|
-
|
|
80
|
-
|
|
132
|
+
add_common_arguments(view_parser)
|
|
133
|
+
|
|
134
|
+
view_parser.add_argument(
|
|
135
|
+
"--section",
|
|
81
136
|
type=str,
|
|
82
|
-
metavar="
|
|
83
|
-
help="
|
|
137
|
+
metavar="SECTION",
|
|
138
|
+
help="Specific configuration section to view (agents, memory, websocket, etc.)",
|
|
84
139
|
)
|
|
85
|
-
|
|
86
|
-
"--
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
help="
|
|
140
|
+
view_parser.add_argument(
|
|
141
|
+
"--format",
|
|
142
|
+
choices=["yaml", "json", "table", "text"],
|
|
143
|
+
default="table",
|
|
144
|
+
help="Output format (default: table)",
|
|
90
145
|
)
|
|
91
|
-
|
|
92
|
-
"--
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
help="Export current configuration to a file",
|
|
146
|
+
view_parser.add_argument(
|
|
147
|
+
"--show-defaults",
|
|
148
|
+
action="store_true",
|
|
149
|
+
help="Include default values in output",
|
|
96
150
|
)
|
|
97
|
-
|
|
98
|
-
"--
|
|
99
|
-
type=
|
|
100
|
-
metavar="
|
|
101
|
-
help="
|
|
151
|
+
view_parser.add_argument(
|
|
152
|
+
"--config-file",
|
|
153
|
+
type=Path,
|
|
154
|
+
metavar="PATH",
|
|
155
|
+
help="Specific config file to view (default: all)",
|
|
102
156
|
)
|
|
103
157
|
|
|
104
|
-
#
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
"
|
|
108
|
-
action="store_true",
|
|
109
|
-
help="Install Claude MPM hooks for Claude Code integration",
|
|
158
|
+
# Validate subcommand
|
|
159
|
+
validate_parser = config_subparsers.add_parser(
|
|
160
|
+
"validate",
|
|
161
|
+
help="Validate configuration files for correctness",
|
|
110
162
|
)
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
163
|
+
add_common_arguments(validate_parser)
|
|
164
|
+
|
|
165
|
+
validate_parser.add_argument(
|
|
166
|
+
"--config-file",
|
|
167
|
+
type=Path,
|
|
168
|
+
metavar="PATH",
|
|
169
|
+
help="Validate specific config file (default: all)",
|
|
115
170
|
)
|
|
116
|
-
|
|
117
|
-
"--
|
|
171
|
+
validate_parser.add_argument(
|
|
172
|
+
"--strict",
|
|
118
173
|
action="store_true",
|
|
119
|
-
help="
|
|
174
|
+
help="Use strict validation rules",
|
|
120
175
|
)
|
|
121
|
-
|
|
122
|
-
"--
|
|
176
|
+
validate_parser.add_argument(
|
|
177
|
+
"--fix",
|
|
123
178
|
action="store_true",
|
|
124
|
-
help="
|
|
179
|
+
help="Attempt to fix validation errors automatically",
|
|
125
180
|
)
|
|
126
181
|
|
|
127
|
-
#
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
"
|
|
131
|
-
action="store_true",
|
|
132
|
-
help="Disable colored output in the interface",
|
|
182
|
+
# Status subcommand
|
|
183
|
+
status_parser = config_subparsers.add_parser(
|
|
184
|
+
"status",
|
|
185
|
+
help="Show configuration health and status",
|
|
133
186
|
)
|
|
134
|
-
|
|
135
|
-
|
|
187
|
+
add_common_arguments(status_parser)
|
|
188
|
+
|
|
189
|
+
# Note: --verbose is provided by add_common_arguments()
|
|
190
|
+
status_parser.add_argument(
|
|
191
|
+
"--check-response-logging",
|
|
192
|
+
action="store_true",
|
|
193
|
+
help="Check response logging configuration",
|
|
194
|
+
)
|
|
195
|
+
status_parser.add_argument(
|
|
196
|
+
"--format",
|
|
197
|
+
choices=["yaml", "json", "text"],
|
|
198
|
+
default="text",
|
|
199
|
+
help="Output format (default: text)",
|
|
200
|
+
)
|
|
201
|
+
status_parser.add_argument(
|
|
202
|
+
"--config-file",
|
|
203
|
+
type=Path,
|
|
204
|
+
metavar="PATH",
|
|
205
|
+
help="Specific config file to check (default: all)",
|
|
136
206
|
)
|
|
137
207
|
|
|
138
208
|
return config_parser
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Profile command parser for claude-mpm CLI.
|
|
3
|
+
|
|
4
|
+
WHY: This module provides the profile command for managing deployment profiles
|
|
5
|
+
that control which agents and skills are deployed.
|
|
6
|
+
|
|
7
|
+
DESIGN DECISION: Provides intuitive subcommands for listing, activating,
|
|
8
|
+
and inspecting profiles to reduce context usage by limiting deployed components.
|
|
9
|
+
"""
|
|
10
|
+
|
|
11
|
+
import argparse
|
|
12
|
+
|
|
13
|
+
from ...constants import CLICommands
|
|
14
|
+
from .base_parser import add_common_arguments
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
def add_profile_subparser(subparsers) -> argparse.ArgumentParser:
|
|
18
|
+
"""
|
|
19
|
+
Add the profile subparser for deployment profile management.
|
|
20
|
+
|
|
21
|
+
WHY: Users need to manage which agents and skills are deployed to reduce
|
|
22
|
+
context usage and improve performance. Profiles define enabled/disabled
|
|
23
|
+
agents and skills for specific workflows.
|
|
24
|
+
|
|
25
|
+
Args:
|
|
26
|
+
subparsers: The subparsers object from the main parser
|
|
27
|
+
|
|
28
|
+
Returns:
|
|
29
|
+
The configured profile subparser
|
|
30
|
+
"""
|
|
31
|
+
# Profile command with subcommands
|
|
32
|
+
profile_parser = subparsers.add_parser(
|
|
33
|
+
"profile",
|
|
34
|
+
help="Manage deployment profiles for agents and skills",
|
|
35
|
+
description="""
|
|
36
|
+
Deployment profile management for Claude MPM.
|
|
37
|
+
|
|
38
|
+
Profiles control which agents and skills are deployed, reducing context usage
|
|
39
|
+
by limiting available agents to only what's needed for your workflow.
|
|
40
|
+
|
|
41
|
+
Available commands:
|
|
42
|
+
list List all available profiles
|
|
43
|
+
set Set the active profile
|
|
44
|
+
status Show current active profile and filtering summary
|
|
45
|
+
show Show detailed configuration of a profile
|
|
46
|
+
|
|
47
|
+
Example workflows:
|
|
48
|
+
# List available profiles
|
|
49
|
+
claude-mpm profile list
|
|
50
|
+
|
|
51
|
+
# Activate a profile
|
|
52
|
+
claude-mpm profile set framework-development
|
|
53
|
+
|
|
54
|
+
# Check current profile status
|
|
55
|
+
claude-mpm profile status
|
|
56
|
+
|
|
57
|
+
# View profile details
|
|
58
|
+
claude-mpm profile show framework-development
|
|
59
|
+
""",
|
|
60
|
+
formatter_class=argparse.RawDescriptionHelpFormatter,
|
|
61
|
+
)
|
|
62
|
+
add_common_arguments(profile_parser)
|
|
63
|
+
|
|
64
|
+
# Add subcommands
|
|
65
|
+
profile_subparsers = profile_parser.add_subparsers(
|
|
66
|
+
dest="profile_command",
|
|
67
|
+
help="Profile management commands",
|
|
68
|
+
metavar="SUBCOMMAND",
|
|
69
|
+
)
|
|
70
|
+
|
|
71
|
+
# List subcommand
|
|
72
|
+
list_parser = profile_subparsers.add_parser(
|
|
73
|
+
"list",
|
|
74
|
+
help="List all available deployment profiles",
|
|
75
|
+
description="""
|
|
76
|
+
List all profiles found in .claude-mpm/profiles/ directory.
|
|
77
|
+
|
|
78
|
+
Shows profile names, descriptions, and indicates which profile is currently active.
|
|
79
|
+
""",
|
|
80
|
+
formatter_class=argparse.RawDescriptionHelpFormatter,
|
|
81
|
+
)
|
|
82
|
+
add_common_arguments(list_parser)
|
|
83
|
+
|
|
84
|
+
# Set subcommand
|
|
85
|
+
set_parser = profile_subparsers.add_parser(
|
|
86
|
+
"set",
|
|
87
|
+
help="Set the active deployment profile",
|
|
88
|
+
description="""
|
|
89
|
+
Set the active deployment profile.
|
|
90
|
+
|
|
91
|
+
This updates configuration.yaml with the selected profile, which will be
|
|
92
|
+
applied on next startup or when running 'claude-mpm init'.
|
|
93
|
+
|
|
94
|
+
Examples:
|
|
95
|
+
# Activate framework development profile
|
|
96
|
+
claude-mpm profile set framework-development
|
|
97
|
+
|
|
98
|
+
# Activate minimal profile for focused work
|
|
99
|
+
claude-mpm profile set minimal
|
|
100
|
+
""",
|
|
101
|
+
formatter_class=argparse.RawDescriptionHelpFormatter,
|
|
102
|
+
)
|
|
103
|
+
add_common_arguments(set_parser)
|
|
104
|
+
set_parser.add_argument(
|
|
105
|
+
"profile_name",
|
|
106
|
+
help="Name of profile to activate (without .yaml extension)",
|
|
107
|
+
)
|
|
108
|
+
|
|
109
|
+
# Status subcommand
|
|
110
|
+
status_parser = profile_subparsers.add_parser(
|
|
111
|
+
"status",
|
|
112
|
+
help="Show current active profile and filtering summary",
|
|
113
|
+
description="""
|
|
114
|
+
Display current active profile with filtering summary.
|
|
115
|
+
|
|
116
|
+
Shows:
|
|
117
|
+
- Active profile name
|
|
118
|
+
- Number of agents enabled/disabled
|
|
119
|
+
- Number of skills enabled/disabled
|
|
120
|
+
- Disabled skill patterns
|
|
121
|
+
""",
|
|
122
|
+
formatter_class=argparse.RawDescriptionHelpFormatter,
|
|
123
|
+
)
|
|
124
|
+
add_common_arguments(status_parser)
|
|
125
|
+
|
|
126
|
+
# Show subcommand
|
|
127
|
+
show_parser = profile_subparsers.add_parser(
|
|
128
|
+
"show",
|
|
129
|
+
help="Show detailed configuration of a profile",
|
|
130
|
+
description="""
|
|
131
|
+
Display detailed configuration of a specific profile.
|
|
132
|
+
|
|
133
|
+
Shows complete lists of enabled/disabled agents and skills, including
|
|
134
|
+
glob patterns for skill filtering.
|
|
135
|
+
|
|
136
|
+
Examples:
|
|
137
|
+
# Show framework development profile details
|
|
138
|
+
claude-mpm profile show framework-development
|
|
139
|
+
""",
|
|
140
|
+
formatter_class=argparse.RawDescriptionHelpFormatter,
|
|
141
|
+
)
|
|
142
|
+
add_common_arguments(show_parser)
|
|
143
|
+
show_parser.add_argument(
|
|
144
|
+
"profile_name",
|
|
145
|
+
help="Name of profile to display (without .yaml extension)",
|
|
146
|
+
)
|
|
147
|
+
|
|
148
|
+
return profile_parser
|
|
@@ -168,9 +168,10 @@ def add_skills_subparser(subparsers) -> argparse.ArgumentParser:
|
|
|
168
168
|
help="Force redeployment of already deployed skills",
|
|
169
169
|
)
|
|
170
170
|
deploy_github_parser.add_argument(
|
|
171
|
-
"--all",
|
|
171
|
+
"--all-skills",
|
|
172
172
|
action="store_true",
|
|
173
|
-
|
|
173
|
+
dest="all_skills",
|
|
174
|
+
help="Deploy ALL available skills (not just agent-referenced). By default, only skills referenced in agent frontmatter are deployed.",
|
|
174
175
|
)
|
|
175
176
|
|
|
176
177
|
# List available GitHub skills
|