claude-mpm 4.24.0__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/{OUTPUT_STYLE.md → CLAUDE_MPM_OUTPUT_STYLE.md} +3 -48
- claude_mpm/agents/CLAUDE_MPM_TEACHER_OUTPUT_STYLE.md +2002 -0
- claude_mpm/agents/MEMORY.md +1 -1
- claude_mpm/agents/PM_INSTRUCTIONS.md +735 -925
- claude_mpm/agents/WORKFLOW.md +5 -254
- claude_mpm/agents/__init__.py +6 -0
- claude_mpm/agents/agent_loader.py +14 -48
- claude_mpm/agents/base_agent.json +7 -4
- claude_mpm/agents/frontmatter_validator.py +71 -3
- claude_mpm/agents/templates/circuit-breakers.md +1391 -0
- claude_mpm/agents/templates/context-management-examples.md +544 -0
- claude_mpm/agents/templates/{pm_red_flags.md → pm-red-flags.md} +48 -0
- claude_mpm/agents/templates/pr-workflow-examples.md +427 -0
- claude_mpm/agents/templates/research-gate-examples.md +669 -0
- claude_mpm/agents/templates/structured-questions-examples.md +615 -0
- claude_mpm/agents/templates/ticket-completeness-examples.md +139 -0
- claude_mpm/agents/templates/ticketing-examples.md +277 -0
- claude_mpm/cli/__init__.py +37 -2
- claude_mpm/cli/__main__.py +4 -0
- claude_mpm/cli/chrome_devtools_installer.py +175 -0
- claude_mpm/cli/commands/__init__.py +2 -0
- claude_mpm/cli/commands/agent_source.py +774 -0
- claude_mpm/cli/commands/agent_state_manager.py +180 -31
- claude_mpm/cli/commands/agents.py +1116 -55
- 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 +725 -242
- claude_mpm/cli/commands/config.py +95 -6
- claude_mpm/cli/commands/configure.py +1875 -46
- claude_mpm/cli/commands/configure_agent_display.py +29 -10
- 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 +229 -2
- claude_mpm/cli/commands/mpm_init/git_activity.py +10 -10
- claude_mpm/cli/commands/mpm_init/knowledge_extractor.py +481 -0
- claude_mpm/cli/commands/mpm_init/prompts.py +286 -6
- claude_mpm/cli/commands/postmortem.py +401 -0
- claude_mpm/cli/commands/profile.py +277 -0
- claude_mpm/cli/commands/run.py +123 -165
- claude_mpm/cli/commands/skill_source.py +694 -0
- claude_mpm/cli/commands/skills.py +782 -20
- claude_mpm/cli/commands/summarize.py +413 -0
- claude_mpm/cli/executor.py +96 -3
- claude_mpm/cli/interactive/agent_wizard.py +1030 -45
- claude_mpm/cli/parsers/agent_source_parser.py +171 -0
- claude_mpm/cli/parsers/agents_parser.py +307 -10
- claude_mpm/cli/parsers/auto_configure_parser.py +13 -138
- claude_mpm/cli/parsers/base_parser.py +65 -0
- claude_mpm/cli/parsers/config_parser.py +162 -39
- claude_mpm/cli/parsers/profile_parser.py +148 -0
- claude_mpm/cli/parsers/skill_source_parser.py +169 -0
- claude_mpm/cli/parsers/skills_parser.py +146 -0
- claude_mpm/cli/parsers/source_parser.py +138 -0
- claude_mpm/cli/startup.py +1280 -118
- 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-config.md +21 -134
- claude_mpm/commands/mpm-doctor.md +16 -20
- claude_mpm/commands/mpm-help.md +13 -283
- claude_mpm/commands/mpm-init.md +88 -489
- claude_mpm/commands/mpm-monitor.md +23 -401
- claude_mpm/commands/mpm-organize.md +72 -247
- claude_mpm/commands/mpm-postmortem.md +21 -0
- claude_mpm/commands/mpm-session-resume.md +30 -0
- claude_mpm/commands/mpm-status.md +13 -68
- claude_mpm/commands/mpm-ticket-view.md +109 -0
- claude_mpm/commands/mpm-version.md +13 -106
- claude_mpm/commands/mpm.md +10 -0
- claude_mpm/config/agent_presets.py +488 -0
- claude_mpm/config/agent_sources.py +352 -0
- claude_mpm/config/skill_presets.py +392 -0
- claude_mpm/config/skill_sources.py +590 -0
- claude_mpm/constants.py +13 -0
- claude_mpm/core/claude_runner.py +5 -34
- claude_mpm/core/config.py +15 -1
- claude_mpm/core/constants.py +1 -1
- claude_mpm/core/framework/__init__.py +3 -16
- 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/file_loader.py +54 -101
- claude_mpm/core/framework/loaders/instruction_loader.py +66 -5
- claude_mpm/core/framework_loader.py +4 -2
- claude_mpm/core/hook_error_memory.py +381 -0
- claude_mpm/core/hook_manager.py +41 -2
- claude_mpm/core/interactive_session.py +91 -10
- claude_mpm/core/logger.py +16 -1
- claude_mpm/core/oneshot_session.py +71 -8
- claude_mpm/core/optimized_startup.py +59 -0
- claude_mpm/core/output_style_manager.py +173 -43
- claude_mpm/core/protocols/__init__.py +23 -0
- claude_mpm/core/protocols/runner_protocol.py +103 -0
- claude_mpm/core/protocols/session_protocol.py +131 -0
- claude_mpm/core/shared/config_loader.py +1 -1
- claude_mpm/core/shared/singleton_manager.py +11 -4
- claude_mpm/core/socketio_pool.py +3 -3
- claude_mpm/core/system_context.py +38 -0
- 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/experimental/cli_enhancements.py +1 -5
- 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 +214 -79
- 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/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/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 +198 -0
- claude_mpm/scripts/claude-hook-handler.sh +60 -20
- claude_mpm/scripts/launch_monitor.py +93 -13
- claude_mpm/scripts/start_activity_logging.py +3 -1
- claude_mpm/services/agents/agent_builder.py +48 -12
- claude_mpm/services/agents/agent_preset_service.py +238 -0
- claude_mpm/services/agents/agent_recommendation_service.py +278 -0
- claude_mpm/services/agents/agent_review_service.py +280 -0
- claude_mpm/services/agents/agent_selection_service.py +484 -0
- claude_mpm/services/agents/auto_deploy_index_parser.py +569 -0
- claude_mpm/services/agents/cache_git_manager.py +621 -0
- claude_mpm/services/agents/deployment/agent_deployment.py +148 -2
- claude_mpm/services/agents/deployment/agent_discovery_service.py +104 -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 +238 -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 +422 -31
- 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 +841 -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 +663 -0
- claude_mpm/services/agents/loading/base_agent_manager.py +1 -13
- 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/recommender.py +5 -3
- 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 +1094 -0
- claude_mpm/services/agents/startup_sync.py +259 -0
- claude_mpm/services/agents/toolchain_detector.py +478 -0
- claude_mpm/services/analysis/__init__.py +35 -0
- claude_mpm/services/analysis/clone_detector.py +1030 -0
- claude_mpm/services/analysis/postmortem_reporter.py +474 -0
- claude_mpm/services/analysis/postmortem_service.py +765 -0
- claude_mpm/services/cli/session_pause_manager.py +1 -1
- claude_mpm/services/command_deployment_service.py +271 -6
- claude_mpm/services/core/base.py +7 -2
- claude_mpm/services/core/interfaces/__init__.py +1 -3
- claude_mpm/services/core/interfaces/health.py +1 -4
- claude_mpm/services/core/models/__init__.py +2 -11
- claude_mpm/services/diagnostics/checks/__init__.py +4 -0
- claude_mpm/services/diagnostics/checks/agent_check.py +2 -4
- claude_mpm/services/diagnostics/checks/agent_sources_check.py +577 -0
- claude_mpm/services/diagnostics/checks/instructions_check.py +1 -2
- claude_mpm/services/diagnostics/checks/mcp_check.py +0 -1
- claude_mpm/services/diagnostics/checks/mcp_services_check.py +7 -15
- claude_mpm/services/diagnostics/checks/monitor_check.py +0 -1
- claude_mpm/services/diagnostics/checks/skill_sources_check.py +587 -0
- claude_mpm/services/diagnostics/diagnostic_runner.py +9 -0
- claude_mpm/services/diagnostics/doctor_reporter.py +40 -10
- claude_mpm/services/event_bus/config.py +3 -1
- claude_mpm/services/event_bus/direct_relay.py +3 -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 +579 -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/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/resource_monitor.py +1 -1
- claude_mpm/services/mcp_config_manager.py +75 -145
- claude_mpm/services/mcp_service_verifier.py +6 -3
- claude_mpm/services/model/model_router.py +1 -2
- claude_mpm/services/monitor/daemon.py +38 -11
- claude_mpm/services/monitor/daemon_manager.py +134 -21
- claude_mpm/services/monitor/management/lifecycle.py +8 -1
- claude_mpm/services/monitor/server.py +700 -24
- claude_mpm/services/pm_skills_deployer.py +676 -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/profile_manager.py +331 -0
- claude_mpm/services/project/documentation_manager.py +2 -1
- claude_mpm/services/project/project_organizer.py +4 -0
- claude_mpm/services/project/toolchain_analyzer.py +3 -1
- claude_mpm/services/runner_configuration_service.py +16 -3
- claude_mpm/services/self_upgrade_service.py +120 -12
- claude_mpm/services/session_management_service.py +16 -4
- claude_mpm/services/skills/__init__.py +21 -0
- claude_mpm/services/skills/git_skill_source_manager.py +1297 -0
- claude_mpm/services/skills/selective_skill_deployer.py +704 -0
- claude_mpm/services/skills/skill_discovery_service.py +568 -0
- claude_mpm/services/skills/skill_to_agent_mapper.py +406 -0
- claude_mpm/services/skills_config.py +547 -0
- claude_mpm/services/skills_deployer.py +1072 -0
- claude_mpm/services/socketio/dashboard_server.py +1 -0
- claude_mpm/services/socketio/event_normalizer.py +51 -6
- claude_mpm/services/socketio/handlers/connection.py +1 -1
- claude_mpm/services/socketio/handlers/git.py +1 -1
- claude_mpm/services/socketio/server/core.py +387 -112
- 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/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/version_control/git_operations.py +103 -0
- claude_mpm/services/visualization/__init__.py +1 -5
- claude_mpm/services/visualization/mermaid_generator.py +2 -3
- claude_mpm/skills/bundled/testing/webapp-testing/scripts/with_server.py +2 -2
- claude_mpm/skills/skill_manager.py +92 -3
- 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/utils/agent_dependency_loader.py +91 -12
- claude_mpm/utils/agent_filters.py +261 -0
- claude_mpm/utils/dependency_cache.py +3 -1
- claude_mpm/utils/gitignore.py +244 -0
- claude_mpm/utils/migration.py +372 -0
- claude_mpm/utils/progress.py +387 -0
- claude_mpm/utils/robust_installer.py +49 -7
- claude_mpm/utils/structured_questions.py +619 -0
- {claude_mpm-4.24.0.dist-info → claude_mpm-5.4.41.dist-info}/METADATA +445 -122
- {claude_mpm-4.24.0.dist-info → claude_mpm-5.4.41.dist-info}/RECORD +298 -503
- 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 -468
- 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 -626
- 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 -183
- claude_mpm/agents/templates/circuit_breakers.md +0 -638
- claude_mpm/agents/templates/clerk-ops.json +0 -235
- claude_mpm/agents/templates/code_analyzer.json +0 -101
- claude_mpm/agents/templates/content-agent.json +0 -358
- claude_mpm/agents/templates/dart_engineer.json +0 -307
- claude_mpm/agents/templates/data_engineer.json +0 -225
- claude_mpm/agents/templates/documentation.json +0 -238
- 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/javascript_engineer_agent.json +0 -380
- 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 -144
- 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 -243
- claude_mpm/agents/templates/react_engineer.json +0 -239
- 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/tauri_engineer.json +0 -274
- claude_mpm/agents/templates/ticketing.json +0 -178
- 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 -159
- claude_mpm/agents/templates/web_qa.json +0 -400
- claude_mpm/agents/templates/web_ui.json +0 -189
- 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-detect.md +0 -168
- claude_mpm/commands/mpm-agents-recommend.md +0 -214
- claude_mpm/commands/mpm-agents.md +0 -122
- claude_mpm/commands/mpm-auto-configure.md +0 -269
- claude_mpm/commands/mpm-resume.md +0 -372
- claude_mpm/commands/mpm-tickets.md +0 -151
- claude_mpm/dashboard/.claude-mpm/socketio-instances.json +0 -1
- 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/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/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/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/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 -1896
- claude_mpm/dashboard/static/js/extension-error-handler.js +0 -164
- 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/socket-client.js +0 -1457
- claude_mpm/dashboard/static/js/stores/dashboard-store.js +0 -562
- claude_mpm/dashboard/static/js/tab-isolation-fix.js +0 -185
- 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/socket.io.min.js +0 -7
- claude_mpm/dashboard/static/socket.io.v4.8.1.backup.js +0 -7
- 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/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/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 -971
- 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 -419
- claude_mpm/services/mcp_gateway/server/stdio_handler.py +0 -372
- claude_mpm/services/mcp_gateway/server/stdio_server.py +0 -714
- 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 -551
- 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/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-4.24.0.dist-info/entry_points.txt +0 -10
- claude_mpm-4.24.0.dist-info/licenses/LICENSE +0 -21
- /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.24.0.dist-info → claude_mpm-5.4.41.dist-info}/WHEEL +0 -0
- {claude_mpm-4.24.0.dist-info → claude_mpm-5.4.41.dist-info}/top_level.txt +0 -0
|
@@ -1,309 +0,0 @@
|
|
|
1
|
-
"""
|
|
2
|
-
Agents Recommend CLI Command for Claude MPM Framework
|
|
3
|
-
======================================================
|
|
4
|
-
|
|
5
|
-
WHY: This module provides a CLI interface for getting agent recommendations
|
|
6
|
-
based on project toolchain without deploying anything. Useful for reviewing
|
|
7
|
-
recommendations before committing to deployment.
|
|
8
|
-
|
|
9
|
-
DESIGN DECISION: Focused on recommendation display with detailed reasoning,
|
|
10
|
-
showing users why each agent was recommended. Supports JSON output for
|
|
11
|
-
integration with other tools.
|
|
12
|
-
|
|
13
|
-
Part of TSK-0054: Auto-Configuration Feature - Phase 5
|
|
14
|
-
"""
|
|
15
|
-
|
|
16
|
-
import json
|
|
17
|
-
from pathlib import Path
|
|
18
|
-
from typing import Optional
|
|
19
|
-
|
|
20
|
-
try:
|
|
21
|
-
from rich.console import Console
|
|
22
|
-
from rich.panel import Panel
|
|
23
|
-
from rich.table import Table
|
|
24
|
-
|
|
25
|
-
RICH_AVAILABLE = True
|
|
26
|
-
except ImportError:
|
|
27
|
-
RICH_AVAILABLE = False
|
|
28
|
-
|
|
29
|
-
from ...services.agents.recommender import AgentRecommenderService
|
|
30
|
-
from ...services.agents.registry import AgentRegistry
|
|
31
|
-
from ...services.project.toolchain_analyzer import ToolchainAnalyzerService
|
|
32
|
-
from ..shared import BaseCommand, CommandResult
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
class AgentsRecommendCommand(BaseCommand):
|
|
36
|
-
"""
|
|
37
|
-
Handle agents recommend CLI command.
|
|
38
|
-
|
|
39
|
-
This command analyzes the project toolchain and recommends appropriate
|
|
40
|
-
agents without deploying them. Shows detailed reasoning for each
|
|
41
|
-
recommendation.
|
|
42
|
-
"""
|
|
43
|
-
|
|
44
|
-
def __init__(self):
|
|
45
|
-
"""Initialize the agents recommend command."""
|
|
46
|
-
super().__init__("agents-recommend")
|
|
47
|
-
self.console = Console() if RICH_AVAILABLE else None
|
|
48
|
-
self._toolchain_analyzer = None
|
|
49
|
-
self._agent_recommender = None
|
|
50
|
-
|
|
51
|
-
@property
|
|
52
|
-
def toolchain_analyzer(self) -> ToolchainAnalyzerService:
|
|
53
|
-
"""Get toolchain analyzer (lazy loaded)."""
|
|
54
|
-
if self._toolchain_analyzer is None:
|
|
55
|
-
self._toolchain_analyzer = ToolchainAnalyzerService()
|
|
56
|
-
return self._toolchain_analyzer
|
|
57
|
-
|
|
58
|
-
@property
|
|
59
|
-
def agent_recommender(self) -> AgentRecommenderService:
|
|
60
|
-
"""Get agent recommender (lazy loaded)."""
|
|
61
|
-
if self._agent_recommender is None:
|
|
62
|
-
agent_registry = AgentRegistry()
|
|
63
|
-
self._agent_recommender = AgentRecommenderService(
|
|
64
|
-
agent_registry=agent_registry
|
|
65
|
-
)
|
|
66
|
-
return self._agent_recommender
|
|
67
|
-
|
|
68
|
-
def validate_args(self, args) -> Optional[str]:
|
|
69
|
-
"""Validate command arguments."""
|
|
70
|
-
# Validate project path
|
|
71
|
-
project_path = (
|
|
72
|
-
Path(args.project_path)
|
|
73
|
-
if hasattr(args, "project_path") and args.project_path
|
|
74
|
-
else Path.cwd()
|
|
75
|
-
)
|
|
76
|
-
if not project_path.exists():
|
|
77
|
-
return f"Project path does not exist: {project_path}"
|
|
78
|
-
|
|
79
|
-
# Validate min_confidence range
|
|
80
|
-
if hasattr(args, "min_confidence") and args.min_confidence:
|
|
81
|
-
if not 0.0 <= args.min_confidence <= 1.0:
|
|
82
|
-
return "min_confidence must be between 0.0 and 1.0"
|
|
83
|
-
|
|
84
|
-
return None
|
|
85
|
-
|
|
86
|
-
def run(self, args) -> CommandResult:
|
|
87
|
-
"""
|
|
88
|
-
Execute agents recommend command.
|
|
89
|
-
|
|
90
|
-
Returns:
|
|
91
|
-
CommandResult with success status and exit code
|
|
92
|
-
"""
|
|
93
|
-
try:
|
|
94
|
-
# Setup logging
|
|
95
|
-
self.setup_logging(args)
|
|
96
|
-
|
|
97
|
-
# Validate arguments
|
|
98
|
-
error = self.validate_args(args)
|
|
99
|
-
if error:
|
|
100
|
-
return CommandResult.error_result(error)
|
|
101
|
-
|
|
102
|
-
# Get configuration options
|
|
103
|
-
project_path = (
|
|
104
|
-
Path(args.project_path)
|
|
105
|
-
if hasattr(args, "project_path") and args.project_path
|
|
106
|
-
else Path.cwd()
|
|
107
|
-
)
|
|
108
|
-
min_confidence = (
|
|
109
|
-
args.min_confidence
|
|
110
|
-
if hasattr(args, "min_confidence") and args.min_confidence
|
|
111
|
-
else 0.8
|
|
112
|
-
)
|
|
113
|
-
json_output = args.json if hasattr(args, "json") and args.json else False
|
|
114
|
-
show_reasoning = (
|
|
115
|
-
args.show_reasoning
|
|
116
|
-
if hasattr(args, "show_reasoning") and args.show_reasoning
|
|
117
|
-
else True
|
|
118
|
-
)
|
|
119
|
-
|
|
120
|
-
# Analyze toolchain
|
|
121
|
-
if self.console and not json_output:
|
|
122
|
-
with self.console.status("[bold green]Analyzing project toolchain..."):
|
|
123
|
-
analysis = self.toolchain_analyzer.analyze_project(
|
|
124
|
-
str(project_path)
|
|
125
|
-
)
|
|
126
|
-
else:
|
|
127
|
-
analysis = self.toolchain_analyzer.analyze_project(str(project_path))
|
|
128
|
-
|
|
129
|
-
# Get recommendations
|
|
130
|
-
if self.console and not json_output:
|
|
131
|
-
with self.console.status(
|
|
132
|
-
"[bold green]Generating agent recommendations..."
|
|
133
|
-
):
|
|
134
|
-
recommendations = self.agent_recommender.recommend_agents(
|
|
135
|
-
analysis, min_confidence
|
|
136
|
-
)
|
|
137
|
-
else:
|
|
138
|
-
recommendations = self.agent_recommender.recommend_agents(
|
|
139
|
-
analysis, min_confidence
|
|
140
|
-
)
|
|
141
|
-
|
|
142
|
-
# Output results
|
|
143
|
-
if json_output:
|
|
144
|
-
return self._output_json(recommendations, analysis)
|
|
145
|
-
return self._display_results(recommendations, analysis, show_reasoning)
|
|
146
|
-
|
|
147
|
-
except KeyboardInterrupt:
|
|
148
|
-
if self.console:
|
|
149
|
-
self.console.print("\n\n❌ Operation cancelled by user")
|
|
150
|
-
else:
|
|
151
|
-
print("\n\nOperation cancelled by user")
|
|
152
|
-
return CommandResult.error_result("Operation cancelled", exit_code=130)
|
|
153
|
-
|
|
154
|
-
except Exception as e:
|
|
155
|
-
self.logger.exception("Agent recommendation failed")
|
|
156
|
-
error_msg = f"Agent recommendation failed: {e!s}"
|
|
157
|
-
if self.console:
|
|
158
|
-
self.console.print(f"\n❌ {error_msg}")
|
|
159
|
-
else:
|
|
160
|
-
print(f"\n{error_msg}")
|
|
161
|
-
return CommandResult.error_result(error_msg)
|
|
162
|
-
|
|
163
|
-
def _display_results(
|
|
164
|
-
self, recommendations, analysis, show_reasoning: bool
|
|
165
|
-
) -> CommandResult:
|
|
166
|
-
"""Display agent recommendations with Rich formatting."""
|
|
167
|
-
if not self.console:
|
|
168
|
-
return self._display_results_plain(
|
|
169
|
-
recommendations, analysis, show_reasoning
|
|
170
|
-
)
|
|
171
|
-
|
|
172
|
-
# Display header
|
|
173
|
-
self.console.print("\n🤖 Agent Recommendations", style="bold blue")
|
|
174
|
-
self.console.print(f"Project: {analysis.project_path}\n")
|
|
175
|
-
|
|
176
|
-
# Display quick summary
|
|
177
|
-
if recommendations:
|
|
178
|
-
summary_text = (
|
|
179
|
-
f"Found {len(recommendations)} recommended agent(s) "
|
|
180
|
-
f"for your project based on detected toolchain."
|
|
181
|
-
)
|
|
182
|
-
panel = Panel(summary_text, border_style="green")
|
|
183
|
-
self.console.print(panel)
|
|
184
|
-
else:
|
|
185
|
-
panel = Panel(
|
|
186
|
-
"No agents recommended for this project.\n"
|
|
187
|
-
"Try lowering the confidence threshold with --min-confidence",
|
|
188
|
-
border_style="yellow",
|
|
189
|
-
)
|
|
190
|
-
self.console.print(panel)
|
|
191
|
-
return CommandResult.success_result()
|
|
192
|
-
|
|
193
|
-
# Display recommendations table
|
|
194
|
-
self.console.print("\n📋 Recommended Agents:", style="bold green")
|
|
195
|
-
table = Table(show_header=True, header_style="bold")
|
|
196
|
-
table.add_column("Agent ID", style="cyan")
|
|
197
|
-
table.add_column("Confidence", style="green")
|
|
198
|
-
table.add_column("Priority", style="yellow")
|
|
199
|
-
if show_reasoning:
|
|
200
|
-
table.add_column("Reasoning", style="dim", no_wrap=False)
|
|
201
|
-
|
|
202
|
-
for rec in recommendations:
|
|
203
|
-
confidence_pct = int(rec.confidence * 100)
|
|
204
|
-
bar = "█" * (confidence_pct // 10) + "░" * (10 - confidence_pct // 10)
|
|
205
|
-
confidence_str = f"{bar} {confidence_pct}%"
|
|
206
|
-
|
|
207
|
-
if show_reasoning:
|
|
208
|
-
table.add_row(
|
|
209
|
-
rec.agent_id,
|
|
210
|
-
confidence_str,
|
|
211
|
-
str(rec.priority),
|
|
212
|
-
rec.reasoning,
|
|
213
|
-
)
|
|
214
|
-
else:
|
|
215
|
-
table.add_row(rec.agent_id, confidence_str, str(rec.priority))
|
|
216
|
-
|
|
217
|
-
self.console.print(table)
|
|
218
|
-
|
|
219
|
-
# Display match details if reasoning enabled
|
|
220
|
-
if show_reasoning:
|
|
221
|
-
self.console.print("\n🔍 Match Details:", style="bold blue")
|
|
222
|
-
for rec in recommendations:
|
|
223
|
-
self.console.print(f"\n[bold cyan]{rec.agent_id}[/bold cyan]")
|
|
224
|
-
self.console.print(f" Confidence: {int(rec.confidence * 100)}%")
|
|
225
|
-
self.console.print(f" Priority: {rec.priority}")
|
|
226
|
-
self.console.print(f" Reasoning: {rec.reasoning}")
|
|
227
|
-
|
|
228
|
-
if rec.matched_capabilities:
|
|
229
|
-
self.console.print(" Matched capabilities:", style="green")
|
|
230
|
-
for cap in rec.matched_capabilities[:5]:
|
|
231
|
-
self.console.print(f" • {cap}", style="dim")
|
|
232
|
-
if len(rec.matched_capabilities) > 5:
|
|
233
|
-
remaining = len(rec.matched_capabilities) - 5
|
|
234
|
-
self.console.print(f" ... and {remaining} more", style="dim")
|
|
235
|
-
|
|
236
|
-
# Display next steps
|
|
237
|
-
self.console.print("\n💡 Next Steps:", style="bold yellow")
|
|
238
|
-
self.console.print(" 1. Review the recommendations and their reasoning")
|
|
239
|
-
self.console.print(
|
|
240
|
-
" 2. Deploy agents with: [bold]claude-mpm auto-configure[/bold]"
|
|
241
|
-
)
|
|
242
|
-
self.console.print(
|
|
243
|
-
" 3. Or preview deployment with: [bold]claude-mpm auto-configure --preview[/bold]"
|
|
244
|
-
)
|
|
245
|
-
|
|
246
|
-
return CommandResult.success_result()
|
|
247
|
-
|
|
248
|
-
def _display_results_plain(
|
|
249
|
-
self, recommendations, analysis, show_reasoning: bool
|
|
250
|
-
) -> CommandResult:
|
|
251
|
-
"""Display results in plain text (fallback)."""
|
|
252
|
-
print("\n🤖 Agent Recommendations")
|
|
253
|
-
print(f"Project: {analysis.project_path}\n")
|
|
254
|
-
|
|
255
|
-
if not recommendations:
|
|
256
|
-
print("No agents recommended for this project.")
|
|
257
|
-
print("Try lowering the confidence threshold with --min-confidence")
|
|
258
|
-
return CommandResult.success_result()
|
|
259
|
-
|
|
260
|
-
print(f"Found {len(recommendations)} recommended agent(s) for your project:\n")
|
|
261
|
-
|
|
262
|
-
for rec in recommendations:
|
|
263
|
-
confidence_pct = int(rec.confidence * 100)
|
|
264
|
-
print(f"• {rec.agent_id} ({confidence_pct}% confidence)")
|
|
265
|
-
|
|
266
|
-
if show_reasoning:
|
|
267
|
-
print(f" Priority: {rec.priority}")
|
|
268
|
-
print(f" Reasoning: {rec.reasoning}")
|
|
269
|
-
|
|
270
|
-
if rec.matched_capabilities:
|
|
271
|
-
print(" Matched capabilities:")
|
|
272
|
-
for cap in rec.matched_capabilities[:5]:
|
|
273
|
-
print(f" - {cap}")
|
|
274
|
-
if len(rec.matched_capabilities) > 5:
|
|
275
|
-
remaining = len(rec.matched_capabilities) - 5
|
|
276
|
-
print(f" ... and {remaining} more")
|
|
277
|
-
print()
|
|
278
|
-
|
|
279
|
-
print("\nNext Steps:")
|
|
280
|
-
print(" 1. Review the recommendations and their reasoning")
|
|
281
|
-
print(" 2. Deploy agents with: claude-mpm auto-configure")
|
|
282
|
-
print(" 3. Or preview deployment with: claude-mpm auto-configure --preview")
|
|
283
|
-
|
|
284
|
-
return CommandResult.success_result()
|
|
285
|
-
|
|
286
|
-
def _output_json(self, recommendations, analysis) -> CommandResult:
|
|
287
|
-
"""Output recommendations as JSON."""
|
|
288
|
-
output = {
|
|
289
|
-
"project_path": analysis.project_path,
|
|
290
|
-
"recommendations": [
|
|
291
|
-
{
|
|
292
|
-
"agent_id": rec.agent_id,
|
|
293
|
-
"confidence": rec.confidence,
|
|
294
|
-
"priority": rec.priority,
|
|
295
|
-
"reasoning": rec.reasoning,
|
|
296
|
-
"matched_capabilities": rec.matched_capabilities,
|
|
297
|
-
"requirements": rec.requirements,
|
|
298
|
-
}
|
|
299
|
-
for rec in recommendations
|
|
300
|
-
],
|
|
301
|
-
"toolchain_summary": {
|
|
302
|
-
"languages": len(analysis.languages),
|
|
303
|
-
"frameworks": len(analysis.frameworks),
|
|
304
|
-
"deployment_targets": len(analysis.deployment_targets),
|
|
305
|
-
},
|
|
306
|
-
}
|
|
307
|
-
|
|
308
|
-
print(json.dumps(output, indent=2))
|
|
309
|
-
return CommandResult.success_result(data=output)
|
claude_mpm/cli/ticket_cli.py
DELETED
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
from pathlib import Path
|
|
2
|
-
|
|
3
|
-
# \!/usr/bin/env python3
|
|
4
|
-
"""
|
|
5
|
-
Ticket CLI module for claude-mpm.
|
|
6
|
-
|
|
7
|
-
This module provides the entry point for the 'ticket' alias command.
|
|
8
|
-
It delegates to the scripts/ticket.py module for implementation.
|
|
9
|
-
"""
|
|
10
|
-
|
|
11
|
-
import sys
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
def main():
|
|
15
|
-
"""Main entry point for ticket CLI alias."""
|
|
16
|
-
# Import and run the main ticket CLI
|
|
17
|
-
try:
|
|
18
|
-
# Try to import from scripts
|
|
19
|
-
scripts_dir = Path(__file__).parent.parent.parent.parent / "scripts"
|
|
20
|
-
sys.path.insert(0, str(scripts_dir))
|
|
21
|
-
|
|
22
|
-
from ticket import main as ticket_main
|
|
23
|
-
|
|
24
|
-
return ticket_main()
|
|
25
|
-
except ImportError:
|
|
26
|
-
print("Error: Ticket functionality not available")
|
|
27
|
-
print("Install ai-trackdown-pytools: pip install ai-trackdown-pytools")
|
|
28
|
-
return 1
|
|
29
|
-
except Exception as e:
|
|
30
|
-
print(f"Error running ticket command: {e}")
|
|
31
|
-
return 1
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
if __name__ == "__main__":
|
|
35
|
-
sys.exit(main())
|
|
@@ -1,168 +0,0 @@
|
|
|
1
|
-
# Detect project toolchain and frameworks
|
|
2
|
-
|
|
3
|
-
Scan your project to detect programming languages, frameworks, tools, and configurations.
|
|
4
|
-
|
|
5
|
-
## Usage
|
|
6
|
-
|
|
7
|
-
```
|
|
8
|
-
/mpm-agents-detect
|
|
9
|
-
```
|
|
10
|
-
|
|
11
|
-
## Description
|
|
12
|
-
|
|
13
|
-
This command scans your project directory to automatically detect:
|
|
14
|
-
- Programming languages and their versions
|
|
15
|
-
- Web frameworks and libraries
|
|
16
|
-
- Testing tools and frameworks
|
|
17
|
-
- Build tools and bundlers
|
|
18
|
-
- Package managers
|
|
19
|
-
- Deployment configurations
|
|
20
|
-
|
|
21
|
-
This is useful for understanding what Claude MPM can detect in your project before running auto-configuration.
|
|
22
|
-
|
|
23
|
-
## Implementation
|
|
24
|
-
|
|
25
|
-
When you run `/mpm-agents-detect`, the PM will execute:
|
|
26
|
-
```bash
|
|
27
|
-
claude-mpm agents detect
|
|
28
|
-
```
|
|
29
|
-
|
|
30
|
-
This performs a comprehensive scan of your project looking for:
|
|
31
|
-
- Package manifests (package.json, requirements.txt, Cargo.toml, go.mod, pom.xml)
|
|
32
|
-
- Framework-specific files (next.config.js, fastapi imports, etc.)
|
|
33
|
-
- Test configurations (pytest.ini, jest.config.js, playwright.config.ts)
|
|
34
|
-
- Build configurations (vite.config.js, webpack.config.js, tsconfig.json)
|
|
35
|
-
- Deployment files (Dockerfile, vercel.json, railway.json)
|
|
36
|
-
|
|
37
|
-
## Expected Output
|
|
38
|
-
|
|
39
|
-
```
|
|
40
|
-
🔍 Project Toolchain Detection
|
|
41
|
-
================================
|
|
42
|
-
|
|
43
|
-
Languages:
|
|
44
|
-
✓ Python 3.11.5
|
|
45
|
-
✓ Node.js 20.10.0
|
|
46
|
-
✓ TypeScript 5.3.2
|
|
47
|
-
|
|
48
|
-
Frameworks:
|
|
49
|
-
✓ FastAPI 0.104.0
|
|
50
|
-
✓ React 18.2.0
|
|
51
|
-
✓ Next.js 14.0.4
|
|
52
|
-
|
|
53
|
-
Testing:
|
|
54
|
-
✓ pytest 7.4.3
|
|
55
|
-
✓ Jest 29.7.0
|
|
56
|
-
✓ Playwright 1.40.0
|
|
57
|
-
|
|
58
|
-
Build Tools:
|
|
59
|
-
✓ Vite 5.0.0
|
|
60
|
-
✓ TypeScript Compiler
|
|
61
|
-
|
|
62
|
-
Package Managers:
|
|
63
|
-
✓ poetry (Python)
|
|
64
|
-
✓ npm (Node.js)
|
|
65
|
-
|
|
66
|
-
Deployment:
|
|
67
|
-
✓ Docker (Dockerfile found)
|
|
68
|
-
✓ Vercel (vercel.json found)
|
|
69
|
-
✓ PM2 (ecosystem.config.js found)
|
|
70
|
-
|
|
71
|
-
Configuration Files Detected:
|
|
72
|
-
- pyproject.toml
|
|
73
|
-
- package.json
|
|
74
|
-
- tsconfig.json
|
|
75
|
-
- next.config.js
|
|
76
|
-
- pytest.ini
|
|
77
|
-
- jest.config.js
|
|
78
|
-
- playwright.config.ts
|
|
79
|
-
- Dockerfile
|
|
80
|
-
- vercel.json
|
|
81
|
-
|
|
82
|
-
Summary:
|
|
83
|
-
Full-stack project with Python backend (FastAPI) and
|
|
84
|
-
React/Next.js frontend, comprehensive testing setup,
|
|
85
|
-
and multiple deployment targets.
|
|
86
|
-
```
|
|
87
|
-
|
|
88
|
-
## What Gets Detected
|
|
89
|
-
|
|
90
|
-
### Language Detection
|
|
91
|
-
- **Python**: Looks for .py files, requirements.txt, pyproject.toml, setup.py
|
|
92
|
-
- **JavaScript/TypeScript**: Looks for .js/.ts files, package.json, tsconfig.json
|
|
93
|
-
- **Rust**: Looks for Cargo.toml, .rs files
|
|
94
|
-
- **Go**: Looks for go.mod, .go files
|
|
95
|
-
- **Java**: Looks for pom.xml, build.gradle, .java files
|
|
96
|
-
|
|
97
|
-
### Framework Detection
|
|
98
|
-
**Python:**
|
|
99
|
-
- FastAPI (imports, decorator patterns)
|
|
100
|
-
- Flask (imports, app patterns)
|
|
101
|
-
- Django (settings.py, manage.py)
|
|
102
|
-
|
|
103
|
-
**JavaScript/TypeScript:**
|
|
104
|
-
- Next.js (next.config.js, pages/ or app/ directory)
|
|
105
|
-
- React (package.json dependencies, JSX usage)
|
|
106
|
-
- Vue (vue.config.js, .vue files)
|
|
107
|
-
- Express (imports, app patterns)
|
|
108
|
-
- Nest.js (nest-cli.json, decorators)
|
|
109
|
-
|
|
110
|
-
### Testing Detection
|
|
111
|
-
- pytest (pytest.ini, conftest.py)
|
|
112
|
-
- unittest (test_*.py patterns)
|
|
113
|
-
- Jest (jest.config.js)
|
|
114
|
-
- Vitest (vitest.config.js)
|
|
115
|
-
- Playwright (playwright.config.ts)
|
|
116
|
-
- Cypress (cypress.json)
|
|
117
|
-
|
|
118
|
-
### Build Tool Detection
|
|
119
|
-
- Vite (vite.config.js/ts)
|
|
120
|
-
- Webpack (webpack.config.js)
|
|
121
|
-
- Rollup (rollup.config.js)
|
|
122
|
-
- esbuild (esbuild configuration)
|
|
123
|
-
- Turbopack (next.config.js with turbopack)
|
|
124
|
-
|
|
125
|
-
### Deployment Detection
|
|
126
|
-
- Docker (Dockerfile, docker-compose.yml)
|
|
127
|
-
- Vercel (vercel.json, .vercel directory)
|
|
128
|
-
- Railway (railway.json, railway.toml)
|
|
129
|
-
- PM2 (ecosystem.config.js)
|
|
130
|
-
- Kubernetes (k8s/, kubernetes/ directories)
|
|
131
|
-
|
|
132
|
-
## Use Cases
|
|
133
|
-
|
|
134
|
-
1. **Before Auto-Configuration**: Run this to see what will be detected
|
|
135
|
-
2. **Troubleshooting**: Verify that your project setup is being recognized correctly
|
|
136
|
-
3. **Documentation**: Generate a summary of your project's tech stack
|
|
137
|
-
4. **Planning**: Understand what agents might be recommended
|
|
138
|
-
|
|
139
|
-
## Tips
|
|
140
|
-
|
|
141
|
-
1. **Run from project root**: Detection works best from your project's root directory
|
|
142
|
-
2. **Check detection accuracy**: Verify detected versions match your actual setup
|
|
143
|
-
3. **Missing detections**: If something isn't detected, you can still deploy agents manually
|
|
144
|
-
4. **Configuration files**: Detection relies on standard configuration files being present
|
|
145
|
-
|
|
146
|
-
## Common Issues
|
|
147
|
-
|
|
148
|
-
**Nothing detected?**
|
|
149
|
-
- Make sure you're in the project root directory
|
|
150
|
-
- Check that you have standard configuration files (package.json, requirements.txt, etc.)
|
|
151
|
-
- Some projects may need manual agent deployment
|
|
152
|
-
|
|
153
|
-
**Wrong versions detected?**
|
|
154
|
-
- Detection shows what's configured in manifest files
|
|
155
|
-
- Actual runtime versions may differ
|
|
156
|
-
- This doesn't affect agent functionality
|
|
157
|
-
|
|
158
|
-
**Framework not detected?**
|
|
159
|
-
- Some frameworks are harder to detect automatically
|
|
160
|
-
- You can still use auto-configure and manually select agents
|
|
161
|
-
- Or deploy specific agents manually with `/mpm-agents deploy <name>`
|
|
162
|
-
|
|
163
|
-
## Related Commands
|
|
164
|
-
|
|
165
|
-
- `/mpm-agents-recommend` - See agent recommendations based on detection
|
|
166
|
-
- `/mpm-auto-configure` - Automatically configure agents based on detection
|
|
167
|
-
- `/mpm-agents` - Manually manage agents
|
|
168
|
-
- `/mpm-help auto-configure` - Learn about auto-configuration
|