claude-mpm 5.0.2__py3-none-any.whl → 5.1.9__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/CLAUDE_MPM_TEACHER_OUTPUT_STYLE.md +2002 -0
- claude_mpm/agents/PM_INSTRUCTIONS.md +1176 -909
- claude_mpm/agents/base_agent_loader.py +10 -35
- claude_mpm/agents/frontmatter_validator.py +68 -0
- claude_mpm/agents/templates/circuit-breakers.md +293 -44
- claude_mpm/cli/__init__.py +0 -1
- claude_mpm/cli/commands/__init__.py +2 -0
- claude_mpm/cli/commands/agent_state_manager.py +64 -11
- claude_mpm/cli/commands/agents.py +446 -25
- claude_mpm/cli/commands/auto_configure.py +535 -233
- claude_mpm/cli/commands/configure.py +545 -89
- claude_mpm/cli/commands/postmortem.py +401 -0
- claude_mpm/cli/commands/run.py +1 -39
- claude_mpm/cli/commands/skills.py +322 -19
- claude_mpm/cli/interactive/agent_wizard.py +302 -195
- claude_mpm/cli/parsers/agents_parser.py +137 -0
- claude_mpm/cli/parsers/auto_configure_parser.py +13 -0
- claude_mpm/cli/parsers/base_parser.py +4 -0
- claude_mpm/cli/parsers/skills_parser.py +7 -0
- claude_mpm/cli/startup.py +73 -32
- claude_mpm/commands/mpm-agents-auto-configure.md +2 -2
- claude_mpm/commands/mpm-agents-list.md +2 -2
- claude_mpm/commands/mpm-config-view.md +2 -2
- claude_mpm/commands/mpm-help.md +3 -0
- claude_mpm/commands/mpm-postmortem.md +123 -0
- claude_mpm/commands/mpm-session-resume.md +2 -2
- claude_mpm/commands/mpm-ticket-organize.md +2 -2
- claude_mpm/commands/mpm-ticket-view.md +2 -2
- claude_mpm/config/agent_presets.py +312 -82
- claude_mpm/config/skill_presets.py +392 -0
- claude_mpm/constants.py +1 -0
- claude_mpm/core/claude_runner.py +2 -25
- claude_mpm/core/framework/loaders/file_loader.py +54 -101
- claude_mpm/core/interactive_session.py +19 -5
- claude_mpm/core/oneshot_session.py +16 -4
- claude_mpm/core/output_style_manager.py +173 -43
- 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_agent_registry.py +129 -1
- claude_mpm/core/unified_config.py +22 -0
- claude_mpm/hooks/claude_hooks/memory_integration.py +12 -1
- claude_mpm/models/agent_definition.py +7 -0
- claude_mpm/services/agents/cache_git_manager.py +621 -0
- claude_mpm/services/agents/deployment/multi_source_deployment_service.py +110 -3
- claude_mpm/services/agents/deployment/remote_agent_discovery_service.py +195 -1
- claude_mpm/services/agents/sources/git_source_sync_service.py +37 -5
- 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 +108 -5
- claude_mpm/services/core/base.py +7 -2
- claude_mpm/services/diagnostics/checks/mcp_services_check.py +7 -15
- claude_mpm/services/git/git_operations_service.py +8 -8
- claude_mpm/services/mcp_config_manager.py +75 -145
- claude_mpm/services/mcp_gateway/core/process_pool.py +22 -16
- 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/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/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 +5 -1
- {claude_mpm-5.0.2.dist-info → claude_mpm-5.1.9.dist-info}/METADATA +69 -8
- {claude_mpm-5.0.2.dist-info → claude_mpm-5.1.9.dist-info}/RECORD +76 -62
- /claude_mpm/agents/{OUTPUT_STYLE.md → CLAUDE_MPM_OUTPUT_STYLE.md} +0 -0
- {claude_mpm-5.0.2.dist-info → claude_mpm-5.1.9.dist-info}/WHEEL +0 -0
- {claude_mpm-5.0.2.dist-info → claude_mpm-5.1.9.dist-info}/entry_points.txt +0 -0
- {claude_mpm-5.0.2.dist-info → claude_mpm-5.1.9.dist-info}/licenses/LICENSE +0 -0
- {claude_mpm-5.0.2.dist-info → claude_mpm-5.1.9.dist-info}/top_level.txt +0 -0
|
@@ -2,11 +2,17 @@
|
|
|
2
2
|
|
|
3
3
|
This module defines preset bundles of agents for typical development workflows.
|
|
4
4
|
Presets enable users to deploy entire agent stacks with a single command like:
|
|
5
|
-
claude-mpm agents deploy --preset python-
|
|
5
|
+
claude-mpm agents deploy --preset python-min
|
|
6
|
+
claude-mpm agents deploy --preset python-max
|
|
6
7
|
|
|
7
8
|
Design Decision: Presets use agent IDs from AUTO-DEPLOY-INDEX.md format
|
|
8
9
|
(e.g., "universal/memory-manager", "engineer/backend/python-engineer").
|
|
9
10
|
|
|
11
|
+
Architecture:
|
|
12
|
+
- MIN presets: Essential agents only (faster startup, lower resource usage)
|
|
13
|
+
- MAX presets: Full toolchain with specialized agents (comprehensive coverage)
|
|
14
|
+
- All presets include: mpm-agent-manager, mpm-skills-manager, engineer, research, documentation
|
|
15
|
+
|
|
10
16
|
Trade-offs:
|
|
11
17
|
- Simplicity: Static lists are easy to maintain
|
|
12
18
|
- Flexibility: Dynamic functions allow auto-detection (future enhancement)
|
|
@@ -18,71 +24,308 @@ from typing import Any, Callable, Dict, List, Union
|
|
|
18
24
|
# Type for preset resolver (can be static list or dynamic function)
|
|
19
25
|
PresetResolver = Union[List[str], Callable[[], List[str]]]
|
|
20
26
|
|
|
27
|
+
# Core agents included in ALL presets (MIN and MAX)
|
|
28
|
+
CORE_AGENTS = [
|
|
29
|
+
"claude-mpm/mpm-agent-manager", # Agent lifecycle management
|
|
30
|
+
"claude-mpm/mpm-skills-manager", # Skills management
|
|
31
|
+
"universal/research", # Codebase investigation
|
|
32
|
+
"documentation/documentation", # Documentation generation
|
|
33
|
+
"engineer/core/engineer", # General-purpose engineering
|
|
34
|
+
]
|
|
35
|
+
|
|
21
36
|
PRESETS: Dict[str, Dict[str, Any]] = {
|
|
37
|
+
# ========================================
|
|
38
|
+
# Universal Minimal Preset
|
|
39
|
+
# ========================================
|
|
22
40
|
"minimal": {
|
|
23
|
-
"description": "
|
|
24
|
-
"agents":
|
|
25
|
-
|
|
26
|
-
"universal/research",
|
|
27
|
-
"documentation/documentation",
|
|
28
|
-
"engineer/backend/python-engineer", # Will be language-specific in future
|
|
41
|
+
"description": "Core agents only - universal starter kit",
|
|
42
|
+
"agents": CORE_AGENTS
|
|
43
|
+
+ [
|
|
29
44
|
"qa/qa",
|
|
30
45
|
"ops/core/ops",
|
|
31
46
|
],
|
|
32
|
-
"use_cases": ["
|
|
47
|
+
"use_cases": ["Any project type", "Quick start", "Learning"],
|
|
33
48
|
},
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
49
|
+
# ========================================
|
|
50
|
+
# Python Toolchain Presets
|
|
51
|
+
# ========================================
|
|
52
|
+
"python-min": {
|
|
53
|
+
"description": "Python essentials (8 agents)",
|
|
54
|
+
"agents": CORE_AGENTS
|
|
55
|
+
+ [
|
|
40
56
|
"engineer/backend/python-engineer",
|
|
41
57
|
"qa/qa",
|
|
58
|
+
"ops/core/ops",
|
|
59
|
+
],
|
|
60
|
+
"use_cases": [
|
|
61
|
+
"Python scripts",
|
|
62
|
+
"Small Python projects",
|
|
63
|
+
"FastAPI microservices",
|
|
64
|
+
],
|
|
65
|
+
},
|
|
66
|
+
"python-max": {
|
|
67
|
+
"description": "Full Python development stack (14+ agents)",
|
|
68
|
+
"agents": CORE_AGENTS
|
|
69
|
+
+ [
|
|
70
|
+
"engineer/backend/python-engineer",
|
|
71
|
+
"universal/code-analyzer",
|
|
72
|
+
"universal/memory-manager",
|
|
73
|
+
"qa/qa",
|
|
74
|
+
"qa/api-qa",
|
|
75
|
+
"ops/core/ops",
|
|
76
|
+
"security/security",
|
|
77
|
+
"documentation/ticketing",
|
|
78
|
+
"refactoring/refactoring-engineer",
|
|
79
|
+
],
|
|
80
|
+
"use_cases": ["FastAPI production", "Django projects", "Python APIs at scale"],
|
|
81
|
+
},
|
|
82
|
+
# ========================================
|
|
83
|
+
# JavaScript/TypeScript Toolchain Presets
|
|
84
|
+
# ========================================
|
|
85
|
+
"javascript-min": {
|
|
86
|
+
"description": "Node.js essentials (8 agents)",
|
|
87
|
+
"agents": CORE_AGENTS
|
|
88
|
+
+ [
|
|
89
|
+
"engineer/backend/javascript-engineer",
|
|
90
|
+
"qa/qa",
|
|
91
|
+
"ops/core/ops",
|
|
92
|
+
],
|
|
93
|
+
"use_cases": ["Express.js", "Node.js scripts", "Backend microservices"],
|
|
94
|
+
},
|
|
95
|
+
"javascript-max": {
|
|
96
|
+
"description": "Full Node.js development stack (13+ agents)",
|
|
97
|
+
"agents": CORE_AGENTS
|
|
98
|
+
+ [
|
|
99
|
+
"engineer/backend/javascript-engineer",
|
|
100
|
+
"engineer/data/typescript-engineer",
|
|
101
|
+
"universal/code-analyzer",
|
|
102
|
+
"qa/qa",
|
|
42
103
|
"qa/api-qa",
|
|
43
104
|
"ops/core/ops",
|
|
44
105
|
"security/security",
|
|
106
|
+
"documentation/ticketing",
|
|
107
|
+
],
|
|
108
|
+
"use_cases": ["Express.js production", "Fastify", "Koa", "Enterprise Node.js"],
|
|
109
|
+
},
|
|
110
|
+
# ========================================
|
|
111
|
+
# React Toolchain Presets
|
|
112
|
+
# ========================================
|
|
113
|
+
"react-min": {
|
|
114
|
+
"description": "React essentials (8 agents)",
|
|
115
|
+
"agents": CORE_AGENTS
|
|
116
|
+
+ [
|
|
117
|
+
"engineer/frontend/react-engineer",
|
|
118
|
+
"qa/qa",
|
|
119
|
+
"ops/core/ops",
|
|
45
120
|
],
|
|
46
|
-
"use_cases": ["
|
|
121
|
+
"use_cases": ["React SPAs", "Component libraries", "Quick prototypes"],
|
|
47
122
|
},
|
|
48
|
-
"
|
|
49
|
-
"description": "
|
|
50
|
-
"agents":
|
|
123
|
+
"react-max": {
|
|
124
|
+
"description": "Full React development stack (12+ agents)",
|
|
125
|
+
"agents": CORE_AGENTS
|
|
126
|
+
+ [
|
|
127
|
+
"engineer/frontend/react-engineer",
|
|
128
|
+
"engineer/data/typescript-engineer",
|
|
129
|
+
"universal/code-analyzer",
|
|
130
|
+
"qa/qa",
|
|
131
|
+
"qa/web-qa",
|
|
132
|
+
"ops/core/ops",
|
|
133
|
+
"security/security",
|
|
134
|
+
],
|
|
135
|
+
"use_cases": [
|
|
136
|
+
"React production apps",
|
|
137
|
+
"Component systems",
|
|
138
|
+
"Frontend at scale",
|
|
139
|
+
],
|
|
140
|
+
},
|
|
141
|
+
# ========================================
|
|
142
|
+
# Next.js Toolchain Presets
|
|
143
|
+
# ========================================
|
|
144
|
+
"nextjs-min": {
|
|
145
|
+
"description": "Next.js essentials (9 agents)",
|
|
146
|
+
"agents": CORE_AGENTS
|
|
147
|
+
+ [
|
|
148
|
+
"engineer/frontend/nextjs-engineer",
|
|
149
|
+
"engineer/frontend/react-engineer",
|
|
150
|
+
"qa/qa",
|
|
151
|
+
"ops/platform/vercel-ops",
|
|
152
|
+
],
|
|
153
|
+
"use_cases": ["Next.js apps", "Vercel deployment", "Full-stack TypeScript"],
|
|
154
|
+
},
|
|
155
|
+
"nextjs-max": {
|
|
156
|
+
"description": "Full Next.js development stack (15+ agents)",
|
|
157
|
+
"agents": CORE_AGENTS
|
|
158
|
+
+ [
|
|
159
|
+
"engineer/frontend/nextjs-engineer",
|
|
160
|
+
"engineer/frontend/react-engineer",
|
|
161
|
+
"engineer/data/typescript-engineer",
|
|
162
|
+
"universal/code-analyzer",
|
|
51
163
|
"universal/memory-manager",
|
|
52
|
-
"
|
|
164
|
+
"qa/qa",
|
|
165
|
+
"qa/web-qa",
|
|
166
|
+
"qa/api-qa",
|
|
167
|
+
"ops/core/ops",
|
|
168
|
+
"ops/platform/vercel-ops",
|
|
169
|
+
"security/security",
|
|
170
|
+
"documentation/ticketing",
|
|
171
|
+
],
|
|
172
|
+
"use_cases": ["Next.js production", "Enterprise apps", "Full-stack at scale"],
|
|
173
|
+
},
|
|
174
|
+
# ========================================
|
|
175
|
+
# Go Toolchain Presets
|
|
176
|
+
# ========================================
|
|
177
|
+
"golang-min": {
|
|
178
|
+
"description": "Go essentials (8 agents)",
|
|
179
|
+
"agents": CORE_AGENTS
|
|
180
|
+
+ [
|
|
181
|
+
"engineer/backend/golang-engineer",
|
|
182
|
+
"qa/qa",
|
|
183
|
+
"ops/core/ops",
|
|
184
|
+
],
|
|
185
|
+
"use_cases": ["Go microservices", "CLI tools", "Small Go projects"],
|
|
186
|
+
},
|
|
187
|
+
"golang-max": {
|
|
188
|
+
"description": "Full Go development stack (12+ agents)",
|
|
189
|
+
"agents": CORE_AGENTS
|
|
190
|
+
+ [
|
|
191
|
+
"engineer/backend/golang-engineer",
|
|
192
|
+
"universal/code-analyzer",
|
|
193
|
+
"qa/qa",
|
|
194
|
+
"qa/api-qa",
|
|
195
|
+
"ops/core/ops",
|
|
196
|
+
"security/security",
|
|
197
|
+
"documentation/ticketing",
|
|
198
|
+
],
|
|
199
|
+
"use_cases": [
|
|
200
|
+
"Go production APIs",
|
|
201
|
+
"Cloud-native apps",
|
|
202
|
+
"Microservices at scale",
|
|
203
|
+
],
|
|
204
|
+
},
|
|
205
|
+
# ========================================
|
|
206
|
+
# Rust Toolchain Presets
|
|
207
|
+
# ========================================
|
|
208
|
+
"rust-min": {
|
|
209
|
+
"description": "Rust essentials (8 agents)",
|
|
210
|
+
"agents": CORE_AGENTS
|
|
211
|
+
+ [
|
|
212
|
+
"engineer/backend/rust-engineer",
|
|
213
|
+
"qa/qa",
|
|
214
|
+
"ops/core/ops",
|
|
215
|
+
],
|
|
216
|
+
"use_cases": ["Rust CLI tools", "Systems programming", "WebAssembly"],
|
|
217
|
+
},
|
|
218
|
+
"rust-max": {
|
|
219
|
+
"description": "Full Rust development stack (11+ agents)",
|
|
220
|
+
"agents": CORE_AGENTS
|
|
221
|
+
+ [
|
|
222
|
+
"engineer/backend/rust-engineer",
|
|
53
223
|
"universal/code-analyzer",
|
|
54
|
-
"
|
|
224
|
+
"qa/qa",
|
|
225
|
+
"ops/core/ops",
|
|
226
|
+
"security/security",
|
|
55
227
|
"documentation/ticketing",
|
|
228
|
+
],
|
|
229
|
+
"use_cases": [
|
|
230
|
+
"Rust production systems",
|
|
231
|
+
"Performance-critical apps",
|
|
232
|
+
"Safe systems",
|
|
233
|
+
],
|
|
234
|
+
},
|
|
235
|
+
# ========================================
|
|
236
|
+
# Java Toolchain Presets
|
|
237
|
+
# ========================================
|
|
238
|
+
"java-min": {
|
|
239
|
+
"description": "Java essentials (8 agents)",
|
|
240
|
+
"agents": CORE_AGENTS
|
|
241
|
+
+ [
|
|
242
|
+
"engineer/backend/java-engineer",
|
|
243
|
+
"qa/qa",
|
|
244
|
+
"ops/core/ops",
|
|
245
|
+
],
|
|
246
|
+
"use_cases": [
|
|
247
|
+
"Spring Boot basics",
|
|
248
|
+
"Java microservices",
|
|
249
|
+
"Small Java projects",
|
|
250
|
+
],
|
|
251
|
+
},
|
|
252
|
+
"java-max": {
|
|
253
|
+
"description": "Full Java development stack (13+ agents)",
|
|
254
|
+
"agents": CORE_AGENTS
|
|
255
|
+
+ [
|
|
256
|
+
"engineer/backend/java-engineer",
|
|
257
|
+
"universal/code-analyzer",
|
|
258
|
+
"qa/qa",
|
|
259
|
+
"qa/api-qa",
|
|
260
|
+
"ops/core/ops",
|
|
261
|
+
"security/security",
|
|
262
|
+
"documentation/ticketing",
|
|
263
|
+
"refactoring/refactoring-engineer",
|
|
264
|
+
],
|
|
265
|
+
"use_cases": [
|
|
266
|
+
"Spring Boot production",
|
|
267
|
+
"Enterprise Java",
|
|
268
|
+
"Microservices at scale",
|
|
269
|
+
],
|
|
270
|
+
},
|
|
271
|
+
# ========================================
|
|
272
|
+
# Mobile/Flutter Toolchain Presets
|
|
273
|
+
# ========================================
|
|
274
|
+
"flutter-min": {
|
|
275
|
+
"description": "Flutter essentials (8 agents)",
|
|
276
|
+
"agents": CORE_AGENTS
|
|
277
|
+
+ [
|
|
278
|
+
"engineer/mobile/dart-engineer",
|
|
279
|
+
"qa/qa",
|
|
280
|
+
"ops/core/ops",
|
|
281
|
+
],
|
|
282
|
+
"use_cases": ["Flutter apps", "Mobile prototypes", "Cross-platform basics"],
|
|
283
|
+
},
|
|
284
|
+
"flutter-max": {
|
|
285
|
+
"description": "Full Flutter development stack (12+ agents)",
|
|
286
|
+
"agents": CORE_AGENTS
|
|
287
|
+
+ [
|
|
288
|
+
"engineer/mobile/dart-engineer",
|
|
289
|
+
"universal/code-analyzer",
|
|
290
|
+
"qa/qa",
|
|
291
|
+
"ops/core/ops",
|
|
292
|
+
"security/security",
|
|
293
|
+
"documentation/ticketing",
|
|
294
|
+
"universal/memory-manager",
|
|
295
|
+
],
|
|
296
|
+
"use_cases": ["Flutter production", "iOS/Android apps", "Enterprise mobile"],
|
|
297
|
+
},
|
|
298
|
+
# ========================================
|
|
299
|
+
# Legacy Presets (kept for backward compatibility)
|
|
300
|
+
# ========================================
|
|
301
|
+
"python-dev": {
|
|
302
|
+
"description": "Python backend (LEGACY - use python-max)",
|
|
303
|
+
"agents": CORE_AGENTS
|
|
304
|
+
+ [
|
|
56
305
|
"engineer/backend/python-engineer",
|
|
57
|
-
"engineer/frontend/react-engineer",
|
|
58
306
|
"qa/qa",
|
|
59
307
|
"qa/api-qa",
|
|
60
|
-
"qa/web-qa",
|
|
61
308
|
"ops/core/ops",
|
|
62
309
|
"security/security",
|
|
63
310
|
],
|
|
64
|
-
"use_cases": ["
|
|
311
|
+
"use_cases": ["Legacy preset - migrate to python-max"],
|
|
65
312
|
},
|
|
66
313
|
"javascript-backend": {
|
|
67
|
-
"description": "Node.js backend
|
|
68
|
-
"agents":
|
|
69
|
-
|
|
70
|
-
"universal/research",
|
|
71
|
-
"documentation/documentation",
|
|
314
|
+
"description": "Node.js backend (LEGACY - use javascript-max)",
|
|
315
|
+
"agents": CORE_AGENTS
|
|
316
|
+
+ [
|
|
72
317
|
"engineer/backend/javascript-engineer",
|
|
73
318
|
"qa/qa",
|
|
74
319
|
"qa/api-qa",
|
|
75
320
|
"ops/core/ops",
|
|
76
321
|
"security/security",
|
|
77
322
|
],
|
|
78
|
-
"use_cases": ["
|
|
323
|
+
"use_cases": ["Legacy preset - migrate to javascript-max"],
|
|
79
324
|
},
|
|
80
325
|
"react-dev": {
|
|
81
|
-
"description": "React
|
|
82
|
-
"agents":
|
|
83
|
-
|
|
84
|
-
"universal/research",
|
|
85
|
-
"documentation/documentation",
|
|
326
|
+
"description": "React development (LEGACY - use react-max)",
|
|
327
|
+
"agents": CORE_AGENTS
|
|
328
|
+
+ [
|
|
86
329
|
"engineer/frontend/react-engineer",
|
|
87
330
|
"engineer/data/typescript-engineer",
|
|
88
331
|
"qa/qa",
|
|
@@ -90,15 +333,12 @@ PRESETS: Dict[str, Dict[str, Any]] = {
|
|
|
90
333
|
"ops/core/ops",
|
|
91
334
|
"security/security",
|
|
92
335
|
],
|
|
93
|
-
"use_cases": ["
|
|
336
|
+
"use_cases": ["Legacy preset - migrate to react-max"],
|
|
94
337
|
},
|
|
95
338
|
"nextjs-fullstack": {
|
|
96
|
-
"description": "Next.js full-stack
|
|
97
|
-
"agents":
|
|
98
|
-
|
|
99
|
-
"universal/research",
|
|
100
|
-
"universal/code-analyzer",
|
|
101
|
-
"documentation/documentation",
|
|
339
|
+
"description": "Next.js full-stack (LEGACY - use nextjs-max)",
|
|
340
|
+
"agents": CORE_AGENTS
|
|
341
|
+
+ [
|
|
102
342
|
"engineer/frontend/nextjs-engineer",
|
|
103
343
|
"engineer/frontend/react-engineer",
|
|
104
344
|
"engineer/data/typescript-engineer",
|
|
@@ -109,41 +349,35 @@ PRESETS: Dict[str, Dict[str, Any]] = {
|
|
|
109
349
|
"security/security",
|
|
110
350
|
"documentation/ticketing",
|
|
111
351
|
],
|
|
112
|
-
"use_cases": ["
|
|
352
|
+
"use_cases": ["Legacy preset - migrate to nextjs-max"],
|
|
113
353
|
},
|
|
114
354
|
"rust-dev": {
|
|
115
|
-
"description": "Rust
|
|
116
|
-
"agents":
|
|
117
|
-
|
|
118
|
-
"universal/research",
|
|
119
|
-
"documentation/documentation",
|
|
355
|
+
"description": "Rust development (LEGACY - use rust-max)",
|
|
356
|
+
"agents": CORE_AGENTS
|
|
357
|
+
+ [
|
|
120
358
|
"engineer/backend/rust-engineer",
|
|
121
359
|
"qa/qa",
|
|
122
360
|
"ops/core/ops",
|
|
123
361
|
"security/security",
|
|
124
362
|
],
|
|
125
|
-
"use_cases": ["
|
|
363
|
+
"use_cases": ["Legacy preset - migrate to rust-max"],
|
|
126
364
|
},
|
|
127
365
|
"golang-dev": {
|
|
128
|
-
"description": "Go
|
|
129
|
-
"agents":
|
|
130
|
-
|
|
131
|
-
"universal/research",
|
|
132
|
-
"documentation/documentation",
|
|
366
|
+
"description": "Go development (LEGACY - use golang-max)",
|
|
367
|
+
"agents": CORE_AGENTS
|
|
368
|
+
+ [
|
|
133
369
|
"engineer/backend/golang-engineer",
|
|
134
370
|
"qa/qa",
|
|
135
371
|
"qa/api-qa",
|
|
136
372
|
"ops/core/ops",
|
|
137
373
|
"security/security",
|
|
138
374
|
],
|
|
139
|
-
"use_cases": ["
|
|
375
|
+
"use_cases": ["Legacy preset - migrate to golang-max"],
|
|
140
376
|
},
|
|
141
377
|
"java-dev": {
|
|
142
|
-
"description": "Java/Spring Boot
|
|
143
|
-
"agents":
|
|
144
|
-
|
|
145
|
-
"universal/research",
|
|
146
|
-
"documentation/documentation",
|
|
378
|
+
"description": "Java/Spring Boot (LEGACY - use java-max)",
|
|
379
|
+
"agents": CORE_AGENTS
|
|
380
|
+
+ [
|
|
147
381
|
"engineer/backend/java-engineer",
|
|
148
382
|
"qa/qa",
|
|
149
383
|
"qa/api-qa",
|
|
@@ -151,35 +385,31 @@ PRESETS: Dict[str, Dict[str, Any]] = {
|
|
|
151
385
|
"security/security",
|
|
152
386
|
"documentation/ticketing",
|
|
153
387
|
],
|
|
154
|
-
"use_cases": ["
|
|
388
|
+
"use_cases": ["Legacy preset - migrate to java-max"],
|
|
155
389
|
},
|
|
156
390
|
"mobile-flutter": {
|
|
157
|
-
"description": "Flutter mobile
|
|
158
|
-
"agents":
|
|
159
|
-
|
|
160
|
-
"universal/research",
|
|
161
|
-
"documentation/documentation",
|
|
391
|
+
"description": "Flutter mobile (LEGACY - use flutter-max)",
|
|
392
|
+
"agents": CORE_AGENTS
|
|
393
|
+
+ [
|
|
162
394
|
"engineer/mobile/dart-engineer",
|
|
163
395
|
"qa/qa",
|
|
164
396
|
"ops/core/ops",
|
|
165
397
|
"security/security",
|
|
166
398
|
"documentation/ticketing",
|
|
167
399
|
],
|
|
168
|
-
"use_cases": ["
|
|
400
|
+
"use_cases": ["Legacy preset - migrate to flutter-max"],
|
|
169
401
|
},
|
|
170
402
|
"data-eng": {
|
|
171
|
-
"description": "Data engineering stack (
|
|
172
|
-
"agents":
|
|
173
|
-
|
|
174
|
-
"universal/research",
|
|
175
|
-
"documentation/documentation",
|
|
403
|
+
"description": "Data engineering stack (12 agents)",
|
|
404
|
+
"agents": CORE_AGENTS
|
|
405
|
+
+ [
|
|
176
406
|
"engineer/backend/python-engineer",
|
|
177
407
|
"engineer/data/data-engineer",
|
|
408
|
+
"universal/code-analyzer",
|
|
178
409
|
"qa/qa",
|
|
179
410
|
"ops/core/ops",
|
|
180
411
|
"security/security",
|
|
181
412
|
"documentation/ticketing",
|
|
182
|
-
"universal/code-analyzer",
|
|
183
413
|
],
|
|
184
414
|
"use_cases": ["dbt projects", "Airflow", "Data pipelines", "ETL"],
|
|
185
415
|
},
|
|
@@ -190,11 +420,11 @@ def get_preset_names() -> List[str]:
|
|
|
190
420
|
"""Get list of all available preset names.
|
|
191
421
|
|
|
192
422
|
Returns:
|
|
193
|
-
List of preset names (e.g., ['minimal', 'python-
|
|
423
|
+
List of preset names (e.g., ['minimal', 'python-min', 'python-max', ...])
|
|
194
424
|
|
|
195
425
|
Example:
|
|
196
426
|
>>> names = get_preset_names()
|
|
197
|
-
>>> '
|
|
427
|
+
>>> 'python-min' in names
|
|
198
428
|
True
|
|
199
429
|
"""
|
|
200
430
|
return list(PRESETS.keys())
|
|
@@ -204,7 +434,7 @@ def get_preset_info(preset_name: str) -> Dict[str, Any]:
|
|
|
204
434
|
"""Get preset metadata (description, use cases, agent count).
|
|
205
435
|
|
|
206
436
|
Args:
|
|
207
|
-
preset_name: Name of preset (e.g., 'python-
|
|
437
|
+
preset_name: Name of preset (e.g., 'python-min')
|
|
208
438
|
|
|
209
439
|
Returns:
|
|
210
440
|
Dict with keys:
|
|
@@ -217,9 +447,9 @@ def get_preset_info(preset_name: str) -> Dict[str, Any]:
|
|
|
217
447
|
ValueError: If preset name is invalid
|
|
218
448
|
|
|
219
449
|
Example:
|
|
220
|
-
>>> info = get_preset_info('
|
|
450
|
+
>>> info = get_preset_info('python-min')
|
|
221
451
|
>>> info['agent_count']
|
|
222
|
-
|
|
452
|
+
8
|
|
223
453
|
"""
|
|
224
454
|
if preset_name not in PRESETS:
|
|
225
455
|
raise ValueError(f"Unknown preset: {preset_name}")
|
|
@@ -237,19 +467,19 @@ def get_preset_agents(preset_name: str) -> List[str]:
|
|
|
237
467
|
"""Get agent list for preset.
|
|
238
468
|
|
|
239
469
|
Args:
|
|
240
|
-
preset_name: Name of preset (e.g., 'python-
|
|
470
|
+
preset_name: Name of preset (e.g., 'python-min')
|
|
241
471
|
|
|
242
472
|
Returns:
|
|
243
|
-
List of agent IDs (e.g., ["
|
|
473
|
+
List of agent IDs (e.g., ["claude-mpm/mpm-agent-manager", ...])
|
|
244
474
|
|
|
245
475
|
Raises:
|
|
246
476
|
ValueError: If preset name is invalid
|
|
247
477
|
|
|
248
478
|
Example:
|
|
249
|
-
>>> agents = get_preset_agents('
|
|
479
|
+
>>> agents = get_preset_agents('python-min')
|
|
250
480
|
>>> len(agents)
|
|
251
|
-
|
|
252
|
-
>>> '
|
|
481
|
+
8
|
|
482
|
+
>>> 'claude-mpm/mpm-agent-manager' in agents
|
|
253
483
|
True
|
|
254
484
|
"""
|
|
255
485
|
if preset_name not in PRESETS:
|