claude-mpm 4.16.0__py3-none-any.whl → 4.25.10__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of claude-mpm might be problematic. Click here for more details.
- claude_mpm/VERSION +1 -1
- claude_mpm/agents/BASE_ENGINEER.md +286 -0
- claude_mpm/agents/BASE_PM.md +272 -23
- claude_mpm/agents/OUTPUT_STYLE.md +3 -48
- claude_mpm/agents/PM_INSTRUCTIONS.md +1821 -32
- claude_mpm/agents/WORKFLOW.md +75 -2
- claude_mpm/agents/agent_loader.py +4 -4
- claude_mpm/agents/base_agent.json +6 -3
- claude_mpm/agents/frontmatter_validator.py +1 -1
- claude_mpm/agents/templates/api_qa.json +5 -2
- claude_mpm/agents/templates/circuit_breakers.md +108 -2
- claude_mpm/agents/templates/documentation.json +33 -6
- claude_mpm/agents/templates/engineer.json +5 -1
- claude_mpm/agents/templates/javascript_engineer_agent.json +380 -0
- claude_mpm/agents/templates/php-engineer.json +10 -4
- claude_mpm/agents/templates/pm_red_flags.md +89 -19
- claude_mpm/agents/templates/project_organizer.json +7 -3
- claude_mpm/agents/templates/python_engineer.json +8 -3
- claude_mpm/agents/templates/qa.json +2 -1
- claude_mpm/agents/templates/react_engineer.json +1 -0
- claude_mpm/agents/templates/research.json +82 -12
- claude_mpm/agents/templates/rust_engineer.json +12 -7
- claude_mpm/agents/templates/security.json +4 -4
- claude_mpm/agents/templates/svelte-engineer.json +225 -0
- claude_mpm/agents/templates/tauri_engineer.json +274 -0
- claude_mpm/agents/templates/ticketing.json +10 -6
- claude_mpm/agents/templates/version_control.json +4 -2
- claude_mpm/agents/templates/web_qa.json +2 -1
- claude_mpm/cli/README.md +253 -0
- claude_mpm/cli/__init__.py +11 -1
- claude_mpm/cli/commands/__init__.py +2 -0
- claude_mpm/cli/commands/aggregate.py +1 -1
- claude_mpm/cli/commands/analyze.py +3 -3
- claude_mpm/cli/commands/cleanup.py +1 -1
- claude_mpm/cli/commands/configure_agent_display.py +4 -4
- claude_mpm/cli/commands/debug.py +12 -12
- claude_mpm/cli/commands/hook_errors.py +277 -0
- claude_mpm/cli/commands/mcp_install_commands.py +1 -1
- claude_mpm/cli/commands/mcp_install_commands.py.backup +284 -0
- claude_mpm/cli/commands/mpm_init/README.md +365 -0
- claude_mpm/cli/commands/mpm_init/__init__.py +73 -0
- claude_mpm/cli/commands/mpm_init/core.py +573 -0
- claude_mpm/cli/commands/mpm_init/display.py +341 -0
- claude_mpm/cli/commands/mpm_init/git_activity.py +427 -0
- claude_mpm/cli/commands/mpm_init/modes.py +397 -0
- claude_mpm/cli/commands/mpm_init/prompts.py +442 -0
- claude_mpm/cli/commands/mpm_init_cli.py +396 -0
- claude_mpm/cli/commands/mpm_init_handler.py +67 -1
- claude_mpm/cli/commands/run.py +124 -128
- claude_mpm/cli/commands/skills.py +922 -0
- claude_mpm/cli/executor.py +58 -0
- claude_mpm/cli/interactive/agent_wizard.py +5 -5
- claude_mpm/cli/parsers/base_parser.py +35 -0
- claude_mpm/cli/parsers/mpm_init_parser.py +42 -0
- claude_mpm/cli/parsers/skills_parser.py +275 -0
- claude_mpm/cli/startup.py +168 -8
- 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/cli_module/refactoring_guide.md +253 -0
- claude_mpm/commands/mpm-auto-configure.md +52 -0
- claude_mpm/commands/mpm-help.md +6 -0
- claude_mpm/commands/mpm-init.md +130 -8
- claude_mpm/commands/mpm-resume.md +372 -0
- claude_mpm/commands/mpm-tickets.md +56 -7
- claude_mpm/commands/mpm-version.md +113 -0
- claude_mpm/commands/mpm.md +2 -0
- claude_mpm/config/agent_capabilities.yaml +658 -0
- claude_mpm/config/agent_config.py +2 -2
- claude_mpm/config/async_logging_config.yaml +145 -0
- claude_mpm/constants.py +24 -0
- claude_mpm/core/.claude-mpm/logs/hooks_20250730.log +34 -0
- claude_mpm/core/api_validator.py +1 -1
- claude_mpm/core/claude_runner.py +14 -1
- claude_mpm/core/config.py +50 -0
- claude_mpm/core/constants.py +1 -1
- claude_mpm/core/factories.py +1 -1
- claude_mpm/core/framework/processors/metadata_processor.py +1 -1
- claude_mpm/core/hook_error_memory.py +381 -0
- claude_mpm/core/hook_manager.py +41 -2
- claude_mpm/core/interactive_session.py +48 -3
- claude_mpm/core/interfaces.py +56 -1
- claude_mpm/core/logger.py +3 -1
- claude_mpm/core/oneshot_session.py +39 -0
- claude_mpm/core/optimized_agent_loader.py +3 -3
- claude_mpm/d2/.gitignore +22 -0
- claude_mpm/d2/ARCHITECTURE_COMPARISON.md +273 -0
- claude_mpm/d2/FLASK_INTEGRATION.md +156 -0
- claude_mpm/d2/IMPLEMENTATION_SUMMARY.md +452 -0
- claude_mpm/d2/QUICKSTART.md +186 -0
- claude_mpm/d2/README.md +232 -0
- claude_mpm/d2/STORE_FIX_SUMMARY.md +167 -0
- claude_mpm/d2/SVELTE5_STORES_GUIDE.md +180 -0
- claude_mpm/d2/TESTING.md +288 -0
- claude_mpm/d2/index.html +118 -0
- claude_mpm/d2/package.json +19 -0
- claude_mpm/d2/src/App.svelte +110 -0
- claude_mpm/d2/src/components/Header.svelte +153 -0
- claude_mpm/d2/src/components/MainContent.svelte +74 -0
- claude_mpm/d2/src/components/Sidebar.svelte +85 -0
- claude_mpm/d2/src/components/tabs/EventsTab.svelte +326 -0
- claude_mpm/d2/src/lib/socketio.js +144 -0
- claude_mpm/d2/src/main.js +7 -0
- claude_mpm/d2/src/stores/events.js +114 -0
- claude_mpm/d2/src/stores/socket.js +108 -0
- claude_mpm/d2/src/stores/theme.js +65 -0
- claude_mpm/d2/svelte.config.js +12 -0
- claude_mpm/d2/vite.config.js +15 -0
- claude_mpm/dashboard/.claude-mpm/memories/README.md +36 -0
- claude_mpm/dashboard/BUILD_NUMBER +1 -0
- claude_mpm/dashboard/README.md +121 -0
- claude_mpm/dashboard/VERSION +1 -0
- claude_mpm/dashboard/react/components/DataInspector/DataInspector.tsx +273 -0
- claude_mpm/dashboard/react/components/ErrorBoundary.tsx +75 -0
- claude_mpm/dashboard/react/components/EventViewer/EventViewer.tsx +141 -0
- claude_mpm/dashboard/react/components/shared/ConnectionStatus.tsx +36 -0
- claude_mpm/dashboard/react/components/shared/FilterBar.tsx +89 -0
- claude_mpm/dashboard/react/contexts/DashboardContext.tsx +215 -0
- claude_mpm/dashboard/react/entries/events.tsx +165 -0
- claude_mpm/dashboard/react/hooks/useEvents.ts +191 -0
- claude_mpm/dashboard/react/hooks/useSocket.ts +225 -0
- claude_mpm/dashboard/static/built/REFACTORING_SUMMARY.md +170 -0
- claude_mpm/dashboard/static/built/components/activity-tree.js.map +1 -0
- claude_mpm/dashboard/static/built/components/agent-hierarchy.js +101 -101
- claude_mpm/dashboard/static/built/components/agent-inference.js.map +1 -0
- claude_mpm/dashboard/static/built/components/build-tracker.js +59 -59
- claude_mpm/dashboard/static/built/components/code-simple.js +107 -107
- claude_mpm/dashboard/static/built/components/code-tree/tree-breadcrumb.js +29 -29
- claude_mpm/dashboard/static/built/components/code-tree/tree-constants.js +24 -24
- claude_mpm/dashboard/static/built/components/code-tree/tree-search.js +27 -27
- claude_mpm/dashboard/static/built/components/code-tree/tree-utils.js +25 -25
- claude_mpm/dashboard/static/built/components/code-tree.js.map +1 -0
- claude_mpm/dashboard/static/built/components/code-viewer.js.map +1 -0
- claude_mpm/dashboard/static/built/components/connection-debug.js +101 -101
- claude_mpm/dashboard/static/built/components/diff-viewer.js +113 -113
- claude_mpm/dashboard/static/built/components/event-processor.js.map +1 -0
- claude_mpm/dashboard/static/built/components/event-viewer.js.map +1 -0
- claude_mpm/dashboard/static/built/components/export-manager.js.map +1 -0
- claude_mpm/dashboard/static/built/components/file-change-tracker.js +57 -57
- claude_mpm/dashboard/static/built/components/file-change-viewer.js +74 -74
- claude_mpm/dashboard/static/built/components/file-tool-tracker.js.map +1 -0
- claude_mpm/dashboard/static/built/components/file-viewer.js.map +1 -0
- claude_mpm/dashboard/static/built/components/hud-library-loader.js.map +1 -0
- claude_mpm/dashboard/static/built/components/hud-manager.js.map +1 -0
- claude_mpm/dashboard/static/built/components/hud-visualizer.js.map +1 -0
- claude_mpm/dashboard/static/built/components/module-viewer.js.map +1 -0
- claude_mpm/dashboard/static/built/components/session-manager.js.map +1 -0
- claude_mpm/dashboard/static/built/components/socket-manager.js.map +1 -0
- claude_mpm/dashboard/static/built/components/ui-state-manager.js.map +1 -0
- claude_mpm/dashboard/static/built/components/unified-data-viewer.js.map +1 -0
- claude_mpm/dashboard/static/built/components/working-directory.js.map +1 -0
- claude_mpm/dashboard/static/built/connection-manager.js +76 -76
- claude_mpm/dashboard/static/built/dashboard.js.map +1 -0
- claude_mpm/dashboard/static/built/extension-error-handler.js +22 -22
- claude_mpm/dashboard/static/built/react/events.js.map +1 -0
- claude_mpm/dashboard/static/built/shared/dom-helpers.js +9 -9
- claude_mpm/dashboard/static/built/shared/event-bus.js +5 -5
- claude_mpm/dashboard/static/built/shared/logger.js +16 -16
- claude_mpm/dashboard/static/built/shared/tooltip-service.js +6 -6
- claude_mpm/dashboard/static/built/socket-client.js.map +1 -0
- claude_mpm/dashboard/static/css/activity.css +69 -69
- claude_mpm/dashboard/static/css/connection-status.css +10 -10
- claude_mpm/dashboard/static/css/dashboard.css +15 -15
- claude_mpm/dashboard/static/index.html +22 -22
- claude_mpm/dashboard/static/js/REFACTORING_SUMMARY.md +170 -0
- claude_mpm/dashboard/static/js/components/activity-tree.js +178 -178
- claude_mpm/dashboard/static/js/components/agent-hierarchy.js +101 -101
- claude_mpm/dashboard/static/js/components/agent-inference.js +31 -31
- claude_mpm/dashboard/static/js/components/build-tracker.js +59 -59
- claude_mpm/dashboard/static/js/components/code-simple.js +107 -107
- claude_mpm/dashboard/static/js/components/connection-debug.js +101 -101
- claude_mpm/dashboard/static/js/components/diff-viewer.js +113 -113
- claude_mpm/dashboard/static/js/components/event-viewer.js +12 -12
- claude_mpm/dashboard/static/js/components/file-change-tracker.js +57 -57
- claude_mpm/dashboard/static/js/components/file-change-viewer.js +74 -74
- claude_mpm/dashboard/static/js/components/file-tool-tracker.js +6 -6
- claude_mpm/dashboard/static/js/components/file-viewer.js +42 -42
- claude_mpm/dashboard/static/js/components/module-viewer.js +27 -27
- claude_mpm/dashboard/static/js/components/session-manager.js +14 -14
- claude_mpm/dashboard/static/js/components/socket-manager.js +1 -1
- claude_mpm/dashboard/static/js/components/ui-state-manager.js +14 -14
- claude_mpm/dashboard/static/js/components/unified-data-viewer.js +110 -110
- claude_mpm/dashboard/static/js/components/working-directory.js +8 -8
- claude_mpm/dashboard/static/js/connection-manager.js +76 -76
- claude_mpm/dashboard/static/js/dashboard.js +76 -58
- claude_mpm/dashboard/static/js/extension-error-handler.js +22 -22
- claude_mpm/dashboard/static/js/shared/dom-helpers.js +9 -9
- claude_mpm/dashboard/static/js/shared/event-bus.js +5 -5
- claude_mpm/dashboard/static/js/shared/logger.js +16 -16
- claude_mpm/dashboard/static/js/shared/tooltip-service.js +6 -6
- claude_mpm/dashboard/static/js/socket-client.js +138 -121
- claude_mpm/dashboard/static/navigation-test-results.md +118 -0
- claude_mpm/dashboard/static/production/main.html +21 -21
- claude_mpm/dashboard/static/test-archive/dashboard.html +22 -22
- claude_mpm/dashboard/templates/.claude-mpm/memories/README.md +36 -0
- claude_mpm/dashboard/templates/.claude-mpm/memories/engineer_agent.md +39 -0
- claude_mpm/dashboard/templates/.claude-mpm/memories/version_control_agent.md +38 -0
- claude_mpm/dashboard/templates/code_simple.html +23 -23
- claude_mpm/dashboard/templates/index.html +18 -18
- claude_mpm/hooks/README.md +143 -0
- claude_mpm/hooks/__init__.py +8 -0
- claude_mpm/hooks/claude_hooks/event_handlers.py +3 -1
- claude_mpm/hooks/claude_hooks/hook_handler.py +24 -7
- claude_mpm/hooks/claude_hooks/installer.py +45 -0
- claude_mpm/hooks/claude_hooks/response_tracking.py +35 -1
- claude_mpm/hooks/session_resume_hook.py +121 -0
- claude_mpm/hooks/templates/README.md +180 -0
- claude_mpm/hooks/templates/pre_tool_use_simple.py +78 -0
- claude_mpm/hooks/templates/pre_tool_use_template.py +323 -0
- claude_mpm/hooks/templates/settings.json.example +147 -0
- claude_mpm/models/resume_log.py +340 -0
- claude_mpm/schemas/agent_schema.json +596 -0
- claude_mpm/schemas/frontmatter_schema.json +165 -0
- claude_mpm/scripts/claude-hook-handler.sh +3 -3
- claude_mpm/scripts/start_activity_logging.py +3 -1
- claude_mpm/services/agents/auto_config_manager.py +1 -1
- claude_mpm/services/agents/deployment/agent_configuration_manager.py +1 -1
- claude_mpm/services/agents/deployment/agent_format_converter.py +1 -1
- claude_mpm/services/agents/deployment/agent_metrics_collector.py +3 -3
- claude_mpm/services/agents/deployment/agent_record_service.py +1 -1
- claude_mpm/services/agents/deployment/agent_validator.py +17 -1
- claude_mpm/services/agents/deployment/async_agent_deployment.py +1 -1
- claude_mpm/services/agents/deployment/facade/deployment_facade.py +3 -3
- claude_mpm/services/agents/deployment/local_template_deployment.py +1 -1
- claude_mpm/services/agents/deployment/pipeline/pipeline_executor.py +2 -2
- claude_mpm/services/agents/loading/framework_agent_loader.py +8 -8
- claude_mpm/services/agents/local_template_manager.py +4 -2
- claude_mpm/services/agents/recommender.py +47 -0
- claude_mpm/services/cli/resume_service.py +617 -0
- claude_mpm/services/cli/session_manager.py +87 -0
- claude_mpm/services/cli/session_pause_manager.py +504 -0
- claude_mpm/services/cli/session_resume_helper.py +372 -0
- claude_mpm/services/cli/unified_dashboard_manager.py +1 -1
- claude_mpm/services/core/base.py +26 -11
- claude_mpm/services/core/interfaces.py +56 -1
- claude_mpm/services/core/models/agent_config.py +3 -0
- claude_mpm/services/core/models/process.py +4 -0
- claude_mpm/services/core/path_resolver.py +1 -1
- claude_mpm/services/diagnostics/checks/agent_check.py +0 -2
- claude_mpm/services/diagnostics/checks/instructions_check.py +1 -2
- claude_mpm/services/diagnostics/checks/mcp_check.py +0 -1
- claude_mpm/services/diagnostics/checks/monitor_check.py +0 -1
- claude_mpm/services/diagnostics/doctor_reporter.py +6 -4
- claude_mpm/services/diagnostics/models.py +21 -0
- claude_mpm/services/event_bus/README.md +244 -0
- claude_mpm/services/event_bus/direct_relay.py +3 -3
- claude_mpm/services/event_bus/event_bus.py +36 -3
- claude_mpm/services/event_bus/relay.py +23 -7
- claude_mpm/services/events/README.md +303 -0
- claude_mpm/services/events/consumers/logging.py +1 -2
- claude_mpm/services/framework_claude_md_generator/README.md +119 -0
- claude_mpm/services/infrastructure/monitoring/resources.py +1 -1
- claude_mpm/services/infrastructure/resume_log_generator.py +439 -0
- claude_mpm/services/local_ops/__init__.py +2 -0
- claude_mpm/services/local_ops/process_manager.py +1 -1
- claude_mpm/services/local_ops/resource_monitor.py +2 -2
- claude_mpm/services/mcp_config_manager.py +7 -131
- claude_mpm/services/mcp_gateway/README.md +185 -0
- claude_mpm/services/mcp_gateway/auto_configure.py +31 -25
- claude_mpm/services/mcp_gateway/config/configuration.py +1 -1
- claude_mpm/services/mcp_gateway/core/process_pool.py +19 -10
- claude_mpm/services/mcp_gateway/server/stdio_server.py +0 -2
- claude_mpm/services/mcp_gateway/tools/document_summarizer.py +1 -1
- claude_mpm/services/mcp_gateway/tools/external_mcp_services.py +26 -21
- claude_mpm/services/mcp_gateway/tools/kuzu_memory_service.py +6 -2
- claude_mpm/services/memory/failure_tracker.py +19 -4
- claude_mpm/services/memory/optimizer.py +1 -1
- claude_mpm/services/model/model_router.py +8 -9
- claude_mpm/services/monitor/daemon.py +1 -1
- claude_mpm/services/monitor/server.py +2 -2
- claude_mpm/services/native_agent_converter.py +356 -0
- claude_mpm/services/port_manager.py +1 -1
- claude_mpm/services/project/documentation_manager.py +2 -1
- claude_mpm/services/project/toolchain_analyzer.py +3 -1
- claude_mpm/services/runner_configuration_service.py +1 -0
- claude_mpm/services/self_upgrade_service.py +165 -7
- claude_mpm/services/session_manager.py +205 -1
- claude_mpm/services/skills_config.py +547 -0
- claude_mpm/services/skills_deployer.py +955 -0
- claude_mpm/services/socketio/handlers/connection.py +1 -1
- claude_mpm/services/socketio/handlers/connection.py.backup +217 -0
- claude_mpm/services/socketio/handlers/git.py +2 -2
- claude_mpm/services/socketio/handlers/hook.py.backup +154 -0
- claude_mpm/services/static/.gitkeep +2 -0
- claude_mpm/services/system_instructions_service.py +1 -3
- claude_mpm/services/unified/analyzer_strategies/performance_analyzer.py +0 -3
- claude_mpm/services/unified/analyzer_strategies/security_analyzer.py +0 -1
- claude_mpm/services/unified/deployment_strategies/cloud_strategies.py +1 -1
- claude_mpm/services/unified/deployment_strategies/local.py +1 -1
- claude_mpm/services/version_control/VERSION +1 -0
- claude_mpm/services/version_control/conflict_resolution.py +6 -4
- claude_mpm/services/version_service.py +104 -1
- claude_mpm/services/visualization/mermaid_generator.py +2 -3
- claude_mpm/skills/__init__.py +21 -0
- claude_mpm/skills/agent_skills_injector.py +324 -0
- claude_mpm/skills/bundled/.gitkeep +2 -0
- claude_mpm/skills/bundled/LICENSE_ATTRIBUTIONS.md +79 -0
- claude_mpm/skills/bundled/api-documentation.md +393 -0
- claude_mpm/skills/bundled/async-testing.md +571 -0
- claude_mpm/skills/bundled/code-review.md +143 -0
- claude_mpm/skills/bundled/collaboration/brainstorming/SKILL.md +79 -0
- claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/SKILL.md +178 -0
- claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/agent-prompts.md +577 -0
- claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/coordination-patterns.md +467 -0
- claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/examples.md +537 -0
- claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/troubleshooting.md +730 -0
- claude_mpm/skills/bundled/collaboration/git-worktrees.md +317 -0
- claude_mpm/skills/bundled/collaboration/requesting-code-review/SKILL.md +112 -0
- claude_mpm/skills/bundled/collaboration/requesting-code-review/references/code-reviewer-template.md +146 -0
- claude_mpm/skills/bundled/collaboration/requesting-code-review/references/review-examples.md +412 -0
- claude_mpm/skills/bundled/collaboration/stacked-prs.md +251 -0
- claude_mpm/skills/bundled/collaboration/writing-plans/SKILL.md +81 -0
- claude_mpm/skills/bundled/collaboration/writing-plans/references/best-practices.md +362 -0
- claude_mpm/skills/bundled/collaboration/writing-plans/references/plan-structure-templates.md +312 -0
- claude_mpm/skills/bundled/database-migration.md +199 -0
- claude_mpm/skills/bundled/debugging/root-cause-tracing/SKILL.md +152 -0
- claude_mpm/skills/bundled/debugging/root-cause-tracing/find-polluter.sh +63 -0
- claude_mpm/skills/bundled/debugging/root-cause-tracing/references/advanced-techniques.md +668 -0
- claude_mpm/skills/bundled/debugging/root-cause-tracing/references/examples.md +587 -0
- claude_mpm/skills/bundled/debugging/root-cause-tracing/references/integration.md +438 -0
- claude_mpm/skills/bundled/debugging/root-cause-tracing/references/tracing-techniques.md +391 -0
- claude_mpm/skills/bundled/debugging/systematic-debugging/CREATION-LOG.md +119 -0
- claude_mpm/skills/bundled/debugging/systematic-debugging/SKILL.md +148 -0
- claude_mpm/skills/bundled/debugging/systematic-debugging/references/anti-patterns.md +483 -0
- claude_mpm/skills/bundled/debugging/systematic-debugging/references/examples.md +452 -0
- claude_mpm/skills/bundled/debugging/systematic-debugging/references/troubleshooting.md +449 -0
- claude_mpm/skills/bundled/debugging/systematic-debugging/references/workflow.md +411 -0
- claude_mpm/skills/bundled/debugging/systematic-debugging/test-academic.md +14 -0
- claude_mpm/skills/bundled/debugging/systematic-debugging/test-pressure-1.md +58 -0
- claude_mpm/skills/bundled/debugging/systematic-debugging/test-pressure-2.md +68 -0
- claude_mpm/skills/bundled/debugging/systematic-debugging/test-pressure-3.md +69 -0
- claude_mpm/skills/bundled/debugging/verification-before-completion/SKILL.md +131 -0
- claude_mpm/skills/bundled/debugging/verification-before-completion/references/gate-function.md +325 -0
- claude_mpm/skills/bundled/debugging/verification-before-completion/references/integration-and-workflows.md +490 -0
- claude_mpm/skills/bundled/debugging/verification-before-completion/references/red-flags-and-failures.md +425 -0
- claude_mpm/skills/bundled/debugging/verification-before-completion/references/verification-patterns.md +499 -0
- claude_mpm/skills/bundled/docker-containerization.md +194 -0
- claude_mpm/skills/bundled/express-local-dev.md +1429 -0
- claude_mpm/skills/bundled/fastapi-local-dev.md +1199 -0
- claude_mpm/skills/bundled/git-workflow.md +414 -0
- claude_mpm/skills/bundled/imagemagick.md +204 -0
- claude_mpm/skills/bundled/infrastructure/env-manager/INTEGRATION.md +611 -0
- claude_mpm/skills/bundled/infrastructure/env-manager/README.md +596 -0
- claude_mpm/skills/bundled/infrastructure/env-manager/SKILL.md +260 -0
- claude_mpm/skills/bundled/infrastructure/env-manager/examples/nextjs-env-structure.md +315 -0
- claude_mpm/skills/bundled/infrastructure/env-manager/references/frameworks.md +436 -0
- claude_mpm/skills/bundled/infrastructure/env-manager/references/security.md +433 -0
- claude_mpm/skills/bundled/infrastructure/env-manager/references/synchronization.md +452 -0
- claude_mpm/skills/bundled/infrastructure/env-manager/references/troubleshooting.md +404 -0
- claude_mpm/skills/bundled/infrastructure/env-manager/references/validation.md +420 -0
- claude_mpm/skills/bundled/infrastructure/env-manager/scripts/validate_env.py +576 -0
- claude_mpm/skills/bundled/json-data-handling.md +223 -0
- claude_mpm/skills/bundled/main/artifacts-builder/LICENSE.txt +202 -0
- claude_mpm/skills/bundled/main/artifacts-builder/SKILL.md +86 -0
- claude_mpm/skills/bundled/main/artifacts-builder/scripts/bundle-artifact.sh +54 -0
- claude_mpm/skills/bundled/main/artifacts-builder/scripts/init-artifact.sh +322 -0
- claude_mpm/skills/bundled/main/artifacts-builder/scripts/shadcn-components.tar.gz +0 -0
- claude_mpm/skills/bundled/main/internal-comms/LICENSE.txt +202 -0
- claude_mpm/skills/bundled/main/internal-comms/SKILL.md +43 -0
- claude_mpm/skills/bundled/main/internal-comms/examples/3p-updates.md +47 -0
- claude_mpm/skills/bundled/main/internal-comms/examples/company-newsletter.md +65 -0
- claude_mpm/skills/bundled/main/internal-comms/examples/faq-answers.md +30 -0
- claude_mpm/skills/bundled/main/internal-comms/examples/general-comms.md +16 -0
- claude_mpm/skills/bundled/main/mcp-builder/LICENSE.txt +202 -0
- claude_mpm/skills/bundled/main/mcp-builder/SKILL.md +160 -0
- claude_mpm/skills/bundled/main/mcp-builder/reference/design_principles.md +412 -0
- claude_mpm/skills/bundled/main/mcp-builder/reference/evaluation.md +602 -0
- claude_mpm/skills/bundled/main/mcp-builder/reference/mcp_best_practices.md +915 -0
- claude_mpm/skills/bundled/main/mcp-builder/reference/node_mcp_server.md +916 -0
- claude_mpm/skills/bundled/main/mcp-builder/reference/python_mcp_server.md +752 -0
- claude_mpm/skills/bundled/main/mcp-builder/reference/workflow.md +1237 -0
- claude_mpm/skills/bundled/main/mcp-builder/scripts/connections.py +157 -0
- claude_mpm/skills/bundled/main/mcp-builder/scripts/evaluation.py +425 -0
- claude_mpm/skills/bundled/main/mcp-builder/scripts/example_evaluation.xml +22 -0
- claude_mpm/skills/bundled/main/mcp-builder/scripts/requirements.txt +2 -0
- claude_mpm/skills/bundled/main/skill-creator/LICENSE.txt +202 -0
- claude_mpm/skills/bundled/main/skill-creator/SKILL.md +189 -0
- claude_mpm/skills/bundled/main/skill-creator/references/best-practices.md +500 -0
- claude_mpm/skills/bundled/main/skill-creator/references/creation-workflow.md +464 -0
- claude_mpm/skills/bundled/main/skill-creator/references/examples.md +619 -0
- claude_mpm/skills/bundled/main/skill-creator/references/progressive-disclosure.md +437 -0
- claude_mpm/skills/bundled/main/skill-creator/references/skill-structure.md +231 -0
- claude_mpm/skills/bundled/main/skill-creator/scripts/init_skill.py +303 -0
- claude_mpm/skills/bundled/main/skill-creator/scripts/package_skill.py +113 -0
- claude_mpm/skills/bundled/main/skill-creator/scripts/quick_validate.py +72 -0
- claude_mpm/skills/bundled/nextjs-local-dev.md +807 -0
- claude_mpm/skills/bundled/pdf.md +141 -0
- claude_mpm/skills/bundled/performance-profiling.md +573 -0
- claude_mpm/skills/bundled/php/espocrm-development/SKILL.md +170 -0
- claude_mpm/skills/bundled/php/espocrm-development/references/architecture.md +602 -0
- claude_mpm/skills/bundled/php/espocrm-development/references/common-tasks.md +821 -0
- claude_mpm/skills/bundled/php/espocrm-development/references/development-workflow.md +742 -0
- claude_mpm/skills/bundled/php/espocrm-development/references/frontend-customization.md +726 -0
- claude_mpm/skills/bundled/php/espocrm-development/references/hooks-and-services.md +764 -0
- claude_mpm/skills/bundled/php/espocrm-development/references/testing-debugging.md +831 -0
- claude_mpm/skills/bundled/react/flexlayout-react.md +742 -0
- claude_mpm/skills/bundled/refactoring-patterns.md +180 -0
- claude_mpm/skills/bundled/rust/desktop-applications/SKILL.md +226 -0
- claude_mpm/skills/bundled/rust/desktop-applications/references/architecture-patterns.md +901 -0
- claude_mpm/skills/bundled/rust/desktop-applications/references/native-gui-frameworks.md +901 -0
- claude_mpm/skills/bundled/rust/desktop-applications/references/platform-integration.md +775 -0
- claude_mpm/skills/bundled/rust/desktop-applications/references/state-management.md +937 -0
- claude_mpm/skills/bundled/rust/desktop-applications/references/tauri-framework.md +770 -0
- claude_mpm/skills/bundled/rust/desktop-applications/references/testing-deployment.md +961 -0
- claude_mpm/skills/bundled/security-scanning.md +327 -0
- claude_mpm/skills/bundled/systematic-debugging.md +473 -0
- claude_mpm/skills/bundled/tauri/tauri-async-patterns.md +495 -0
- claude_mpm/skills/bundled/tauri/tauri-build-deploy.md +599 -0
- claude_mpm/skills/bundled/tauri/tauri-command-patterns.md +535 -0
- claude_mpm/skills/bundled/tauri/tauri-error-handling.md +613 -0
- claude_mpm/skills/bundled/tauri/tauri-event-system.md +648 -0
- claude_mpm/skills/bundled/tauri/tauri-file-system.md +673 -0
- claude_mpm/skills/bundled/tauri/tauri-frontend-integration.md +767 -0
- claude_mpm/skills/bundled/tauri/tauri-performance.md +669 -0
- claude_mpm/skills/bundled/tauri/tauri-state-management.md +573 -0
- claude_mpm/skills/bundled/tauri/tauri-testing.md +384 -0
- claude_mpm/skills/bundled/tauri/tauri-window-management.md +628 -0
- claude_mpm/skills/bundled/test-driven-development.md +378 -0
- claude_mpm/skills/bundled/testing/condition-based-waiting/SKILL.md +119 -0
- claude_mpm/skills/bundled/testing/condition-based-waiting/example.ts +158 -0
- claude_mpm/skills/bundled/testing/condition-based-waiting/references/patterns-and-implementation.md +253 -0
- claude_mpm/skills/bundled/testing/test-driven-development/SKILL.md +145 -0
- claude_mpm/skills/bundled/testing/test-driven-development/references/anti-patterns.md +543 -0
- claude_mpm/skills/bundled/testing/test-driven-development/references/examples.md +741 -0
- claude_mpm/skills/bundled/testing/test-driven-development/references/integration.md +470 -0
- claude_mpm/skills/bundled/testing/test-driven-development/references/philosophy.md +458 -0
- claude_mpm/skills/bundled/testing/test-driven-development/references/workflow.md +639 -0
- claude_mpm/skills/bundled/testing/test-quality-inspector/SKILL.md +458 -0
- claude_mpm/skills/bundled/testing/test-quality-inspector/examples/example-inspection-report.md +411 -0
- claude_mpm/skills/bundled/testing/test-quality-inspector/references/assertion-quality.md +317 -0
- claude_mpm/skills/bundled/testing/test-quality-inspector/references/inspection-checklist.md +270 -0
- claude_mpm/skills/bundled/testing/test-quality-inspector/references/red-flags.md +436 -0
- claude_mpm/skills/bundled/testing/testing-anti-patterns/SKILL.md +140 -0
- claude_mpm/skills/bundled/testing/testing-anti-patterns/references/completeness-anti-patterns.md +572 -0
- claude_mpm/skills/bundled/testing/testing-anti-patterns/references/core-anti-patterns.md +411 -0
- claude_mpm/skills/bundled/testing/testing-anti-patterns/references/detection-guide.md +569 -0
- claude_mpm/skills/bundled/testing/testing-anti-patterns/references/tdd-connection.md +695 -0
- claude_mpm/skills/bundled/testing/webapp-testing/LICENSE.txt +202 -0
- claude_mpm/skills/bundled/testing/webapp-testing/SKILL.md +184 -0
- claude_mpm/skills/bundled/testing/webapp-testing/decision-tree.md +459 -0
- claude_mpm/skills/bundled/testing/webapp-testing/examples/console_logging.py +35 -0
- claude_mpm/skills/bundled/testing/webapp-testing/examples/element_discovery.py +44 -0
- claude_mpm/skills/bundled/testing/webapp-testing/examples/static_html_automation.py +34 -0
- claude_mpm/skills/bundled/testing/webapp-testing/playwright-patterns.md +479 -0
- claude_mpm/skills/bundled/testing/webapp-testing/reconnaissance-pattern.md +687 -0
- claude_mpm/skills/bundled/testing/webapp-testing/scripts/with_server.py +129 -0
- claude_mpm/skills/bundled/testing/webapp-testing/server-management.md +758 -0
- claude_mpm/skills/bundled/testing/webapp-testing/troubleshooting.md +868 -0
- claude_mpm/skills/bundled/vite-local-dev.md +1061 -0
- claude_mpm/skills/bundled/web-performance-optimization.md +2305 -0
- claude_mpm/skills/bundled/xlsx.md +157 -0
- claude_mpm/skills/registry.py +97 -9
- claude_mpm/skills/skills_registry.py +347 -0
- claude_mpm/skills/skills_service.py +739 -0
- claude_mpm/templates/questions/EXAMPLES.md +501 -0
- claude_mpm/templates/questions/__init__.py +43 -0
- claude_mpm/templates/questions/base.py +193 -0
- claude_mpm/templates/questions/pr_strategy.py +314 -0
- claude_mpm/templates/questions/project_init.py +388 -0
- claude_mpm/templates/questions/ticket_mgmt.py +397 -0
- claude_mpm/tools/README_SOCKETIO_DEBUG.md +224 -0
- claude_mpm/tools/__main__.py +8 -8
- claude_mpm/tools/code_tree_analyzer/README.md +64 -0
- claude_mpm/tools/code_tree_analyzer/__init__.py +45 -0
- claude_mpm/tools/code_tree_analyzer/analysis.py +299 -0
- claude_mpm/tools/code_tree_analyzer/cache.py +131 -0
- claude_mpm/tools/code_tree_analyzer/core.py +380 -0
- claude_mpm/tools/code_tree_analyzer/discovery.py +403 -0
- claude_mpm/tools/code_tree_analyzer/events.py +168 -0
- claude_mpm/tools/code_tree_analyzer/gitignore.py +308 -0
- claude_mpm/tools/code_tree_analyzer/models.py +39 -0
- claude_mpm/tools/code_tree_analyzer/multilang_analyzer.py +224 -0
- claude_mpm/tools/code_tree_analyzer/python_analyzer.py +284 -0
- claude_mpm/utils/agent_dependency_loader.py +5 -5
- claude_mpm/utils/dependency_cache.py +3 -1
- claude_mpm/utils/gitignore.py +241 -0
- claude_mpm/utils/log_cleanup.py +3 -3
- claude_mpm/utils/robust_installer.py +3 -5
- claude_mpm/utils/structured_questions.py +619 -0
- claude_mpm-4.25.10.dist-info/METADATA +789 -0
- {claude_mpm-4.16.0.dist-info → claude_mpm-4.25.10.dist-info}/RECORD +485 -240
- claude_mpm/agents/INSTRUCTIONS_OLD_DEPRECATED.md +0 -602
- 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/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/cli/commands/mpm_init.py +0 -2008
- claude_mpm/dashboard/.claude-mpm/socketio-instances.json +0 -1
- 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/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/test-archive/test_debug.html +0 -25
- claude_mpm/tools/code_tree_analyzer.py +0 -1825
- claude_mpm-4.16.0.dist-info/METADATA +0 -453
- {claude_mpm-4.16.0.dist-info → claude_mpm-4.25.10.dist-info}/WHEEL +0 -0
- {claude_mpm-4.16.0.dist-info → claude_mpm-4.25.10.dist-info}/entry_points.txt +0 -0
- {claude_mpm-4.16.0.dist-info → claude_mpm-4.25.10.dist-info}/licenses/LICENSE +0 -0
- {claude_mpm-4.16.0.dist-info → claude_mpm-4.25.10.dist-info}/top_level.txt +0 -0
claude_mpm/cli/README.md
ADDED
|
@@ -0,0 +1,253 @@
|
|
|
1
|
+
# Claude MPM CLI Architecture
|
|
2
|
+
|
|
3
|
+
This document describes the refactored CLI architecture for claude-mpm.
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
The CLI has been refactored from a single monolithic `cli.py` file into a modular structure that improves maintainability and code organization.
|
|
8
|
+
|
|
9
|
+
## Directory Structure
|
|
10
|
+
|
|
11
|
+
```
|
|
12
|
+
cli/
|
|
13
|
+
├── __init__.py # Main entry point - orchestrates the CLI flow
|
|
14
|
+
├── parser.py # Argument parsing logic - single source of truth for CLI arguments
|
|
15
|
+
├── utils.py # Shared utility functions
|
|
16
|
+
├── commands/ # Individual command implementations
|
|
17
|
+
│ ├── __init__.py
|
|
18
|
+
│ ├── run.py # Default command - runs Claude sessions
|
|
19
|
+
│ ├── tickets.py # Comprehensive ticket management commands
|
|
20
|
+
│ ├── info.py # Shows system information
|
|
21
|
+
│ ├── agents.py # Manages agent deployments
|
|
22
|
+
│ ├── memory.py # Agent memory management
|
|
23
|
+
│ ├── monitor.py # System monitoring
|
|
24
|
+
│ ├── config.py # Configuration management
|
|
25
|
+
│ └── aggregate.py # Event aggregation
|
|
26
|
+
└── README.md # This file
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Key Design Decisions
|
|
30
|
+
|
|
31
|
+
### 1. Modular Command Structure
|
|
32
|
+
Each command is implemented in its own module under `commands/`. This makes it easy to:
|
|
33
|
+
- Add new commands without touching existing code
|
|
34
|
+
- Test commands in isolation
|
|
35
|
+
- Understand what each command does
|
|
36
|
+
|
|
37
|
+
### 2. Centralized Argument Parsing
|
|
38
|
+
All argument definitions are in `parser.py`. This provides:
|
|
39
|
+
- Single source of truth for CLI arguments
|
|
40
|
+
- Reusable argument groups (common arguments, run arguments)
|
|
41
|
+
- Clear separation of parsing from execution
|
|
42
|
+
|
|
43
|
+
### 3. Shared Utilities
|
|
44
|
+
Common functions are in `utils.py`:
|
|
45
|
+
- `get_user_input()` - Handles input from files, stdin, or command line
|
|
46
|
+
- `get_agent_versions_display()` - Formats agent version information
|
|
47
|
+
- `setup_logging()` - Configures logging based on arguments
|
|
48
|
+
- `ensure_directories()` - Creates required directories on first run
|
|
49
|
+
|
|
50
|
+
### 4. Backward Compatibility
|
|
51
|
+
The refactoring maintains full backward compatibility:
|
|
52
|
+
- `__main__.py` still imports from `claude_mpm.cli`
|
|
53
|
+
- The main `cli/__init__.py` exports the same `main()` function
|
|
54
|
+
- All existing commands and arguments work exactly as before
|
|
55
|
+
|
|
56
|
+
## Entry Points
|
|
57
|
+
|
|
58
|
+
1. **Package execution**: `python -m claude_mpm`
|
|
59
|
+
- Uses `__main__.py` which imports from `cli/__init__.py`
|
|
60
|
+
|
|
61
|
+
2. **Direct import**: `from claude_mpm.cli import main`
|
|
62
|
+
- Imports the main function from `cli/__init__.py`
|
|
63
|
+
|
|
64
|
+
3. **Shell script**: `claude-mpm` command
|
|
65
|
+
- Calls `python -m claude_mpm` with proper environment setup
|
|
66
|
+
|
|
67
|
+
## Adding New Commands
|
|
68
|
+
|
|
69
|
+
To add a new command:
|
|
70
|
+
|
|
71
|
+
1. Create a new module in `commands/`:
|
|
72
|
+
```python
|
|
73
|
+
# commands/mycommand.py
|
|
74
|
+
def my_command(args):
|
|
75
|
+
"""Execute my command."""
|
|
76
|
+
# Implementation here
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
2. Add the command to `commands/__init__.py`:
|
|
80
|
+
```python
|
|
81
|
+
from .mycommand import my_command
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
3. Add parser configuration in `parser.py`:
|
|
85
|
+
```python
|
|
86
|
+
# In create_parser()
|
|
87
|
+
mycommand_parser = subparsers.add_parser(
|
|
88
|
+
"mycommand",
|
|
89
|
+
help="Description of my command"
|
|
90
|
+
)
|
|
91
|
+
# Add command-specific arguments
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
4. Add the command mapping in `cli/__init__.py`:
|
|
95
|
+
```python
|
|
96
|
+
# In _execute_command()
|
|
97
|
+
command_map = {
|
|
98
|
+
# ... existing commands ...
|
|
99
|
+
"mycommand": my_command,
|
|
100
|
+
}
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
## Command Reference
|
|
104
|
+
|
|
105
|
+
### Core Commands
|
|
106
|
+
|
|
107
|
+
**`run`** - Execute Claude sessions (default command)
|
|
108
|
+
- Interactive and non-interactive modes
|
|
109
|
+
- Hook service integration
|
|
110
|
+
- Agent selection and deployment
|
|
111
|
+
- Custom input processing
|
|
112
|
+
|
|
113
|
+
**`tickets`** - Comprehensive ticket management system
|
|
114
|
+
- Full CRUD operations for tickets
|
|
115
|
+
- Hierarchical ticket organization (Epics → Issues → Tasks)
|
|
116
|
+
- Search and filtering capabilities
|
|
117
|
+
- Workflow state management
|
|
118
|
+
- Integration with ai-trackdown-pytools
|
|
119
|
+
|
|
120
|
+
**`agents`** - Manage agent deployments
|
|
121
|
+
- List available agents by tier (PROJECT > USER > SYSTEM)
|
|
122
|
+
- Deploy agents to Claude Code compatibility format
|
|
123
|
+
- Validate agent configurations
|
|
124
|
+
- Clean up deployment artifacts
|
|
125
|
+
|
|
126
|
+
**`info`** - Display system information
|
|
127
|
+
- Version details and environment status
|
|
128
|
+
- Configuration validation
|
|
129
|
+
- Agent availability and status
|
|
130
|
+
- System health checks
|
|
131
|
+
|
|
132
|
+
### Ticket Management Commands
|
|
133
|
+
|
|
134
|
+
The `tickets` command provides a complete ticketing solution with the following subcommands:
|
|
135
|
+
|
|
136
|
+
#### Core Ticket Operations
|
|
137
|
+
- **`create`** - Create new tickets with proper classification
|
|
138
|
+
- Support for epics, issues, tasks, bugs, and features
|
|
139
|
+
- Priority assignment and hierarchical linking
|
|
140
|
+
- Tag management and assignee support
|
|
141
|
+
- Automatic ID generation and metadata
|
|
142
|
+
|
|
143
|
+
- **`list`** - Display recent tickets with filtering
|
|
144
|
+
- Type and status filtering
|
|
145
|
+
- Configurable result limits
|
|
146
|
+
- Verbose mode for detailed information
|
|
147
|
+
- Visual status indicators with emoji
|
|
148
|
+
|
|
149
|
+
- **`view`** - Show detailed ticket information
|
|
150
|
+
- Complete ticket metadata and description
|
|
151
|
+
- Parent/child relationship display
|
|
152
|
+
- Assignment and tag information
|
|
153
|
+
- Creation and update timestamps
|
|
154
|
+
|
|
155
|
+
- **`update`** - Modify ticket properties
|
|
156
|
+
- Status and priority changes
|
|
157
|
+
- Description and tag updates
|
|
158
|
+
- Assignment management
|
|
159
|
+
- Fallback to aitrackdown CLI for complex operations
|
|
160
|
+
|
|
161
|
+
#### Advanced Ticket Operations
|
|
162
|
+
- **`search`** - Find tickets by content
|
|
163
|
+
- Full-text search in titles, descriptions, and tags
|
|
164
|
+
- Type and status filtering
|
|
165
|
+
- Context snippets for relevant matches
|
|
166
|
+
- Configurable result limits
|
|
167
|
+
|
|
168
|
+
- **`close`** - Mark tickets as completed
|
|
169
|
+
- Resolution reason capture
|
|
170
|
+
- Automatic status transition
|
|
171
|
+
- Comment integration for closure notes
|
|
172
|
+
|
|
173
|
+
- **`delete`** - Remove tickets permanently
|
|
174
|
+
- Confirmation prompts for safety
|
|
175
|
+
- Force option for batch operations
|
|
176
|
+
- Integration with aitrackdown cleanup
|
|
177
|
+
|
|
178
|
+
- **`comment`** - Add discussion to tickets
|
|
179
|
+
- Progress updates and technical notes
|
|
180
|
+
- Team communication and coordination
|
|
181
|
+
- Rich text support through aitrackdown
|
|
182
|
+
|
|
183
|
+
- **`workflow`** - Manage workflow states
|
|
184
|
+
- State transition validation
|
|
185
|
+
- Comment integration for change reasons
|
|
186
|
+
- Status mapping to aitrackdown workflow
|
|
187
|
+
|
|
188
|
+
#### Ticket System Features
|
|
189
|
+
|
|
190
|
+
**Hierarchical Organization:**
|
|
191
|
+
```
|
|
192
|
+
Epic (Strategic Level) - EP-XXXX
|
|
193
|
+
├── Issue (Feature Level) - ISS-XXXX
|
|
194
|
+
│ ├── Task (Implementation) - TSK-XXXX
|
|
195
|
+
│ └── Task (Implementation) - TSK-XXXX
|
|
196
|
+
└── Issue (Feature Level) - ISS-XXXX
|
|
197
|
+
└── Task (Implementation) - TSK-XXXX
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
**Status Management:**
|
|
201
|
+
- `open` - Ready to start work
|
|
202
|
+
- `in_progress` - Currently being developed
|
|
203
|
+
- `blocked` - Cannot proceed due to dependencies
|
|
204
|
+
- `ready` - Awaiting review or testing
|
|
205
|
+
- `tested` - QA approved
|
|
206
|
+
- `done` - Completed successfully
|
|
207
|
+
- `closed` - Finalized (completed or cancelled)
|
|
208
|
+
|
|
209
|
+
**Priority Levels:**
|
|
210
|
+
- `critical` (P0) - System down, data loss, security breach
|
|
211
|
+
- `high` (P1) - Major feature broken, significant user impact
|
|
212
|
+
- `medium` (P2) - Minor issues, workarounds available
|
|
213
|
+
- `low` (P3) - Cosmetic issues, convenience features
|
|
214
|
+
|
|
215
|
+
**Integration Points:**
|
|
216
|
+
- **ai-trackdown-pytools**: Backend storage and advanced operations
|
|
217
|
+
- **TicketManager**: Primary interface for ticket operations
|
|
218
|
+
- **Claude Sessions**: Automatic ticket creation from patterns
|
|
219
|
+
- **Hook System**: Event-driven ticket updates and notifications
|
|
220
|
+
|
|
221
|
+
### Additional Management Commands
|
|
222
|
+
|
|
223
|
+
**`memory`** - Agent memory system management
|
|
224
|
+
- Initialize and configure agent memory
|
|
225
|
+
- View and optimize memory stores
|
|
226
|
+
- Cross-reference management
|
|
227
|
+
- Memory routing and building
|
|
228
|
+
|
|
229
|
+
**`monitor`** - System monitoring and health
|
|
230
|
+
- Start/stop/restart monitoring services
|
|
231
|
+
- Port management and status checks
|
|
232
|
+
- Performance metrics and alerts
|
|
233
|
+
|
|
234
|
+
**`config`** - Configuration management
|
|
235
|
+
- Validate system configuration
|
|
236
|
+
- View current settings
|
|
237
|
+
- Status reporting and diagnostics
|
|
238
|
+
|
|
239
|
+
**`aggregate`** - Event aggregation system
|
|
240
|
+
- Session management and tracking
|
|
241
|
+
- Event export and analysis
|
|
242
|
+
- Historical data management
|
|
243
|
+
|
|
244
|
+
## Removed Files
|
|
245
|
+
|
|
246
|
+
- `cli_main.py` - Redundant entry point, functionality moved to `__main__.py`
|
|
247
|
+
- Original `cli.py` - Split into the modular structure described above
|
|
248
|
+
|
|
249
|
+
## Preserved Files
|
|
250
|
+
|
|
251
|
+
- `cli_enhancements.py` - Experimental Click-based CLI with enhanced features
|
|
252
|
+
- Kept for reference and future enhancement ideas
|
|
253
|
+
- Not currently used in production
|
claude_mpm/cli/__init__.py
CHANGED
|
@@ -31,6 +31,7 @@ from .startup import (
|
|
|
31
31
|
setup_mcp_server_logging,
|
|
32
32
|
should_skip_background_services,
|
|
33
33
|
)
|
|
34
|
+
from .startup_display import display_startup_banner, should_show_banner
|
|
34
35
|
from .utils import ensure_directories, setup_logging
|
|
35
36
|
|
|
36
37
|
# Version resolution
|
|
@@ -65,10 +66,19 @@ def main(argv: Optional[list] = None):
|
|
|
65
66
|
|
|
66
67
|
setup_configure_command_environment(args)
|
|
67
68
|
|
|
69
|
+
# CRITICAL: Setup logging BEFORE any initialization that creates loggers
|
|
70
|
+
# This ensures that ensure_directories() and run_background_services()
|
|
71
|
+
# respect the user's logging preference (default: OFF)
|
|
72
|
+
logger = setup_mcp_server_logging(args)
|
|
73
|
+
|
|
68
74
|
ensure_directories()
|
|
69
75
|
if not should_skip_background_services(args, processed_argv):
|
|
70
76
|
run_background_services()
|
|
71
|
-
|
|
77
|
+
|
|
78
|
+
# Display startup banner (unless help/version/utility commands)
|
|
79
|
+
if should_show_banner(args):
|
|
80
|
+
logging_level = getattr(args, "logging", "OFF")
|
|
81
|
+
display_startup_banner(__version__, logging_level)
|
|
72
82
|
|
|
73
83
|
if hasattr(args, "debug") and args.debug:
|
|
74
84
|
logger.debug(f"Command: {args.command}")
|
|
@@ -20,6 +20,7 @@ from .mcp import manage_mcp
|
|
|
20
20
|
from .memory import manage_memory
|
|
21
21
|
from .monitor import manage_monitor
|
|
22
22
|
from .run import run_session
|
|
23
|
+
from .skills import manage_skills
|
|
23
24
|
from .tickets import list_tickets, manage_tickets
|
|
24
25
|
|
|
25
26
|
__all__ = [
|
|
@@ -36,6 +37,7 @@ __all__ = [
|
|
|
36
37
|
"manage_mcp",
|
|
37
38
|
"manage_memory",
|
|
38
39
|
"manage_monitor",
|
|
40
|
+
"manage_skills",
|
|
39
41
|
# 'run_guarded_session', # Excluded from default exports (experimental)
|
|
40
42
|
"manage_tickets",
|
|
41
43
|
"run_doctor",
|
|
@@ -365,7 +365,7 @@ def view_command_legacy(args):
|
|
|
365
365
|
print(f" Tools: {len(delegation.tool_operations)}")
|
|
366
366
|
print(f" Files: {len(delegation.file_changes)}")
|
|
367
367
|
if delegation.duration_ms:
|
|
368
|
-
print(f" Duration: {delegation.duration_ms/1000:.1f}s")
|
|
368
|
+
print(f" Duration: {delegation.duration_ms / 1000:.1f}s")
|
|
369
369
|
print(f" Status: {'✅ Success' if delegation.success else '❌ Failed'}")
|
|
370
370
|
if delegation.error:
|
|
371
371
|
print(f" Error: {delegation.error}")
|
|
@@ -350,7 +350,7 @@ class AnalyzeCommand(BaseCommand):
|
|
|
350
350
|
|
|
351
351
|
for i, match in enumerate(matches):
|
|
352
352
|
# Try to extract title from preceding line
|
|
353
|
-
title = f"diagram_{i+1}"
|
|
353
|
+
title = f"diagram_{i + 1}"
|
|
354
354
|
|
|
355
355
|
# Look for a title pattern before the diagram
|
|
356
356
|
title_pattern = r"(?:#+\s*)?([^\n]+)\n+```mermaid"
|
|
@@ -456,7 +456,7 @@ class AnalyzeCommand(BaseCommand):
|
|
|
456
456
|
return output
|
|
457
457
|
|
|
458
458
|
# text format
|
|
459
|
-
output = f"Code Analysis Report\n{'='*50}\n\n"
|
|
459
|
+
output = f"Code Analysis Report\n{'=' * 50}\n\n"
|
|
460
460
|
output += f"Target: {result_data['target']}\n"
|
|
461
461
|
|
|
462
462
|
if diagrams:
|
|
@@ -469,7 +469,7 @@ class AnalyzeCommand(BaseCommand):
|
|
|
469
469
|
for filepath in result_data["saved_diagrams"]:
|
|
470
470
|
output += f" • {filepath}\n"
|
|
471
471
|
|
|
472
|
-
output += f"\n{'-'*50}\nAnalysis Results:\n{'-'*50}\n"
|
|
472
|
+
output += f"\n{'-' * 50}\nAnalysis Results:\n{'-' * 50}\n"
|
|
473
473
|
output += result_data.get("analysis", "No analysis results")
|
|
474
474
|
|
|
475
475
|
return output
|
|
@@ -436,7 +436,7 @@ def _cleanup_memory_original(args):
|
|
|
436
436
|
|
|
437
437
|
# Analyze current state
|
|
438
438
|
print("\n📊 Analyzing current conversation history...")
|
|
439
|
-
stats,
|
|
439
|
+
stats, _issues = analyze_claude_json(claude_json)
|
|
440
440
|
|
|
441
441
|
# Display current status
|
|
442
442
|
print(f"\n📁 File: {claude_json}")
|
|
@@ -228,8 +228,8 @@ class AgentDisplay:
|
|
|
228
228
|
[bold]Model:[/bold] {model}
|
|
229
229
|
[bold]Agent Version:[/bold] {agent_version}
|
|
230
230
|
[bold]Schema Version:[/bold] {schema_version}
|
|
231
|
-
[bold]Tags:[/bold] {
|
|
232
|
-
[bold]Tools:[/bold] {
|
|
231
|
+
[bold]Tags:[/bold] {", ".join(tags) if tags else "None"}
|
|
232
|
+
[bold]Tools:[/bold] {", ".join(tools[:5]) if tools else "None"}{"..." if len(tools) > 5 else ""}
|
|
233
233
|
"""
|
|
234
234
|
except Exception:
|
|
235
235
|
pass
|
|
@@ -237,9 +237,9 @@ class AgentDisplay:
|
|
|
237
237
|
# Create detail panel
|
|
238
238
|
detail_text = f"""
|
|
239
239
|
[bold]Name:[/bold] {agent.name}
|
|
240
|
-
[bold]Status:[/bold] {
|
|
240
|
+
[bold]Status:[/bold] {"[green]Enabled[/green]" if self.agent_manager.is_agent_enabled(agent.name) else "[red]Disabled[/red]"}
|
|
241
241
|
[bold]Template Path:[/bold] {template_path}
|
|
242
|
-
[bold]Is System Template:[/bold] {
|
|
242
|
+
[bold]Is System Template:[/bold] {"Yes" if str(template_path).startswith(str(self.agent_manager.templates_dir)) else "No (Custom)"}
|
|
243
243
|
{extra_info}
|
|
244
244
|
"""
|
|
245
245
|
|
claude_mpm/cli/commands/debug.py
CHANGED
|
@@ -693,9 +693,9 @@ def debug_hooks(args, logger):
|
|
|
693
693
|
max_time = max(times)
|
|
694
694
|
|
|
695
695
|
print(f"\n {hook.name}:")
|
|
696
|
-
print(f" Average: {avg_time*1000:.2f}ms")
|
|
697
|
-
print(f" Min: {min_time*1000:.2f}ms")
|
|
698
|
-
print(f" Max: {max_time*1000:.2f}ms")
|
|
696
|
+
print(f" Average: {avg_time * 1000:.2f}ms")
|
|
697
|
+
print(f" Min: {min_time * 1000:.2f}ms")
|
|
698
|
+
print(f" Max: {max_time * 1000:.2f}ms")
|
|
699
699
|
|
|
700
700
|
else:
|
|
701
701
|
# Default: show summary
|
|
@@ -767,7 +767,7 @@ def debug_cache(args, logger):
|
|
|
767
767
|
print(f" Location: {cache_dir}")
|
|
768
768
|
print(f" Total Files: {file_count}")
|
|
769
769
|
print(
|
|
770
|
-
f" Total Size: {total_size:,} bytes ({total_size/1024/1024:.2f} MB)"
|
|
770
|
+
f" Total Size: {total_size:,} bytes ({total_size / 1024 / 1024:.2f} MB)"
|
|
771
771
|
)
|
|
772
772
|
|
|
773
773
|
print("\n📁 Categories:")
|
|
@@ -871,7 +871,7 @@ def debug_cache(args, logger):
|
|
|
871
871
|
|
|
872
872
|
print(f"Location: {cache_dir}")
|
|
873
873
|
print(f"Files: {file_count}")
|
|
874
|
-
print(f"Size: {total_size:,} bytes ({total_size/1024/1024:.2f} MB)")
|
|
874
|
+
print(f"Size: {total_size:,} bytes ({total_size / 1024 / 1024:.2f} MB)")
|
|
875
875
|
else:
|
|
876
876
|
print("No cache found")
|
|
877
877
|
|
|
@@ -998,22 +998,22 @@ def debug_performance(args, logger):
|
|
|
998
998
|
# Memory info
|
|
999
999
|
mem = psutil.virtual_memory()
|
|
1000
1000
|
print("\n💾 Memory:")
|
|
1001
|
-
print(f" Total: {mem.total/1024/1024/1024:.2f} GB")
|
|
1002
|
-
print(f" Used: {mem.used/1024/1024/1024:.2f} GB ({mem.percent}%)")
|
|
1003
|
-
print(f" Available: {mem.available/1024/1024/1024:.2f} GB")
|
|
1001
|
+
print(f" Total: {mem.total / 1024 / 1024 / 1024:.2f} GB")
|
|
1002
|
+
print(f" Used: {mem.used / 1024 / 1024 / 1024:.2f} GB ({mem.percent}%)")
|
|
1003
|
+
print(f" Available: {mem.available / 1024 / 1024 / 1024:.2f} GB")
|
|
1004
1004
|
|
|
1005
1005
|
# Disk info
|
|
1006
1006
|
disk = psutil.disk_usage("/")
|
|
1007
1007
|
print("\n💿 Disk:")
|
|
1008
|
-
print(f" Total: {disk.total/1024/1024/1024:.2f} GB")
|
|
1009
|
-
print(f" Used: {disk.used/1024/1024/1024:.2f} GB ({disk.percent}%)")
|
|
1010
|
-
print(f" Free: {disk.free/1024/1024/1024:.2f} GB")
|
|
1008
|
+
print(f" Total: {disk.total / 1024 / 1024 / 1024:.2f} GB")
|
|
1009
|
+
print(f" Used: {disk.used / 1024 / 1024 / 1024:.2f} GB ({disk.percent}%)")
|
|
1010
|
+
print(f" Free: {disk.free / 1024 / 1024 / 1024:.2f} GB")
|
|
1011
1011
|
|
|
1012
1012
|
# Process info
|
|
1013
1013
|
process = psutil.Process()
|
|
1014
1014
|
print("\n📦 Current Process:")
|
|
1015
1015
|
print(f" PID: {process.pid}")
|
|
1016
|
-
print(f" Memory: {process.memory_info().rss/1024/1024:.2f} MB")
|
|
1016
|
+
print(f" Memory: {process.memory_info().rss / 1024 / 1024:.2f} MB")
|
|
1017
1017
|
print(f" CPU: {process.cpu_percent()}%")
|
|
1018
1018
|
print(f" Threads: {process.num_threads()}")
|
|
1019
1019
|
|