claude-mpm 5.1.9__py3-none-any.whl → 5.4.48__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of claude-mpm might be problematic. Click here for more details.
- claude_mpm/VERSION +1 -1
- claude_mpm/__init__.py +4 -0
- claude_mpm/agents/BASE_AGENT.md +164 -0
- claude_mpm/agents/CLAUDE_MPM_TEACHER_OUTPUT_STYLE.md +1 -1
- claude_mpm/agents/MEMORY.md +1 -1
- claude_mpm/agents/PM_INSTRUCTIONS.md +843 -900
- claude_mpm/agents/WORKFLOW.md +5 -254
- claude_mpm/agents/agent_loader.py +13 -44
- claude_mpm/agents/base_agent.json +1 -1
- claude_mpm/agents/frontmatter_validator.py +2 -2
- claude_mpm/agents/templates/circuit-breakers.md +138 -1
- claude_mpm/cli/__main__.py +4 -0
- claude_mpm/cli/chrome_devtools_installer.py +175 -0
- claude_mpm/cli/commands/agent_state_manager.py +18 -27
- claude_mpm/cli/commands/agents.py +9 -40
- claude_mpm/cli/commands/auto_configure.py +210 -25
- claude_mpm/cli/commands/config.py +88 -2
- claude_mpm/cli/commands/configure.py +1098 -159
- claude_mpm/cli/commands/configure_agent_display.py +25 -6
- claude_mpm/cli/commands/mpm_init/core.py +225 -46
- claude_mpm/cli/commands/mpm_init/knowledge_extractor.py +481 -0
- claude_mpm/cli/commands/mpm_init/prompts.py +280 -0
- claude_mpm/cli/commands/postmortem.py +1 -1
- claude_mpm/cli/commands/profile.py +277 -0
- claude_mpm/cli/commands/skills.py +218 -197
- claude_mpm/cli/commands/summarize.py +413 -0
- claude_mpm/cli/executor.py +21 -3
- claude_mpm/cli/interactive/agent_wizard.py +2 -2
- claude_mpm/cli/parsers/agents_parser.py +0 -9
- claude_mpm/cli/parsers/auto_configure_parser.py +0 -138
- claude_mpm/cli/parsers/base_parser.py +12 -0
- claude_mpm/cli/parsers/config_parser.py +153 -83
- claude_mpm/cli/parsers/profile_parser.py +148 -0
- claude_mpm/cli/parsers/skills_parser.py +0 -5
- claude_mpm/cli/startup.py +876 -149
- claude_mpm/commands/mpm-config.md +28 -0
- claude_mpm/commands/mpm-doctor.md +9 -22
- claude_mpm/commands/mpm-help.md +5 -287
- claude_mpm/commands/mpm-init.md +81 -507
- claude_mpm/commands/mpm-monitor.md +15 -402
- claude_mpm/commands/mpm-organize.md +120 -0
- claude_mpm/commands/mpm-postmortem.md +6 -108
- claude_mpm/commands/mpm-session-resume.md +12 -363
- claude_mpm/commands/mpm-status.md +5 -69
- claude_mpm/commands/mpm-ticket-view.md +52 -495
- claude_mpm/commands/mpm-version.md +5 -107
- claude_mpm/config/agent_sources.py +27 -0
- claude_mpm/core/config.py +2 -4
- claude_mpm/core/framework/formatters/content_formatter.py +3 -13
- claude_mpm/core/framework/loaders/agent_loader.py +8 -5
- claude_mpm/core/framework/loaders/instruction_loader.py +52 -11
- claude_mpm/core/framework_loader.py +4 -2
- claude_mpm/core/logger.py +13 -0
- claude_mpm/core/optimized_startup.py +59 -0
- claude_mpm/core/shared/config_loader.py +1 -1
- claude_mpm/core/socketio_pool.py +3 -3
- claude_mpm/core/unified_agent_registry.py +5 -15
- claude_mpm/dashboard/static/svelte-build/_app/env.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/assets/0.B_FtCwCQ.css +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/assets/2.Cl_eSA4x.css +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/BgChzWQ1.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/CIXEwuWe.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/CWc5urbQ.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/DMkZpdF2.js +2 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/DjhvlsAc.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/N4qtv3Hx.js +2 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/chunks/uj46x2Wr.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/entry/app.DTL5mJO-.js +2 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/entry/start.DzuEhzqh.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/nodes/0.CAGBuiOw.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/nodes/1.DFLC8jdE.js +1 -0
- claude_mpm/dashboard/static/svelte-build/_app/immutable/nodes/2.DPvEihJJ.js +10 -0
- claude_mpm/dashboard/static/svelte-build/_app/version.json +1 -0
- claude_mpm/dashboard/static/svelte-build/favicon.svg +7 -0
- claude_mpm/dashboard/static/svelte-build/index.html +36 -0
- claude_mpm/hooks/claude_hooks/__pycache__/__init__.cpython-311.pyc +0 -0
- claude_mpm/hooks/claude_hooks/__pycache__/correlation_manager.cpython-311.pyc +0 -0
- claude_mpm/hooks/claude_hooks/__pycache__/event_handlers.cpython-311.pyc +0 -0
- claude_mpm/hooks/claude_hooks/__pycache__/hook_handler.cpython-311.pyc +0 -0
- claude_mpm/hooks/claude_hooks/__pycache__/installer.cpython-311.pyc +0 -0
- claude_mpm/hooks/claude_hooks/__pycache__/memory_integration.cpython-311.pyc +0 -0
- claude_mpm/hooks/claude_hooks/__pycache__/response_tracking.cpython-311.pyc +0 -0
- claude_mpm/hooks/claude_hooks/__pycache__/tool_analysis.cpython-311.pyc +0 -0
- claude_mpm/hooks/claude_hooks/correlation_manager.py +60 -0
- claude_mpm/hooks/claude_hooks/event_handlers.py +211 -78
- claude_mpm/hooks/claude_hooks/hook_handler.py +155 -1
- claude_mpm/hooks/claude_hooks/installer.py +33 -10
- claude_mpm/hooks/claude_hooks/memory_integration.py +26 -9
- claude_mpm/hooks/claude_hooks/response_tracking.py +2 -3
- claude_mpm/hooks/claude_hooks/services/__pycache__/__init__.cpython-311.pyc +0 -0
- claude_mpm/hooks/claude_hooks/services/__pycache__/connection_manager.cpython-311.pyc +0 -0
- claude_mpm/hooks/claude_hooks/services/__pycache__/connection_manager_http.cpython-311.pyc +0 -0
- claude_mpm/hooks/claude_hooks/services/__pycache__/duplicate_detector.cpython-311.pyc +0 -0
- claude_mpm/hooks/claude_hooks/services/__pycache__/state_manager.cpython-311.pyc +0 -0
- claude_mpm/hooks/claude_hooks/services/__pycache__/subagent_processor.cpython-311.pyc +0 -0
- claude_mpm/hooks/claude_hooks/services/connection_manager.py +30 -6
- claude_mpm/hooks/kuzu_memory_hook.py +5 -5
- claude_mpm/hooks/memory_integration_hook.py +46 -1
- claude_mpm/init.py +63 -19
- claude_mpm/models/git_repository.py +3 -3
- claude_mpm/scripts/claude-hook-handler.sh +58 -18
- claude_mpm/scripts/launch_monitor.py +93 -13
- claude_mpm/services/agents/agent_builder.py +3 -3
- claude_mpm/services/agents/agent_recommendation_service.py +278 -0
- claude_mpm/services/agents/agent_review_service.py +280 -0
- claude_mpm/services/agents/cache_git_manager.py +6 -6
- claude_mpm/services/agents/deployment/agent_deployment.py +29 -7
- claude_mpm/services/agents/deployment/agent_discovery_service.py +4 -5
- claude_mpm/services/agents/deployment/agent_format_converter.py +23 -13
- claude_mpm/services/agents/deployment/agent_template_builder.py +32 -20
- claude_mpm/services/agents/deployment/agents_directory_resolver.py +2 -2
- claude_mpm/services/agents/deployment/async_agent_deployment.py +31 -27
- claude_mpm/services/agents/deployment/local_template_deployment.py +3 -1
- claude_mpm/services/agents/deployment/multi_source_deployment_service.py +247 -35
- claude_mpm/services/agents/deployment/remote_agent_discovery_service.py +392 -87
- claude_mpm/services/agents/git_source_manager.py +53 -4
- claude_mpm/services/agents/loading/base_agent_manager.py +1 -13
- claude_mpm/services/agents/recommender.py +5 -3
- claude_mpm/services/agents/single_tier_deployment_service.py +2 -2
- claude_mpm/services/agents/sources/git_source_sync_service.py +120 -7
- claude_mpm/services/agents/startup_sync.py +22 -2
- claude_mpm/services/agents/toolchain_detector.py +10 -6
- claude_mpm/services/analysis/__init__.py +11 -1
- claude_mpm/services/analysis/clone_detector.py +1030 -0
- claude_mpm/services/command_deployment_service.py +81 -10
- claude_mpm/services/diagnostics/checks/agent_check.py +2 -2
- claude_mpm/services/diagnostics/checks/agent_sources_check.py +1 -1
- claude_mpm/services/event_bus/config.py +3 -1
- claude_mpm/services/git/git_operations_service.py +101 -16
- claude_mpm/services/monitor/daemon.py +9 -2
- claude_mpm/services/monitor/daemon_manager.py +39 -3
- claude_mpm/services/monitor/management/lifecycle.py +8 -1
- claude_mpm/services/monitor/server.py +698 -22
- claude_mpm/services/pm_skills_deployer.py +711 -0
- claude_mpm/services/profile_manager.py +331 -0
- claude_mpm/services/self_upgrade_service.py +120 -12
- claude_mpm/services/skills/__init__.py +3 -0
- claude_mpm/services/skills/git_skill_source_manager.py +130 -2
- claude_mpm/services/skills/selective_skill_deployer.py +704 -0
- claude_mpm/services/skills/skill_to_agent_mapper.py +406 -0
- claude_mpm/services/skills_deployer.py +127 -9
- claude_mpm/services/socketio/dashboard_server.py +1 -0
- claude_mpm/services/socketio/event_normalizer.py +51 -6
- claude_mpm/services/socketio/server/core.py +386 -108
- claude_mpm/services/version_control/git_operations.py +103 -0
- claude_mpm/skills/skill_manager.py +92 -3
- claude_mpm/utils/agent_dependency_loader.py +14 -2
- claude_mpm/utils/agent_filters.py +17 -44
- claude_mpm/utils/migration.py +4 -4
- claude_mpm/utils/robust_installer.py +47 -3
- {claude_mpm-5.1.9.dist-info → claude_mpm-5.4.48.dist-info}/METADATA +53 -87
- {claude_mpm-5.1.9.dist-info → claude_mpm-5.4.48.dist-info}/RECORD +157 -197
- claude_mpm-5.4.48.dist-info/entry_points.txt +5 -0
- claude_mpm-5.4.48.dist-info/licenses/LICENSE +94 -0
- claude_mpm-5.4.48.dist-info/licenses/LICENSE-FAQ.md +153 -0
- claude_mpm/agents/BASE_AGENT_TEMPLATE.md +0 -292
- claude_mpm/agents/BASE_DOCUMENTATION.md +0 -53
- claude_mpm/agents/BASE_OPS.md +0 -219
- claude_mpm/agents/BASE_PM.md +0 -480
- claude_mpm/agents/BASE_PROMPT_ENGINEER.md +0 -787
- claude_mpm/agents/BASE_QA.md +0 -167
- claude_mpm/agents/BASE_RESEARCH.md +0 -53
- claude_mpm/agents/base_agent_loader.py +0 -601
- claude_mpm/cli/commands/agents_detect.py +0 -380
- claude_mpm/cli/commands/agents_recommend.py +0 -309
- claude_mpm/cli/ticket_cli.py +0 -35
- claude_mpm/commands/mpm-agents-auto-configure.md +0 -278
- claude_mpm/commands/mpm-agents-detect.md +0 -177
- claude_mpm/commands/mpm-agents-list.md +0 -131
- claude_mpm/commands/mpm-agents-recommend.md +0 -223
- claude_mpm/commands/mpm-config-view.md +0 -150
- claude_mpm/commands/mpm-ticket-organize.md +0 -304
- claude_mpm/dashboard/analysis_runner.py +0 -455
- claude_mpm/dashboard/index.html +0 -13
- claude_mpm/dashboard/open_dashboard.py +0 -66
- claude_mpm/dashboard/static/css/activity.css +0 -1958
- claude_mpm/dashboard/static/css/connection-status.css +0 -370
- claude_mpm/dashboard/static/css/dashboard.css +0 -4701
- claude_mpm/dashboard/static/js/components/activity-tree.js +0 -1871
- claude_mpm/dashboard/static/js/components/agent-hierarchy.js +0 -777
- claude_mpm/dashboard/static/js/components/agent-inference.js +0 -956
- claude_mpm/dashboard/static/js/components/build-tracker.js +0 -333
- claude_mpm/dashboard/static/js/components/code-simple.js +0 -857
- claude_mpm/dashboard/static/js/components/connection-debug.js +0 -654
- claude_mpm/dashboard/static/js/components/diff-viewer.js +0 -891
- claude_mpm/dashboard/static/js/components/event-processor.js +0 -542
- claude_mpm/dashboard/static/js/components/event-viewer.js +0 -1155
- claude_mpm/dashboard/static/js/components/export-manager.js +0 -368
- claude_mpm/dashboard/static/js/components/file-change-tracker.js +0 -443
- claude_mpm/dashboard/static/js/components/file-change-viewer.js +0 -690
- claude_mpm/dashboard/static/js/components/file-tool-tracker.js +0 -724
- claude_mpm/dashboard/static/js/components/file-viewer.js +0 -580
- claude_mpm/dashboard/static/js/components/hud-library-loader.js +0 -211
- claude_mpm/dashboard/static/js/components/hud-manager.js +0 -671
- claude_mpm/dashboard/static/js/components/hud-visualizer.js +0 -1718
- claude_mpm/dashboard/static/js/components/module-viewer.js +0 -2764
- claude_mpm/dashboard/static/js/components/session-manager.js +0 -579
- claude_mpm/dashboard/static/js/components/socket-manager.js +0 -368
- claude_mpm/dashboard/static/js/components/ui-state-manager.js +0 -749
- claude_mpm/dashboard/static/js/components/unified-data-viewer.js +0 -1824
- claude_mpm/dashboard/static/js/components/working-directory.js +0 -920
- claude_mpm/dashboard/static/js/connection-manager.js +0 -536
- claude_mpm/dashboard/static/js/dashboard.js +0 -1914
- claude_mpm/dashboard/static/js/extension-error-handler.js +0 -164
- claude_mpm/dashboard/static/js/socket-client.js +0 -1474
- claude_mpm/dashboard/static/js/tab-isolation-fix.js +0 -185
- claude_mpm/dashboard/static/socket.io.min.js +0 -7
- claude_mpm/dashboard/static/socket.io.v4.8.1.backup.js +0 -7
- claude_mpm/dashboard/templates/code_simple.html +0 -153
- claude_mpm/dashboard/templates/index.html +0 -606
- claude_mpm/dashboard/test_dashboard.html +0 -372
- claude_mpm/scripts/mcp_server.py +0 -75
- claude_mpm/scripts/mcp_wrapper.py +0 -39
- claude_mpm/services/mcp_gateway/__init__.py +0 -159
- claude_mpm/services/mcp_gateway/auto_configure.py +0 -369
- claude_mpm/services/mcp_gateway/config/__init__.py +0 -17
- claude_mpm/services/mcp_gateway/config/config_loader.py +0 -296
- claude_mpm/services/mcp_gateway/config/config_schema.py +0 -243
- claude_mpm/services/mcp_gateway/config/configuration.py +0 -429
- claude_mpm/services/mcp_gateway/core/__init__.py +0 -43
- claude_mpm/services/mcp_gateway/core/base.py +0 -312
- claude_mpm/services/mcp_gateway/core/exceptions.py +0 -253
- claude_mpm/services/mcp_gateway/core/interfaces.py +0 -443
- claude_mpm/services/mcp_gateway/core/process_pool.py +0 -977
- claude_mpm/services/mcp_gateway/core/singleton_manager.py +0 -315
- claude_mpm/services/mcp_gateway/core/startup_verification.py +0 -316
- claude_mpm/services/mcp_gateway/main.py +0 -589
- claude_mpm/services/mcp_gateway/registry/__init__.py +0 -12
- claude_mpm/services/mcp_gateway/registry/service_registry.py +0 -412
- claude_mpm/services/mcp_gateway/registry/tool_registry.py +0 -489
- claude_mpm/services/mcp_gateway/server/__init__.py +0 -15
- claude_mpm/services/mcp_gateway/server/mcp_gateway.py +0 -414
- claude_mpm/services/mcp_gateway/server/stdio_handler.py +0 -372
- claude_mpm/services/mcp_gateway/server/stdio_server.py +0 -712
- claude_mpm/services/mcp_gateway/tools/__init__.py +0 -36
- claude_mpm/services/mcp_gateway/tools/base_adapter.py +0 -485
- claude_mpm/services/mcp_gateway/tools/document_summarizer.py +0 -789
- claude_mpm/services/mcp_gateway/tools/external_mcp_services.py +0 -654
- claude_mpm/services/mcp_gateway/tools/health_check_tool.py +0 -456
- claude_mpm/services/mcp_gateway/tools/hello_world.py +0 -551
- claude_mpm/services/mcp_gateway/tools/kuzu_memory_service.py +0 -555
- claude_mpm/services/mcp_gateway/utils/__init__.py +0 -14
- claude_mpm/services/mcp_gateway/utils/package_version_checker.py +0 -160
- claude_mpm/services/mcp_gateway/utils/update_preferences.py +0 -170
- claude_mpm-5.1.9.dist-info/entry_points.txt +0 -10
- claude_mpm-5.1.9.dist-info/licenses/LICENSE +0 -21
- {claude_mpm-5.1.9.dist-info → claude_mpm-5.4.48.dist-info}/WHEEL +0 -0
- {claude_mpm-5.1.9.dist-info → claude_mpm-5.4.48.dist-info}/top_level.txt +0 -0
|
@@ -4,415 +4,28 @@ command: monitor
|
|
|
4
4
|
aliases: [mpm-monitor]
|
|
5
5
|
migration_target: /mpm/system:monitor
|
|
6
6
|
category: system
|
|
7
|
-
|
|
8
|
-
description: Control Claude MPM monitoring server for real-time dashboard interface
|
|
7
|
+
description: Control monitoring server and dashboard
|
|
9
8
|
---
|
|
10
|
-
#
|
|
9
|
+
# /mpm-monitor
|
|
11
10
|
|
|
12
|
-
|
|
11
|
+
Manage Socket.IO monitoring server for real-time dashboard.
|
|
13
12
|
|
|
14
13
|
## Usage
|
|
15
|
-
|
|
16
|
-
```
|
|
17
|
-
/mpm-monitor [subcommand] [options]
|
|
18
|
-
```
|
|
19
|
-
|
|
20
|
-
## Description
|
|
21
|
-
|
|
22
|
-
This slash command manages the Socket.IO monitoring server that provides real-time event tracking and visualization through a web-based dashboard. The monitoring server listens for events from the Claude MPM framework and displays them in an interactive interface accessible via web browser.
|
|
23
|
-
|
|
24
|
-
The monitoring server typically runs on port 8765 (or auto-selects an available port in the range 8765-8785) and provides a real-time dashboard at `http://localhost:8765`.
|
|
25
|
-
|
|
26
|
-
## Available Subcommands
|
|
27
|
-
|
|
28
|
-
### Start Monitoring Server
|
|
29
|
-
Start the Socket.IO monitoring server to enable real-time event tracking.
|
|
30
|
-
|
|
31
|
-
```
|
|
32
|
-
/mpm-monitor start [--port PORT] [--host HOST] [--dashboard] [--dashboard-port PORT] [--foreground] [--background] [--force] [--no-reclaim]
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
**Options:**
|
|
36
|
-
- `--port PORT`: Specific port to start server on (auto-selects if not specified, range: 8765-8785)
|
|
37
|
-
- `--host HOST`: Host to bind to (default: localhost)
|
|
38
|
-
- `--dashboard`: Enable web dashboard interface (enabled by default)
|
|
39
|
-
- `--dashboard-port PORT`: Dashboard port number (default: 8766)
|
|
40
|
-
- `--foreground`: Run server in foreground mode (blocks terminal)
|
|
41
|
-
- `--background`: Run server in background/daemon mode (default behavior)
|
|
42
|
-
- `--force`: Force kill daemon processes to reclaim ports (use with caution)
|
|
43
|
-
- `--no-reclaim`: Don't automatically reclaim ports from debug scripts
|
|
44
|
-
|
|
45
|
-
**Examples:**
|
|
46
|
-
```
|
|
47
|
-
/mpm-monitor start
|
|
48
|
-
/mpm-monitor start --port 8765
|
|
49
|
-
/mpm-monitor start --port 8770 --dashboard --dashboard-port 8771
|
|
50
|
-
/mpm-monitor start --foreground
|
|
51
|
-
/mpm-monitor start --force --port 8765
|
|
52
|
-
```
|
|
53
|
-
|
|
54
|
-
**Default Behavior:**
|
|
55
|
-
- Runs in background/daemon mode
|
|
56
|
-
- Auto-selects first available port in range 8765-8785
|
|
57
|
-
- Enables web dashboard on port 8766
|
|
58
|
-
- Gracefully reclaims ports from debug scripts (not daemons)
|
|
59
|
-
|
|
60
|
-
### Stop Monitoring Server
|
|
61
|
-
Stop a running monitoring server instance.
|
|
62
|
-
|
|
63
|
-
```
|
|
64
|
-
/mpm-monitor stop [--port PORT] [--force]
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
**Options:**
|
|
68
|
-
- `--port PORT`: Port of server to stop (stops all instances if not specified)
|
|
69
|
-
- `--force`: Force stop even if clients are connected
|
|
70
|
-
|
|
71
|
-
**Examples:**
|
|
72
|
-
```
|
|
73
|
-
/mpm-monitor stop
|
|
74
|
-
/mpm-monitor stop --port 8765
|
|
75
|
-
/mpm-monitor stop --force
|
|
76
|
-
```
|
|
77
|
-
|
|
78
|
-
**Behavior:**
|
|
79
|
-
- Without `--port`: Stops all running monitoring server instances
|
|
80
|
-
- With `--port`: Stops only the server on specified port
|
|
81
|
-
- Without `--force`: Gracefully disconnects clients before stopping
|
|
82
|
-
- With `--force`: Immediately stops server regardless of client connections
|
|
83
|
-
|
|
84
|
-
### Restart Monitoring Server
|
|
85
|
-
Restart the monitoring server (stop and start in one operation).
|
|
86
|
-
|
|
87
|
-
```
|
|
88
|
-
/mpm-monitor restart [--port PORT] [--host HOST]
|
|
89
|
-
```
|
|
90
|
-
|
|
91
|
-
**Options:**
|
|
92
|
-
- `--port PORT`: Port to restart on (uses previous port if not specified)
|
|
93
|
-
- `--host HOST`: Host to bind to (default: localhost)
|
|
94
|
-
|
|
95
|
-
**Examples:**
|
|
96
|
-
```
|
|
97
|
-
/mpm-monitor restart
|
|
98
|
-
/mpm-monitor restart --port 8770
|
|
99
|
-
/mpm-monitor restart --port 8765 --host 0.0.0.0
|
|
100
|
-
```
|
|
101
|
-
|
|
102
|
-
**Behavior:**
|
|
103
|
-
- Stops existing server instance
|
|
104
|
-
- Starts new instance with same or updated configuration
|
|
105
|
-
- Preserves client connections where possible
|
|
106
|
-
|
|
107
|
-
### Check Server Status
|
|
108
|
-
Display status information about running monitoring servers.
|
|
109
|
-
|
|
110
|
-
```
|
|
111
|
-
/mpm-monitor status [--verbose] [--show-ports]
|
|
112
|
-
```
|
|
113
|
-
|
|
114
|
-
**Options:**
|
|
115
|
-
- `--verbose`: Show detailed status information (process IDs, uptime, connections)
|
|
116
|
-
- `--show-ports`: Show status of all ports in the range (8765-8785)
|
|
117
|
-
|
|
118
|
-
**Examples:**
|
|
119
|
-
```
|
|
120
|
-
/mpm-monitor status
|
|
121
|
-
/mpm-monitor status --verbose
|
|
122
|
-
/mpm-monitor status --show-ports
|
|
123
|
-
```
|
|
124
|
-
|
|
125
|
-
**Status Information:**
|
|
126
|
-
- Running server instances and their ports
|
|
127
|
-
- Process IDs and uptime
|
|
128
|
-
- Number of connected clients
|
|
129
|
-
- Dashboard URLs
|
|
130
|
-
- Port availability status (with --show-ports)
|
|
131
|
-
|
|
132
|
-
### Start on Specific Port
|
|
133
|
-
Start or restart monitoring server on a specific port (convenience command).
|
|
134
|
-
|
|
135
|
-
```
|
|
136
|
-
/mpm-monitor port <PORT> [--host HOST] [--force] [--no-reclaim]
|
|
137
|
-
```
|
|
138
|
-
|
|
139
|
-
**Arguments:**
|
|
140
|
-
- `PORT`: Port number to use (required)
|
|
141
|
-
|
|
142
|
-
**Options:**
|
|
143
|
-
- `--host HOST`: Host to bind to (default: localhost)
|
|
144
|
-
- `--force`: Force kill daemon processes to reclaim port (use with caution)
|
|
145
|
-
- `--no-reclaim`: Don't automatically reclaim port from debug scripts
|
|
146
|
-
|
|
147
|
-
**Examples:**
|
|
148
|
-
```
|
|
149
|
-
/mpm-monitor port 8765
|
|
150
|
-
/mpm-monitor port 8770 --host 0.0.0.0
|
|
151
|
-
/mpm-monitor port 8765 --force
|
|
152
|
-
```
|
|
153
|
-
|
|
154
|
-
**Behavior:**
|
|
155
|
-
- If server already running on port: restarts it
|
|
156
|
-
- If port is in use by another process: fails (unless --force)
|
|
157
|
-
- Auto-reclaims ports from debug scripts (unless --no-reclaim)
|
|
158
|
-
|
|
159
|
-
## Implementation
|
|
160
|
-
|
|
161
|
-
This command executes:
|
|
162
|
-
```bash
|
|
163
|
-
claude-mpm monitor [subcommand] [options]
|
|
164
|
-
```
|
|
165
|
-
|
|
166
|
-
The slash command passes through to the actual CLI monitoring system, which manages Socket.IO server processes.
|
|
167
|
-
|
|
168
|
-
## Monitoring Features
|
|
169
|
-
|
|
170
|
-
### Real-Time Event Tracking
|
|
171
|
-
The monitoring server captures and displays:
|
|
172
|
-
- **Agent Events**: Task delegation, completion, errors
|
|
173
|
-
- **Tool Usage**: File operations, bash commands, API calls
|
|
174
|
-
- **System Events**: Server startup/shutdown, configuration changes
|
|
175
|
-
- **Project Events**: File changes, git operations, test results
|
|
176
|
-
- **Memory Operations**: Knowledge persistence, context updates
|
|
177
|
-
- **WebSocket Events**: Client connections, disconnections, errors
|
|
178
|
-
|
|
179
|
-
### Web Dashboard
|
|
180
|
-
The dashboard interface provides:
|
|
181
|
-
- **Live Event Stream**: Real-time event feed with filtering
|
|
182
|
-
- **Project Overview**: Active agents, current tasks, system status
|
|
183
|
-
- **Performance Metrics**: Event rates, processing times, error counts
|
|
184
|
-
- **Event History**: Searchable log of past events
|
|
185
|
-
- **Connection Status**: Client connections, server health
|
|
186
|
-
- **Visualization**: Event timelines, agent activity graphs
|
|
187
|
-
|
|
188
|
-
### Port Management
|
|
189
|
-
The monitoring server implements smart port selection:
|
|
190
|
-
- **Auto-Selection**: Finds first available port in range 8765-8785
|
|
191
|
-
- **Port Reclamation**: Gracefully reclaims ports from debug scripts
|
|
192
|
-
- **Conflict Resolution**: Detects and handles port conflicts
|
|
193
|
-
- **Multi-Instance**: Supports multiple servers on different ports
|
|
194
|
-
|
|
195
|
-
## Expected Output
|
|
196
|
-
|
|
197
|
-
### Start Command Output
|
|
198
|
-
```
|
|
199
|
-
Starting Socket.IO monitoring server...
|
|
200
|
-
|
|
201
|
-
✓ Server started successfully
|
|
202
|
-
- Server URL: http://localhost:8765
|
|
203
|
-
- Dashboard URL: http://localhost:8766
|
|
204
|
-
- Process ID: 12345
|
|
205
|
-
- Mode: background
|
|
206
|
-
|
|
207
|
-
Monitoring server is ready for connections.
|
|
208
|
-
Open http://localhost:8766 in your browser to view the dashboard.
|
|
209
|
-
```
|
|
210
|
-
|
|
211
|
-
### Stop Command Output
|
|
212
|
-
```
|
|
213
|
-
Stopping monitoring server...
|
|
214
|
-
|
|
215
|
-
✓ Server on port 8765 stopped successfully
|
|
216
|
-
- Disconnected 3 clients gracefully
|
|
217
|
-
- Process 12345 terminated
|
|
218
|
-
|
|
219
|
-
Monitoring server stopped.
|
|
220
|
-
```
|
|
221
|
-
|
|
222
|
-
### Status Command Output
|
|
223
|
-
```
|
|
224
|
-
Monitoring Server Status
|
|
225
|
-
========================
|
|
226
|
-
|
|
227
|
-
Active Servers: 1
|
|
228
|
-
|
|
229
|
-
Server 1:
|
|
230
|
-
- Port: 8765
|
|
231
|
-
- Dashboard: http://localhost:8766
|
|
232
|
-
- Process ID: 12345
|
|
233
|
-
- Uptime: 2h 15m 30s
|
|
234
|
-
- Connected Clients: 3
|
|
235
|
-
- Status: Running
|
|
236
|
-
|
|
237
|
-
Dashboard accessible at: http://localhost:8766
|
|
238
|
-
```
|
|
239
|
-
|
|
240
|
-
### Status with --verbose Output
|
|
241
|
-
```
|
|
242
|
-
Monitoring Server Status (Detailed)
|
|
243
|
-
====================================
|
|
244
|
-
|
|
245
|
-
Active Servers: 1
|
|
246
|
-
|
|
247
|
-
Server 1:
|
|
248
|
-
- Port: 8765
|
|
249
|
-
- Host: localhost
|
|
250
|
-
- Dashboard: http://localhost:8766
|
|
251
|
-
- Dashboard Port: 8766
|
|
252
|
-
- Process ID: 12345
|
|
253
|
-
- Started: 2025-01-08 14:30:15
|
|
254
|
-
- Uptime: 2h 15m 30s
|
|
255
|
-
- Connected Clients: 3
|
|
256
|
-
- Events Processed: 1,247
|
|
257
|
-
- Average Event Rate: 0.17/sec
|
|
258
|
-
- Status: Running (Healthy)
|
|
259
|
-
|
|
260
|
-
Client Connections:
|
|
261
|
-
1. Browser (127.0.0.1:54321) - Connected 2h 10m ago
|
|
262
|
-
2. CLI Monitor (127.0.0.1:54322) - Connected 1h 45m ago
|
|
263
|
-
3. External Tool (127.0.0.1:54323) - Connected 30m ago
|
|
264
|
-
|
|
265
|
-
Dashboard accessible at: http://localhost:8766
|
|
266
|
-
```
|
|
267
|
-
|
|
268
|
-
### Status with --show-ports Output
|
|
269
|
-
```
|
|
270
|
-
Monitoring Server Status
|
|
271
|
-
========================
|
|
272
|
-
|
|
273
|
-
Active Servers: 1
|
|
274
|
-
Available Ports: 19
|
|
275
|
-
|
|
276
|
-
Port Status (8765-8785):
|
|
277
|
-
8765: ✓ RUNNING (PID 12345, 3 clients)
|
|
278
|
-
8766: • IN USE (Dashboard for 8765)
|
|
279
|
-
8767: ○ AVAILABLE
|
|
280
|
-
8768: ○ AVAILABLE
|
|
281
|
-
8769: ○ AVAILABLE
|
|
282
|
-
8770: ○ AVAILABLE
|
|
283
|
-
... (additional ports)
|
|
284
|
-
8785: ○ AVAILABLE
|
|
285
|
-
|
|
286
|
-
Legend:
|
|
287
|
-
✓ RUNNING - Monitor server active
|
|
288
|
-
• IN USE - Used by another process
|
|
289
|
-
○ AVAILABLE - Ready for use
|
|
290
|
-
|
|
291
|
-
Dashboard accessible at: http://localhost:8766
|
|
292
|
-
```
|
|
293
|
-
|
|
294
|
-
### Error Output Examples
|
|
295
|
-
```
|
|
296
|
-
Error: Port 8765 is already in use by another process
|
|
297
|
-
Suggestion: Use --port to specify a different port or --force to reclaim
|
|
298
|
-
|
|
299
|
-
Error: Failed to start monitoring server
|
|
300
|
-
Reason: Permission denied on port 8765
|
|
301
|
-
Suggestion: Try a port > 1024 or run with appropriate permissions
|
|
302
|
-
|
|
303
|
-
Error: Server on port 8765 is not running
|
|
304
|
-
Suggestion: Use '/mpm-monitor start' to start the server
|
|
305
|
-
```
|
|
306
|
-
|
|
307
|
-
## Use Cases
|
|
308
|
-
|
|
309
|
-
### Development Workflow
|
|
310
|
-
1. **Start monitoring** before beginning development session
|
|
311
|
-
2. **View dashboard** to track agent activity and events in real-time
|
|
312
|
-
3. **Monitor errors** to catch issues as they occur
|
|
313
|
-
4. **Stop monitoring** when done or to free resources
|
|
314
|
-
|
|
315
|
-
### Debugging
|
|
316
|
-
1. **Start with --verbose** to see detailed process information
|
|
317
|
-
2. **Check status** to verify server is running and clients are connected
|
|
318
|
-
3. **Review dashboard** to examine event history and error patterns
|
|
319
|
-
4. **Restart** if server becomes unresponsive
|
|
320
|
-
|
|
321
|
-
### Multiple Projects
|
|
322
|
-
1. **Use --port** to run separate monitors for different projects
|
|
323
|
-
2. **Check --show-ports** to see which ports are available
|
|
324
|
-
3. **Manage multiple instances** independently
|
|
325
|
-
|
|
326
|
-
### Production Monitoring
|
|
327
|
-
1. **Start with --background** to run as daemon (default)
|
|
328
|
-
2. **Configure --host 0.0.0.0** to allow remote access
|
|
329
|
-
3. **Check status regularly** to ensure server health
|
|
330
|
-
4. **Use --force carefully** only when necessary to reclaim ports
|
|
331
|
-
|
|
332
|
-
## Troubleshooting
|
|
333
|
-
|
|
334
|
-
### Port Already in Use
|
|
335
|
-
```bash
|
|
336
|
-
# Check what's using the port
|
|
337
|
-
/mpm-monitor status --show-ports
|
|
338
|
-
|
|
339
|
-
# Start on a different port
|
|
340
|
-
/mpm-monitor start --port 8770
|
|
341
|
-
|
|
342
|
-
# Or force reclaim (use cautiously)
|
|
343
|
-
/mpm-monitor start --port 8765 --force
|
|
344
|
-
```
|
|
345
|
-
|
|
346
|
-
### Server Won't Start
|
|
347
|
-
```bash
|
|
348
|
-
# Check detailed status
|
|
349
|
-
/mpm-monitor status --verbose
|
|
350
|
-
|
|
351
|
-
# Try manual restart
|
|
352
|
-
/mpm-monitor stop --force
|
|
353
|
-
/mpm-monitor start
|
|
354
14
|
```
|
|
355
|
-
|
|
356
|
-
### Dashboard Not Accessible
|
|
357
|
-
```bash
|
|
358
|
-
# Verify server is running
|
|
359
|
-
/mpm-monitor status
|
|
360
|
-
|
|
361
|
-
# Check dashboard port
|
|
362
|
-
/mpm-monitor status --verbose
|
|
363
|
-
|
|
364
|
-
# Restart with specific dashboard port
|
|
365
|
-
/mpm-monitor restart --dashboard-port 8766
|
|
15
|
+
/mpm-monitor [start|stop|restart|status|port] [options]
|
|
366
16
|
```
|
|
367
17
|
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
# Stop all servers
|
|
374
|
-
/mpm-monitor stop
|
|
375
|
-
|
|
376
|
-
# Start single server
|
|
377
|
-
/mpm-monitor start
|
|
378
|
-
```
|
|
379
|
-
|
|
380
|
-
## Related Commands
|
|
381
|
-
|
|
382
|
-
- `/mpm-status`: Show overall system status including monitoring server
|
|
383
|
-
- `/mpm-doctor`: Diagnose monitoring and server issues
|
|
384
|
-
- `/mpm-config`: Configure monitoring server settings
|
|
385
|
-
- `/mpm-init`: Initialize project with monitoring configuration
|
|
386
|
-
|
|
387
|
-
## Notes
|
|
388
|
-
|
|
389
|
-
- **Default Mode**: Server runs in background/daemon mode by default
|
|
390
|
-
- **Port Range**: Auto-selects from 8765-8785 if not specified
|
|
391
|
-
- **Dashboard**: Web interface is enabled by default on port 8766
|
|
392
|
-
- **Graceful Shutdown**: Server attempts to disconnect clients gracefully on stop
|
|
393
|
-
- **Force Reclaim**: The `--force` option should be used with caution as it kills processes
|
|
394
|
-
- **Debug Scripts**: Ports are automatically reclaimed from debug scripts (not daemons) unless `--no-reclaim` is specified
|
|
395
|
-
- **Multiple Instances**: You can run multiple monitoring servers on different ports for different projects
|
|
396
|
-
- **Security**: By default, server only binds to localhost. Use `--host 0.0.0.0` for remote access (consider security implications)
|
|
397
|
-
|
|
398
|
-
## Technical Details
|
|
18
|
+
**Subcommands:**
|
|
19
|
+
- `start`: Start server (auto-selects port 8765-8785)
|
|
20
|
+
- `stop`: Stop running server
|
|
21
|
+
- `status`: Show server status
|
|
22
|
+
- `port <PORT>`: Start on specific port
|
|
399
23
|
|
|
400
|
-
|
|
401
|
-
-
|
|
402
|
-
-
|
|
403
|
-
-
|
|
404
|
-
- **Events**: Real-time bidirectional event streaming
|
|
405
|
-
- **Clients**: Supports multiple simultaneous client connections
|
|
24
|
+
**Key Options:**
|
|
25
|
+
- `--port PORT`: Specific port
|
|
26
|
+
- `--force`: Force kill to reclaim port
|
|
27
|
+
- `--foreground`: Run in foreground (default: background)
|
|
406
28
|
|
|
407
|
-
|
|
408
|
-
- **Daemon Mode**: Background process with PID tracking
|
|
409
|
-
- **Foreground Mode**: Blocking process (useful for debugging)
|
|
410
|
-
- **Health Checks**: Automatic health monitoring
|
|
411
|
-
- **Graceful Shutdown**: Clean client disconnection on stop
|
|
29
|
+
Dashboard: http://localhost:8766
|
|
412
30
|
|
|
413
|
-
|
|
414
|
-
1. Check if requested port is available
|
|
415
|
-
2. If not specified, scan range 8765-8785
|
|
416
|
-
3. Detect port conflicts with existing processes
|
|
417
|
-
4. Optionally reclaim ports from debug scripts (not daemons)
|
|
418
|
-
5. Fail gracefully if no ports available
|
|
31
|
+
See docs/commands/monitor.md for details.
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
---
|
|
2
|
+
namespace: mpm/system
|
|
3
|
+
command: organize
|
|
4
|
+
aliases: [mpm-organize]
|
|
5
|
+
migration_target: /mpm/system:organize
|
|
6
|
+
category: system
|
|
7
|
+
description: Organize project files with intelligent consolidation
|
|
8
|
+
---
|
|
9
|
+
# /mpm-organize
|
|
10
|
+
|
|
11
|
+
Organize ALL project files with intelligent detection, consolidation, and pruning.
|
|
12
|
+
|
|
13
|
+
## Usage
|
|
14
|
+
```
|
|
15
|
+
/mpm-organize [--dry-run] [--force] [options]
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
**Delegates to Project Organizer agent** for comprehensive file organization.
|
|
19
|
+
|
|
20
|
+
## Scope
|
|
21
|
+
|
|
22
|
+
**Default:** Organizes ALL project files
|
|
23
|
+
- Documentation (.md, .rst, .txt)
|
|
24
|
+
- Source code (proper module structure)
|
|
25
|
+
- Tests (organized test suites)
|
|
26
|
+
- Scripts (scripts/ directory)
|
|
27
|
+
- Configuration (appropriate locations)
|
|
28
|
+
|
|
29
|
+
**Protected files (never moved):** README.md, package.json, pyproject.toml, Makefile, .gitignore, etc.
|
|
30
|
+
|
|
31
|
+
## Key Options
|
|
32
|
+
|
|
33
|
+
**Safety:**
|
|
34
|
+
- `--dry-run`: Preview without changes (recommended first run)
|
|
35
|
+
- `--force`: Proceed with uncommitted changes
|
|
36
|
+
- `--no-backup`: Skip backup (not recommended)
|
|
37
|
+
|
|
38
|
+
**Scope:**
|
|
39
|
+
- `--docs-only`: Only documentation (legacy behavior)
|
|
40
|
+
- `--code-only` / `--tests-only` / `--scripts-only`: Specific file types
|
|
41
|
+
|
|
42
|
+
**Operations:**
|
|
43
|
+
- `--consolidate-only`: Merge duplicates only
|
|
44
|
+
- `--prune-only`: Remove stale files only
|
|
45
|
+
- `--no-prune`: Keep all files (no deletions)
|
|
46
|
+
|
|
47
|
+
## What It Does
|
|
48
|
+
|
|
49
|
+
1. **Pattern Detection:** Scans for existing organization (PROJECT_ORGANIZATION.md, framework conventions)
|
|
50
|
+
2. **Consolidation:** Merges duplicates (READMEs, guides, utilities)
|
|
51
|
+
3. **Pruning:** Archives/removes stale content (>6 months old, empty files)
|
|
52
|
+
4. **Categorization:** Sorts docs into research/user/developer
|
|
53
|
+
5. **Safe Movement:** Uses `git mv` to preserve history
|
|
54
|
+
6. **Backup:** Creates backup_project_YYYYMMDD_HHMMSS.tar.gz
|
|
55
|
+
|
|
56
|
+
## Standard Structure
|
|
57
|
+
|
|
58
|
+
```
|
|
59
|
+
docs/
|
|
60
|
+
├── research/ # Spikes, analysis, notes
|
|
61
|
+
├── user/ # Guides, tutorials, FAQs
|
|
62
|
+
└── developer/ # API docs, architecture, contributing
|
|
63
|
+
|
|
64
|
+
src/<package>/ # Proper module structure
|
|
65
|
+
tests/ # Mirrored source structure
|
|
66
|
+
scripts/ # Automation tools
|
|
67
|
+
config/ # Configuration (if needed)
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
## Examples
|
|
71
|
+
|
|
72
|
+
```bash
|
|
73
|
+
# Preview changes (recommended first)
|
|
74
|
+
/mpm-organize --dry-run
|
|
75
|
+
|
|
76
|
+
# Organize everything with backup
|
|
77
|
+
/mpm-organize
|
|
78
|
+
|
|
79
|
+
# Documentation only
|
|
80
|
+
/mpm-organize --docs-only --dry-run
|
|
81
|
+
|
|
82
|
+
# Consolidate without pruning
|
|
83
|
+
/mpm-organize --consolidate-only --no-prune
|
|
84
|
+
|
|
85
|
+
# Save report
|
|
86
|
+
/mpm-organize --report /tmp/organize-report.md
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
## Expected Output
|
|
90
|
+
|
|
91
|
+
```
|
|
92
|
+
🔍 Analyzing project structure...
|
|
93
|
+
✓ Detected PROJECT_ORGANIZATION.md - using project standards
|
|
94
|
+
✓ Found 23 documentation files, 15 test files, 8 scripts
|
|
95
|
+
|
|
96
|
+
📁 Proposed Changes:
|
|
97
|
+
|
|
98
|
+
Consolidate:
|
|
99
|
+
→ Merge README_OLD.md + README_BACKUP.md → docs/user/README.md
|
|
100
|
+
|
|
101
|
+
Organize:
|
|
102
|
+
docs/research/ ← spike-oauth.md (from root)
|
|
103
|
+
tests/unit/ ← test_auth.py (from root)
|
|
104
|
+
scripts/ ← deploy.sh (from root)
|
|
105
|
+
|
|
106
|
+
Prune:
|
|
107
|
+
✂ Remove TODO_2023.md (stale 18 months)
|
|
108
|
+
|
|
109
|
+
📊 Summary: 8 to move, 2 to merge, 3 to prune
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
## Safety Features
|
|
113
|
+
|
|
114
|
+
- Full project backup before changes
|
|
115
|
+
- Git integration (preserves history)
|
|
116
|
+
- Import validation (ensures moves won't break code)
|
|
117
|
+
- Protected files never touched
|
|
118
|
+
- Conservative pruning (archive when unsure)
|
|
119
|
+
|
|
120
|
+
See docs/commands/organize.md for full documentation.
|
|
@@ -4,120 +4,18 @@ command: postmortem
|
|
|
4
4
|
aliases: [mpm-postmortem]
|
|
5
5
|
migration_target: /mpm/analysis:postmortem
|
|
6
6
|
category: analysis
|
|
7
|
-
deprecated_aliases: []
|
|
8
7
|
description: Analyze session errors and suggest improvements
|
|
9
8
|
---
|
|
10
|
-
#
|
|
9
|
+
# /mpm-postmortem
|
|
11
10
|
|
|
12
|
-
|
|
11
|
+
Analyze session errors and generate improvement suggestions.
|
|
13
12
|
|
|
14
13
|
## Usage
|
|
15
|
-
|
|
16
|
-
```
|
|
17
|
-
/mpm-postmortem [options]
|
|
18
14
|
```
|
|
19
|
-
|
|
20
|
-
## Description
|
|
21
|
-
|
|
22
|
-
The postmortem command analyzes errors from:
|
|
23
|
-
- Script execution failures
|
|
24
|
-
- Skill execution issues
|
|
25
|
-
- Agent instruction problems
|
|
26
|
-
- User code errors (analysis only)
|
|
27
|
-
|
|
28
|
-
It categorizes errors, identifies root causes, and generates actionable improvements:
|
|
29
|
-
- **Scripts**: Tests and fixes in place
|
|
30
|
-
- **Skills**: Updates skill files with improvements
|
|
31
|
-
- **MPM Agents**: Prepares PRs with rationale for remote agent repository
|
|
32
|
-
- **User Code**: Provides suggestions without modification
|
|
33
|
-
|
|
34
|
-
## Options
|
|
35
|
-
|
|
36
|
-
- `--dry-run`: Preview analysis without making changes (default for destructive operations)
|
|
37
|
-
- `--auto-fix`: Automatically apply fixes to scripts and skills
|
|
38
|
-
- `--create-prs`: Create pull requests for agent improvements
|
|
39
|
-
- `--session-id <id>`: Analyze specific session (default: current session)
|
|
40
|
-
- `--format <format>`: Output format: terminal, json, markdown (default: terminal)
|
|
41
|
-
- `--output <file>`: Save report to file
|
|
42
|
-
- `--verbose`: Include detailed error traces and analysis
|
|
43
|
-
|
|
44
|
-
## Examples
|
|
45
|
-
|
|
46
|
-
```bash
|
|
47
|
-
# Analyze current session
|
|
48
|
-
/mpm-postmortem
|
|
49
|
-
|
|
50
|
-
# Preview changes without applying
|
|
51
|
-
/mpm-postmortem --dry-run
|
|
52
|
-
|
|
53
|
-
# Auto-fix scripts and skills
|
|
54
|
-
/mpm-postmortem --auto-fix
|
|
55
|
-
|
|
56
|
-
# Create PRs for agent improvements
|
|
57
|
-
/mpm-postmortem --create-prs
|
|
58
|
-
|
|
59
|
-
# Analyze specific session
|
|
60
|
-
/mpm-postmortem --session-id 2025-12-03-143000
|
|
61
|
-
|
|
62
|
-
# Save detailed report
|
|
63
|
-
/mpm-postmortem --verbose --output postmortem-report.md
|
|
15
|
+
/mpm-postmortem [--auto-fix] [--create-prs] [--dry-run]
|
|
64
16
|
```
|
|
65
17
|
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
```
|
|
69
|
-
📊 Session Postmortem Analysis
|
|
70
|
-
═══════════════════════════════
|
|
71
|
-
|
|
72
|
-
Session: 2025-12-03-143000
|
|
73
|
-
Duration: 45 minutes
|
|
74
|
-
Errors Found: 3
|
|
75
|
-
|
|
76
|
-
🔧 Script Errors (1)
|
|
77
|
-
─────────────────────
|
|
78
|
-
• manage_version.py line 42: KeyError 'version'
|
|
79
|
-
Root Cause: Missing default value handling for optional configuration
|
|
80
|
-
Fix: Add fallback to default value when key not present
|
|
81
|
-
Status: Fixed ✓
|
|
82
|
-
|
|
83
|
-
📚 Skill Errors (0)
|
|
84
|
-
──────────────────
|
|
85
|
-
No skill errors detected
|
|
86
|
-
|
|
87
|
-
🤖 Agent Improvements (2)
|
|
88
|
-
──────────────────────────
|
|
89
|
-
• ticketing agent: Timeout on large ticket lists
|
|
90
|
-
Issue: Default timeout too short for projects with 500+ tickets
|
|
91
|
-
Improvement: Add pagination support and increase timeout threshold
|
|
92
|
-
PR: Created #123 (awaiting review)
|
|
93
|
-
|
|
94
|
-
• engineer agent: Type validation missing for tool parameters
|
|
95
|
-
Issue: Invalid parameters passed to Edit tool causing failures
|
|
96
|
-
Improvement: Add parameter validation before tool invocation
|
|
97
|
-
Status: Ready to create PR (use --create-prs)
|
|
98
|
-
|
|
99
|
-
💡 User Code Suggestions (0)
|
|
100
|
-
────────────────────────────
|
|
101
|
-
No user code issues detected
|
|
102
|
-
|
|
103
|
-
📈 Summary
|
|
104
|
-
──────────
|
|
105
|
-
Total Errors: 3
|
|
106
|
-
Fixed: 1
|
|
107
|
-
PRs Created: 1
|
|
108
|
-
Suggestions: 1
|
|
109
|
-
```
|
|
110
|
-
|
|
111
|
-
## Safety Features
|
|
112
|
-
|
|
113
|
-
- **Dry-run by default**: Preview changes before applying
|
|
114
|
-
- **Confirmation prompts**: Verify before creating PRs
|
|
115
|
-
- **Backup before modifications**: Automatic backup of modified files
|
|
116
|
-
- **Rollback capability**: Restore previous versions if needed
|
|
117
|
-
- **Git integration**: Check for uncommitted changes before modifications
|
|
118
|
-
|
|
119
|
-
## Related Commands
|
|
18
|
+
Analyzes errors from: scripts, skills, agents, user code.
|
|
19
|
+
Generates: fixes, updates, PR recommendations, suggestions.
|
|
120
20
|
|
|
121
|
-
|
|
122
|
-
- `/mpm-session-resume`: Resume previous session with context
|
|
123
|
-
- `/mpm-status`: View current system status
|
|
21
|
+
See docs/commands/postmortem.md for details.
|