claude-mpm 4.25.10__py3-none-any.whl → 5.1.8__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_PM.md +12 -0
- claude_mpm/agents/PM_INSTRUCTIONS.md +1055 -2230
- claude_mpm/agents/PM_INSTRUCTIONS_TEACH.md +1322 -0
- claude_mpm/agents/WORKFLOW.md +4 -4
- claude_mpm/agents/__init__.py +6 -0
- claude_mpm/agents/agent_loader.py +1 -4
- claude_mpm/agents/base_agent_loader.py +10 -35
- claude_mpm/agents/templates/{circuit_breakers.md → circuit-breakers.md} +576 -66
- claude_mpm/agents/templates/context-management-examples.md +544 -0
- claude_mpm/agents/templates/pr-workflow-examples.md +427 -0
- claude_mpm/agents/templates/research-gate-examples.md +669 -0
- claude_mpm/agents/templates/structured-questions-examples.md +615 -0
- claude_mpm/agents/templates/ticket-completeness-examples.md +139 -0
- claude_mpm/agents/templates/ticketing-examples.md +277 -0
- claude_mpm/cli/__init__.py +28 -3
- claude_mpm/cli/commands/__init__.py +2 -0
- claude_mpm/cli/commands/agent_source.py +774 -0
- claude_mpm/cli/commands/agent_state_manager.py +188 -30
- claude_mpm/cli/commands/agents.py +959 -36
- claude_mpm/cli/commands/agents_cleanup.py +210 -0
- claude_mpm/cli/commands/agents_discover.py +338 -0
- claude_mpm/cli/commands/auto_configure.py +537 -239
- claude_mpm/cli/commands/config.py +7 -4
- claude_mpm/cli/commands/configure.py +924 -45
- claude_mpm/cli/commands/configure_navigation.py +63 -46
- claude_mpm/cli/commands/doctor.py +10 -2
- claude_mpm/cli/commands/local_deploy.py +1 -4
- claude_mpm/cli/commands/postmortem.py +401 -0
- claude_mpm/cli/commands/run.py +1 -39
- claude_mpm/cli/commands/skill_source.py +694 -0
- claude_mpm/cli/commands/skills.py +322 -19
- claude_mpm/cli/executor.py +22 -3
- claude_mpm/cli/interactive/agent_wizard.py +1028 -43
- claude_mpm/cli/parsers/agent_source_parser.py +171 -0
- claude_mpm/cli/parsers/agents_parser.py +256 -4
- claude_mpm/cli/parsers/auto_configure_parser.py +13 -0
- claude_mpm/cli/parsers/base_parser.py +25 -0
- claude_mpm/cli/parsers/config_parser.py +96 -43
- claude_mpm/cli/parsers/skill_source_parser.py +169 -0
- claude_mpm/cli/parsers/skills_parser.py +7 -0
- claude_mpm/cli/parsers/source_parser.py +138 -0
- claude_mpm/cli/startup.py +456 -103
- claude_mpm/cli/startup_display.py +4 -4
- claude_mpm/commands/{mpm-auto-configure.md → mpm-agents-auto-configure.md} +9 -0
- claude_mpm/commands/mpm-agents-detect.md +9 -0
- claude_mpm/commands/{mpm-agents.md → mpm-agents-list.md} +9 -0
- claude_mpm/commands/mpm-agents-recommend.md +9 -0
- claude_mpm/commands/{mpm-config.md → mpm-config-view.md} +9 -0
- claude_mpm/commands/mpm-doctor.md +9 -0
- claude_mpm/commands/mpm-help.md +14 -2
- claude_mpm/commands/mpm-init.md +9 -0
- claude_mpm/commands/mpm-monitor.md +9 -0
- claude_mpm/commands/mpm-postmortem.md +123 -0
- claude_mpm/commands/{mpm-resume.md → mpm-session-resume.md} +9 -0
- claude_mpm/commands/mpm-status.md +9 -0
- claude_mpm/commands/{mpm-organize.md → mpm-ticket-organize.md} +9 -0
- claude_mpm/commands/mpm-ticket-view.md +552 -0
- claude_mpm/commands/mpm-version.md +9 -0
- claude_mpm/commands/mpm.md +10 -0
- claude_mpm/config/agent_presets.py +488 -0
- claude_mpm/config/agent_sources.py +325 -0
- claude_mpm/config/skill_presets.py +392 -0
- claude_mpm/config/skill_sources.py +590 -0
- claude_mpm/constants.py +1 -0
- claude_mpm/core/claude_runner.py +5 -34
- claude_mpm/core/config.py +16 -0
- claude_mpm/core/framework/__init__.py +3 -16
- claude_mpm/core/framework/loaders/file_loader.py +54 -101
- claude_mpm/core/framework/loaders/instruction_loader.py +25 -5
- claude_mpm/core/interactive_session.py +83 -7
- claude_mpm/core/oneshot_session.py +71 -8
- claude_mpm/core/protocols/__init__.py +23 -0
- claude_mpm/core/protocols/runner_protocol.py +103 -0
- claude_mpm/core/protocols/session_protocol.py +131 -0
- claude_mpm/core/shared/singleton_manager.py +11 -4
- claude_mpm/core/system_context.py +38 -0
- claude_mpm/core/unified_config.py +22 -0
- claude_mpm/experimental/cli_enhancements.py +1 -5
- claude_mpm/hooks/claude_hooks/__pycache__/__init__.cpython-313.pyc +0 -0
- claude_mpm/hooks/claude_hooks/__pycache__/event_handlers.cpython-313.pyc +0 -0
- claude_mpm/hooks/claude_hooks/__pycache__/hook_handler.cpython-313.pyc +0 -0
- claude_mpm/hooks/claude_hooks/__pycache__/memory_integration.cpython-313.pyc +0 -0
- claude_mpm/hooks/claude_hooks/__pycache__/response_tracking.cpython-313.pyc +0 -0
- claude_mpm/hooks/claude_hooks/__pycache__/tool_analysis.cpython-313.pyc +0 -0
- claude_mpm/hooks/claude_hooks/memory_integration.py +12 -1
- claude_mpm/hooks/claude_hooks/services/__pycache__/__init__.cpython-313.pyc +0 -0
- claude_mpm/hooks/claude_hooks/services/__pycache__/connection_manager_http.cpython-313.pyc +0 -0
- claude_mpm/hooks/claude_hooks/services/__pycache__/duplicate_detector.cpython-313.pyc +0 -0
- claude_mpm/hooks/claude_hooks/services/__pycache__/state_manager.cpython-313.pyc +0 -0
- claude_mpm/hooks/claude_hooks/services/__pycache__/subagent_processor.cpython-313.pyc +0 -0
- claude_mpm/hooks/failure_learning/__init__.py +2 -8
- claude_mpm/hooks/failure_learning/failure_detection_hook.py +1 -6
- claude_mpm/hooks/failure_learning/fix_detection_hook.py +1 -6
- claude_mpm/hooks/failure_learning/learning_extraction_hook.py +1 -6
- claude_mpm/hooks/kuzu_response_hook.py +1 -5
- claude_mpm/models/git_repository.py +198 -0
- claude_mpm/services/agents/agent_builder.py +45 -9
- claude_mpm/services/agents/agent_preset_service.py +238 -0
- claude_mpm/services/agents/agent_selection_service.py +484 -0
- claude_mpm/services/agents/auto_deploy_index_parser.py +569 -0
- claude_mpm/services/agents/cache_git_manager.py +621 -0
- claude_mpm/services/agents/deployment/agent_deployment.py +126 -2
- claude_mpm/services/agents/deployment/agent_discovery_service.py +105 -73
- claude_mpm/services/agents/deployment/agent_lifecycle_manager.py +1 -5
- claude_mpm/services/agents/deployment/agent_restore_handler.py +1 -4
- claude_mpm/services/agents/deployment/agent_template_builder.py +236 -15
- claude_mpm/services/agents/deployment/agents_directory_resolver.py +101 -15
- claude_mpm/services/agents/deployment/async_agent_deployment.py +2 -1
- claude_mpm/services/agents/deployment/multi_source_deployment_service.py +115 -15
- claude_mpm/services/agents/deployment/refactored_agent_deployment_service.py +1 -4
- claude_mpm/services/agents/deployment/remote_agent_discovery_service.py +363 -0
- claude_mpm/services/agents/deployment/single_agent_deployer.py +2 -2
- claude_mpm/services/agents/deployment/system_instructions_deployer.py +168 -46
- claude_mpm/services/agents/deployment/validation/deployment_validator.py +2 -2
- claude_mpm/services/agents/git_source_manager.py +629 -0
- claude_mpm/services/agents/loading/framework_agent_loader.py +1 -4
- claude_mpm/services/agents/local_template_manager.py +47 -9
- claude_mpm/services/agents/single_tier_deployment_service.py +696 -0
- claude_mpm/services/agents/sources/__init__.py +13 -0
- claude_mpm/services/agents/sources/agent_sync_state.py +516 -0
- claude_mpm/services/agents/sources/git_source_sync_service.py +1087 -0
- claude_mpm/services/agents/startup_sync.py +239 -0
- claude_mpm/services/agents/toolchain_detector.py +474 -0
- claude_mpm/services/analysis/__init__.py +25 -0
- claude_mpm/services/analysis/postmortem_reporter.py +474 -0
- claude_mpm/services/analysis/postmortem_service.py +765 -0
- claude_mpm/services/command_deployment_service.py +200 -6
- claude_mpm/services/core/base.py +7 -2
- claude_mpm/services/core/interfaces/__init__.py +1 -3
- claude_mpm/services/core/interfaces/health.py +1 -4
- claude_mpm/services/core/models/__init__.py +2 -11
- claude_mpm/services/diagnostics/checks/__init__.py +4 -0
- claude_mpm/services/diagnostics/checks/agent_sources_check.py +577 -0
- claude_mpm/services/diagnostics/checks/mcp_services_check.py +7 -15
- claude_mpm/services/diagnostics/checks/skill_sources_check.py +587 -0
- claude_mpm/services/diagnostics/diagnostic_runner.py +9 -0
- claude_mpm/services/diagnostics/doctor_reporter.py +34 -6
- claude_mpm/services/git/__init__.py +21 -0
- claude_mpm/services/git/git_operations_service.py +494 -0
- claude_mpm/services/github/__init__.py +21 -0
- claude_mpm/services/github/github_cli_service.py +397 -0
- claude_mpm/services/infrastructure/monitoring/__init__.py +1 -5
- claude_mpm/services/infrastructure/monitoring/aggregator.py +1 -6
- claude_mpm/services/instructions/__init__.py +9 -0
- claude_mpm/services/instructions/instruction_cache_service.py +374 -0
- claude_mpm/services/local_ops/__init__.py +3 -13
- claude_mpm/services/local_ops/health_checks/__init__.py +1 -3
- claude_mpm/services/local_ops/health_manager.py +1 -4
- claude_mpm/services/mcp_config_manager.py +75 -145
- claude_mpm/services/mcp_gateway/core/process_pool.py +22 -16
- claude_mpm/services/mcp_gateway/server/mcp_gateway.py +1 -6
- claude_mpm/services/mcp_service_verifier.py +6 -3
- claude_mpm/services/monitor/daemon.py +28 -8
- claude_mpm/services/monitor/daemon_manager.py +96 -19
- claude_mpm/services/pr/__init__.py +14 -0
- claude_mpm/services/pr/pr_template_service.py +329 -0
- claude_mpm/services/project/project_organizer.py +4 -0
- claude_mpm/services/runner_configuration_service.py +16 -3
- claude_mpm/services/session_management_service.py +16 -4
- claude_mpm/services/skills/__init__.py +18 -0
- claude_mpm/services/skills/git_skill_source_manager.py +1169 -0
- claude_mpm/services/skills/skill_discovery_service.py +568 -0
- claude_mpm/services/socketio/server/core.py +1 -4
- claude_mpm/services/socketio/server/main.py +1 -3
- claude_mpm/services/unified/deployment_strategies/vercel.py +1 -5
- claude_mpm/services/unified/unified_deployment.py +1 -5
- claude_mpm/services/visualization/__init__.py +1 -5
- claude_mpm/templates/questions/__init__.py +2 -7
- claude_mpm/templates/questions/pr_strategy.py +1 -4
- claude_mpm/templates/questions/project_init.py +1 -4
- claude_mpm/templates/questions/ticket_mgmt.py +1 -4
- claude_mpm/utils/agent_dependency_loader.py +77 -10
- claude_mpm/utils/agent_filters.py +288 -0
- claude_mpm/utils/gitignore.py +3 -0
- claude_mpm/utils/migration.py +372 -0
- claude_mpm/utils/progress.py +387 -0
- {claude_mpm-4.25.10.dist-info → claude_mpm-5.1.8.dist-info}/METADATA +356 -112
- {claude_mpm-4.25.10.dist-info → claude_mpm-5.1.8.dist-info}/RECORD +188 -439
- claude_mpm/agents/templates/agent-manager.json +0 -273
- claude_mpm/agents/templates/agentic-coder-optimizer.json +0 -248
- claude_mpm/agents/templates/api_qa.json +0 -183
- claude_mpm/agents/templates/clerk-ops.json +0 -235
- claude_mpm/agents/templates/code_analyzer.json +0 -101
- claude_mpm/agents/templates/content-agent.json +0 -358
- claude_mpm/agents/templates/dart_engineer.json +0 -307
- claude_mpm/agents/templates/data_engineer.json +0 -225
- claude_mpm/agents/templates/documentation.json +0 -238
- claude_mpm/agents/templates/engineer.json +0 -210
- claude_mpm/agents/templates/gcp_ops_agent.json +0 -253
- claude_mpm/agents/templates/golang_engineer.json +0 -270
- claude_mpm/agents/templates/imagemagick.json +0 -264
- claude_mpm/agents/templates/java_engineer.json +0 -346
- claude_mpm/agents/templates/javascript_engineer_agent.json +0 -380
- claude_mpm/agents/templates/local_ops_agent.json +0 -1840
- claude_mpm/agents/templates/memory_manager.json +0 -158
- claude_mpm/agents/templates/nextjs_engineer.json +0 -285
- claude_mpm/agents/templates/ops.json +0 -185
- claude_mpm/agents/templates/php-engineer.json +0 -287
- claude_mpm/agents/templates/product_owner.json +0 -338
- claude_mpm/agents/templates/project_organizer.json +0 -144
- claude_mpm/agents/templates/prompt-engineer.json +0 -737
- claude_mpm/agents/templates/python_engineer.json +0 -387
- claude_mpm/agents/templates/qa.json +0 -243
- claude_mpm/agents/templates/react_engineer.json +0 -239
- claude_mpm/agents/templates/refactoring_engineer.json +0 -276
- claude_mpm/agents/templates/research.json +0 -258
- claude_mpm/agents/templates/ruby-engineer.json +0 -280
- claude_mpm/agents/templates/rust_engineer.json +0 -275
- claude_mpm/agents/templates/security.json +0 -202
- claude_mpm/agents/templates/svelte-engineer.json +0 -225
- claude_mpm/agents/templates/tauri_engineer.json +0 -274
- claude_mpm/agents/templates/ticketing.json +0 -181
- claude_mpm/agents/templates/typescript_engineer.json +0 -285
- claude_mpm/agents/templates/vercel_ops_agent.json +0 -412
- claude_mpm/agents/templates/version_control.json +0 -159
- claude_mpm/agents/templates/web_qa.json +0 -400
- claude_mpm/agents/templates/web_ui.json +0 -189
- claude_mpm/cli/README.md +0 -253
- claude_mpm/cli/commands/mcp_install_commands.py.backup +0 -284
- claude_mpm/cli/commands/mpm_init/README.md +0 -365
- claude_mpm/cli_module/refactoring_guide.md +0 -253
- claude_mpm/commands/mpm-tickets.md +0 -151
- claude_mpm/config/agent_capabilities.yaml +0 -658
- claude_mpm/config/async_logging_config.yaml +0 -145
- claude_mpm/core/.claude-mpm/logs/hooks_20250730.log +0 -34
- claude_mpm/d2/.gitignore +0 -22
- claude_mpm/d2/ARCHITECTURE_COMPARISON.md +0 -273
- claude_mpm/d2/FLASK_INTEGRATION.md +0 -156
- claude_mpm/d2/IMPLEMENTATION_SUMMARY.md +0 -452
- claude_mpm/d2/QUICKSTART.md +0 -186
- claude_mpm/d2/README.md +0 -232
- claude_mpm/d2/STORE_FIX_SUMMARY.md +0 -167
- claude_mpm/d2/SVELTE5_STORES_GUIDE.md +0 -180
- claude_mpm/d2/TESTING.md +0 -288
- claude_mpm/d2/index.html +0 -118
- claude_mpm/d2/package.json +0 -19
- claude_mpm/d2/src/App.svelte +0 -110
- claude_mpm/d2/src/components/Header.svelte +0 -153
- claude_mpm/d2/src/components/MainContent.svelte +0 -74
- claude_mpm/d2/src/components/Sidebar.svelte +0 -85
- claude_mpm/d2/src/components/tabs/EventsTab.svelte +0 -326
- claude_mpm/d2/src/lib/socketio.js +0 -144
- claude_mpm/d2/src/main.js +0 -7
- claude_mpm/d2/src/stores/events.js +0 -114
- claude_mpm/d2/src/stores/socket.js +0 -108
- claude_mpm/d2/src/stores/theme.js +0 -65
- claude_mpm/d2/svelte.config.js +0 -12
- claude_mpm/d2/vite.config.js +0 -15
- claude_mpm/dashboard/.claude-mpm/memories/README.md +0 -36
- claude_mpm/dashboard/BUILD_NUMBER +0 -1
- claude_mpm/dashboard/README.md +0 -121
- claude_mpm/dashboard/VERSION +0 -1
- claude_mpm/dashboard/react/components/DataInspector/DataInspector.module.css +0 -188
- claude_mpm/dashboard/react/components/DataInspector/DataInspector.tsx +0 -273
- claude_mpm/dashboard/react/components/ErrorBoundary.tsx +0 -75
- claude_mpm/dashboard/react/components/EventViewer/EventViewer.module.css +0 -156
- claude_mpm/dashboard/react/components/EventViewer/EventViewer.tsx +0 -141
- claude_mpm/dashboard/react/components/shared/ConnectionStatus.module.css +0 -38
- claude_mpm/dashboard/react/components/shared/ConnectionStatus.tsx +0 -36
- claude_mpm/dashboard/react/components/shared/FilterBar.module.css +0 -92
- claude_mpm/dashboard/react/components/shared/FilterBar.tsx +0 -89
- claude_mpm/dashboard/react/contexts/DashboardContext.tsx +0 -215
- claude_mpm/dashboard/react/entries/events.tsx +0 -165
- claude_mpm/dashboard/react/hooks/useEvents.ts +0 -191
- claude_mpm/dashboard/react/hooks/useSocket.ts +0 -225
- claude_mpm/dashboard/static/archive/activity_dashboard_fixed.html +0 -248
- claude_mpm/dashboard/static/built/REFACTORING_SUMMARY.md +0 -170
- claude_mpm/dashboard/static/built/assets/events.DjpNxWNo.css +0 -1
- claude_mpm/dashboard/static/built/components/activity-tree.js +0 -2
- claude_mpm/dashboard/static/built/components/activity-tree.js.map +0 -1
- claude_mpm/dashboard/static/built/components/agent-hierarchy.js +0 -777
- claude_mpm/dashboard/static/built/components/agent-inference.js +0 -2
- claude_mpm/dashboard/static/built/components/agent-inference.js.map +0 -1
- claude_mpm/dashboard/static/built/components/build-tracker.js +0 -333
- claude_mpm/dashboard/static/built/components/code-simple.js +0 -857
- claude_mpm/dashboard/static/built/components/code-tree/tree-breadcrumb.js +0 -353
- claude_mpm/dashboard/static/built/components/code-tree/tree-constants.js +0 -235
- claude_mpm/dashboard/static/built/components/code-tree/tree-search.js +0 -409
- claude_mpm/dashboard/static/built/components/code-tree/tree-utils.js +0 -435
- claude_mpm/dashboard/static/built/components/code-tree.js +0 -2
- claude_mpm/dashboard/static/built/components/code-tree.js.map +0 -1
- claude_mpm/dashboard/static/built/components/code-viewer.js +0 -2
- claude_mpm/dashboard/static/built/components/code-viewer.js.map +0 -1
- claude_mpm/dashboard/static/built/components/connection-debug.js +0 -654
- claude_mpm/dashboard/static/built/components/diff-viewer.js +0 -891
- claude_mpm/dashboard/static/built/components/event-processor.js +0 -2
- claude_mpm/dashboard/static/built/components/event-processor.js.map +0 -1
- claude_mpm/dashboard/static/built/components/event-viewer.js +0 -2
- claude_mpm/dashboard/static/built/components/event-viewer.js.map +0 -1
- claude_mpm/dashboard/static/built/components/export-manager.js +0 -2
- claude_mpm/dashboard/static/built/components/export-manager.js.map +0 -1
- claude_mpm/dashboard/static/built/components/file-change-tracker.js +0 -443
- claude_mpm/dashboard/static/built/components/file-change-viewer.js +0 -690
- claude_mpm/dashboard/static/built/components/file-tool-tracker.js +0 -2
- claude_mpm/dashboard/static/built/components/file-tool-tracker.js.map +0 -1
- claude_mpm/dashboard/static/built/components/file-viewer.js +0 -2
- claude_mpm/dashboard/static/built/components/file-viewer.js.map +0 -1
- claude_mpm/dashboard/static/built/components/hud-library-loader.js +0 -2
- claude_mpm/dashboard/static/built/components/hud-library-loader.js.map +0 -1
- claude_mpm/dashboard/static/built/components/hud-manager.js +0 -2
- claude_mpm/dashboard/static/built/components/hud-manager.js.map +0 -1
- claude_mpm/dashboard/static/built/components/hud-visualizer.js +0 -2
- claude_mpm/dashboard/static/built/components/hud-visualizer.js.map +0 -1
- claude_mpm/dashboard/static/built/components/module-viewer.js +0 -2
- claude_mpm/dashboard/static/built/components/module-viewer.js.map +0 -1
- claude_mpm/dashboard/static/built/components/nav-bar.js +0 -145
- claude_mpm/dashboard/static/built/components/page-structure.js +0 -429
- claude_mpm/dashboard/static/built/components/session-manager.js +0 -2
- claude_mpm/dashboard/static/built/components/session-manager.js.map +0 -1
- claude_mpm/dashboard/static/built/components/socket-manager.js +0 -2
- claude_mpm/dashboard/static/built/components/socket-manager.js.map +0 -1
- claude_mpm/dashboard/static/built/components/ui-state-manager.js +0 -2
- claude_mpm/dashboard/static/built/components/ui-state-manager.js.map +0 -1
- claude_mpm/dashboard/static/built/components/unified-data-viewer.js +0 -2
- claude_mpm/dashboard/static/built/components/unified-data-viewer.js.map +0 -1
- claude_mpm/dashboard/static/built/components/working-directory.js +0 -2
- claude_mpm/dashboard/static/built/components/working-directory.js.map +0 -1
- claude_mpm/dashboard/static/built/connection-manager.js +0 -536
- claude_mpm/dashboard/static/built/dashboard.js +0 -2
- claude_mpm/dashboard/static/built/dashboard.js.map +0 -1
- claude_mpm/dashboard/static/built/extension-error-handler.js +0 -164
- claude_mpm/dashboard/static/built/react/events.js +0 -30
- claude_mpm/dashboard/static/built/react/events.js.map +0 -1
- claude_mpm/dashboard/static/built/shared/dom-helpers.js +0 -396
- claude_mpm/dashboard/static/built/shared/event-bus.js +0 -330
- claude_mpm/dashboard/static/built/shared/event-filter-service.js +0 -540
- claude_mpm/dashboard/static/built/shared/logger.js +0 -385
- claude_mpm/dashboard/static/built/shared/page-structure.js +0 -249
- claude_mpm/dashboard/static/built/shared/tooltip-service.js +0 -253
- claude_mpm/dashboard/static/built/socket-client.js +0 -2
- claude_mpm/dashboard/static/built/socket-client.js.map +0 -1
- claude_mpm/dashboard/static/built/tab-isolation-fix.js +0 -185
- claude_mpm/dashboard/static/events.html +0 -607
- claude_mpm/dashboard/static/index.html +0 -635
- claude_mpm/dashboard/static/js/REFACTORING_SUMMARY.md +0 -170
- claude_mpm/dashboard/static/js/shared/dom-helpers.js +0 -396
- claude_mpm/dashboard/static/js/shared/event-bus.js +0 -330
- claude_mpm/dashboard/static/js/shared/logger.js +0 -385
- claude_mpm/dashboard/static/js/shared/tooltip-service.js +0 -253
- claude_mpm/dashboard/static/js/stores/dashboard-store.js +0 -562
- claude_mpm/dashboard/static/legacy/activity.html +0 -736
- claude_mpm/dashboard/static/legacy/agents.html +0 -786
- claude_mpm/dashboard/static/legacy/files.html +0 -747
- claude_mpm/dashboard/static/legacy/tools.html +0 -831
- claude_mpm/dashboard/static/monitors.html +0 -431
- claude_mpm/dashboard/static/navigation-test-results.md +0 -118
- claude_mpm/dashboard/static/production/events.html +0 -659
- claude_mpm/dashboard/static/production/main.html +0 -698
- claude_mpm/dashboard/static/production/monitors.html +0 -483
- claude_mpm/dashboard/static/test-archive/dashboard.html +0 -635
- claude_mpm/dashboard/static/test-archive/debug-events.html +0 -147
- claude_mpm/dashboard/static/test-archive/test-navigation.html +0 -256
- claude_mpm/dashboard/static/test-archive/test-react-exports.html +0 -180
- claude_mpm/dashboard/templates/.claude-mpm/memories/README.md +0 -36
- claude_mpm/dashboard/templates/.claude-mpm/memories/engineer_agent.md +0 -39
- claude_mpm/dashboard/templates/.claude-mpm/memories/version_control_agent.md +0 -38
- claude_mpm/hooks/README.md +0 -143
- claude_mpm/hooks/templates/README.md +0 -180
- claude_mpm/hooks/templates/settings.json.example +0 -147
- claude_mpm/schemas/agent_schema.json +0 -596
- claude_mpm/schemas/frontmatter_schema.json +0 -165
- claude_mpm/services/event_bus/README.md +0 -244
- claude_mpm/services/events/README.md +0 -303
- claude_mpm/services/framework_claude_md_generator/README.md +0 -119
- claude_mpm/services/mcp_gateway/README.md +0 -185
- claude_mpm/services/socketio/handlers/connection.py.backup +0 -217
- claude_mpm/services/socketio/handlers/hook.py.backup +0 -154
- claude_mpm/services/static/.gitkeep +0 -2
- claude_mpm/services/version_control/VERSION +0 -1
- claude_mpm/skills/bundled/.gitkeep +0 -2
- claude_mpm/skills/bundled/collaboration/brainstorming/SKILL.md +0 -79
- claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/SKILL.md +0 -178
- claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/agent-prompts.md +0 -577
- claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/coordination-patterns.md +0 -467
- claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/examples.md +0 -537
- claude_mpm/skills/bundled/collaboration/dispatching-parallel-agents/references/troubleshooting.md +0 -730
- claude_mpm/skills/bundled/collaboration/git-worktrees.md +0 -317
- claude_mpm/skills/bundled/collaboration/requesting-code-review/SKILL.md +0 -112
- claude_mpm/skills/bundled/collaboration/requesting-code-review/references/code-reviewer-template.md +0 -146
- claude_mpm/skills/bundled/collaboration/requesting-code-review/references/review-examples.md +0 -412
- claude_mpm/skills/bundled/collaboration/stacked-prs.md +0 -251
- claude_mpm/skills/bundled/collaboration/writing-plans/SKILL.md +0 -81
- claude_mpm/skills/bundled/collaboration/writing-plans/references/best-practices.md +0 -362
- claude_mpm/skills/bundled/collaboration/writing-plans/references/plan-structure-templates.md +0 -312
- claude_mpm/skills/bundled/debugging/root-cause-tracing/SKILL.md +0 -152
- claude_mpm/skills/bundled/debugging/root-cause-tracing/find-polluter.sh +0 -63
- claude_mpm/skills/bundled/debugging/root-cause-tracing/references/advanced-techniques.md +0 -668
- claude_mpm/skills/bundled/debugging/root-cause-tracing/references/examples.md +0 -587
- claude_mpm/skills/bundled/debugging/root-cause-tracing/references/integration.md +0 -438
- claude_mpm/skills/bundled/debugging/root-cause-tracing/references/tracing-techniques.md +0 -391
- claude_mpm/skills/bundled/debugging/systematic-debugging/CREATION-LOG.md +0 -119
- claude_mpm/skills/bundled/debugging/systematic-debugging/SKILL.md +0 -148
- claude_mpm/skills/bundled/debugging/systematic-debugging/references/anti-patterns.md +0 -483
- claude_mpm/skills/bundled/debugging/systematic-debugging/references/examples.md +0 -452
- claude_mpm/skills/bundled/debugging/systematic-debugging/references/troubleshooting.md +0 -449
- claude_mpm/skills/bundled/debugging/systematic-debugging/references/workflow.md +0 -411
- claude_mpm/skills/bundled/debugging/systematic-debugging/test-academic.md +0 -14
- claude_mpm/skills/bundled/debugging/systematic-debugging/test-pressure-1.md +0 -58
- claude_mpm/skills/bundled/debugging/systematic-debugging/test-pressure-2.md +0 -68
- claude_mpm/skills/bundled/debugging/systematic-debugging/test-pressure-3.md +0 -69
- claude_mpm/skills/bundled/debugging/verification-before-completion/SKILL.md +0 -131
- claude_mpm/skills/bundled/debugging/verification-before-completion/references/gate-function.md +0 -325
- claude_mpm/skills/bundled/debugging/verification-before-completion/references/integration-and-workflows.md +0 -490
- claude_mpm/skills/bundled/debugging/verification-before-completion/references/red-flags-and-failures.md +0 -425
- claude_mpm/skills/bundled/debugging/verification-before-completion/references/verification-patterns.md +0 -499
- claude_mpm/skills/bundled/infrastructure/env-manager/INTEGRATION.md +0 -611
- claude_mpm/skills/bundled/infrastructure/env-manager/README.md +0 -596
- claude_mpm/skills/bundled/infrastructure/env-manager/SKILL.md +0 -260
- claude_mpm/skills/bundled/infrastructure/env-manager/examples/nextjs-env-structure.md +0 -315
- claude_mpm/skills/bundled/infrastructure/env-manager/references/frameworks.md +0 -436
- claude_mpm/skills/bundled/infrastructure/env-manager/references/security.md +0 -433
- claude_mpm/skills/bundled/infrastructure/env-manager/references/synchronization.md +0 -452
- claude_mpm/skills/bundled/infrastructure/env-manager/references/troubleshooting.md +0 -404
- claude_mpm/skills/bundled/infrastructure/env-manager/references/validation.md +0 -420
- claude_mpm/skills/bundled/main/artifacts-builder/LICENSE.txt +0 -202
- claude_mpm/skills/bundled/main/artifacts-builder/SKILL.md +0 -86
- claude_mpm/skills/bundled/main/artifacts-builder/scripts/bundle-artifact.sh +0 -54
- claude_mpm/skills/bundled/main/artifacts-builder/scripts/init-artifact.sh +0 -322
- claude_mpm/skills/bundled/main/artifacts-builder/scripts/shadcn-components.tar.gz +0 -0
- claude_mpm/skills/bundled/main/internal-comms/LICENSE.txt +0 -202
- claude_mpm/skills/bundled/main/internal-comms/SKILL.md +0 -43
- claude_mpm/skills/bundled/main/internal-comms/examples/3p-updates.md +0 -47
- claude_mpm/skills/bundled/main/internal-comms/examples/company-newsletter.md +0 -65
- claude_mpm/skills/bundled/main/internal-comms/examples/faq-answers.md +0 -30
- claude_mpm/skills/bundled/main/internal-comms/examples/general-comms.md +0 -16
- claude_mpm/skills/bundled/main/mcp-builder/LICENSE.txt +0 -202
- claude_mpm/skills/bundled/main/mcp-builder/SKILL.md +0 -160
- claude_mpm/skills/bundled/main/mcp-builder/reference/design_principles.md +0 -412
- claude_mpm/skills/bundled/main/mcp-builder/reference/evaluation.md +0 -602
- claude_mpm/skills/bundled/main/mcp-builder/reference/mcp_best_practices.md +0 -915
- claude_mpm/skills/bundled/main/mcp-builder/reference/node_mcp_server.md +0 -916
- claude_mpm/skills/bundled/main/mcp-builder/reference/python_mcp_server.md +0 -752
- claude_mpm/skills/bundled/main/mcp-builder/reference/workflow.md +0 -1237
- claude_mpm/skills/bundled/main/mcp-builder/scripts/example_evaluation.xml +0 -22
- claude_mpm/skills/bundled/main/mcp-builder/scripts/requirements.txt +0 -2
- claude_mpm/skills/bundled/main/skill-creator/LICENSE.txt +0 -202
- claude_mpm/skills/bundled/main/skill-creator/SKILL.md +0 -189
- claude_mpm/skills/bundled/main/skill-creator/references/best-practices.md +0 -500
- claude_mpm/skills/bundled/main/skill-creator/references/creation-workflow.md +0 -464
- claude_mpm/skills/bundled/main/skill-creator/references/examples.md +0 -619
- claude_mpm/skills/bundled/main/skill-creator/references/progressive-disclosure.md +0 -437
- claude_mpm/skills/bundled/main/skill-creator/references/skill-structure.md +0 -231
- claude_mpm/skills/bundled/php/espocrm-development/SKILL.md +0 -170
- claude_mpm/skills/bundled/php/espocrm-development/references/architecture.md +0 -602
- claude_mpm/skills/bundled/php/espocrm-development/references/common-tasks.md +0 -821
- claude_mpm/skills/bundled/php/espocrm-development/references/development-workflow.md +0 -742
- claude_mpm/skills/bundled/php/espocrm-development/references/frontend-customization.md +0 -726
- claude_mpm/skills/bundled/php/espocrm-development/references/hooks-and-services.md +0 -764
- claude_mpm/skills/bundled/php/espocrm-development/references/testing-debugging.md +0 -831
- claude_mpm/skills/bundled/react/flexlayout-react.md +0 -742
- claude_mpm/skills/bundled/rust/desktop-applications/SKILL.md +0 -226
- claude_mpm/skills/bundled/rust/desktop-applications/references/architecture-patterns.md +0 -901
- claude_mpm/skills/bundled/rust/desktop-applications/references/native-gui-frameworks.md +0 -901
- claude_mpm/skills/bundled/rust/desktop-applications/references/platform-integration.md +0 -775
- claude_mpm/skills/bundled/rust/desktop-applications/references/state-management.md +0 -937
- claude_mpm/skills/bundled/rust/desktop-applications/references/tauri-framework.md +0 -770
- claude_mpm/skills/bundled/rust/desktop-applications/references/testing-deployment.md +0 -961
- claude_mpm/skills/bundled/tauri/tauri-async-patterns.md +0 -495
- claude_mpm/skills/bundled/tauri/tauri-build-deploy.md +0 -599
- claude_mpm/skills/bundled/tauri/tauri-command-patterns.md +0 -535
- claude_mpm/skills/bundled/tauri/tauri-error-handling.md +0 -613
- claude_mpm/skills/bundled/tauri/tauri-event-system.md +0 -648
- claude_mpm/skills/bundled/tauri/tauri-file-system.md +0 -673
- claude_mpm/skills/bundled/tauri/tauri-frontend-integration.md +0 -767
- claude_mpm/skills/bundled/tauri/tauri-performance.md +0 -669
- claude_mpm/skills/bundled/tauri/tauri-state-management.md +0 -573
- claude_mpm/skills/bundled/tauri/tauri-testing.md +0 -384
- claude_mpm/skills/bundled/tauri/tauri-window-management.md +0 -628
- claude_mpm/skills/bundled/testing/condition-based-waiting/SKILL.md +0 -119
- claude_mpm/skills/bundled/testing/condition-based-waiting/example.ts +0 -158
- claude_mpm/skills/bundled/testing/condition-based-waiting/references/patterns-and-implementation.md +0 -253
- claude_mpm/skills/bundled/testing/test-driven-development/SKILL.md +0 -145
- claude_mpm/skills/bundled/testing/test-driven-development/references/anti-patterns.md +0 -543
- claude_mpm/skills/bundled/testing/test-driven-development/references/examples.md +0 -741
- claude_mpm/skills/bundled/testing/test-driven-development/references/integration.md +0 -470
- claude_mpm/skills/bundled/testing/test-driven-development/references/philosophy.md +0 -458
- claude_mpm/skills/bundled/testing/test-driven-development/references/workflow.md +0 -639
- claude_mpm/skills/bundled/testing/test-quality-inspector/SKILL.md +0 -458
- claude_mpm/skills/bundled/testing/test-quality-inspector/examples/example-inspection-report.md +0 -411
- claude_mpm/skills/bundled/testing/test-quality-inspector/references/assertion-quality.md +0 -317
- claude_mpm/skills/bundled/testing/test-quality-inspector/references/inspection-checklist.md +0 -270
- claude_mpm/skills/bundled/testing/test-quality-inspector/references/red-flags.md +0 -436
- claude_mpm/skills/bundled/testing/testing-anti-patterns/SKILL.md +0 -140
- claude_mpm/skills/bundled/testing/testing-anti-patterns/references/completeness-anti-patterns.md +0 -572
- claude_mpm/skills/bundled/testing/testing-anti-patterns/references/core-anti-patterns.md +0 -411
- claude_mpm/skills/bundled/testing/testing-anti-patterns/references/detection-guide.md +0 -569
- claude_mpm/skills/bundled/testing/testing-anti-patterns/references/tdd-connection.md +0 -695
- claude_mpm/skills/bundled/testing/webapp-testing/LICENSE.txt +0 -202
- claude_mpm/skills/bundled/testing/webapp-testing/SKILL.md +0 -184
- claude_mpm/skills/bundled/testing/webapp-testing/decision-tree.md +0 -459
- claude_mpm/skills/bundled/testing/webapp-testing/playwright-patterns.md +0 -479
- claude_mpm/skills/bundled/testing/webapp-testing/reconnaissance-pattern.md +0 -687
- claude_mpm/skills/bundled/testing/webapp-testing/server-management.md +0 -758
- claude_mpm/skills/bundled/testing/webapp-testing/troubleshooting.md +0 -868
- claude_mpm/templates/questions/EXAMPLES.md +0 -501
- claude_mpm/tools/README_SOCKETIO_DEBUG.md +0 -224
- claude_mpm/tools/code_tree_analyzer/README.md +0 -64
- /claude_mpm/agents/templates/{git_file_tracking.md → git-file-tracking.md} +0 -0
- /claude_mpm/agents/templates/{pm_examples.md → pm-examples.md} +0 -0
- /claude_mpm/agents/templates/{pm_red_flags.md → pm-red-flags.md} +0 -0
- /claude_mpm/agents/templates/{response_format.md → response-format.md} +0 -0
- /claude_mpm/agents/templates/{validation_templates.md → validation-templates.md} +0 -0
- {claude_mpm-4.25.10.dist-info → claude_mpm-5.1.8.dist-info}/WHEEL +0 -0
- {claude_mpm-4.25.10.dist-info → claude_mpm-5.1.8.dist-info}/entry_points.txt +0 -0
- {claude_mpm-4.25.10.dist-info → claude_mpm-5.1.8.dist-info}/licenses/LICENSE +0 -0
- {claude_mpm-4.25.10.dist-info → claude_mpm-5.1.8.dist-info}/top_level.txt +0 -0
claude_mpm/hooks/README.md
DELETED
|
@@ -1,143 +0,0 @@
|
|
|
1
|
-
# Claude Code Hooks System
|
|
2
|
-
|
|
3
|
-
This directory contains the Claude Code hook integration for claude-mpm.
|
|
4
|
-
|
|
5
|
-
## Overview
|
|
6
|
-
|
|
7
|
-
The hook system allows claude-mpm to intercept and handle commands typed in Claude Code, particularly the `/mpm` commands.
|
|
8
|
-
|
|
9
|
-
## Version Requirements
|
|
10
|
-
|
|
11
|
-
**Claude Code 1.0.92 or higher is required for hook monitoring features.**
|
|
12
|
-
|
|
13
|
-
Earlier versions of Claude Code do not support the matcher-based hook configuration format needed for real-time event monitoring. If you have an older version:
|
|
14
|
-
- The dashboard and other features will still work
|
|
15
|
-
- Real-time monitoring will not be available
|
|
16
|
-
- You'll see a clear message about the version requirement
|
|
17
|
-
- To enable monitoring, upgrade Claude Code to 1.0.92+
|
|
18
|
-
|
|
19
|
-
**Claude Code 2.0.30 or higher is required for PreToolUse input modification.**
|
|
20
|
-
|
|
21
|
-
This advanced feature allows hooks to modify tool inputs before execution, enabling:
|
|
22
|
-
- Context injection into file operations
|
|
23
|
-
- Security guards that validate and block dangerous operations
|
|
24
|
-
- Parameter enhancement with default values
|
|
25
|
-
- Logging and auditing of tool invocations
|
|
26
|
-
|
|
27
|
-
See [PreToolUse Hook Documentation](../../docs/developer/pretool-use-hooks.md) for details.
|
|
28
|
-
|
|
29
|
-
## Architecture (v4.1.8+)
|
|
30
|
-
|
|
31
|
-
Claude MPM uses a **deployment-root hook architecture** where Claude Code directly calls a script within the claude-mpm installation. See [HOOK_ARCHITECTURE.md](../../docs/developer/HOOK_ARCHITECTURE.md) for details.
|
|
32
|
-
|
|
33
|
-
## Structure
|
|
34
|
-
|
|
35
|
-
```
|
|
36
|
-
hooks/
|
|
37
|
-
├── claude_hooks/ # Claude Code hook implementation
|
|
38
|
-
│ ├── hook_handler.py # Main Python handler that processes events
|
|
39
|
-
│ ├── installer.py # Hook installation and configuration
|
|
40
|
-
│ ├── event_handlers.py # Event processing logic
|
|
41
|
-
│ ├── memory_integration.py # Memory system integration
|
|
42
|
-
│ ├── response_tracking.py # Response tracking
|
|
43
|
-
│ └── services/ # Service modules
|
|
44
|
-
│ ├── connection_manager.py # SocketIO/HTTP connections
|
|
45
|
-
│ ├── state_manager.py # State and delegation tracking
|
|
46
|
-
│ └── subagent_processor.py # Subagent response processing
|
|
47
|
-
├── templates/ # Hook script templates
|
|
48
|
-
│ ├── pre_tool_use_template.py # Comprehensive PreToolUse template
|
|
49
|
-
│ ├── pre_tool_use_simple.py # Simple PreToolUse template
|
|
50
|
-
│ └── README.md # Template documentation
|
|
51
|
-
└── scripts/
|
|
52
|
-
└── claude-hook-handler.sh # Deployment-root hook script (called by Claude Code)
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
## Claude Code Hooks
|
|
56
|
-
|
|
57
|
-
The Claude Code hooks are the primary integration point between claude-mpm and Claude Code. They allow:
|
|
58
|
-
|
|
59
|
-
- Intercepting `/mpm` commands before they reach the LLM
|
|
60
|
-
- Providing custom responses and actions
|
|
61
|
-
- Blocking LLM processing when appropriate
|
|
62
|
-
|
|
63
|
-
### Installation
|
|
64
|
-
|
|
65
|
-
To install the Claude Code hooks:
|
|
66
|
-
|
|
67
|
-
```bash
|
|
68
|
-
# Using the configure command (recommended)
|
|
69
|
-
claude-mpm configure --install-hooks
|
|
70
|
-
|
|
71
|
-
# Or check your version compatibility first
|
|
72
|
-
claude-mpm configure --verify-hooks
|
|
73
|
-
```
|
|
74
|
-
|
|
75
|
-
This will:
|
|
76
|
-
1. Check your Claude Code version for compatibility
|
|
77
|
-
2. If compatible (1.0.92+), create/update `~/.claude/settings.json` with hook configuration
|
|
78
|
-
3. Install the smart hook script that dynamically finds claude-mpm
|
|
79
|
-
4. Copy any custom commands to `~/.claude/commands/`
|
|
80
|
-
|
|
81
|
-
If your Claude Code version is older than 1.0.92:
|
|
82
|
-
- You'll see a message explaining the version requirement
|
|
83
|
-
- Hooks will not be installed to prevent configuration errors
|
|
84
|
-
- The system will continue to work without real-time monitoring
|
|
85
|
-
|
|
86
|
-
### How It Works
|
|
87
|
-
|
|
88
|
-
1. When you type in Claude Code, it triggers hook events
|
|
89
|
-
2. Claude Code calls `hook_wrapper.sh` (the path in `~/.claude/settings.json`)
|
|
90
|
-
3. The wrapper script:
|
|
91
|
-
- Detects if it's running from a local dev environment, npm, or PyPI installation
|
|
92
|
-
- Activates the appropriate Python environment
|
|
93
|
-
- Runs `hook_handler.py` with the event data
|
|
94
|
-
4. The handler processes various event types:
|
|
95
|
-
- **UserPromptSubmit**: Checks if the prompt starts with `/mpm` and handles commands
|
|
96
|
-
- **PreToolUse**: Logs tool usage before execution
|
|
97
|
-
- **PostToolUse**: Logs tool results after execution
|
|
98
|
-
- **Stop**: Logs when a session or task stops
|
|
99
|
-
- **SubagentStop**: Logs when a subagent completes with agent type and ID
|
|
100
|
-
5. For `/mpm` commands, it returns exit code 2 to block LLM processing
|
|
101
|
-
6. All events are logged to project-specific log files in `.claude-mpm/logs/`
|
|
102
|
-
|
|
103
|
-
### Available Commands
|
|
104
|
-
|
|
105
|
-
- `/mpm` - Show help and available commands
|
|
106
|
-
- `/mpm status` - Show claude-mpm status and environment
|
|
107
|
-
- `/mpm help` - Show detailed help
|
|
108
|
-
|
|
109
|
-
### Debugging
|
|
110
|
-
|
|
111
|
-
To enable debug logging for hooks:
|
|
112
|
-
|
|
113
|
-
```bash
|
|
114
|
-
export CLAUDE_MPM_LOG_LEVEL=DEBUG
|
|
115
|
-
```
|
|
116
|
-
|
|
117
|
-
Then run Claude Code from that terminal. Hook events will be logged to `~/.claude-mpm/logs/`.
|
|
118
|
-
|
|
119
|
-
## Legacy Hook System (Removed)
|
|
120
|
-
|
|
121
|
-
The `builtin/` directory that contained the old internal hook system has been removed. All hook functionality is now handled through the Claude Code hooks system.
|
|
122
|
-
|
|
123
|
-
## Development
|
|
124
|
-
|
|
125
|
-
To add new `/mpm` commands:
|
|
126
|
-
|
|
127
|
-
1. Edit `hook_handler.py` to handle the new command
|
|
128
|
-
2. Update the help text in the `handle_mpm_help()` function
|
|
129
|
-
3. Test by running Claude Code with the new command
|
|
130
|
-
|
|
131
|
-
## Exit Codes
|
|
132
|
-
|
|
133
|
-
The hook system uses specific exit codes:
|
|
134
|
-
|
|
135
|
-
- `0` - Success, continue normal processing
|
|
136
|
-
- `2` - Block LLM processing (command was handled)
|
|
137
|
-
- Other - Error occurred
|
|
138
|
-
|
|
139
|
-
## Environment Variables
|
|
140
|
-
|
|
141
|
-
- `CLAUDE_MPM_LOG_LEVEL` - Set to DEBUG for detailed logging
|
|
142
|
-
- `HOOK_EVENT_TYPE` - Set by Claude Code (UserPromptSubmit, PreToolUse, PostToolUse)
|
|
143
|
-
- `HOOK_DATA` - JSON data from Claude Code with event details
|
|
@@ -1,180 +0,0 @@
|
|
|
1
|
-
# Claude MPM Hook Templates
|
|
2
|
-
|
|
3
|
-
This directory contains ready-to-use hook templates for extending Claude Code functionality.
|
|
4
|
-
|
|
5
|
-
## Available Templates
|
|
6
|
-
|
|
7
|
-
### PreToolUse Hooks (Claude Code v2.0.30+)
|
|
8
|
-
|
|
9
|
-
#### `pre_tool_use_template.py`
|
|
10
|
-
|
|
11
|
-
Comprehensive template with multiple example implementations:
|
|
12
|
-
|
|
13
|
-
- **ContextInjectionHook**: Auto-inject project context into file operations
|
|
14
|
-
- **SecurityGuardHook**: Block operations on sensitive files
|
|
15
|
-
- **LoggingHook**: Log all tool invocations for debugging
|
|
16
|
-
- **ParameterEnhancementHook**: Add default parameters to tool calls
|
|
17
|
-
|
|
18
|
-
**Usage:**
|
|
19
|
-
```bash
|
|
20
|
-
# Copy and customize
|
|
21
|
-
cp pre_tool_use_template.py ~/.claude-mpm/hooks/my_hook.py
|
|
22
|
-
chmod +x ~/.claude-mpm/hooks/my_hook.py
|
|
23
|
-
|
|
24
|
-
# Edit to uncomment the implementation you want
|
|
25
|
-
nano ~/.claude-mpm/hooks/my_hook.py
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
#### `pre_tool_use_simple.py`
|
|
29
|
-
|
|
30
|
-
Minimal example for quick customization:
|
|
31
|
-
|
|
32
|
-
- Shows basic hook structure
|
|
33
|
-
- Includes simple parameter enhancement example
|
|
34
|
-
- Includes security guard example
|
|
35
|
-
- Easy to understand and modify
|
|
36
|
-
|
|
37
|
-
**Usage:**
|
|
38
|
-
```bash
|
|
39
|
-
# Copy for quick start
|
|
40
|
-
cp pre_tool_use_simple.py ~/.claude-mpm/hooks/my_hook.py
|
|
41
|
-
chmod +x ~/.claude-mpm/hooks/my_hook.py
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
## Configuration
|
|
45
|
-
|
|
46
|
-
Add hooks to `~/.claude/settings.json`:
|
|
47
|
-
|
|
48
|
-
```json
|
|
49
|
-
{
|
|
50
|
-
"hooks": {
|
|
51
|
-
"PreToolUse": [
|
|
52
|
-
{
|
|
53
|
-
"matcher": "*",
|
|
54
|
-
"hooks": [
|
|
55
|
-
{
|
|
56
|
-
"type": "command",
|
|
57
|
-
"command": "/Users/YOUR_USERNAME/.claude-mpm/hooks/my_hook.py",
|
|
58
|
-
"modifyInput": true
|
|
59
|
-
}
|
|
60
|
-
]
|
|
61
|
-
}
|
|
62
|
-
]
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
## Requirements
|
|
68
|
-
|
|
69
|
-
- Claude Code v2.0.30+ for PreToolUse input modification
|
|
70
|
-
- Python 3.7+
|
|
71
|
-
- claude-mpm installed and configured
|
|
72
|
-
|
|
73
|
-
## Version Check
|
|
74
|
-
|
|
75
|
-
Check if your Claude Code version supports input modification:
|
|
76
|
-
|
|
77
|
-
```bash
|
|
78
|
-
claude --version
|
|
79
|
-
```
|
|
80
|
-
|
|
81
|
-
Or programmatically:
|
|
82
|
-
|
|
83
|
-
```python
|
|
84
|
-
from claude_mpm.hooks.claude_hooks.installer import HookInstaller
|
|
85
|
-
|
|
86
|
-
installer = HookInstaller()
|
|
87
|
-
if installer.supports_pretool_modify():
|
|
88
|
-
print("✓ PreToolUse input modification supported")
|
|
89
|
-
else:
|
|
90
|
-
print(f"✗ Requires Claude Code 2.0.30+ (current: {installer.get_claude_version()})")
|
|
91
|
-
```
|
|
92
|
-
|
|
93
|
-
## Documentation
|
|
94
|
-
|
|
95
|
-
See [PreToolUse Hook Documentation](../../../docs/developer/pretool-use-hooks.md) for:
|
|
96
|
-
- Detailed usage guide
|
|
97
|
-
- Best practices
|
|
98
|
-
- Testing strategies
|
|
99
|
-
- Troubleshooting
|
|
100
|
-
- Advanced examples
|
|
101
|
-
|
|
102
|
-
## Quick Examples
|
|
103
|
-
|
|
104
|
-
### Add Line Numbers to Grep
|
|
105
|
-
|
|
106
|
-
```python
|
|
107
|
-
#!/usr/bin/env python3
|
|
108
|
-
import json
|
|
109
|
-
import sys
|
|
110
|
-
|
|
111
|
-
event = json.loads(sys.stdin.read())
|
|
112
|
-
if event.get("tool_name") == "Grep":
|
|
113
|
-
modified = event["tool_input"].copy()
|
|
114
|
-
modified["-n"] = True
|
|
115
|
-
print(json.dumps({"action": "continue", "tool_input": modified}))
|
|
116
|
-
else:
|
|
117
|
-
print(json.dumps({"action": "continue"}))
|
|
118
|
-
```
|
|
119
|
-
|
|
120
|
-
### Block Sensitive Files
|
|
121
|
-
|
|
122
|
-
```python
|
|
123
|
-
#!/usr/bin/env python3
|
|
124
|
-
import json
|
|
125
|
-
import sys
|
|
126
|
-
|
|
127
|
-
event = json.loads(sys.stdin.read())
|
|
128
|
-
tool_name = event.get("tool_name", "")
|
|
129
|
-
if tool_name in ["Write", "Edit", "Read"]:
|
|
130
|
-
file_path = event["tool_input"].get("file_path", "")
|
|
131
|
-
if ".env" in file_path:
|
|
132
|
-
print(json.dumps({"action": "block", "message": "Access to .env blocked"}))
|
|
133
|
-
sys.exit(0)
|
|
134
|
-
|
|
135
|
-
print(json.dumps({"action": "continue"}))
|
|
136
|
-
```
|
|
137
|
-
|
|
138
|
-
### Add Default Timeout to Bash
|
|
139
|
-
|
|
140
|
-
```python
|
|
141
|
-
#!/usr/bin/env python3
|
|
142
|
-
import json
|
|
143
|
-
import sys
|
|
144
|
-
|
|
145
|
-
event = json.loads(sys.stdin.read())
|
|
146
|
-
if event.get("tool_name") == "Bash":
|
|
147
|
-
modified = event["tool_input"].copy()
|
|
148
|
-
if "timeout" not in modified:
|
|
149
|
-
modified["timeout"] = 30000 # 30 seconds
|
|
150
|
-
print(json.dumps({"action": "continue", "tool_input": modified}))
|
|
151
|
-
sys.exit(0)
|
|
152
|
-
|
|
153
|
-
print(json.dumps({"action": "continue"}))
|
|
154
|
-
```
|
|
155
|
-
|
|
156
|
-
## Testing Your Hook
|
|
157
|
-
|
|
158
|
-
Test manually with sample input:
|
|
159
|
-
|
|
160
|
-
```bash
|
|
161
|
-
echo '{
|
|
162
|
-
"hook_event_name": "PreToolUse",
|
|
163
|
-
"tool_name": "Grep",
|
|
164
|
-
"tool_input": {"pattern": "test"},
|
|
165
|
-
"session_id": "test123",
|
|
166
|
-
"cwd": "/tmp"
|
|
167
|
-
}' | python3 your_hook.py
|
|
168
|
-
```
|
|
169
|
-
|
|
170
|
-
Enable debug mode:
|
|
171
|
-
```bash
|
|
172
|
-
export CLAUDE_MPM_HOOK_DEBUG=true
|
|
173
|
-
```
|
|
174
|
-
|
|
175
|
-
## Support
|
|
176
|
-
|
|
177
|
-
For issues or questions:
|
|
178
|
-
- See [Documentation](../../../docs/developer/pretool-use-hooks.md)
|
|
179
|
-
- Check [GitHub Issues](https://github.com/yourusername/claude-mpm/issues)
|
|
180
|
-
- Review [Examples](./pre_tool_use_template.py)
|
|
@@ -1,147 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"// NOTE": "This is an example configuration for Claude Code PreToolUse hooks",
|
|
3
|
-
"// FILE": "Copy relevant sections to ~/.claude/settings.json",
|
|
4
|
-
"// VERSION": "Requires Claude Code 2.0.30+ for input modification",
|
|
5
|
-
|
|
6
|
-
"hooks": {
|
|
7
|
-
"// PreToolUse with input modification (v2.0.30+)": {
|
|
8
|
-
"description": "Hooks that can modify tool inputs before execution",
|
|
9
|
-
"examples": [
|
|
10
|
-
"Context injection: Add project context to file operations",
|
|
11
|
-
"Security guards: Block operations on sensitive files",
|
|
12
|
-
"Parameter enhancement: Add default parameters",
|
|
13
|
-
"Logging: Track all tool invocations"
|
|
14
|
-
]
|
|
15
|
-
},
|
|
16
|
-
|
|
17
|
-
"PreToolUse": [
|
|
18
|
-
{
|
|
19
|
-
"// Matcher": "Use '*' for all tools or specify tool name",
|
|
20
|
-
"matcher": "*",
|
|
21
|
-
"hooks": [
|
|
22
|
-
{
|
|
23
|
-
"type": "command",
|
|
24
|
-
"// IMPORTANT": "Replace YOUR_USERNAME with your actual username",
|
|
25
|
-
"command": "/Users/YOUR_USERNAME/.claude-mpm/hooks/my_hook.py",
|
|
26
|
-
"// modifyInput": "Set to true to enable input modification (v2.0.30+)",
|
|
27
|
-
"modifyInput": true
|
|
28
|
-
}
|
|
29
|
-
]
|
|
30
|
-
}
|
|
31
|
-
],
|
|
32
|
-
|
|
33
|
-
"// Tool-specific examples": {
|
|
34
|
-
"description": "Target specific tools instead of all tools"
|
|
35
|
-
},
|
|
36
|
-
|
|
37
|
-
"// Example: Security guard for Edit operations": [
|
|
38
|
-
{
|
|
39
|
-
"matcher": "Edit",
|
|
40
|
-
"hooks": [
|
|
41
|
-
{
|
|
42
|
-
"type": "command",
|
|
43
|
-
"command": "/Users/YOUR_USERNAME/.claude-mpm/hooks/edit-guard.py",
|
|
44
|
-
"modifyInput": true
|
|
45
|
-
}
|
|
46
|
-
]
|
|
47
|
-
}
|
|
48
|
-
],
|
|
49
|
-
|
|
50
|
-
"// Example: Add timeout to all Bash commands": [
|
|
51
|
-
{
|
|
52
|
-
"matcher": "Bash",
|
|
53
|
-
"hooks": [
|
|
54
|
-
{
|
|
55
|
-
"type": "command",
|
|
56
|
-
"command": "/Users/YOUR_USERNAME/.claude-mpm/hooks/bash-timeout.py",
|
|
57
|
-
"modifyInput": true
|
|
58
|
-
}
|
|
59
|
-
]
|
|
60
|
-
}
|
|
61
|
-
],
|
|
62
|
-
|
|
63
|
-
"// Example: Log all Grep operations": [
|
|
64
|
-
{
|
|
65
|
-
"matcher": "Grep",
|
|
66
|
-
"hooks": [
|
|
67
|
-
{
|
|
68
|
-
"type": "command",
|
|
69
|
-
"command": "/Users/YOUR_USERNAME/.claude-mpm/hooks/grep-logger.py",
|
|
70
|
-
"modifyInput": true
|
|
71
|
-
}
|
|
72
|
-
]
|
|
73
|
-
}
|
|
74
|
-
],
|
|
75
|
-
|
|
76
|
-
"// Example: Multiple hooks in sequence": [
|
|
77
|
-
{
|
|
78
|
-
"matcher": "*",
|
|
79
|
-
"hooks": [
|
|
80
|
-
{
|
|
81
|
-
"type": "command",
|
|
82
|
-
"command": "/Users/YOUR_USERNAME/.claude-mpm/hooks/logger.py",
|
|
83
|
-
"modifyInput": true,
|
|
84
|
-
"// note": "First hook: Log the operation"
|
|
85
|
-
},
|
|
86
|
-
{
|
|
87
|
-
"type": "command",
|
|
88
|
-
"command": "/Users/YOUR_USERNAME/.claude-mpm/hooks/guard.py",
|
|
89
|
-
"modifyInput": true,
|
|
90
|
-
"// note": "Second hook: Validate and potentially block"
|
|
91
|
-
},
|
|
92
|
-
{
|
|
93
|
-
"type": "command",
|
|
94
|
-
"command": "/Users/YOUR_USERNAME/.claude-mpm/hooks/enhancer.py",
|
|
95
|
-
"modifyInput": true,
|
|
96
|
-
"// note": "Third hook: Add default parameters"
|
|
97
|
-
}
|
|
98
|
-
]
|
|
99
|
-
}
|
|
100
|
-
],
|
|
101
|
-
|
|
102
|
-
"// Legacy hooks (v1.0.92+) still work": {
|
|
103
|
-
"UserPromptSubmit": [
|
|
104
|
-
{
|
|
105
|
-
"hooks": [
|
|
106
|
-
{
|
|
107
|
-
"type": "command",
|
|
108
|
-
"command": "/Users/YOUR_USERNAME/.claude-mpm/hooks/claude-hook-handler.sh"
|
|
109
|
-
}
|
|
110
|
-
]
|
|
111
|
-
}
|
|
112
|
-
],
|
|
113
|
-
"PostToolUse": [
|
|
114
|
-
{
|
|
115
|
-
"matcher": "*",
|
|
116
|
-
"hooks": [
|
|
117
|
-
{
|
|
118
|
-
"type": "command",
|
|
119
|
-
"command": "/Users/YOUR_USERNAME/.claude-mpm/hooks/claude-hook-handler.sh"
|
|
120
|
-
}
|
|
121
|
-
]
|
|
122
|
-
}
|
|
123
|
-
]
|
|
124
|
-
}
|
|
125
|
-
},
|
|
126
|
-
|
|
127
|
-
"// Quick Setup Instructions": {
|
|
128
|
-
"1": "Copy a template from src/claude_mpm/hooks/templates/",
|
|
129
|
-
"2": "Make it executable: chmod +x ~/.claude-mpm/hooks/my_hook.py",
|
|
130
|
-
"3": "Copy the relevant configuration section above to ~/.claude/settings.json",
|
|
131
|
-
"4": "Replace YOUR_USERNAME with your actual username",
|
|
132
|
-
"5": "Test: echo '{...}' | python3 ~/.claude-mpm/hooks/my_hook.py"
|
|
133
|
-
},
|
|
134
|
-
|
|
135
|
-
"// Documentation": {
|
|
136
|
-
"Quick Start": "docs/user/pretool-use-quick-start.md",
|
|
137
|
-
"Developer Guide": "docs/developer/pretool-use-hooks.md",
|
|
138
|
-
"Templates": "src/claude_mpm/hooks/templates/",
|
|
139
|
-
"Examples": "src/claude_mpm/hooks/templates/pre_tool_use_template.py"
|
|
140
|
-
},
|
|
141
|
-
|
|
142
|
-
"// Version Requirements": {
|
|
143
|
-
"Hooks": "Claude Code 1.0.92+",
|
|
144
|
-
"Input Modification": "Claude Code 2.0.30+",
|
|
145
|
-
"Check Version": "claude --version"
|
|
146
|
-
}
|
|
147
|
-
}
|