claude-mpm 4.16.0__py3-none-any.whl → 4.25.10__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of claude-mpm might be problematic. Click here for more details.
- claude_mpm/VERSION +1 -1
- claude_mpm/agents/BASE_ENGINEER.md +286 -0
- claude_mpm/agents/BASE_PM.md +272 -23
- claude_mpm/agents/OUTPUT_STYLE.md +3 -48
- claude_mpm/agents/PM_INSTRUCTIONS.md +1821 -32
- claude_mpm/agents/WORKFLOW.md +75 -2
- claude_mpm/agents/agent_loader.py +4 -4
- claude_mpm/agents/base_agent.json +6 -3
- claude_mpm/agents/frontmatter_validator.py +1 -1
- claude_mpm/agents/templates/api_qa.json +5 -2
- claude_mpm/agents/templates/circuit_breakers.md +108 -2
- claude_mpm/agents/templates/documentation.json +33 -6
- claude_mpm/agents/templates/engineer.json +5 -1
- claude_mpm/agents/templates/javascript_engineer_agent.json +380 -0
- claude_mpm/agents/templates/php-engineer.json +10 -4
- claude_mpm/agents/templates/pm_red_flags.md +89 -19
- claude_mpm/agents/templates/project_organizer.json +7 -3
- claude_mpm/agents/templates/python_engineer.json +8 -3
- claude_mpm/agents/templates/qa.json +2 -1
- claude_mpm/agents/templates/react_engineer.json +1 -0
- claude_mpm/agents/templates/research.json +82 -12
- claude_mpm/agents/templates/rust_engineer.json +12 -7
- claude_mpm/agents/templates/security.json +4 -4
- claude_mpm/agents/templates/svelte-engineer.json +225 -0
- claude_mpm/agents/templates/tauri_engineer.json +274 -0
- claude_mpm/agents/templates/ticketing.json +10 -6
- claude_mpm/agents/templates/version_control.json +4 -2
- claude_mpm/agents/templates/web_qa.json +2 -1
- claude_mpm/cli/README.md +253 -0
- claude_mpm/cli/__init__.py +11 -1
- claude_mpm/cli/commands/__init__.py +2 -0
- claude_mpm/cli/commands/aggregate.py +1 -1
- claude_mpm/cli/commands/analyze.py +3 -3
- claude_mpm/cli/commands/cleanup.py +1 -1
- claude_mpm/cli/commands/configure_agent_display.py +4 -4
- claude_mpm/cli/commands/debug.py +12 -12
- claude_mpm/cli/commands/hook_errors.py +277 -0
- claude_mpm/cli/commands/mcp_install_commands.py +1 -1
- claude_mpm/cli/commands/mcp_install_commands.py.backup +284 -0
- claude_mpm/cli/commands/mpm_init/README.md +365 -0
- claude_mpm/cli/commands/mpm_init/__init__.py +73 -0
- claude_mpm/cli/commands/mpm_init/core.py +573 -0
- claude_mpm/cli/commands/mpm_init/display.py +341 -0
- claude_mpm/cli/commands/mpm_init/git_activity.py +427 -0
- claude_mpm/cli/commands/mpm_init/modes.py +397 -0
- claude_mpm/cli/commands/mpm_init/prompts.py +442 -0
- claude_mpm/cli/commands/mpm_init_cli.py +396 -0
- claude_mpm/cli/commands/mpm_init_handler.py +67 -1
- claude_mpm/cli/commands/run.py +124 -128
- claude_mpm/cli/commands/skills.py +922 -0
- claude_mpm/cli/executor.py +58 -0
- claude_mpm/cli/interactive/agent_wizard.py +5 -5
- claude_mpm/cli/parsers/base_parser.py +35 -0
- claude_mpm/cli/parsers/mpm_init_parser.py +42 -0
- claude_mpm/cli/parsers/skills_parser.py +275 -0
- claude_mpm/cli/startup.py +168 -8
- claude_mpm/cli/startup_display.py +480 -0
- claude_mpm/cli/utils.py +1 -1
- claude_mpm/cli_module/commands.py +1 -1
- claude_mpm/cli_module/refactoring_guide.md +253 -0
- claude_mpm/commands/mpm-auto-configure.md +52 -0
- claude_mpm/commands/mpm-help.md +6 -0
- claude_mpm/commands/mpm-init.md +130 -8
- claude_mpm/commands/mpm-resume.md +372 -0
- claude_mpm/commands/mpm-tickets.md +56 -7
- claude_mpm/commands/mpm-version.md +113 -0
- claude_mpm/commands/mpm.md +2 -0
- claude_mpm/config/agent_capabilities.yaml +658 -0
- claude_mpm/config/agent_config.py +2 -2
- claude_mpm/config/async_logging_config.yaml +145 -0
- claude_mpm/constants.py +24 -0
- claude_mpm/core/.claude-mpm/logs/hooks_20250730.log +34 -0
- claude_mpm/core/api_validator.py +1 -1
- claude_mpm/core/claude_runner.py +14 -1
- claude_mpm/core/config.py +50 -0
- claude_mpm/core/constants.py +1 -1
- claude_mpm/core/factories.py +1 -1
- claude_mpm/core/framework/processors/metadata_processor.py +1 -1
- claude_mpm/core/hook_error_memory.py +381 -0
- claude_mpm/core/hook_manager.py +41 -2
- claude_mpm/core/interactive_session.py +48 -3
- claude_mpm/core/interfaces.py +56 -1
- claude_mpm/core/logger.py +3 -1
- claude_mpm/core/oneshot_session.py +39 -0
- claude_mpm/core/optimized_agent_loader.py +3 -3
- claude_mpm/d2/.gitignore +22 -0
- claude_mpm/d2/ARCHITECTURE_COMPARISON.md +273 -0
- claude_mpm/d2/FLASK_INTEGRATION.md +156 -0
- claude_mpm/d2/IMPLEMENTATION_SUMMARY.md +452 -0
- claude_mpm/d2/QUICKSTART.md +186 -0
- claude_mpm/d2/README.md +232 -0
- claude_mpm/d2/STORE_FIX_SUMMARY.md +167 -0
- claude_mpm/d2/SVELTE5_STORES_GUIDE.md +180 -0
- claude_mpm/d2/TESTING.md +288 -0
- claude_mpm/d2/index.html +118 -0
- claude_mpm/d2/package.json +19 -0
- claude_mpm/d2/src/App.svelte +110 -0
- claude_mpm/d2/src/components/Header.svelte +153 -0
- claude_mpm/d2/src/components/MainContent.svelte +74 -0
- claude_mpm/d2/src/components/Sidebar.svelte +85 -0
- claude_mpm/d2/src/components/tabs/EventsTab.svelte +326 -0
- claude_mpm/d2/src/lib/socketio.js +144 -0
- claude_mpm/d2/src/main.js +7 -0
- claude_mpm/d2/src/stores/events.js +114 -0
- claude_mpm/d2/src/stores/socket.js +108 -0
- claude_mpm/d2/src/stores/theme.js +65 -0
- claude_mpm/d2/svelte.config.js +12 -0
- claude_mpm/d2/vite.config.js +15 -0
- claude_mpm/dashboard/.claude-mpm/memories/README.md +36 -0
- claude_mpm/dashboard/BUILD_NUMBER +1 -0
- claude_mpm/dashboard/README.md +121 -0
- claude_mpm/dashboard/VERSION +1 -0
- claude_mpm/dashboard/react/components/DataInspector/DataInspector.tsx +273 -0
- claude_mpm/dashboard/react/components/ErrorBoundary.tsx +75 -0
- claude_mpm/dashboard/react/components/EventViewer/EventViewer.tsx +141 -0
- claude_mpm/dashboard/react/components/shared/ConnectionStatus.tsx +36 -0
- claude_mpm/dashboard/react/components/shared/FilterBar.tsx +89 -0
- claude_mpm/dashboard/react/contexts/DashboardContext.tsx +215 -0
- claude_mpm/dashboard/react/entries/events.tsx +165 -0
- claude_mpm/dashboard/react/hooks/useEvents.ts +191 -0
- claude_mpm/dashboard/react/hooks/useSocket.ts +225 -0
- claude_mpm/dashboard/static/built/REFACTORING_SUMMARY.md +170 -0
- claude_mpm/dashboard/static/built/components/activity-tree.js.map +1 -0
- claude_mpm/dashboard/static/built/components/agent-hierarchy.js +101 -101
- claude_mpm/dashboard/static/built/components/agent-inference.js.map +1 -0
- claude_mpm/dashboard/static/built/components/build-tracker.js +59 -59
- claude_mpm/dashboard/static/built/components/code-simple.js +107 -107
- claude_mpm/dashboard/static/built/components/code-tree/tree-breadcrumb.js +29 -29
- claude_mpm/dashboard/static/built/components/code-tree/tree-constants.js +24 -24
- claude_mpm/dashboard/static/built/components/code-tree/tree-search.js +27 -27
- claude_mpm/dashboard/static/built/components/code-tree/tree-utils.js +25 -25
- claude_mpm/dashboard/static/built/components/code-tree.js.map +1 -0
- claude_mpm/dashboard/static/built/components/code-viewer.js.map +1 -0
- claude_mpm/dashboard/static/built/components/connection-debug.js +101 -101
- claude_mpm/dashboard/static/built/components/diff-viewer.js +113 -113
- claude_mpm/dashboard/static/built/components/event-processor.js.map +1 -0
- claude_mpm/dashboard/static/built/components/event-viewer.js.map +1 -0
- claude_mpm/dashboard/static/built/components/export-manager.js.map +1 -0
- claude_mpm/dashboard/static/built/components/file-change-tracker.js +57 -57
- claude_mpm/dashboard/static/built/components/file-change-viewer.js +74 -74
- claude_mpm/dashboard/static/built/components/file-tool-tracker.js.map +1 -0
- claude_mpm/dashboard/static/built/components/file-viewer.js.map +1 -0
- claude_mpm/dashboard/static/built/components/hud-library-loader.js.map +1 -0
- claude_mpm/dashboard/static/built/components/hud-manager.js.map +1 -0
- claude_mpm/dashboard/static/built/components/hud-visualizer.js.map +1 -0
- claude_mpm/dashboard/static/built/components/module-viewer.js.map +1 -0
- claude_mpm/dashboard/static/built/components/session-manager.js.map +1 -0
- claude_mpm/dashboard/static/built/components/socket-manager.js.map +1 -0
- claude_mpm/dashboard/static/built/components/ui-state-manager.js.map +1 -0
- claude_mpm/dashboard/static/built/components/unified-data-viewer.js.map +1 -0
- claude_mpm/dashboard/static/built/components/working-directory.js.map +1 -0
- claude_mpm/dashboard/static/built/connection-manager.js +76 -76
- claude_mpm/dashboard/static/built/dashboard.js.map +1 -0
- claude_mpm/dashboard/static/built/extension-error-handler.js +22 -22
- claude_mpm/dashboard/static/built/react/events.js.map +1 -0
- claude_mpm/dashboard/static/built/shared/dom-helpers.js +9 -9
- claude_mpm/dashboard/static/built/shared/event-bus.js +5 -5
- claude_mpm/dashboard/static/built/shared/logger.js +16 -16
- claude_mpm/dashboard/static/built/shared/tooltip-service.js +6 -6
- claude_mpm/dashboard/static/built/socket-client.js.map +1 -0
- claude_mpm/dashboard/static/css/activity.css +69 -69
- claude_mpm/dashboard/static/css/connection-status.css +10 -10
- claude_mpm/dashboard/static/css/dashboard.css +15 -15
- claude_mpm/dashboard/static/index.html +22 -22
- claude_mpm/dashboard/static/js/REFACTORING_SUMMARY.md +170 -0
- claude_mpm/dashboard/static/js/components/activity-tree.js +178 -178
- claude_mpm/dashboard/static/js/components/agent-hierarchy.js +101 -101
- claude_mpm/dashboard/static/js/components/agent-inference.js +31 -31
- claude_mpm/dashboard/static/js/components/build-tracker.js +59 -59
- claude_mpm/dashboard/static/js/components/code-simple.js +107 -107
- claude_mpm/dashboard/static/js/components/connection-debug.js +101 -101
- claude_mpm/dashboard/static/js/components/diff-viewer.js +113 -113
- claude_mpm/dashboard/static/js/components/event-viewer.js +12 -12
- claude_mpm/dashboard/static/js/components/file-change-tracker.js +57 -57
- claude_mpm/dashboard/static/js/components/file-change-viewer.js +74 -74
- claude_mpm/dashboard/static/js/components/file-tool-tracker.js +6 -6
- claude_mpm/dashboard/static/js/components/file-viewer.js +42 -42
- claude_mpm/dashboard/static/js/components/module-viewer.js +27 -27
- claude_mpm/dashboard/static/js/components/session-manager.js +14 -14
- claude_mpm/dashboard/static/js/components/socket-manager.js +1 -1
- claude_mpm/dashboard/static/js/components/ui-state-manager.js +14 -14
- claude_mpm/dashboard/static/js/components/unified-data-viewer.js +110 -110
- claude_mpm/dashboard/static/js/components/working-directory.js +8 -8
- claude_mpm/dashboard/static/js/connection-manager.js +76 -76
- claude_mpm/dashboard/static/js/dashboard.js +76 -58
- claude_mpm/dashboard/static/js/extension-error-handler.js +22 -22
- claude_mpm/dashboard/static/js/shared/dom-helpers.js +9 -9
- claude_mpm/dashboard/static/js/shared/event-bus.js +5 -5
- claude_mpm/dashboard/static/js/shared/logger.js +16 -16
- claude_mpm/dashboard/static/js/shared/tooltip-service.js +6 -6
- claude_mpm/dashboard/static/js/socket-client.js +138 -121
- claude_mpm/dashboard/static/navigation-test-results.md +118 -0
- claude_mpm/dashboard/static/production/main.html +21 -21
- claude_mpm/dashboard/static/test-archive/dashboard.html +22 -22
- claude_mpm/dashboard/templates/.claude-mpm/memories/README.md +36 -0
- claude_mpm/dashboard/templates/.claude-mpm/memories/engineer_agent.md +39 -0
- claude_mpm/dashboard/templates/.claude-mpm/memories/version_control_agent.md +38 -0
- claude_mpm/dashboard/templates/code_simple.html +23 -23
- claude_mpm/dashboard/templates/index.html +18 -18
- claude_mpm/hooks/README.md +143 -0
- claude_mpm/hooks/__init__.py +8 -0
- claude_mpm/hooks/claude_hooks/event_handlers.py +3 -1
- claude_mpm/hooks/claude_hooks/hook_handler.py +24 -7
- claude_mpm/hooks/claude_hooks/installer.py +45 -0
- claude_mpm/hooks/claude_hooks/response_tracking.py +35 -1
- claude_mpm/hooks/session_resume_hook.py +121 -0
- claude_mpm/hooks/templates/README.md +180 -0
- claude_mpm/hooks/templates/pre_tool_use_simple.py +78 -0
- claude_mpm/hooks/templates/pre_tool_use_template.py +323 -0
- claude_mpm/hooks/templates/settings.json.example +147 -0
- claude_mpm/models/resume_log.py +340 -0
- claude_mpm/schemas/agent_schema.json +596 -0
- claude_mpm/schemas/frontmatter_schema.json +165 -0
- claude_mpm/scripts/claude-hook-handler.sh +3 -3
- claude_mpm/scripts/start_activity_logging.py +3 -1
- claude_mpm/services/agents/auto_config_manager.py +1 -1
- claude_mpm/services/agents/deployment/agent_configuration_manager.py +1 -1
- claude_mpm/services/agents/deployment/agent_format_converter.py +1 -1
- claude_mpm/services/agents/deployment/agent_metrics_collector.py +3 -3
- claude_mpm/services/agents/deployment/agent_record_service.py +1 -1
- claude_mpm/services/agents/deployment/agent_validator.py +17 -1
- claude_mpm/services/agents/deployment/async_agent_deployment.py +1 -1
- claude_mpm/services/agents/deployment/facade/deployment_facade.py +3 -3
- claude_mpm/services/agents/deployment/local_template_deployment.py +1 -1
- claude_mpm/services/agents/deployment/pipeline/pipeline_executor.py +2 -2
- claude_mpm/services/agents/loading/framework_agent_loader.py +8 -8
- claude_mpm/services/agents/local_template_manager.py +4 -2
- claude_mpm/services/agents/recommender.py +47 -0
- claude_mpm/services/cli/resume_service.py +617 -0
- claude_mpm/services/cli/session_manager.py +87 -0
- claude_mpm/services/cli/session_pause_manager.py +504 -0
- claude_mpm/services/cli/session_resume_helper.py +372 -0
- claude_mpm/services/cli/unified_dashboard_manager.py +1 -1
- claude_mpm/services/core/base.py +26 -11
- claude_mpm/services/core/interfaces.py +56 -1
- claude_mpm/services/core/models/agent_config.py +3 -0
- claude_mpm/services/core/models/process.py +4 -0
- claude_mpm/services/core/path_resolver.py +1 -1
- claude_mpm/services/diagnostics/checks/agent_check.py +0 -2
- claude_mpm/services/diagnostics/checks/instructions_check.py +1 -2
- claude_mpm/services/diagnostics/checks/mcp_check.py +0 -1
- claude_mpm/services/diagnostics/checks/monitor_check.py +0 -1
- claude_mpm/services/diagnostics/doctor_reporter.py +6 -4
- claude_mpm/services/diagnostics/models.py +21 -0
- claude_mpm/services/event_bus/README.md +244 -0
- claude_mpm/services/event_bus/direct_relay.py +3 -3
- claude_mpm/services/event_bus/event_bus.py +36 -3
- claude_mpm/services/event_bus/relay.py +23 -7
- claude_mpm/services/events/README.md +303 -0
- claude_mpm/services/events/consumers/logging.py +1 -2
- claude_mpm/services/framework_claude_md_generator/README.md +119 -0
- claude_mpm/services/infrastructure/monitoring/resources.py +1 -1
- claude_mpm/services/infrastructure/resume_log_generator.py +439 -0
- claude_mpm/services/local_ops/__init__.py +2 -0
- claude_mpm/services/local_ops/process_manager.py +1 -1
- claude_mpm/services/local_ops/resource_monitor.py +2 -2
- claude_mpm/services/mcp_config_manager.py +7 -131
- claude_mpm/services/mcp_gateway/README.md +185 -0
- claude_mpm/services/mcp_gateway/auto_configure.py +31 -25
- claude_mpm/services/mcp_gateway/config/configuration.py +1 -1
- claude_mpm/services/mcp_gateway/core/process_pool.py +19 -10
- claude_mpm/services/mcp_gateway/server/stdio_server.py +0 -2
- claude_mpm/services/mcp_gateway/tools/document_summarizer.py +1 -1
- claude_mpm/services/mcp_gateway/tools/external_mcp_services.py +26 -21
- claude_mpm/services/mcp_gateway/tools/kuzu_memory_service.py +6 -2
- claude_mpm/services/memory/failure_tracker.py +19 -4
- claude_mpm/services/memory/optimizer.py +1 -1
- claude_mpm/services/model/model_router.py +8 -9
- claude_mpm/services/monitor/daemon.py +1 -1
- claude_mpm/services/monitor/server.py +2 -2
- claude_mpm/services/native_agent_converter.py +356 -0
- claude_mpm/services/port_manager.py +1 -1
- claude_mpm/services/project/documentation_manager.py +2 -1
- claude_mpm/services/project/toolchain_analyzer.py +3 -1
- claude_mpm/services/runner_configuration_service.py +1 -0
- claude_mpm/services/self_upgrade_service.py +165 -7
- claude_mpm/services/session_manager.py +205 -1
- claude_mpm/services/skills_config.py +547 -0
- claude_mpm/services/skills_deployer.py +955 -0
- claude_mpm/services/socketio/handlers/connection.py +1 -1
- claude_mpm/services/socketio/handlers/connection.py.backup +217 -0
- claude_mpm/services/socketio/handlers/git.py +2 -2
- claude_mpm/services/socketio/handlers/hook.py.backup +154 -0
- claude_mpm/services/static/.gitkeep +2 -0
- claude_mpm/services/system_instructions_service.py +1 -3
- claude_mpm/services/unified/analyzer_strategies/performance_analyzer.py +0 -3
- claude_mpm/services/unified/analyzer_strategies/security_analyzer.py +0 -1
- claude_mpm/services/unified/deployment_strategies/cloud_strategies.py +1 -1
- claude_mpm/services/unified/deployment_strategies/local.py +1 -1
- claude_mpm/services/version_control/VERSION +1 -0
- claude_mpm/services/version_control/conflict_resolution.py +6 -4
- claude_mpm/services/version_service.py +104 -1
- claude_mpm/services/visualization/mermaid_generator.py +2 -3
- claude_mpm/skills/__init__.py +21 -0
- claude_mpm/skills/agent_skills_injector.py +324 -0
- claude_mpm/skills/bundled/.gitkeep +2 -0
- claude_mpm/skills/bundled/LICENSE_ATTRIBUTIONS.md +79 -0
- claude_mpm/skills/bundled/api-documentation.md +393 -0
- claude_mpm/skills/bundled/async-testing.md +571 -0
- claude_mpm/skills/bundled/code-review.md +143 -0
- claude_mpm/skills/bundled/collaboration/brainstorming/SKILL.md +79 -0
- claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/SKILL.md +178 -0
- claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/agent-prompts.md +577 -0
- claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/coordination-patterns.md +467 -0
- claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/examples.md +537 -0
- claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/troubleshooting.md +730 -0
- claude_mpm/skills/bundled/collaboration/git-worktrees.md +317 -0
- claude_mpm/skills/bundled/collaboration/requesting-code-review/SKILL.md +112 -0
- claude_mpm/skills/bundled/collaboration/requesting-code-review/references/code-reviewer-template.md +146 -0
- claude_mpm/skills/bundled/collaboration/requesting-code-review/references/review-examples.md +412 -0
- claude_mpm/skills/bundled/collaboration/stacked-prs.md +251 -0
- claude_mpm/skills/bundled/collaboration/writing-plans/SKILL.md +81 -0
- claude_mpm/skills/bundled/collaboration/writing-plans/references/best-practices.md +362 -0
- claude_mpm/skills/bundled/collaboration/writing-plans/references/plan-structure-templates.md +312 -0
- claude_mpm/skills/bundled/database-migration.md +199 -0
- claude_mpm/skills/bundled/debugging/root-cause-tracing/SKILL.md +152 -0
- claude_mpm/skills/bundled/debugging/root-cause-tracing/find-polluter.sh +63 -0
- claude_mpm/skills/bundled/debugging/root-cause-tracing/references/advanced-techniques.md +668 -0
- claude_mpm/skills/bundled/debugging/root-cause-tracing/references/examples.md +587 -0
- claude_mpm/skills/bundled/debugging/root-cause-tracing/references/integration.md +438 -0
- claude_mpm/skills/bundled/debugging/root-cause-tracing/references/tracing-techniques.md +391 -0
- claude_mpm/skills/bundled/debugging/systematic-debugging/CREATION-LOG.md +119 -0
- claude_mpm/skills/bundled/debugging/systematic-debugging/SKILL.md +148 -0
- claude_mpm/skills/bundled/debugging/systematic-debugging/references/anti-patterns.md +483 -0
- claude_mpm/skills/bundled/debugging/systematic-debugging/references/examples.md +452 -0
- claude_mpm/skills/bundled/debugging/systematic-debugging/references/troubleshooting.md +449 -0
- claude_mpm/skills/bundled/debugging/systematic-debugging/references/workflow.md +411 -0
- claude_mpm/skills/bundled/debugging/systematic-debugging/test-academic.md +14 -0
- claude_mpm/skills/bundled/debugging/systematic-debugging/test-pressure-1.md +58 -0
- claude_mpm/skills/bundled/debugging/systematic-debugging/test-pressure-2.md +68 -0
- claude_mpm/skills/bundled/debugging/systematic-debugging/test-pressure-3.md +69 -0
- claude_mpm/skills/bundled/debugging/verification-before-completion/SKILL.md +131 -0
- claude_mpm/skills/bundled/debugging/verification-before-completion/references/gate-function.md +325 -0
- claude_mpm/skills/bundled/debugging/verification-before-completion/references/integration-and-workflows.md +490 -0
- claude_mpm/skills/bundled/debugging/verification-before-completion/references/red-flags-and-failures.md +425 -0
- claude_mpm/skills/bundled/debugging/verification-before-completion/references/verification-patterns.md +499 -0
- claude_mpm/skills/bundled/docker-containerization.md +194 -0
- claude_mpm/skills/bundled/express-local-dev.md +1429 -0
- claude_mpm/skills/bundled/fastapi-local-dev.md +1199 -0
- claude_mpm/skills/bundled/git-workflow.md +414 -0
- claude_mpm/skills/bundled/imagemagick.md +204 -0
- claude_mpm/skills/bundled/infrastructure/env-manager/INTEGRATION.md +611 -0
- claude_mpm/skills/bundled/infrastructure/env-manager/README.md +596 -0
- claude_mpm/skills/bundled/infrastructure/env-manager/SKILL.md +260 -0
- claude_mpm/skills/bundled/infrastructure/env-manager/examples/nextjs-env-structure.md +315 -0
- claude_mpm/skills/bundled/infrastructure/env-manager/references/frameworks.md +436 -0
- claude_mpm/skills/bundled/infrastructure/env-manager/references/security.md +433 -0
- claude_mpm/skills/bundled/infrastructure/env-manager/references/synchronization.md +452 -0
- claude_mpm/skills/bundled/infrastructure/env-manager/references/troubleshooting.md +404 -0
- claude_mpm/skills/bundled/infrastructure/env-manager/references/validation.md +420 -0
- claude_mpm/skills/bundled/infrastructure/env-manager/scripts/validate_env.py +576 -0
- claude_mpm/skills/bundled/json-data-handling.md +223 -0
- claude_mpm/skills/bundled/main/artifacts-builder/LICENSE.txt +202 -0
- claude_mpm/skills/bundled/main/artifacts-builder/SKILL.md +86 -0
- claude_mpm/skills/bundled/main/artifacts-builder/scripts/bundle-artifact.sh +54 -0
- claude_mpm/skills/bundled/main/artifacts-builder/scripts/init-artifact.sh +322 -0
- claude_mpm/skills/bundled/main/artifacts-builder/scripts/shadcn-components.tar.gz +0 -0
- claude_mpm/skills/bundled/main/internal-comms/LICENSE.txt +202 -0
- claude_mpm/skills/bundled/main/internal-comms/SKILL.md +43 -0
- claude_mpm/skills/bundled/main/internal-comms/examples/3p-updates.md +47 -0
- claude_mpm/skills/bundled/main/internal-comms/examples/company-newsletter.md +65 -0
- claude_mpm/skills/bundled/main/internal-comms/examples/faq-answers.md +30 -0
- claude_mpm/skills/bundled/main/internal-comms/examples/general-comms.md +16 -0
- claude_mpm/skills/bundled/main/mcp-builder/LICENSE.txt +202 -0
- claude_mpm/skills/bundled/main/mcp-builder/SKILL.md +160 -0
- claude_mpm/skills/bundled/main/mcp-builder/reference/design_principles.md +412 -0
- claude_mpm/skills/bundled/main/mcp-builder/reference/evaluation.md +602 -0
- claude_mpm/skills/bundled/main/mcp-builder/reference/mcp_best_practices.md +915 -0
- claude_mpm/skills/bundled/main/mcp-builder/reference/node_mcp_server.md +916 -0
- claude_mpm/skills/bundled/main/mcp-builder/reference/python_mcp_server.md +752 -0
- claude_mpm/skills/bundled/main/mcp-builder/reference/workflow.md +1237 -0
- claude_mpm/skills/bundled/main/mcp-builder/scripts/connections.py +157 -0
- claude_mpm/skills/bundled/main/mcp-builder/scripts/evaluation.py +425 -0
- claude_mpm/skills/bundled/main/mcp-builder/scripts/example_evaluation.xml +22 -0
- claude_mpm/skills/bundled/main/mcp-builder/scripts/requirements.txt +2 -0
- claude_mpm/skills/bundled/main/skill-creator/LICENSE.txt +202 -0
- claude_mpm/skills/bundled/main/skill-creator/SKILL.md +189 -0
- claude_mpm/skills/bundled/main/skill-creator/references/best-practices.md +500 -0
- claude_mpm/skills/bundled/main/skill-creator/references/creation-workflow.md +464 -0
- claude_mpm/skills/bundled/main/skill-creator/references/examples.md +619 -0
- claude_mpm/skills/bundled/main/skill-creator/references/progressive-disclosure.md +437 -0
- claude_mpm/skills/bundled/main/skill-creator/references/skill-structure.md +231 -0
- claude_mpm/skills/bundled/main/skill-creator/scripts/init_skill.py +303 -0
- claude_mpm/skills/bundled/main/skill-creator/scripts/package_skill.py +113 -0
- claude_mpm/skills/bundled/main/skill-creator/scripts/quick_validate.py +72 -0
- claude_mpm/skills/bundled/nextjs-local-dev.md +807 -0
- claude_mpm/skills/bundled/pdf.md +141 -0
- claude_mpm/skills/bundled/performance-profiling.md +573 -0
- claude_mpm/skills/bundled/php/espocrm-development/SKILL.md +170 -0
- claude_mpm/skills/bundled/php/espocrm-development/references/architecture.md +602 -0
- claude_mpm/skills/bundled/php/espocrm-development/references/common-tasks.md +821 -0
- claude_mpm/skills/bundled/php/espocrm-development/references/development-workflow.md +742 -0
- claude_mpm/skills/bundled/php/espocrm-development/references/frontend-customization.md +726 -0
- claude_mpm/skills/bundled/php/espocrm-development/references/hooks-and-services.md +764 -0
- claude_mpm/skills/bundled/php/espocrm-development/references/testing-debugging.md +831 -0
- claude_mpm/skills/bundled/react/flexlayout-react.md +742 -0
- claude_mpm/skills/bundled/refactoring-patterns.md +180 -0
- claude_mpm/skills/bundled/rust/desktop-applications/SKILL.md +226 -0
- claude_mpm/skills/bundled/rust/desktop-applications/references/architecture-patterns.md +901 -0
- claude_mpm/skills/bundled/rust/desktop-applications/references/native-gui-frameworks.md +901 -0
- claude_mpm/skills/bundled/rust/desktop-applications/references/platform-integration.md +775 -0
- claude_mpm/skills/bundled/rust/desktop-applications/references/state-management.md +937 -0
- claude_mpm/skills/bundled/rust/desktop-applications/references/tauri-framework.md +770 -0
- claude_mpm/skills/bundled/rust/desktop-applications/references/testing-deployment.md +961 -0
- claude_mpm/skills/bundled/security-scanning.md +327 -0
- claude_mpm/skills/bundled/systematic-debugging.md +473 -0
- claude_mpm/skills/bundled/tauri/tauri-async-patterns.md +495 -0
- claude_mpm/skills/bundled/tauri/tauri-build-deploy.md +599 -0
- claude_mpm/skills/bundled/tauri/tauri-command-patterns.md +535 -0
- claude_mpm/skills/bundled/tauri/tauri-error-handling.md +613 -0
- claude_mpm/skills/bundled/tauri/tauri-event-system.md +648 -0
- claude_mpm/skills/bundled/tauri/tauri-file-system.md +673 -0
- claude_mpm/skills/bundled/tauri/tauri-frontend-integration.md +767 -0
- claude_mpm/skills/bundled/tauri/tauri-performance.md +669 -0
- claude_mpm/skills/bundled/tauri/tauri-state-management.md +573 -0
- claude_mpm/skills/bundled/tauri/tauri-testing.md +384 -0
- claude_mpm/skills/bundled/tauri/tauri-window-management.md +628 -0
- claude_mpm/skills/bundled/test-driven-development.md +378 -0
- claude_mpm/skills/bundled/testing/condition-based-waiting/SKILL.md +119 -0
- claude_mpm/skills/bundled/testing/condition-based-waiting/example.ts +158 -0
- claude_mpm/skills/bundled/testing/condition-based-waiting/references/patterns-and-implementation.md +253 -0
- claude_mpm/skills/bundled/testing/test-driven-development/SKILL.md +145 -0
- claude_mpm/skills/bundled/testing/test-driven-development/references/anti-patterns.md +543 -0
- claude_mpm/skills/bundled/testing/test-driven-development/references/examples.md +741 -0
- claude_mpm/skills/bundled/testing/test-driven-development/references/integration.md +470 -0
- claude_mpm/skills/bundled/testing/test-driven-development/references/philosophy.md +458 -0
- claude_mpm/skills/bundled/testing/test-driven-development/references/workflow.md +639 -0
- claude_mpm/skills/bundled/testing/test-quality-inspector/SKILL.md +458 -0
- claude_mpm/skills/bundled/testing/test-quality-inspector/examples/example-inspection-report.md +411 -0
- claude_mpm/skills/bundled/testing/test-quality-inspector/references/assertion-quality.md +317 -0
- claude_mpm/skills/bundled/testing/test-quality-inspector/references/inspection-checklist.md +270 -0
- claude_mpm/skills/bundled/testing/test-quality-inspector/references/red-flags.md +436 -0
- claude_mpm/skills/bundled/testing/testing-anti-patterns/SKILL.md +140 -0
- claude_mpm/skills/bundled/testing/testing-anti-patterns/references/completeness-anti-patterns.md +572 -0
- claude_mpm/skills/bundled/testing/testing-anti-patterns/references/core-anti-patterns.md +411 -0
- claude_mpm/skills/bundled/testing/testing-anti-patterns/references/detection-guide.md +569 -0
- claude_mpm/skills/bundled/testing/testing-anti-patterns/references/tdd-connection.md +695 -0
- claude_mpm/skills/bundled/testing/webapp-testing/LICENSE.txt +202 -0
- claude_mpm/skills/bundled/testing/webapp-testing/SKILL.md +184 -0
- claude_mpm/skills/bundled/testing/webapp-testing/decision-tree.md +459 -0
- claude_mpm/skills/bundled/testing/webapp-testing/examples/console_logging.py +35 -0
- claude_mpm/skills/bundled/testing/webapp-testing/examples/element_discovery.py +44 -0
- claude_mpm/skills/bundled/testing/webapp-testing/examples/static_html_automation.py +34 -0
- claude_mpm/skills/bundled/testing/webapp-testing/playwright-patterns.md +479 -0
- claude_mpm/skills/bundled/testing/webapp-testing/reconnaissance-pattern.md +687 -0
- claude_mpm/skills/bundled/testing/webapp-testing/scripts/with_server.py +129 -0
- claude_mpm/skills/bundled/testing/webapp-testing/server-management.md +758 -0
- claude_mpm/skills/bundled/testing/webapp-testing/troubleshooting.md +868 -0
- claude_mpm/skills/bundled/vite-local-dev.md +1061 -0
- claude_mpm/skills/bundled/web-performance-optimization.md +2305 -0
- claude_mpm/skills/bundled/xlsx.md +157 -0
- claude_mpm/skills/registry.py +97 -9
- claude_mpm/skills/skills_registry.py +347 -0
- claude_mpm/skills/skills_service.py +739 -0
- claude_mpm/templates/questions/EXAMPLES.md +501 -0
- claude_mpm/templates/questions/__init__.py +43 -0
- claude_mpm/templates/questions/base.py +193 -0
- claude_mpm/templates/questions/pr_strategy.py +314 -0
- claude_mpm/templates/questions/project_init.py +388 -0
- claude_mpm/templates/questions/ticket_mgmt.py +397 -0
- claude_mpm/tools/README_SOCKETIO_DEBUG.md +224 -0
- claude_mpm/tools/__main__.py +8 -8
- claude_mpm/tools/code_tree_analyzer/README.md +64 -0
- claude_mpm/tools/code_tree_analyzer/__init__.py +45 -0
- claude_mpm/tools/code_tree_analyzer/analysis.py +299 -0
- claude_mpm/tools/code_tree_analyzer/cache.py +131 -0
- claude_mpm/tools/code_tree_analyzer/core.py +380 -0
- claude_mpm/tools/code_tree_analyzer/discovery.py +403 -0
- claude_mpm/tools/code_tree_analyzer/events.py +168 -0
- claude_mpm/tools/code_tree_analyzer/gitignore.py +308 -0
- claude_mpm/tools/code_tree_analyzer/models.py +39 -0
- claude_mpm/tools/code_tree_analyzer/multilang_analyzer.py +224 -0
- claude_mpm/tools/code_tree_analyzer/python_analyzer.py +284 -0
- claude_mpm/utils/agent_dependency_loader.py +5 -5
- claude_mpm/utils/dependency_cache.py +3 -1
- claude_mpm/utils/gitignore.py +241 -0
- claude_mpm/utils/log_cleanup.py +3 -3
- claude_mpm/utils/robust_installer.py +3 -5
- claude_mpm/utils/structured_questions.py +619 -0
- claude_mpm-4.25.10.dist-info/METADATA +789 -0
- {claude_mpm-4.16.0.dist-info → claude_mpm-4.25.10.dist-info}/RECORD +485 -240
- claude_mpm/agents/INSTRUCTIONS_OLD_DEPRECATED.md +0 -602
- claude_mpm/agents/templates/.claude-mpm/memories/README.md +0 -17
- claude_mpm/agents/templates/.claude-mpm/memories/engineer_memories.md +0 -3
- claude_mpm/agents/templates/logs/prompts/agent_engineer_20250826_014258_728.md +0 -39
- claude_mpm/agents/templates/logs/prompts/agent_engineer_20250901_010124_142.md +0 -400
- claude_mpm/cli/commands/mpm_init.py +0 -2008
- claude_mpm/dashboard/.claude-mpm/socketio-instances.json +0 -1
- claude_mpm/dashboard/static/archive/activity_dashboard_test.html +0 -61
- claude_mpm/dashboard/static/archive/test_activity_connection.html +0 -179
- claude_mpm/dashboard/static/archive/test_claude_tree_tab.html +0 -68
- claude_mpm/dashboard/static/archive/test_dashboard.html +0 -409
- claude_mpm/dashboard/static/archive/test_dashboard_fixed.html +0 -519
- claude_mpm/dashboard/static/archive/test_dashboard_verification.html +0 -181
- claude_mpm/dashboard/static/archive/test_file_data.html +0 -315
- claude_mpm/dashboard/static/archive/test_file_tree_empty_state.html +0 -243
- claude_mpm/dashboard/static/archive/test_file_tree_fix.html +0 -234
- claude_mpm/dashboard/static/archive/test_file_tree_rename.html +0 -117
- claude_mpm/dashboard/static/archive/test_file_tree_tab.html +0 -115
- claude_mpm/dashboard/static/archive/test_file_viewer.html +0 -224
- claude_mpm/dashboard/static/archive/test_final_activity.html +0 -220
- claude_mpm/dashboard/static/archive/test_tab_fix.html +0 -139
- claude_mpm/dashboard/static/dist/assets/events.DjpNxWNo.css +0 -1
- claude_mpm/dashboard/static/dist/components/activity-tree.js +0 -2
- claude_mpm/dashboard/static/dist/components/agent-inference.js +0 -2
- claude_mpm/dashboard/static/dist/components/code-tree.js +0 -2
- claude_mpm/dashboard/static/dist/components/code-viewer.js +0 -2
- claude_mpm/dashboard/static/dist/components/event-processor.js +0 -2
- claude_mpm/dashboard/static/dist/components/event-viewer.js +0 -2
- claude_mpm/dashboard/static/dist/components/export-manager.js +0 -2
- claude_mpm/dashboard/static/dist/components/file-tool-tracker.js +0 -2
- claude_mpm/dashboard/static/dist/components/file-viewer.js +0 -2
- claude_mpm/dashboard/static/dist/components/hud-library-loader.js +0 -2
- claude_mpm/dashboard/static/dist/components/hud-manager.js +0 -2
- claude_mpm/dashboard/static/dist/components/hud-visualizer.js +0 -2
- claude_mpm/dashboard/static/dist/components/module-viewer.js +0 -2
- claude_mpm/dashboard/static/dist/components/session-manager.js +0 -2
- claude_mpm/dashboard/static/dist/components/socket-manager.js +0 -2
- claude_mpm/dashboard/static/dist/components/ui-state-manager.js +0 -2
- claude_mpm/dashboard/static/dist/components/unified-data-viewer.js +0 -2
- claude_mpm/dashboard/static/dist/components/working-directory.js +0 -2
- claude_mpm/dashboard/static/dist/dashboard.js +0 -2
- claude_mpm/dashboard/static/dist/react/events.js +0 -30
- claude_mpm/dashboard/static/dist/socket-client.js +0 -2
- claude_mpm/dashboard/static/test-archive/test_debug.html +0 -25
- claude_mpm/tools/code_tree_analyzer.py +0 -1825
- claude_mpm-4.16.0.dist-info/METADATA +0 -453
- {claude_mpm-4.16.0.dist-info → claude_mpm-4.25.10.dist-info}/WHEEL +0 -0
- {claude_mpm-4.16.0.dist-info → claude_mpm-4.25.10.dist-info}/entry_points.txt +0 -0
- {claude_mpm-4.16.0.dist-info → claude_mpm-4.25.10.dist-info}/licenses/LICENSE +0 -0
- {claude_mpm-4.16.0.dist-info → claude_mpm-4.25.10.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,365 @@
|
|
|
1
|
+
# MPM-Init Package
|
|
2
|
+
|
|
3
|
+
This package provides comprehensive project initialization and update capabilities for Claude Code and Claude MPM.
|
|
4
|
+
|
|
5
|
+
## Package Structure
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
mpm_init/
|
|
9
|
+
├── __init__.py # Package initialization and exports
|
|
10
|
+
├── core.py # MPMInitCommand class - main orchestrator
|
|
11
|
+
├── prompts.py # Prompt building functions
|
|
12
|
+
├── display.py # Display and UI helper functions
|
|
13
|
+
├── git_activity.py # Git analysis and activity tracking
|
|
14
|
+
├── modes.py # Operation mode handlers
|
|
15
|
+
└── README.md # This file
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## Module Responsibilities
|
|
19
|
+
|
|
20
|
+
### `__init__.py` - Package Initialization
|
|
21
|
+
**Purpose**: Public API exposure and lazy imports
|
|
22
|
+
|
|
23
|
+
**Exports**:
|
|
24
|
+
- `MPMInitCommand` - Main command class (from core.py)
|
|
25
|
+
- `mpm_init` - Click command group (lazy import from mpm_init_cli.py)
|
|
26
|
+
|
|
27
|
+
**Key Features**:
|
|
28
|
+
- Lazy import via `__getattr__` to avoid circular dependencies
|
|
29
|
+
- Clean public API surface
|
|
30
|
+
- Internal module re-exports for package-level imports
|
|
31
|
+
|
|
32
|
+
### `core.py` - MPMInitCommand Class
|
|
33
|
+
**Purpose**: Main orchestrator for project initialization
|
|
34
|
+
|
|
35
|
+
**Key Class**: `MPMInitCommand`
|
|
36
|
+
|
|
37
|
+
**Responsibilities**:
|
|
38
|
+
- Coordinate initialization workflow
|
|
39
|
+
- Manage service components (DocumentationManager, ProjectOrganizer, etc.)
|
|
40
|
+
- Build and execute delegation prompts
|
|
41
|
+
- Handle subprocess execution via claude-mpm CLI
|
|
42
|
+
- Coordinate pre/post initialization tasks
|
|
43
|
+
|
|
44
|
+
**Public Methods**:
|
|
45
|
+
```python
|
|
46
|
+
def initialize_project(
|
|
47
|
+
project_type: Optional[str] = None,
|
|
48
|
+
framework: Optional[str] = None,
|
|
49
|
+
force: bool = False,
|
|
50
|
+
verbose: bool = False,
|
|
51
|
+
ast_analysis: bool = True,
|
|
52
|
+
update_mode: bool = False,
|
|
53
|
+
review_only: bool = False,
|
|
54
|
+
organize_files: bool = False,
|
|
55
|
+
preserve_custom: bool = True,
|
|
56
|
+
skip_archive: bool = False,
|
|
57
|
+
dry_run: bool = False,
|
|
58
|
+
quick_update: bool = False,
|
|
59
|
+
catchup: bool = False,
|
|
60
|
+
non_interactive: bool = False,
|
|
61
|
+
days: int = 30,
|
|
62
|
+
export: Optional[str] = None,
|
|
63
|
+
) -> Dict
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
```python
|
|
67
|
+
def handle_context(
|
|
68
|
+
session_id: Optional[str] = None,
|
|
69
|
+
list_sessions: bool = False,
|
|
70
|
+
days: int = 7,
|
|
71
|
+
) -> Dict[str, Any]
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
### `prompts.py` - Prompt Building
|
|
75
|
+
**Purpose**: Pure functions for generating agent delegation prompts
|
|
76
|
+
|
|
77
|
+
**Functions**:
|
|
78
|
+
- `build_initialization_prompt()` - Create new project initialization prompt
|
|
79
|
+
- `build_update_prompt()` - Update existing CLAUDE.md prompt
|
|
80
|
+
- `build_research_context_prompt()` - Research agent delegation for git analysis
|
|
81
|
+
|
|
82
|
+
**Design Pattern**: Pure functions with no side effects or external dependencies
|
|
83
|
+
|
|
84
|
+
**Example**:
|
|
85
|
+
```python
|
|
86
|
+
from claude_mpm.cli.commands.mpm_init import prompts
|
|
87
|
+
|
|
88
|
+
prompt = prompts.build_initialization_prompt(
|
|
89
|
+
project_path=Path("/path/to/project"),
|
|
90
|
+
project_type="web",
|
|
91
|
+
framework="FastAPI",
|
|
92
|
+
ast_analysis=True
|
|
93
|
+
)
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
### `display.py` - Display Functions
|
|
97
|
+
**Purpose**: Pure functions for console output and reporting
|
|
98
|
+
|
|
99
|
+
**Functions**:
|
|
100
|
+
- `display_documentation_status()` - Show doc analysis
|
|
101
|
+
- `display_review_report()` - Comprehensive project review
|
|
102
|
+
- `display_catchup()` - Recent commit history
|
|
103
|
+
- `display_activity_report()` - Git activity summary
|
|
104
|
+
- `display_results()` - Initialization results
|
|
105
|
+
- `show_update_plan()` - Update mode plan
|
|
106
|
+
- `show_initialization_plan()` - Init mode plan
|
|
107
|
+
|
|
108
|
+
**Design Pattern**: All functions accept DisplayHelper/Console as parameters (dependency injection)
|
|
109
|
+
|
|
110
|
+
**Example**:
|
|
111
|
+
```python
|
|
112
|
+
from claude_mpm.cli.commands.mpm_init import display
|
|
113
|
+
|
|
114
|
+
display.display_activity_report(display_helper, activity_report)
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
### `git_activity.py` - Git Analysis
|
|
118
|
+
**Purpose**: Git repository analysis and activity tracking
|
|
119
|
+
|
|
120
|
+
**Functions**:
|
|
121
|
+
- `catchup()` - Get recent commit history for PM context
|
|
122
|
+
- `generate_activity_report()` - Comprehensive activity report
|
|
123
|
+
- `export_activity_report()` - Export report to markdown
|
|
124
|
+
- `append_activity_notes()` - Append activity to CLAUDE.md
|
|
125
|
+
- `handle_context()` - Intelligent context for resuming work
|
|
126
|
+
|
|
127
|
+
**Use Cases**:
|
|
128
|
+
- Quick update mode (`--quick-update`)
|
|
129
|
+
- Catchup mode (`--catchup`)
|
|
130
|
+
- Context analysis (`/mpm-init --context`)
|
|
131
|
+
|
|
132
|
+
**Example**:
|
|
133
|
+
```python
|
|
134
|
+
from claude_mpm.cli.commands.mpm_init import git_activity
|
|
135
|
+
|
|
136
|
+
# Get recent commits
|
|
137
|
+
data = git_activity.catchup(project_path)
|
|
138
|
+
|
|
139
|
+
# Generate full activity report
|
|
140
|
+
report = git_activity.generate_activity_report(
|
|
141
|
+
git_analysis, doc_analysis, days=30
|
|
142
|
+
)
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
### `modes.py` - Operation Mode Handlers
|
|
146
|
+
**Purpose**: Handle different execution modes
|
|
147
|
+
|
|
148
|
+
**Functions**:
|
|
149
|
+
- `prompt_update_action()` - Interactive prompt for update decisions
|
|
150
|
+
- `run_review_mode()` - Review project without changes
|
|
151
|
+
- `run_quick_update_mode()` - Lightweight git-based update
|
|
152
|
+
- `run_dry_run_mode()` - Show planned changes without execution
|
|
153
|
+
- `handle_update_post_processing()` - Post-update summary
|
|
154
|
+
|
|
155
|
+
**Modes Supported**:
|
|
156
|
+
- **Review Mode** (`--review-only`): Analyze project state
|
|
157
|
+
- **Dry-Run Mode** (`--dry-run`): Preview changes
|
|
158
|
+
- **Quick Update** (`--quick-update`): Fast incremental update
|
|
159
|
+
- **Update Mode** (`--update`): Smart merge with existing docs
|
|
160
|
+
|
|
161
|
+
**Example**:
|
|
162
|
+
```python
|
|
163
|
+
from claude_mpm.cli.commands.mpm_init import modes
|
|
164
|
+
|
|
165
|
+
result = modes.run_review_mode(
|
|
166
|
+
console, display, organizer, doc_manager, analyzer
|
|
167
|
+
)
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
## Usage Examples
|
|
171
|
+
|
|
172
|
+
### Programmatic Usage
|
|
173
|
+
|
|
174
|
+
```python
|
|
175
|
+
from pathlib import Path
|
|
176
|
+
from claude_mpm.cli.commands.mpm_init import MPMInitCommand
|
|
177
|
+
|
|
178
|
+
# Initialize command
|
|
179
|
+
command = MPMInitCommand(project_path=Path("/path/to/project"))
|
|
180
|
+
|
|
181
|
+
# Create new project
|
|
182
|
+
result = command.initialize_project(
|
|
183
|
+
project_type="web",
|
|
184
|
+
framework="FastAPI",
|
|
185
|
+
ast_analysis=True
|
|
186
|
+
)
|
|
187
|
+
|
|
188
|
+
# Update existing project
|
|
189
|
+
result = command.initialize_project(
|
|
190
|
+
update_mode=True,
|
|
191
|
+
preserve_custom=True,
|
|
192
|
+
ast_analysis=True
|
|
193
|
+
)
|
|
194
|
+
|
|
195
|
+
# Quick update based on git activity
|
|
196
|
+
result = command.initialize_project(
|
|
197
|
+
quick_update=True,
|
|
198
|
+
days=30,
|
|
199
|
+
export="auto"
|
|
200
|
+
)
|
|
201
|
+
|
|
202
|
+
# Review only (no changes)
|
|
203
|
+
result = command.initialize_project(
|
|
204
|
+
review_only=True
|
|
205
|
+
)
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
### CLI Usage
|
|
209
|
+
|
|
210
|
+
Via the Click command group (defined in parent `mpm_init_cli.py`):
|
|
211
|
+
|
|
212
|
+
```bash
|
|
213
|
+
# Create new project
|
|
214
|
+
/mpm-init
|
|
215
|
+
|
|
216
|
+
# Update existing project
|
|
217
|
+
/mpm-init --update
|
|
218
|
+
|
|
219
|
+
# Review project state
|
|
220
|
+
/mpm-init --review-only
|
|
221
|
+
|
|
222
|
+
# Quick update with export
|
|
223
|
+
/mpm-init --quick-update --days 30 --export auto
|
|
224
|
+
|
|
225
|
+
# Dry-run (preview changes)
|
|
226
|
+
/mpm-init --dry-run
|
|
227
|
+
|
|
228
|
+
# Catchup (show recent commits)
|
|
229
|
+
/mpm-init --catchup
|
|
230
|
+
|
|
231
|
+
# Context analysis
|
|
232
|
+
/mpm-init --context --days 7
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
## Design Principles
|
|
236
|
+
|
|
237
|
+
### 1. **Separation of Concerns**
|
|
238
|
+
Each module has a single, clear responsibility:
|
|
239
|
+
- `core.py` - orchestration
|
|
240
|
+
- `prompts.py` - prompt building
|
|
241
|
+
- `display.py` - UI/output
|
|
242
|
+
- `git_activity.py` - git analysis
|
|
243
|
+
- `modes.py` - mode handling
|
|
244
|
+
|
|
245
|
+
### 2. **Pure Functions**
|
|
246
|
+
`prompts.py` and `display.py` contain pure functions with no side effects or global state.
|
|
247
|
+
|
|
248
|
+
### 3. **Dependency Injection**
|
|
249
|
+
Display functions accept `DisplayHelper` and `Console` as parameters rather than creating their own instances.
|
|
250
|
+
|
|
251
|
+
### 4. **Modular Architecture**
|
|
252
|
+
Easy to test, maintain, and extend individual components without touching others.
|
|
253
|
+
|
|
254
|
+
### 5. **Lazy Imports**
|
|
255
|
+
`__init__.py` uses `__getattr__` to avoid circular dependencies while maintaining clean API.
|
|
256
|
+
|
|
257
|
+
## Service Dependencies
|
|
258
|
+
|
|
259
|
+
The package relies on these service components:
|
|
260
|
+
|
|
261
|
+
- `DocumentationManager` - CLAUDE.md analysis and management
|
|
262
|
+
- `ProjectOrganizer` - Project structure validation
|
|
263
|
+
- `ArchiveManager` - Documentation versioning
|
|
264
|
+
- `EnhancedProjectAnalyzer` - Git and project state analysis
|
|
265
|
+
- `DisplayHelper` - Rich console output formatting
|
|
266
|
+
|
|
267
|
+
## Developer Notes
|
|
268
|
+
|
|
269
|
+
### Adding New Modes
|
|
270
|
+
|
|
271
|
+
To add a new operation mode:
|
|
272
|
+
|
|
273
|
+
1. Add mode handler function in `modes.py`:
|
|
274
|
+
```python
|
|
275
|
+
def run_new_mode(console, display, ...) -> Dict:
|
|
276
|
+
# Implementation
|
|
277
|
+
return {"status": OperationResult.SUCCESS, "mode": "new_mode"}
|
|
278
|
+
```
|
|
279
|
+
|
|
280
|
+
2. Add mode detection in `core.py` `initialize_project()`:
|
|
281
|
+
```python
|
|
282
|
+
if new_mode_flag:
|
|
283
|
+
return self._run_new_mode()
|
|
284
|
+
```
|
|
285
|
+
|
|
286
|
+
3. Add CLI flag in parent `mpm_init_cli.py`
|
|
287
|
+
|
|
288
|
+
### Adding New Prompts
|
|
289
|
+
|
|
290
|
+
Add prompt builder in `prompts.py`:
|
|
291
|
+
|
|
292
|
+
```python
|
|
293
|
+
def build_new_prompt(project_path: Path, **kwargs) -> str:
|
|
294
|
+
"""Build prompt for new use case."""
|
|
295
|
+
return f"""Your prompt template..."""
|
|
296
|
+
```
|
|
297
|
+
|
|
298
|
+
Then call from `core.py`:
|
|
299
|
+
```python
|
|
300
|
+
prompt = prompts.build_new_prompt(self.project_path, **kwargs)
|
|
301
|
+
```
|
|
302
|
+
|
|
303
|
+
### Adding Display Functions
|
|
304
|
+
|
|
305
|
+
Add display function in `display.py`:
|
|
306
|
+
|
|
307
|
+
```python
|
|
308
|
+
def display_new_report(display: DisplayHelper, data: Dict) -> None:
|
|
309
|
+
"""Display new report type."""
|
|
310
|
+
display.display_header("NEW REPORT")
|
|
311
|
+
# Rendering logic
|
|
312
|
+
```
|
|
313
|
+
|
|
314
|
+
### Testing Considerations
|
|
315
|
+
|
|
316
|
+
- **Unit Tests**: Test pure functions in `prompts.py` and `display.py`
|
|
317
|
+
- **Integration Tests**: Test `MPMInitCommand` with mocked services
|
|
318
|
+
- **E2E Tests**: Test via CLI commands in parent module
|
|
319
|
+
|
|
320
|
+
### File Size Tracking
|
|
321
|
+
|
|
322
|
+
Current module sizes:
|
|
323
|
+
- `core.py`: ~525 lines (Main orchestrator - expected to be largest)
|
|
324
|
+
- `prompts.py`: ~443 lines (Template generation)
|
|
325
|
+
- `git_activity.py`: ~427 lines (Git analysis utilities)
|
|
326
|
+
- `modes.py`: ~401 lines (Mode handlers)
|
|
327
|
+
- `display.py`: ~360 lines (Display functions)
|
|
328
|
+
|
|
329
|
+
All modules are well under the 600-line warning threshold.
|
|
330
|
+
|
|
331
|
+
## Version History
|
|
332
|
+
|
|
333
|
+
**Current Version**: Part of claude-mpm 4.20.7
|
|
334
|
+
|
|
335
|
+
**Changes from Monolithic `mpm_init.py`**:
|
|
336
|
+
- Split 800+ line file into 6 focused modules
|
|
337
|
+
- Improved testability through pure functions
|
|
338
|
+
- Better separation of concerns
|
|
339
|
+
- Easier maintenance and feature additions
|
|
340
|
+
- Clearer public API surface
|
|
341
|
+
|
|
342
|
+
## Related Files
|
|
343
|
+
|
|
344
|
+
- **Parent CLI**: `../mpm_init_cli.py` - Click command definitions
|
|
345
|
+
- **Handler**: `../mpm_init_handler.py` - Legacy compatibility handler
|
|
346
|
+
- **Parser**: `../../parsers/mpm_init_parser.py` - Command-line argument parsing
|
|
347
|
+
- **Tests**: `../../../../../tests/test_mpm_init_catchup.py` - Unit tests
|
|
348
|
+
|
|
349
|
+
## Contributing
|
|
350
|
+
|
|
351
|
+
When modifying this package:
|
|
352
|
+
|
|
353
|
+
1. Maintain pure function approach in `prompts.py` and `display.py`
|
|
354
|
+
2. Keep modules under 600 lines (split if approaching limit)
|
|
355
|
+
3. Add docstrings for all public functions
|
|
356
|
+
4. Update this README with new functionality
|
|
357
|
+
5. Add type hints to all function signatures
|
|
358
|
+
6. Follow existing patterns for consistency
|
|
359
|
+
|
|
360
|
+
## Support
|
|
361
|
+
|
|
362
|
+
For issues or questions:
|
|
363
|
+
- Check existing documentation in CLAUDE.md
|
|
364
|
+
- Review test files for usage examples
|
|
365
|
+
- Consult service component documentation
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"""MPM initialization command package.
|
|
2
|
+
|
|
3
|
+
This package provides comprehensive project initialization and update capabilities
|
|
4
|
+
for Claude Code and Claude MPM. It includes:
|
|
5
|
+
|
|
6
|
+
- Core command class (MPMInitCommand) for orchestrating initialization
|
|
7
|
+
- Click CLI commands for command-line interface
|
|
8
|
+
- Modular components for prompts, display, git analysis, and modes
|
|
9
|
+
- Support for multiple initialization modes (create, update, review, quick-update, catchup)
|
|
10
|
+
|
|
11
|
+
Main Components:
|
|
12
|
+
- core.py: MPMInitCommand class - main initialization orchestrator
|
|
13
|
+
- mpm_init_cli.py: Click command definitions and CLI entry points
|
|
14
|
+
- prompts.py: Prompt building functions for agent delegation
|
|
15
|
+
- display.py: Display and UI helper functions
|
|
16
|
+
- git_activity.py: Git history analysis and context building
|
|
17
|
+
- modes.py: Mode-specific handlers (review, dry-run, quick-update, etc.)
|
|
18
|
+
|
|
19
|
+
Public API:
|
|
20
|
+
- MPMInitCommand: Main command class (from core)
|
|
21
|
+
- mpm_init: Click command group (from mpm_init_cli)
|
|
22
|
+
|
|
23
|
+
Example Usage:
|
|
24
|
+
# Programmatic usage
|
|
25
|
+
from claude_mpm.cli.commands.mpm_init import MPMInitCommand
|
|
26
|
+
command = MPMInitCommand(project_path)
|
|
27
|
+
result = command.initialize_project()
|
|
28
|
+
|
|
29
|
+
# CLI usage (via Click)
|
|
30
|
+
from claude_mpm.cli.commands.mpm_init import mpm_init
|
|
31
|
+
# Command is registered with Click and invoked via CLI
|
|
32
|
+
"""
|
|
33
|
+
|
|
34
|
+
# Import core components for re-export
|
|
35
|
+
from .core import MPMInitCommand
|
|
36
|
+
|
|
37
|
+
# Import the Click command group - this must be imported from parent level
|
|
38
|
+
# to avoid circular dependencies, as mpm_init_cli imports from core
|
|
39
|
+
# We'll handle this via late import in __all__
|
|
40
|
+
|
|
41
|
+
__all__ = [
|
|
42
|
+
# Main command class
|
|
43
|
+
"MPMInitCommand",
|
|
44
|
+
"core",
|
|
45
|
+
# Internal modules (for internal package use)
|
|
46
|
+
"display",
|
|
47
|
+
"git_activity",
|
|
48
|
+
"modes",
|
|
49
|
+
# Click CLI command (imported via __getattr__ to avoid circular import)
|
|
50
|
+
"mpm_init",
|
|
51
|
+
"prompts",
|
|
52
|
+
]
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
def __getattr__(name):
|
|
56
|
+
"""Lazy import to avoid circular dependencies.
|
|
57
|
+
|
|
58
|
+
This allows importing mpm_init Click command without importing
|
|
59
|
+
mpm_init_cli at module load time, which would cause circular imports.
|
|
60
|
+
"""
|
|
61
|
+
if name == "mpm_init":
|
|
62
|
+
# Lazy import the Click command group
|
|
63
|
+
from ..mpm_init_cli import mpm_init as _mpm_init
|
|
64
|
+
|
|
65
|
+
return _mpm_init
|
|
66
|
+
|
|
67
|
+
# For internal module imports, import them directly
|
|
68
|
+
if name in ("display", "git_activity", "prompts", "modes", "core"):
|
|
69
|
+
import importlib
|
|
70
|
+
|
|
71
|
+
return importlib.import_module(f".{name}", __package__)
|
|
72
|
+
|
|
73
|
+
raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
|