claude-mpm 4.1.15__tar.gz → 4.1.19__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- claude_mpm-4.1.19/BUILD_NUMBER +1 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/CLAUDE.md +17 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/PKG-INFO +1 -1
- claude_mpm-4.1.19/VERSION +1 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/pyproject.toml +2 -2
- claude_mpm-4.1.19/src/claude_mpm/VERSION +1 -0
- claude_mpm-4.1.19/src/claude_mpm/agents/templates/web_qa.json +254 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/cli/commands/mpm_init.py +154 -7
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/cli/commands/mpm_init_handler.py +1 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/cli/parsers/mpm_init_parser.py +13 -0
- claude_mpm-4.1.19/src/claude_mpm/commands/mpm-init.md +162 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/dashboard/static/css/activity.css +165 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/dashboard/static/css/dashboard.css +18 -15
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/dashboard/static/js/components/activity-tree.js +654 -499
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm.egg-info/PKG-INFO +1 -1
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm.egg-info/SOURCES.txt +1 -0
- claude_mpm-4.1.15/BUILD_NUMBER +0 -1
- claude_mpm-4.1.15/VERSION +0 -1
- claude_mpm-4.1.15/src/claude_mpm/VERSION +0 -1
- claude_mpm-4.1.15/src/claude_mpm/agents/templates/web_qa.json +0 -178
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/LICENSE +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/MANIFEST.in +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/README.md +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/scripts/ticket +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/setup.cfg +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/BUILD_NUMBER +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/__init__.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/__main__.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/agents/BASE_AGENT_TEMPLATE.md +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/agents/BASE_PM.md +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/agents/INSTRUCTIONS.md +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/agents/MEMORY.md +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/agents/OUTPUT_STYLE.md +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/agents/WORKFLOW.md +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/agents/__init__.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/agents/agent-template.yaml +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/agents/agent_loader.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/agents/agent_loader_integration.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/agents/agents_metadata.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/agents/async_agent_loader.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/agents/base_agent.json +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/agents/base_agent_loader.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/agents/frontmatter_validator.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/agents/system_agent_config.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/agents/templates/.claude-mpm/memories/README.md +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/agents/templates/.claude-mpm/memories/engineer_memories.md +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/agents/templates/__init__.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/agents/templates/agent-manager.json +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/agents/templates/agent-manager.md +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/agents/templates/agentic_coder_optimizer.json +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/agents/templates/api_qa.json +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/agents/templates/code_analyzer.json +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/agents/templates/data_engineer.json +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/agents/templates/documentation.json +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/agents/templates/engineer.json +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/agents/templates/imagemagick.json +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/agents/templates/logs/prompts/agent_engineer_20250826_014258_728.md +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/agents/templates/memory_manager.json +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/agents/templates/ops.json +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/agents/templates/project_organizer.json +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/agents/templates/qa.json +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/agents/templates/refactoring_engineer.json +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/agents/templates/research.json +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/agents/templates/security.json +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/agents/templates/ticketing.json +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/agents/templates/vercel_ops_agent.json +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/agents/templates/version_control.json +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/agents/templates/web_ui.json +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/cli/__init__.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/cli/__main__.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/cli/commands/__init__.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/cli/commands/agent_manager.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/cli/commands/agents.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/cli/commands/aggregate.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/cli/commands/analyze.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/cli/commands/analyze_code.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/cli/commands/cleanup.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/cli/commands/cleanup_orphaned_agents.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/cli/commands/config.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/cli/commands/configure.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/cli/commands/configure_tui.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/cli/commands/dashboard.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/cli/commands/debug.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/cli/commands/doctor.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/cli/commands/info.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/cli/commands/mcp.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/cli/commands/mcp_command_router.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/cli/commands/mcp_config_commands.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/cli/commands/mcp_install_commands.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/cli/commands/mcp_pipx_config.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/cli/commands/mcp_server_commands.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/cli/commands/mcp_tool_commands.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/cli/commands/memory.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/cli/commands/monitor.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/cli/commands/run.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/cli/commands/socketio_monitor.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/cli/commands/tickets.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/cli/parser.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/cli/parsers/__init__.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/cli/parsers/agent_manager_parser.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/cli/parsers/agents_parser.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/cli/parsers/analyze_code_parser.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/cli/parsers/analyze_parser.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/cli/parsers/base_parser.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/cli/parsers/config_parser.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/cli/parsers/configure_parser.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/cli/parsers/dashboard_parser.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/cli/parsers/debug_parser.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/cli/parsers/mcp_parser.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/cli/parsers/memory_parser.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/cli/parsers/monitor_parser.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/cli/parsers/run_parser.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/cli/parsers/tickets_parser.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/cli/shared/__init__.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/cli/shared/argument_patterns.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/cli/shared/base_command.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/cli/shared/error_handling.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/cli/shared/output_formatters.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/cli/startup_logging.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/cli/ticket_cli.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/cli/utils.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/cli_module/__init__.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/cli_module/args.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/cli_module/commands.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/cli_module/migration_example.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/commands/__init__.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/commands/mpm-agents.md +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/commands/mpm-config.md +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/commands/mpm-doctor.md +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/commands/mpm-help.md +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/commands/mpm-status.md +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/commands/mpm-tickets.md +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/commands/mpm.md +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/config/__init__.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/config/agent_config.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/config/experimental_features.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/config/paths.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/config/socketio_config.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/constants.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/core/__init__.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/core/agent_name_normalizer.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/core/agent_registry.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/core/agent_session_manager.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/core/base_service.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/core/cache.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/core/claude_runner.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/core/config.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/core/config_aliases.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/core/config_constants.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/core/constants.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/core/container.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/core/exceptions.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/core/factories.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/core/framework_loader.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/core/hook_manager.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/core/hook_performance_config.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/core/injectable_service.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/core/instruction_reinforcement_hook.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/core/interactive_session.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/core/interfaces.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/core/lazy.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/core/log_manager.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/core/logger.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/core/logging_config.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/core/minimal_framework_loader.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/core/mixins.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/core/oneshot_session.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/core/optimized_agent_loader.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/core/optimized_startup.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/core/output_style_manager.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/core/pm_hook_interceptor.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/core/service_registry.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/core/session_manager.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/core/shared/__init__.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/core/shared/config_loader.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/core/shared/path_resolver.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/core/shared/singleton_manager.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/core/socketio_pool.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/core/tool_access_control.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/core/types.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/core/typing_utils.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/core/unified_agent_registry.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/core/unified_config.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/core/unified_paths.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/dashboard/.claude-mpm/socketio-instances.json +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/dashboard/__init__.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/dashboard/analysis_runner.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/dashboard/index.html +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/dashboard/open_dashboard.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/dashboard/static/built/components/activity-tree.js +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/dashboard/static/built/components/agent-inference.js +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/dashboard/static/built/components/code-tree.js +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/dashboard/static/built/components/code-viewer.js +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/dashboard/static/built/components/event-processor.js +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/dashboard/static/built/components/event-viewer.js +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/dashboard/static/built/components/export-manager.js +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/dashboard/static/built/components/file-tool-tracker.js +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/dashboard/static/built/components/hud-library-loader.js +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/dashboard/static/built/components/hud-manager.js +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/dashboard/static/built/components/hud-visualizer.js +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/dashboard/static/built/components/module-viewer.js +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/dashboard/static/built/components/session-manager.js +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/dashboard/static/built/components/socket-manager.js +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/dashboard/static/built/components/ui-state-manager.js +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/dashboard/static/built/components/working-directory.js +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/dashboard/static/built/dashboard.js +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/dashboard/static/built/socket-client.js +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/dashboard/static/css/code-tree.css +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/dashboard/static/css/connection-status.css +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/dashboard/static/dist/components/activity-tree.js +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/dashboard/static/dist/components/agent-inference.js +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/dashboard/static/dist/components/code-tree.js +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/dashboard/static/dist/components/code-viewer.js +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/dashboard/static/dist/components/event-processor.js +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/dashboard/static/dist/components/event-viewer.js +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/dashboard/static/dist/components/export-manager.js +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/dashboard/static/dist/components/file-tool-tracker.js +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/dashboard/static/dist/components/hud-library-loader.js +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/dashboard/static/dist/components/hud-manager.js +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/dashboard/static/dist/components/hud-visualizer.js +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/dashboard/static/dist/components/module-viewer.js +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/dashboard/static/dist/components/session-manager.js +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/dashboard/static/dist/components/socket-manager.js +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/dashboard/static/dist/components/ui-state-manager.js +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/dashboard/static/dist/components/working-directory.js +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/dashboard/static/dist/dashboard.js +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/dashboard/static/dist/socket-client.js +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/dashboard/static/js/components/agent-hierarchy.js +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/dashboard/static/js/components/agent-inference.js +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/dashboard/static/js/components/build-tracker.js +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/dashboard/static/js/components/code-tree.js +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/dashboard/static/js/components/code-viewer.js +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/dashboard/static/js/components/connection-debug.js +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/dashboard/static/js/components/event-processor.js +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/dashboard/static/js/components/event-viewer.js +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/dashboard/static/js/components/export-manager.js +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/dashboard/static/js/components/file-tool-tracker.js +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/dashboard/static/js/components/hud-library-loader.js +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/dashboard/static/js/components/hud-manager.js +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/dashboard/static/js/components/hud-visualizer.js +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/dashboard/static/js/components/module-viewer.js +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/dashboard/static/js/components/session-manager.js +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/dashboard/static/js/components/socket-manager.js +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/dashboard/static/js/components/ui-state-manager.js +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/dashboard/static/js/components/unified-data-viewer.js +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/dashboard/static/js/components/working-directory.js +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/dashboard/static/js/connection-manager.js +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/dashboard/static/js/dashboard.js +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/dashboard/static/js/extension-error-handler.js +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/dashboard/static/js/socket-client.js +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/dashboard/templates/index.html +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/dashboard/test_dashboard.html +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/experimental/__init__.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/experimental/cli_enhancements.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/generators/__init__.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/generators/agent_profile_generator.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/hooks/__init__.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/hooks/base_hook.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/hooks/claude_hooks/__init__.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/hooks/claude_hooks/connection_pool.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/hooks/claude_hooks/event_handlers.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/hooks/claude_hooks/hook_handler.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/hooks/claude_hooks/hook_handler_eventbus.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/hooks/claude_hooks/hook_handler_original.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/hooks/claude_hooks/hook_handler_refactored.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/hooks/claude_hooks/hook_wrapper.sh +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/hooks/claude_hooks/installer.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/hooks/claude_hooks/memory_integration.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/hooks/claude_hooks/response_tracking.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/hooks/claude_hooks/services/__init__.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/hooks/claude_hooks/services/connection_manager.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/hooks/claude_hooks/services/connection_manager_http.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/hooks/claude_hooks/services/duplicate_detector.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/hooks/claude_hooks/services/state_manager.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/hooks/claude_hooks/services/subagent_processor.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/hooks/claude_hooks/tool_analysis.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/hooks/memory_integration_hook.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/hooks/tool_call_interceptor.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/hooks/validation_hooks.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/init.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/models/__init__.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/models/agent_definition.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/models/agent_session.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/schemas/__init__.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/scripts/__init__.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/scripts/claude-hook-handler.sh +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/scripts/mcp_server.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/scripts/mcp_wrapper.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/scripts/mpm_doctor.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/scripts/socketio_daemon.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/scripts/socketio_daemon_hardened.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/scripts/socketio_daemon_wrapper.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/scripts/socketio_server_manager.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/scripts/start_activity_logging.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/__init__.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/agent_capabilities_service.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/agents/__init__.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/agents/agent_builder.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/agents/deployment/__init__.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/agents/deployment/agent_config_provider.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/agents/deployment/agent_configuration_manager.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/agents/deployment/agent_definition_factory.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/agents/deployment/agent_deployment.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/agents/deployment/agent_discovery_service.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/agents/deployment/agent_environment_manager.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/agents/deployment/agent_filesystem_manager.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/agents/deployment/agent_format_converter.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/agents/deployment/agent_frontmatter_validator.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/agents/deployment/agent_lifecycle_manager.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/agents/deployment/agent_lifecycle_manager_refactored.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/agents/deployment/agent_metrics_collector.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/agents/deployment/agent_operation_service.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/agents/deployment/agent_record_service.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/agents/deployment/agent_restore_handler.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/agents/deployment/agent_state_service.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/agents/deployment/agent_template_builder.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/agents/deployment/agent_validator.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/agents/deployment/agent_version_manager.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/agents/deployment/agent_versioning.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/agents/deployment/agents_directory_resolver.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/agents/deployment/async_agent_deployment.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/agents/deployment/base_agent_locator.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/agents/deployment/config/__init__.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/agents/deployment/config/deployment_config.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/agents/deployment/config/deployment_config_manager.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/agents/deployment/deployment_config_loader.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/agents/deployment/deployment_results_manager.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/agents/deployment/deployment_type_detector.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/agents/deployment/deployment_wrapper.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/agents/deployment/facade/__init__.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/agents/deployment/facade/async_deployment_executor.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/agents/deployment/facade/deployment_executor.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/agents/deployment/facade/deployment_facade.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/agents/deployment/facade/sync_deployment_executor.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/agents/deployment/interface_adapter.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/agents/deployment/lifecycle_health_checker.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/agents/deployment/lifecycle_performance_tracker.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/agents/deployment/multi_source_deployment_service.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/agents/deployment/pipeline/__init__.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/agents/deployment/pipeline/pipeline_builder.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/agents/deployment/pipeline/pipeline_context.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/agents/deployment/pipeline/pipeline_executor.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/agents/deployment/pipeline/steps/__init__.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/agents/deployment/pipeline/steps/agent_processing_step.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/agents/deployment/pipeline/steps/base_step.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/agents/deployment/pipeline/steps/configuration_step.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/agents/deployment/pipeline/steps/target_directory_step.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/agents/deployment/pipeline/steps/validation_step.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/agents/deployment/processors/__init__.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/agents/deployment/processors/agent_deployment_context.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/agents/deployment/processors/agent_deployment_result.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/agents/deployment/processors/agent_processor.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/agents/deployment/refactored_agent_deployment_service.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/agents/deployment/results/__init__.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/agents/deployment/results/deployment_metrics.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/agents/deployment/results/deployment_result_builder.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/agents/deployment/single_agent_deployer.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/agents/deployment/strategies/__init__.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/agents/deployment/strategies/base_strategy.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/agents/deployment/strategies/project_strategy.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/agents/deployment/strategies/strategy_selector.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/agents/deployment/strategies/system_strategy.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/agents/deployment/strategies/user_strategy.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/agents/deployment/system_instructions_deployer.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/agents/deployment/validation/__init__.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/agents/deployment/validation/agent_validator.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/agents/deployment/validation/deployment_validator.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/agents/deployment/validation/template_validator.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/agents/deployment/validation/validation_result.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/agents/loading/__init__.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/agents/loading/agent_profile_loader.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/agents/loading/base_agent_manager.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/agents/loading/framework_agent_loader.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/agents/management/__init__.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/agents/management/agent_capabilities_generator.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/agents/management/agent_management_service.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/agents/memory/__init__.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/agents/memory/agent_memory_manager.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/agents/memory/agent_persistence_service.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/agents/memory/content_manager.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/agents/memory/memory_categorization_service.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/agents/memory/memory_file_service.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/agents/memory/memory_format_service.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/agents/memory/memory_limits_service.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/agents/memory/template_generator.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/agents/registry/__init__.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/agents/registry/deployed_agent_discovery.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/agents/registry/modification_tracker.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/async_session_logger.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/claude_session_logger.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/cli/__init__.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/cli/agent_cleanup_service.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/cli/agent_dependency_service.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/cli/agent_listing_service.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/cli/agent_output_formatter.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/cli/agent_validation_service.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/cli/dashboard_launcher.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/cli/memory_crud_service.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/cli/memory_output_formatter.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/cli/session_manager.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/cli/socketio_manager.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/cli/startup_checker.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/command_deployment_service.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/command_handler_service.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/communication/__init__.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/core/__init__.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/core/base.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/core/cache_manager.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/core/interfaces/__init__.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/core/interfaces/agent.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/core/interfaces/communication.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/core/interfaces/infrastructure.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/core/interfaces/service.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/core/interfaces.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/core/memory_manager.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/core/path_resolver.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/core/service_container.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/core/service_interfaces.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/diagnostics/__init__.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/diagnostics/checks/__init__.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/diagnostics/checks/agent_check.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/diagnostics/checks/base_check.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/diagnostics/checks/claude_desktop_check.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/diagnostics/checks/common_issues_check.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/diagnostics/checks/configuration_check.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/diagnostics/checks/filesystem_check.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/diagnostics/checks/installation_check.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/diagnostics/checks/instructions_check.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/diagnostics/checks/mcp_check.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/diagnostics/checks/monitor_check.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/diagnostics/checks/startup_log_check.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/diagnostics/diagnostic_runner.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/diagnostics/doctor_reporter.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/diagnostics/models.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/event_aggregator.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/event_bus/__init__.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/event_bus/config.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/event_bus/direct_relay.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/event_bus/event_bus.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/event_bus/relay.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/events/__init__.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/events/consumers/__init__.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/events/consumers/dead_letter.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/events/consumers/logging.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/events/consumers/metrics.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/events/consumers/socketio.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/events/core.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/events/interfaces.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/events/producers/__init__.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/events/producers/hook.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/events/producers/system.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/exceptions.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/framework_claude_md_generator/__init__.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/framework_claude_md_generator/content_assembler.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/framework_claude_md_generator/content_validator.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/framework_claude_md_generator/deployment_manager.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/framework_claude_md_generator/section_generators/__init__.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/framework_claude_md_generator/section_generators/agents.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/framework_claude_md_generator/section_generators/claude_pm_init.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/framework_claude_md_generator/section_generators/core_responsibilities.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/framework_claude_md_generator/section_generators/delegation_constraints.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/framework_claude_md_generator/section_generators/environment_config.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/framework_claude_md_generator/section_generators/footer.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/framework_claude_md_generator/section_generators/header.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/framework_claude_md_generator/section_generators/orchestration_principles.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/framework_claude_md_generator/section_generators/role_designation.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/framework_claude_md_generator/section_generators/subprocess_validation.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/framework_claude_md_generator/section_generators/todo_task_tools.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/framework_claude_md_generator/section_generators/troubleshooting.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/framework_claude_md_generator/section_manager.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/framework_claude_md_generator/version_manager.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/hook_service.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/infrastructure/__init__.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/infrastructure/context_preservation.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/infrastructure/daemon_manager.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/infrastructure/logging.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/infrastructure/monitoring/__init__.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/infrastructure/monitoring/aggregator.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/infrastructure/monitoring/base.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/infrastructure/monitoring/legacy.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/infrastructure/monitoring/network.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/infrastructure/monitoring/process.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/infrastructure/monitoring/resources.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/infrastructure/monitoring/service.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/infrastructure/monitoring.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/mcp_gateway/__init__.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/mcp_gateway/auto_configure.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/mcp_gateway/config/__init__.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/mcp_gateway/config/config_loader.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/mcp_gateway/config/config_schema.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/mcp_gateway/config/configuration.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/mcp_gateway/core/__init__.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/mcp_gateway/core/base.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/mcp_gateway/core/exceptions.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/mcp_gateway/core/interfaces.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/mcp_gateway/core/process_pool.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/mcp_gateway/core/singleton_manager.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/mcp_gateway/core/startup_verification.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/mcp_gateway/main.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/mcp_gateway/registry/__init__.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/mcp_gateway/registry/service_registry.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/mcp_gateway/registry/tool_registry.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/mcp_gateway/server/__init__.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/mcp_gateway/server/mcp_gateway.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/mcp_gateway/server/stdio_handler.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/mcp_gateway/server/stdio_server.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/mcp_gateway/tools/__init__.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/mcp_gateway/tools/base_adapter.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/mcp_gateway/tools/document_summarizer.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/mcp_gateway/tools/health_check_tool.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/mcp_gateway/tools/hello_world.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/mcp_gateway/tools/ticket_tools.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/mcp_gateway/tools/unified_ticket_tool.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/memory/__init__.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/memory/builder.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/memory/cache/__init__.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/memory/cache/shared_prompt_cache.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/memory/cache/simple_cache.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/memory/indexed_memory.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/memory/optimizer.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/memory/router.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/memory_hook_service.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/monitor_build_service.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/port_manager.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/project/__init__.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/project/analyzer.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/project/analyzer_refactored.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/project/analyzer_v2.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/project/architecture_analyzer.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/project/dependency_analyzer.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/project/language_analyzer.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/project/metrics_collector.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/project/registry.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/recovery_manager.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/response_tracker.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/runner_configuration_service.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/session_management_service.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/shared/__init__.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/shared/async_service_base.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/shared/config_service_base.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/shared/lifecycle_service_base.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/shared/manager_base.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/shared/service_factory.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/socketio/__init__.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/socketio/client_proxy.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/socketio/event_normalizer.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/socketio/handlers/__init__.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/socketio/handlers/base.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/socketio/handlers/code_analysis.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/socketio/handlers/connection.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/socketio/handlers/connection_handler.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/socketio/handlers/file.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/socketio/handlers/git.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/socketio/handlers/hook.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/socketio/handlers/memory.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/socketio/handlers/project.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/socketio/handlers/registry.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/socketio/migration_utils.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/socketio/server/__init__.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/socketio/server/broadcaster.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/socketio/server/connection_manager.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/socketio/server/core.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/socketio/server/eventbus_integration.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/socketio/server/main.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/socketio_client_manager.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/socketio_server.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/subprocess_launcher_service.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/system_instructions_service.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/ticket_manager.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/ticket_services/__init__.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/ticket_services/crud_service.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/ticket_services/formatter_service.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/ticket_services/search_service.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/ticket_services/validation_service.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/ticket_services/workflow_service.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/utility_service.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/version_control/__init__.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/version_control/branch_strategy.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/version_control/conflict_resolution.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/version_control/git_operations.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/version_control/semantic_versioning.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/version_control/version_parser.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/version_service.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/visualization/__init__.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/services/visualization/mermaid_generator.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/storage/__init__.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/storage/state_storage.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/ticket_wrapper.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/tools/__init__.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/tools/__main__.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/tools/code_tree_analyzer.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/tools/code_tree_builder.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/tools/code_tree_events.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/tools/socketio_debug.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/utils/__init__.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/utils/agent_dependency_loader.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/utils/config_manager.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/utils/console.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/utils/dependency_cache.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/utils/dependency_manager.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/utils/dependency_strategies.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/utils/environment_context.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/utils/error_handler.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/utils/file_utils.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/utils/framework_detection.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/utils/import_migration_example.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/utils/imports.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/utils/path_operations.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/utils/robust_installer.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/utils/session_logging.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/utils/subprocess_utils.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/validation/__init__.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/validation/agent_validator.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm/validation/frontmatter_validator.py +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm.egg-info/dependency_links.txt +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm.egg-info/entry_points.txt +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm.egg-info/requires.txt +0 -0
- {claude_mpm-4.1.15 → claude_mpm-4.1.19}/src/claude_mpm.egg-info/top_level.txt +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
318
|
|
@@ -2,6 +2,23 @@
|
|
|
2
2
|
|
|
3
3
|
This document provides development guidelines for the claude-mpm project codebase.
|
|
4
4
|
|
|
5
|
+
## IMPORTANT: Git Commit Message Format
|
|
6
|
+
|
|
7
|
+
When creating git commits in this project, ALWAYS use the Claude MPM branding:
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
Your commit message
|
|
11
|
+
|
|
12
|
+
🤖👥 Generated with [Claude MPM](https://github.com/bobmatnyc/claude-mpm)
|
|
13
|
+
|
|
14
|
+
Co-Authored-By: Claude <noreply@anthropic.com>
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
**DO NOT USE**: `🤖 Generated with [Claude Code](https://claude.ai/code)`
|
|
18
|
+
**ALWAYS USE**: `🤖👥 Generated with [Claude MPM](https://github.com/bobmatnyc/claude-mpm)`
|
|
19
|
+
|
|
20
|
+
Note: A git hook at `.git/hooks/prepare-commit-msg` will automatically fix this if you forget.
|
|
21
|
+
|
|
5
22
|
## Project Overview
|
|
6
23
|
|
|
7
24
|
Claude MPM (Multi-Agent Project Manager) is a framework that extends Claude Code with orchestration capabilities for multiple specialized agents, featuring a modern service-oriented architecture with interface-based contracts and dependency injection.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
4.1.19
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "claude-mpm"
|
|
7
|
-
version = "4.1.
|
|
7
|
+
version = "4.1.19"
|
|
8
8
|
description = "Claude Multi-Agent Project Manager - Orchestrate Claude with agent delegation and ticket tracking"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.8"
|
|
@@ -248,7 +248,7 @@ ignore-imports = false
|
|
|
248
248
|
|
|
249
249
|
[tool.commitizen]
|
|
250
250
|
name = "cz_conventional_commits"
|
|
251
|
-
version = "4.1.
|
|
251
|
+
version = "4.1.19"
|
|
252
252
|
version_files = [
|
|
253
253
|
"VERSION",
|
|
254
254
|
"src/claude_mpm/VERSION",
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
4.1.18
|
|
@@ -0,0 +1,254 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "Web QA Agent",
|
|
3
|
+
"description": "Specialized web testing agent with 5-phase progressive testing: API → Routes → Links2 → Safari → Playwright",
|
|
4
|
+
"schema_version": "1.2.0",
|
|
5
|
+
"agent_id": "web-qa-agent",
|
|
6
|
+
"agent_version": "1.8.0",
|
|
7
|
+
"agent_type": "qa",
|
|
8
|
+
"metadata": {
|
|
9
|
+
"name": "Web QA Agent",
|
|
10
|
+
"description": "5-phase progressive web testing: API validation, routes testing, text-based validation, Safari testing, and browser automation",
|
|
11
|
+
"category": "quality",
|
|
12
|
+
"tags": [
|
|
13
|
+
"web_qa",
|
|
14
|
+
"browser_testing",
|
|
15
|
+
"e2e",
|
|
16
|
+
"playwright",
|
|
17
|
+
"safari",
|
|
18
|
+
"applescript",
|
|
19
|
+
"accessibility",
|
|
20
|
+
"performance",
|
|
21
|
+
"api_testing",
|
|
22
|
+
"routes_testing",
|
|
23
|
+
"progressive_testing",
|
|
24
|
+
"links2",
|
|
25
|
+
"macos"
|
|
26
|
+
],
|
|
27
|
+
"author": "Claude MPM Team",
|
|
28
|
+
"created_at": "2025-08-13T00:00:00.000000Z",
|
|
29
|
+
"updated_at": "2025-08-30T00:00:00.000000Z",
|
|
30
|
+
"color": "purple"
|
|
31
|
+
},
|
|
32
|
+
"routing": {
|
|
33
|
+
"keywords": [
|
|
34
|
+
"web",
|
|
35
|
+
"ui",
|
|
36
|
+
"frontend",
|
|
37
|
+
"browser",
|
|
38
|
+
"playwright",
|
|
39
|
+
"safari",
|
|
40
|
+
"applescript",
|
|
41
|
+
"e2e",
|
|
42
|
+
"accessibility",
|
|
43
|
+
"links2",
|
|
44
|
+
"text_browser",
|
|
45
|
+
"api_test",
|
|
46
|
+
"routes",
|
|
47
|
+
"fetch",
|
|
48
|
+
"curl",
|
|
49
|
+
"progressive",
|
|
50
|
+
"macos"
|
|
51
|
+
],
|
|
52
|
+
"paths": [
|
|
53
|
+
"/components/",
|
|
54
|
+
"/pages/",
|
|
55
|
+
"/views/",
|
|
56
|
+
"/src/components/",
|
|
57
|
+
"/app/"
|
|
58
|
+
],
|
|
59
|
+
"extensions": [
|
|
60
|
+
".jsx",
|
|
61
|
+
".tsx",
|
|
62
|
+
".vue",
|
|
63
|
+
".svelte",
|
|
64
|
+
".html",
|
|
65
|
+
".css"
|
|
66
|
+
],
|
|
67
|
+
"priority": 100,
|
|
68
|
+
"confidence_threshold": 0.7,
|
|
69
|
+
"description": "Use for 5-phase progressive web testing: API → Routes (fetch/curl) → Links2 → Safari (AppleScript) → Playwright automation"
|
|
70
|
+
},
|
|
71
|
+
"capabilities": {
|
|
72
|
+
"model": "sonnet",
|
|
73
|
+
"tools": [
|
|
74
|
+
"WebFetch",
|
|
75
|
+
"WebSearch",
|
|
76
|
+
"Read",
|
|
77
|
+
"Write",
|
|
78
|
+
"Edit",
|
|
79
|
+
"Bash",
|
|
80
|
+
"Grep",
|
|
81
|
+
"TodoWrite"
|
|
82
|
+
],
|
|
83
|
+
"resource_tier": "standard",
|
|
84
|
+
"max_tokens": 8192,
|
|
85
|
+
"temperature": 0.0,
|
|
86
|
+
"timeout": 900,
|
|
87
|
+
"memory_limit": 4096,
|
|
88
|
+
"cpu_limit": 75,
|
|
89
|
+
"network_access": true,
|
|
90
|
+
"file_access": {
|
|
91
|
+
"read_paths": [
|
|
92
|
+
"./"
|
|
93
|
+
],
|
|
94
|
+
"write_paths": [
|
|
95
|
+
"./tests/",
|
|
96
|
+
"./e2e/",
|
|
97
|
+
"./screenshots/"
|
|
98
|
+
]
|
|
99
|
+
}
|
|
100
|
+
},
|
|
101
|
+
"instructions": "# Web QA Agent\n\n**Inherits from**: BASE_QA_AGENT.md\n**Focus**: Progressive 5-phase web testing with granular tool escalation for optimal efficiency\n\n## Core Expertise\n\nGranular progressive testing approach: API → Routes (fetch/curl) → Text Browser (links2) → Safari (AppleScript on macOS) → Full Browser (Playwright) for optimal efficiency and feedback.\n\n## 5-Phase Progressive Testing Protocol\n\n### Phase 1: API Testing (2-3 min)\n**Focus**: Direct API endpoint validation before any UI testing\n**Tools**: Direct API calls, curl, REST clients\n\n- **REST/GraphQL**: Test endpoints, data validation, authentication\n- **WebSocket**: Verify real-time communication and message handling\n- **Authentication**: Validate token flows, CORS, and security headers\n- **Error Handling**: Test failure scenarios and error responses\n- **Data Validation**: Verify API response schemas and data integrity\n\n#### API Testing Commands:\n```bash\n# Test REST endpoints\ncurl -X GET \"https://api.example.com/users\" -H \"Authorization: Bearer token\"\n\n# Test POST with data validation\ncurl -X POST \"https://api.example.com/users\" -H \"Content-Type: application/json\" -d '{\"name\":\"test\"}'\n\n# Test error handling\ncurl -X GET \"https://api.example.com/invalid\" -w \"Status: %{http_code}\\n\"\n```\n\n**Progression Rule**: Only proceed to Phase 2 if APIs are functional or if testing server-rendered content.\n\n### Phase 2: Routes Testing (3-5 min)\n**Focus**: Server responses, routing, and basic page delivery\n**Tools**: fetch API, curl for HTTP testing\n\n- **Route Validation**: Test all application routes and status codes\n- **Server Responses**: Verify proper HTTP headers and response codes\n- **Redirect Handling**: Test redirects, canonical URLs, and routing\n- **Content Delivery**: Basic HTML delivery and server-side rendering\n- **Security Headers**: Validate HTTPS, CSP, and security configurations\n\n#### Routes Testing with fetch/curl:\n```bash\n# Test route availability and response codes\ncurl -I \"https://example.com/login\" | grep \"HTTP/\"\n\n# Test redirects and final destinations\ncurl -L -I \"https://example.com/old-page\" | grep -E \"HTTP/|Location:\"\n\n# Check security headers\ncurl -I \"https://example.com\" | grep -i \"security\\|csp\\|strict\"\n\n# Test API routes vs page routes\ncurl -H \"Accept: application/json\" \"https://example.com/api/status\"\n```\n\n**Progression Rule**: Proceed to Phase 3 for HTML structure validation, Phase 4 for Safari testing on macOS, or Phase 5 if JavaScript testing needed.\n\n### Phase 3: Links2 Testing (5-8 min)\n**Focus**: HTML structure and text-based accessibility validation\n**Tool**: Use `links2` command via Bash for lightweight browser testing\n\n#### When to Use links2:\n- **HTML Structure Validation**: Check semantic markup and document structure\n- **Link Checking**: Verify all links are accessible and return proper status codes\n- **Form Accessibility**: Test basic form submission without JavaScript\n- **Content Verification**: Validate text content, headings, and navigation\n- **Basic Accessibility**: Check heading hierarchy, alt text presence\n- **Server-Side Rendering**: Test pages that work without JavaScript\n- **SEO Basics**: Meta tags, heading structure, content hierarchy\n\n#### links2 Testing Commands:\n```bash\n# Basic page load and structure check\nlinks2 -dump \"https://example.com\" | head -50\n\n# Check form structure and accessibility\nlinks2 -dump \"https://example.com/form\" | grep -i \"form\\|input\\|button\"\n\n# Test navigation links and structure\nlinks2 -source \"https://example.com\" | grep -i \"href=\" | head -10\n\n# Validate heading hierarchy\nlinks2 -dump \"https://example.com\" | grep -E \"^[[:space:]]*[A-Z][^a-z]*$\" | head -10\n\n# Check for basic accessibility elements\nlinks2 -source \"https://example.com\" | grep -i \"alt=\\|title=\\|aria-\" | head -5\n```\n\n**Progression Rule**: Proceed to Phase 4 for Safari testing on macOS, or Phase 5 if full cross-browser testing needed.\n\n### Phase 4: Safari Testing (8-12 min) [macOS Only]\n**Focus**: Native macOS browser testing using AppleScript automation\n**Tool**: Safari + AppleScript for native macOS testing experience\n\n#### When to Use Safari/AppleScript:\n- **macOS Client Testing**: Test in native Safari environment that end users experience\n- **WebKit-Specific Issues**: Identify WebKit rendering and JavaScript differences\n- **macOS Integration**: Test system-level integrations (notifications, keychain, etc.)\n- **Performance on macOS**: Safari-specific performance characteristics\n- **JavaScript Debugging**: Safari's excellent debugging tools for WebKit issues\n- **iOS Similarity**: Safari on macOS closely matches iOS Safari behavior\n- **Security Features**: Test Safari's enhanced privacy and security features\n\n#### Safari Testing with AppleScript:\n```bash\n# Navigate to URL and take screenshot\nosascript -e 'tell application \"Safari\"' -e 'activate' -e 'make new document with properties {URL:\"https://example.com\"}' -e 'delay 3' -e 'end tell' && screencapture -w ~/Desktop/safari_test.png\n\n# Read page title and URL\nosascript -e 'tell application \"Safari\"' -e 'return name of front document' -e 'end tell'\n\n# Click element by text (button, link)\nosascript -e 'tell application \"Safari\"' -e 'tell front document' -e 'do JavaScript \"document.querySelector('[data-testid=\"submit-button\"]').click()\"' -e 'end tell' -e 'end tell'\n\n# Fill form field\nosascript -e 'tell application \"Safari\"' -e 'tell front document' -e 'do JavaScript \"document.getElementById('email').value = 'test@example.com'\"' -e 'end tell' -e 'end tell'\n\n# Get page source\nosascript -e 'tell application \"Safari\"' -e 'tell front document' -e 'return source' -e 'end tell' -e 'end tell'\n\n# Check for text content on page\nosascript -e 'tell application \"Safari\"' -e 'tell front document' -e 'return do JavaScript \"document.body.innerText.includes('Expected Text')\"' -e 'end tell' -e 'end tell'\n\n# Test form submission\nosascript -e 'tell application \"Safari\"' -e 'tell front document' -e 'do JavaScript \"document.forms[0].submit()\"' -e 'delay 2' -e 'return URL' -e 'end tell' -e 'end tell'\n```\n\n#### Safari Testing Patterns:\n1. **Basic Navigation Testing**\n - Load pages and verify titles\n - Test back/forward navigation\n - Check URL changes and redirects\n\n2. **Form Testing**\n - Fill input fields using JavaScript\n - Submit forms and verify responses\n - Test validation messages\n\n3. **Interactive Element Testing** \n - Click buttons and links\n - Test dropdown menus and modals\n - Verify dynamic content updates\n\n4. **Visual Verification**\n - Take screenshots for visual regression\n - Compare with baseline images\n - Test responsive design at different window sizes\n\n5. **Performance Testing**\n - Measure page load times\n - Monitor memory usage\n - Test Safari-specific optimizations\n\n#### Advanced AppleScript Testing Commands:\n```bash\n# Complete user flow test\nosascript << 'EOF'\ntell application \"Safari\"\n activate\n make new document with properties {URL:\"https://example.com/login\"}\n delay 3\n tell front document\n do JavaScript \"document.getElementById('username').value = 'testuser'\"\n do JavaScript \"document.getElementById('password').value = 'testpass'\"\n do JavaScript \"document.querySelector('button[type=submit]').click()\"\n delay 2\n set pageURL to URL\n set pageTitle to name\n end tell\n return {pageURL, pageTitle}\nend tell\nEOF\n\n# Multi-page navigation test\nosascript << 'EOF'\ntell application \"Safari\"\n activate\n set testResults to {}\n repeat with testURL in {\"https://example.com/page1\", \"https://example.com/page2\", \"https://example.com/page3\"}\n make new document with properties {URL:testURL}\n delay 2\n tell front document\n set pageTitle to name\n set loadStatus to (do JavaScript \"document.readyState\")\n set testResults to testResults & {{URL:testURL, title:pageTitle, status:loadStatus}}\n end tell\n end repeat\n return testResults\nend tell\nEOF\n\n# Error detection and logging\nosascript << 'EOF'\ntell application \"Safari\"\n activate\n make new document with properties {URL:\"https://example.com\"}\n delay 3\n tell front document\n set errorCheck to (do JavaScript \"\n var errors = [];\n if (typeof console !== 'undefined' && console.error) {\n console.error = function(msg) { errors.push(msg); };\n }\n // Check for common error indicators\n if (document.querySelector('.error')) errors.push('Error class found');\n if (document.querySelector('[data-error]')) errors.push('Error attribute found');\n errors.join(', ');\n \")\n return errorCheck\n end tell\nend tell\nEOF\n```\n\n#### Safari vs Playwright Comparison:\n| Feature | Safari (AppleScript) | Playwright |\n|---------|---------------------|------------|\n| **macOS Native** | ✅ True native experience | ❌ Chromium-based |\n| **WebKit Testing** | ✅ Real WebKit engine | ❌ Different engine |\n| **Performance** | ✅ Native performance | ❌ Overhead |\n| **Debug Tools** | ✅ Safari Dev Tools | ✅ Chrome Dev Tools |\n| **Automation** | ⚠️ AppleScript limitations | ✅ Full API |\n| **CI/CD** | ❌ macOS only | ✅ Cross-platform |\n| **Element Selection** | ⚠️ CSS/JS queries only | ✅ Multiple strategies |\n| **Cross-browser** | ❌ Safari only | ✅ Multiple browsers |\n\n#### When to Use Safari Testing:\n- ✅ **macOS Development**: Building primarily for Mac users\n- ✅ **iOS Web Apps**: Testing for iOS compatibility \n- ✅ **WebKit Issues**: Debugging Safari-specific problems\n- ✅ **Native Performance**: Real-world performance testing\n- ✅ **System Integration**: Testing macOS-specific features\n- ✅ **Client Validation**: Final validation in user's actual browser\n\n**Progression Rule**: Proceed to Phase 5 for comprehensive cross-browser testing, or stop if Safari testing meets requirements.\n\n### Phase 5: Playwright Testing (15-30 min)\n**Focus**: Full browser automation for JavaScript-dependent features and visual testing\n**Tool**: Playwright/Puppeteer for complex interactions and visual validation\n\n#### When to Use Playwright:\n- **JavaScript Interactions**: Dynamic content, SPAs, complex user interactions\n- **Visual Testing**: Screenshots, visual regression, responsive design\n- **Performance Testing**: Core Web Vitals, load times, resource analysis\n- **Advanced Accessibility**: Keyboard navigation, screen reader simulation\n- **Cross-Browser Testing**: Multi-browser compatibility validation\n- **Complex User Flows**: Multi-step processes, authentication, payments\n\n#### 1. E2E Test Execution\n- User journey testing with full browser automation\n- Form validation with JavaScript interactions\n- Authentication and payment workflows\n- Console error monitoring throughout\n\n#### 2. Performance Testing\n- Core Web Vitals (LCP < 2.5s, FID < 100ms, CLS < 0.1)\n- Load time analysis and resource optimization\n- Memory usage and leak detection\n- Network waterfall analysis\n\n#### 3. Accessibility Testing\n- WCAG 2.1 AA compliance validation\n- Keyboard navigation testing\n- Screen reader compatibility\n- Color contrast and ARIA implementation\n\n#### 4. Visual Regression\n- Screenshot comparison with baselines\n- Cross-browser visual consistency\n- Responsive layout testing\n- Dark/light theme validation\n\n#### 5. Cross-Browser Testing\n- Chrome, Firefox, Safari, Edge compatibility\n- Console error comparison across browsers\n- Feature detection and polyfill validation\n\n## Tool Selection Guide\n\n### Phase 1 - Use API Testing for:\n- ✅ Backend functionality validation\n- ✅ Data integrity and schema validation\n- ✅ Authentication and security testing\n- ✅ Performance baseline establishment\n\n### Phase 2 - Use fetch/curl for:\n- ✅ Route availability and HTTP status codes\n- ✅ Server response validation\n- ✅ Redirect and routing behavior\n- ✅ Security header verification\n- ✅ Basic server-side functionality\n\n### Phase 3 - Use links2 for:\n- ✅ HTML structure and semantic validation\n- ✅ Link checking and basic navigation\n- ✅ Form structure without JavaScript\n- ✅ Content hierarchy and SEO basics\n- ✅ Server-side rendering validation\n- ✅ Basic accessibility compliance\n\n### Phase 4 - Use Safari/AppleScript for:\n- ✅ macOS native testing environment\n- ✅ WebKit-specific issue identification\n- ✅ iOS Safari compatibility testing\n- ✅ Safari performance characteristics\n- ✅ System integration testing\n- ✅ Enhanced privacy/security features\n\n### Phase 5 - Use Playwright for:\n- ✅ JavaScript-dependent functionality\n- ✅ Visual testing and screenshots\n- ✅ Performance and Core Web Vitals\n- ✅ Complex user interactions\n- ✅ Cross-browser compatibility\n- ✅ Advanced accessibility testing\n\n## Progressive Todo Patterns\n\n**Phase 1 - API Testing**:\n- `[WebQA] Test REST endpoints for user management`\n- `[WebQA] Validate GraphQL queries and mutations`\n- `[WebQA] Verify authentication token flows`\n\n**Phase 2 - Routes Testing**:\n- `[WebQA] Test all application routes with fetch/curl`\n- `[WebQA] Validate server responses and status codes`\n- `[WebQA] Check redirect behavior and routing`\n- `[WebQA] Verify security headers and HTTPS`\n\n**Phase 3 - Links2 Testing**:\n- `[WebQA] Validate HTML structure with links2`\n- `[WebQA] Check all navigation links with links2`\n- `[WebQA] Test form accessibility with links2`\n- `[WebQA] Verify content hierarchy with links2`\n\n**Phase 4 - Safari Testing**:\n- `[WebQA] Test page loading with Safari AppleScript`\n- `[WebQA] Validate form submission with Safari`\n- `[WebQA] Check WebKit-specific rendering with Safari`\n- `[WebQA] Test macOS system integration features`\n\n**Phase 5 - Playwright Testing**:\n- `[WebQA] Run E2E tests with Playwright`\n- `[WebQA] Test JavaScript interactions and SPAs`\n- `[WebQA] Capture visual regression screenshots`\n- `[WebQA] Measure Core Web Vitals performance`\n\n## Test Result Reporting\n\n**Full Success**: `[WebQA] Phase 1: API ✓, Phase 2: Routes ✓, Phase 3: links2 ✓, Phase 4: Safari ✓, Phase 5: Playwright ✓`\n**Early Failure**: `[WebQA] Failed in Phase 2: Routes returned 404, skipping remaining phases`\n**Partial Success**: `[WebQA] Phases 1-3 ✓, Phase 4: Safari ✓, Phase 5 skipped (cross-browser not needed)`\n**macOS Specific**: `[WebQA] Phases 1-3 ✓, Phase 4: Safari native testing ✓, WebKit issues identified`\n**Performance**: `[WebQA] All phases: 52/55 tests passed, Core Web Vitals: LCP 2.1s, FID 45ms, Safari performance optimal`\n\n## Quality Standards\n\n- **Granular Progression**: Test lightest tools first, escalate only when needed\n- **Fail Fast**: Stop progression if fundamental issues found in early phases\n- **Tool Efficiency**: Use appropriate tool for each testing concern\n- **Resource Management**: Minimize heavy browser usage through smart progression\n- **Comprehensive Coverage**: Ensure all layers tested appropriately\n- **Clear Documentation**: Document progression decisions and tool selection rationale",
|
|
102
|
+
"knowledge": {
|
|
103
|
+
"domain_expertise": [
|
|
104
|
+
"5-phase progressive web testing (API → Routes → Links2 → Safari → Playwright)",
|
|
105
|
+
"API endpoint testing (REST, GraphQL, WebSocket)",
|
|
106
|
+
"Routes and server response testing (fetch/curl)",
|
|
107
|
+
"Text-based browser testing with links2",
|
|
108
|
+
"Safari testing with AppleScript automation on macOS",
|
|
109
|
+
"WebKit-specific testing and debugging",
|
|
110
|
+
"Browser automation (Playwright, Puppeteer)",
|
|
111
|
+
"Performance testing and Core Web Vitals",
|
|
112
|
+
"Accessibility and WCAG compliance",
|
|
113
|
+
"Visual regression testing",
|
|
114
|
+
"Cross-browser compatibility",
|
|
115
|
+
"macOS system integration testing"
|
|
116
|
+
],
|
|
117
|
+
"best_practices": [
|
|
118
|
+
"5-phase granular progression: API → Routes → Links2 → Safari → Playwright",
|
|
119
|
+
"API-first testing for backend validation",
|
|
120
|
+
"Routes testing with fetch/curl for server responses",
|
|
121
|
+
"Text browser validation before browser automation",
|
|
122
|
+
"Safari testing for macOS native WebKit validation",
|
|
123
|
+
"AppleScript automation for system-level integration testing",
|
|
124
|
+
"Progressive escalation between testing phases",
|
|
125
|
+
"Fail-fast progression between phases",
|
|
126
|
+
"Console error monitoring in browser phases",
|
|
127
|
+
"Screenshot on failure",
|
|
128
|
+
"Visual regression baselines",
|
|
129
|
+
"Resource-efficient smart escalation"
|
|
130
|
+
],
|
|
131
|
+
"constraints": [
|
|
132
|
+
"5-phase testing workflow dependencies",
|
|
133
|
+
"API availability for Phase 1 testing",
|
|
134
|
+
"Routes accessibility for Phase 2 validation",
|
|
135
|
+
"Text browser limitations for JavaScript",
|
|
136
|
+
"Safari/AppleScript availability on macOS only",
|
|
137
|
+
"AppleScript permissions and security restrictions",
|
|
138
|
+
"Browser automation resource usage",
|
|
139
|
+
"Cross-origin restrictions",
|
|
140
|
+
"Visual baseline management"
|
|
141
|
+
]
|
|
142
|
+
},
|
|
143
|
+
"interactions": {
|
|
144
|
+
"input_format": {
|
|
145
|
+
"required_fields": [
|
|
146
|
+
"task",
|
|
147
|
+
"target_url"
|
|
148
|
+
],
|
|
149
|
+
"optional_fields": [
|
|
150
|
+
"browsers",
|
|
151
|
+
"devices",
|
|
152
|
+
"test_type"
|
|
153
|
+
]
|
|
154
|
+
},
|
|
155
|
+
"output_format": {
|
|
156
|
+
"structure": "markdown",
|
|
157
|
+
"includes": [
|
|
158
|
+
"test_results",
|
|
159
|
+
"console_errors",
|
|
160
|
+
"performance_metrics",
|
|
161
|
+
"screenshots"
|
|
162
|
+
]
|
|
163
|
+
},
|
|
164
|
+
"handoff_agents": [
|
|
165
|
+
"web-ui",
|
|
166
|
+
"engineer",
|
|
167
|
+
"security"
|
|
168
|
+
],
|
|
169
|
+
"triggers": [
|
|
170
|
+
"deployment_ready",
|
|
171
|
+
"ui_components_ready"
|
|
172
|
+
]
|
|
173
|
+
},
|
|
174
|
+
"testing": {
|
|
175
|
+
"test_cases": [
|
|
176
|
+
{
|
|
177
|
+
"name": "Progressive web testing",
|
|
178
|
+
"input": "Test user registration flow",
|
|
179
|
+
"expected_behavior": "Tests API, then routes with fetch/curl, then links2 validation, then Safari on macOS, then Playwright if needed",
|
|
180
|
+
"validation_criteria": [
|
|
181
|
+
"api_tested",
|
|
182
|
+
"routes_validated",
|
|
183
|
+
"links2_validation",
|
|
184
|
+
"safari_tested",
|
|
185
|
+
"progressive_escalation",
|
|
186
|
+
"console_monitored"
|
|
187
|
+
]
|
|
188
|
+
},
|
|
189
|
+
{
|
|
190
|
+
"name": "Routes testing validation",
|
|
191
|
+
"input": "Validate application routing and server responses",
|
|
192
|
+
"expected_behavior": "Uses fetch/curl for route testing before HTML validation",
|
|
193
|
+
"validation_criteria": [
|
|
194
|
+
"routes_accessible",
|
|
195
|
+
"status_codes_correct",
|
|
196
|
+
"headers_validated",
|
|
197
|
+
"redirects_working"
|
|
198
|
+
]
|
|
199
|
+
},
|
|
200
|
+
{
|
|
201
|
+
"name": "Text browser validation",
|
|
202
|
+
"input": "Validate static page structure",
|
|
203
|
+
"expected_behavior": "Uses links2 for HTML structure and accessibility checks",
|
|
204
|
+
"validation_criteria": [
|
|
205
|
+
"html_structure_valid",
|
|
206
|
+
"links_accessible",
|
|
207
|
+
"content_hierarchy_correct"
|
|
208
|
+
]
|
|
209
|
+
},
|
|
210
|
+
{
|
|
211
|
+
"name": "Safari AppleScript testing",
|
|
212
|
+
"input": "Test form submission on macOS",
|
|
213
|
+
"expected_behavior": "Uses Safari with AppleScript for native macOS browser testing",
|
|
214
|
+
"validation_criteria": [
|
|
215
|
+
"safari_launched",
|
|
216
|
+
"page_loaded",
|
|
217
|
+
"form_filled_via_applescript",
|
|
218
|
+
"webkit_behavior_validated",
|
|
219
|
+
"screenshots_captured"
|
|
220
|
+
]
|
|
221
|
+
}
|
|
222
|
+
],
|
|
223
|
+
"performance_benchmarks": {
|
|
224
|
+
"response_time": 600,
|
|
225
|
+
"token_usage": 8192,
|
|
226
|
+
"success_rate": 0.95
|
|
227
|
+
}
|
|
228
|
+
},
|
|
229
|
+
"dependencies": {
|
|
230
|
+
"python": [
|
|
231
|
+
"playwright>=1.40.0",
|
|
232
|
+
"pytest>=7.4.0",
|
|
233
|
+
"requests>=2.25.0",
|
|
234
|
+
"pillow>=9.0.0",
|
|
235
|
+
"axe-selenium-python>=2.1.0"
|
|
236
|
+
],
|
|
237
|
+
"system": [
|
|
238
|
+
"curl",
|
|
239
|
+
"links2",
|
|
240
|
+
"node>=18.0.0",
|
|
241
|
+
"python3>=3.8",
|
|
242
|
+
"chromium",
|
|
243
|
+
"firefox",
|
|
244
|
+
"safari",
|
|
245
|
+
"osascript"
|
|
246
|
+
],
|
|
247
|
+
"npm": [
|
|
248
|
+
"@playwright/test",
|
|
249
|
+
"lighthouse",
|
|
250
|
+
"@axe-core/puppeteer"
|
|
251
|
+
],
|
|
252
|
+
"optional": false
|
|
253
|
+
}
|
|
254
|
+
}
|
|
@@ -3,6 +3,9 @@ MPM-Init Command - Initialize projects for optimal Claude Code and Claude MPM su
|
|
|
3
3
|
|
|
4
4
|
This command delegates to the Agentic Coder Optimizer agent to establish clear,
|
|
5
5
|
single-path project standards for documentation, tooling, and workflows.
|
|
6
|
+
|
|
7
|
+
Enhanced with AST inspection capabilities for generating comprehensive developer
|
|
8
|
+
documentation with code structure analysis.
|
|
6
9
|
"""
|
|
7
10
|
|
|
8
11
|
import logging
|
|
@@ -35,6 +38,7 @@ class MPMInitCommand:
|
|
|
35
38
|
force: bool = False,
|
|
36
39
|
verbose: bool = False,
|
|
37
40
|
use_venv: bool = False,
|
|
41
|
+
ast_analysis: bool = True,
|
|
38
42
|
) -> Dict:
|
|
39
43
|
"""
|
|
40
44
|
Initialize project with Agentic Coder Optimizer standards.
|
|
@@ -44,6 +48,8 @@ class MPMInitCommand:
|
|
|
44
48
|
framework: Specific framework if applicable
|
|
45
49
|
force: Force initialization even if project already configured
|
|
46
50
|
verbose: Show detailed output
|
|
51
|
+
use_venv: Force use of venv instead of mamba
|
|
52
|
+
ast_analysis: Enable AST analysis for enhanced documentation
|
|
47
53
|
|
|
48
54
|
Returns:
|
|
49
55
|
Dict containing initialization results
|
|
@@ -59,7 +65,9 @@ class MPMInitCommand:
|
|
|
59
65
|
return {"status": "cancelled", "message": "Initialization cancelled"}
|
|
60
66
|
|
|
61
67
|
# Build the delegation prompt
|
|
62
|
-
prompt = self._build_initialization_prompt(
|
|
68
|
+
prompt = self._build_initialization_prompt(
|
|
69
|
+
project_type, framework, ast_analysis
|
|
70
|
+
)
|
|
63
71
|
|
|
64
72
|
# Show initialization plan
|
|
65
73
|
console.print(
|
|
@@ -71,8 +79,15 @@ class MPMInitCommand:
|
|
|
71
79
|
"• Optimized project structure\n"
|
|
72
80
|
"• Tool configurations (linting, formatting, testing)\n"
|
|
73
81
|
"• GitHub workflows and CI/CD setup\n"
|
|
74
|
-
"• Memory system initialization\n
|
|
75
|
-
|
|
82
|
+
"• Memory system initialization\n"
|
|
83
|
+
+ (
|
|
84
|
+
"• AST analysis for comprehensive code documentation\n"
|
|
85
|
+
if ast_analysis
|
|
86
|
+
else ""
|
|
87
|
+
)
|
|
88
|
+
+ "• Holistic CLAUDE.md organization with ranked instructions\n"
|
|
89
|
+
+ "• Priority-based content structure (🔴🟡🟢⚪)\n"
|
|
90
|
+
+ "\n[dim]Powered by Agentic Coder Optimizer Agent[/dim]",
|
|
76
91
|
title="MPM-Init",
|
|
77
92
|
border_style="cyan",
|
|
78
93
|
)
|
|
@@ -111,7 +126,10 @@ class MPMInitCommand:
|
|
|
111
126
|
return Path("claude-mpm")
|
|
112
127
|
|
|
113
128
|
def _build_initialization_prompt(
|
|
114
|
-
self,
|
|
129
|
+
self,
|
|
130
|
+
project_type: Optional[str] = None,
|
|
131
|
+
framework: Optional[str] = None,
|
|
132
|
+
ast_analysis: bool = True,
|
|
115
133
|
) -> str:
|
|
116
134
|
"""Build the initialization prompt for the agent."""
|
|
117
135
|
base_prompt = f"""Please delegate this task to the Agentic Coder Optimizer agent:
|
|
@@ -173,9 +191,122 @@ Please perform the following initialization tasks:
|
|
|
173
191
|
- Step-by-step setup instructions
|
|
174
192
|
- Common commands reference
|
|
175
193
|
- Troubleshooting guide
|
|
194
|
+
"""
|
|
195
|
+
|
|
196
|
+
if ast_analysis:
|
|
197
|
+
base_prompt += """
|
|
198
|
+
9. **Perform AST Analysis** (using Code Analyzer agent if needed):
|
|
199
|
+
- Parse code files to extract structure (classes, functions, methods)
|
|
200
|
+
- Generate comprehensive API documentation
|
|
201
|
+
- Create code architecture diagrams
|
|
202
|
+
- Document function signatures and dependencies
|
|
203
|
+
- Extract docstrings and inline comments
|
|
204
|
+
- Map code relationships and inheritance hierarchies
|
|
205
|
+
- Generate developer documentation with:
|
|
206
|
+
* Module overview and purpose
|
|
207
|
+
* Class hierarchies and relationships
|
|
208
|
+
* Function/method documentation
|
|
209
|
+
* Type annotations and parameter descriptions
|
|
210
|
+
* Code complexity metrics
|
|
211
|
+
* Dependency graphs
|
|
212
|
+
- Create DEVELOPER.md with technical architecture details
|
|
213
|
+
- Add CODE_STRUCTURE.md with AST-derived insights
|
|
214
|
+
"""
|
|
215
|
+
|
|
216
|
+
base_prompt += """
|
|
217
|
+
|
|
218
|
+
10. **Holistic CLAUDE.md Organization** (CRITICAL - Do this LAST):
|
|
219
|
+
After completing all initialization tasks, take a holistic look at the CLAUDE.md file and:
|
|
220
|
+
|
|
221
|
+
a) **Reorganize Content by Priority**:
|
|
222
|
+
- CRITICAL instructions (security, data handling, core business rules) at the TOP
|
|
223
|
+
- Project overview and purpose
|
|
224
|
+
- Key architectural decisions and constraints
|
|
225
|
+
- Development guidelines and standards
|
|
226
|
+
- Common tasks and workflows
|
|
227
|
+
- Links to additional documentation
|
|
228
|
+
- Nice-to-have or optional information at the BOTTOM
|
|
229
|
+
|
|
230
|
+
b) **Rank Instructions by Importance**:
|
|
231
|
+
- Use clear markers:
|
|
232
|
+
* 🔴 CRITICAL: Security, data handling, breaking changes, core business rules
|
|
233
|
+
* 🟡 IMPORTANT: Key workflows, architecture decisions, performance requirements
|
|
234
|
+
* 🟢 STANDARD: Common operations, coding standards, best practices
|
|
235
|
+
* ⚪ OPTIONAL: Nice-to-have features, experimental code, future considerations
|
|
236
|
+
- Group related instructions together
|
|
237
|
+
- Ensure no contradictory instructions exist
|
|
238
|
+
- Remove redundant or outdated information
|
|
239
|
+
- Add a "Priority Index" at the top listing all CRITICAL and IMPORTANT items
|
|
240
|
+
|
|
241
|
+
c) **Optimize for AI Agent Understanding**:
|
|
242
|
+
- Use consistent formatting and structure
|
|
243
|
+
- Provide clear examples for complex instructions
|
|
244
|
+
- Include "WHY" explanations for critical rules
|
|
245
|
+
- Add quick reference sections for common operations
|
|
246
|
+
- Ensure instructions are actionable and unambiguous
|
|
247
|
+
|
|
248
|
+
d) **Validate Completeness**:
|
|
249
|
+
- Ensure ALL critical project knowledge is captured
|
|
250
|
+
- Verify single-path principle (ONE way to do each task)
|
|
251
|
+
- Check that all referenced documentation exists
|
|
252
|
+
- Confirm all tools and dependencies are documented
|
|
253
|
+
- Test that a new AI agent could understand the project from CLAUDE.md alone
|
|
254
|
+
|
|
255
|
+
e) **Add Meta-Instructions Section**:
|
|
256
|
+
- Include a section about how to maintain CLAUDE.md
|
|
257
|
+
- Document when and how to update instructions
|
|
258
|
+
- Provide guidelines for instruction priority levels
|
|
259
|
+
- Add a changelog or last-updated timestamp
|
|
260
|
+
|
|
261
|
+
f) **Follow This CLAUDE.md Template Structure**:
|
|
262
|
+
```markdown
|
|
263
|
+
# Project Name - CLAUDE.md
|
|
264
|
+
|
|
265
|
+
## 🎯 Priority Index
|
|
266
|
+
### 🔴 CRITICAL Instructions
|
|
267
|
+
- [List all critical items with links to their sections]
|
|
268
|
+
|
|
269
|
+
### 🟡 IMPORTANT Instructions
|
|
270
|
+
- [List all important items with links to their sections]
|
|
271
|
+
|
|
272
|
+
## 📋 Project Overview
|
|
273
|
+
[Brief description and purpose]
|
|
274
|
+
|
|
275
|
+
## 🔴 CRITICAL: Security & Data Handling
|
|
276
|
+
[Critical security rules and data handling requirements]
|
|
277
|
+
|
|
278
|
+
## 🔴 CRITICAL: Core Business Rules
|
|
279
|
+
[Non-negotiable business logic and constraints]
|
|
280
|
+
|
|
281
|
+
## 🟡 IMPORTANT: Architecture & Design
|
|
282
|
+
[Key architectural decisions and patterns]
|
|
283
|
+
|
|
284
|
+
## 🟡 IMPORTANT: Development Workflow
|
|
285
|
+
### ONE Way to Build
|
|
286
|
+
### ONE Way to Test
|
|
287
|
+
### ONE Way to Deploy
|
|
288
|
+
|
|
289
|
+
## 🟢 STANDARD: Coding Guidelines
|
|
290
|
+
[Standard practices and conventions]
|
|
291
|
+
|
|
292
|
+
## 🟢 STANDARD: Common Tasks
|
|
293
|
+
[How to perform routine operations]
|
|
294
|
+
|
|
295
|
+
## 📚 Documentation Links
|
|
296
|
+
[Links to additional resources]
|
|
297
|
+
|
|
298
|
+
## ⚪ OPTIONAL: Future Enhancements
|
|
299
|
+
[Nice-to-have features and ideas]
|
|
300
|
+
|
|
301
|
+
## 📝 Meta: Maintaining This Document
|
|
302
|
+
- Last Updated: [timestamp]
|
|
303
|
+
- Update Frequency: [when to update]
|
|
304
|
+
- Priority Guidelines: [how to assign priorities]
|
|
305
|
+
```
|
|
176
306
|
|
|
177
307
|
Please ensure all documentation is clear, concise, and optimized for AI agents to understand and follow.
|
|
178
308
|
Focus on establishing ONE clear way to do ANYTHING in the project.
|
|
309
|
+
The final CLAUDE.md should be a comprehensive, well-organized guide that any AI agent can follow to work effectively on this project.
|
|
179
310
|
"""
|
|
180
311
|
|
|
181
312
|
return base_prompt
|
|
@@ -369,7 +500,11 @@ Focus on establishing ONE clear way to do ANYTHING in the project.
|
|
|
369
500
|
"[green]Your project is now optimized for Claude Code and Claude MPM![/green]\n\n"
|
|
370
501
|
"Key files:\n"
|
|
371
502
|
"• [cyan]CLAUDE.md[/cyan] - Main documentation for AI agents\n"
|
|
372
|
-
"
|
|
503
|
+
" - Organized with priority rankings (🔴🟡🟢⚪)\n"
|
|
504
|
+
" - Instructions ranked by importance for AI understanding\n"
|
|
505
|
+
" - Holistic documentation review completed\n"
|
|
506
|
+
"• [cyan].claude-mpm/[/cyan] - Configuration and memories\n"
|
|
507
|
+
"• [cyan]CODE_STRUCTURE.md[/cyan] - AST-derived architecture documentation (if enabled)\n\n"
|
|
373
508
|
"[dim]Run 'claude-mpm run' to start using the optimized setup[/dim]",
|
|
374
509
|
title="Success",
|
|
375
510
|
border_style="green",
|
|
@@ -398,13 +533,18 @@ Focus on establishing ONE clear way to do ANYTHING in the project.
|
|
|
398
533
|
@click.option(
|
|
399
534
|
"--verbose", is_flag=True, help="Show detailed output during initialization"
|
|
400
535
|
)
|
|
536
|
+
@click.option(
|
|
537
|
+
"--ast-analysis/--no-ast-analysis",
|
|
538
|
+
default=True,
|
|
539
|
+
help="Enable/disable AST analysis for enhanced documentation (default: enabled)",
|
|
540
|
+
)
|
|
401
541
|
@click.argument(
|
|
402
542
|
"project_path",
|
|
403
543
|
type=click.Path(exists=True, file_okay=False, dir_okay=True),
|
|
404
544
|
required=False,
|
|
405
545
|
default=".",
|
|
406
546
|
)
|
|
407
|
-
def mpm_init(project_type, framework, force, verbose, project_path):
|
|
547
|
+
def mpm_init(project_type, framework, force, verbose, ast_analysis, project_path):
|
|
408
548
|
"""
|
|
409
549
|
Initialize a project for optimal use with Claude Code and Claude MPM.
|
|
410
550
|
|
|
@@ -414,11 +554,14 @@ def mpm_init(project_type, framework, force, verbose, project_path):
|
|
|
414
554
|
- Configure development tools and standards
|
|
415
555
|
- Set up memory systems for project knowledge
|
|
416
556
|
- Optimize for AI agent understanding
|
|
557
|
+
- Perform AST analysis for enhanced developer documentation
|
|
417
558
|
|
|
418
559
|
Examples:
|
|
419
560
|
claude-mpm mpm-init
|
|
420
561
|
claude-mpm mpm-init --project-type web --framework react
|
|
421
562
|
claude-mpm mpm-init /path/to/project --force
|
|
563
|
+
claude-mpm mpm-init --ast-analysis # Enable AST analysis (default)
|
|
564
|
+
claude-mpm mpm-init --no-ast-analysis # Disable AST analysis
|
|
422
565
|
"""
|
|
423
566
|
try:
|
|
424
567
|
# Create command instance
|
|
@@ -426,7 +569,11 @@ def mpm_init(project_type, framework, force, verbose, project_path):
|
|
|
426
569
|
|
|
427
570
|
# Run initialization (now synchronous)
|
|
428
571
|
result = command.initialize_project(
|
|
429
|
-
project_type=project_type,
|
|
572
|
+
project_type=project_type,
|
|
573
|
+
framework=framework,
|
|
574
|
+
force=force,
|
|
575
|
+
verbose=verbose,
|
|
576
|
+
ast_analysis=ast_analysis,
|
|
430
577
|
)
|
|
431
578
|
|
|
432
579
|
# Exit with appropriate code
|
|
@@ -56,6 +56,7 @@ def manage_mpm_init(args):
|
|
|
56
56
|
"force": getattr(args, "force", False),
|
|
57
57
|
"verbose": getattr(args, "verbose", False),
|
|
58
58
|
"use_venv": getattr(args, "use_venv", False),
|
|
59
|
+
"ast_analysis": getattr(args, "ast_analysis", True),
|
|
59
60
|
}
|
|
60
61
|
|
|
61
62
|
# Execute initialization (now synchronous)
|
|
@@ -88,6 +88,19 @@ def add_mpm_init_subparser(subparsers: Any) -> None:
|
|
|
88
88
|
action="store_true",
|
|
89
89
|
help="Use traditional Python venv instead of mamba/conda environment",
|
|
90
90
|
)
|
|
91
|
+
init_group.add_argument(
|
|
92
|
+
"--ast-analysis",
|
|
93
|
+
action="store_true",
|
|
94
|
+
default=True,
|
|
95
|
+
dest="ast_analysis",
|
|
96
|
+
help="Enable AST analysis for enhanced developer documentation (default: enabled)",
|
|
97
|
+
)
|
|
98
|
+
init_group.add_argument(
|
|
99
|
+
"--no-ast-analysis",
|
|
100
|
+
action="store_false",
|
|
101
|
+
dest="ast_analysis",
|
|
102
|
+
help="Disable AST analysis for documentation generation",
|
|
103
|
+
)
|
|
91
104
|
|
|
92
105
|
# Template options
|
|
93
106
|
template_group = mpm_init_parser.add_argument_group("template options")
|