mdan-cli 2.5.1 → 2.7.0
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.
- package/AGENTS.md +76 -1
- package/README.md +274 -4
- package/agents/auto-orchestrator.md +343 -0
- package/agents/devops.md +511 -94
- package/cli/mdan.py +111 -6
- package/cli/mdan_crewai.py +539 -0
- package/core/crewai_orchestrator.md +419 -0
- package/core/debate-protocol.md +454 -0
- package/core/universal-envelope.md +113 -0
- package/integrations/__init__.py +33 -0
- package/integrations/crewai/__init__.py +27 -0
- package/integrations/crewai/agents/__init__.py +21 -0
- package/integrations/crewai/agents/architect_agent.py +264 -0
- package/integrations/crewai/agents/dev_agent.py +271 -0
- package/integrations/crewai/agents/devops_agent.py +421 -0
- package/integrations/crewai/agents/doc_agent.py +388 -0
- package/integrations/crewai/agents/product_agent.py +203 -0
- package/integrations/crewai/agents/security_agent.py +386 -0
- package/integrations/crewai/agents/test_agent.py +358 -0
- package/integrations/crewai/agents/ux_agent.py +257 -0
- package/integrations/crewai/flows/__init__.py +13 -0
- package/integrations/crewai/flows/auto_flow.py +451 -0
- package/integrations/crewai/flows/build_flow.py +297 -0
- package/integrations/crewai/flows/debate_flow.py +422 -0
- package/integrations/crewai/flows/discovery_flow.py +267 -0
- package/integrations/crewai/orchestrator.py +558 -0
- package/integrations/crewai/skills/__init__.py +8 -0
- package/integrations/crewai/skills/skill_router.py +534 -0
- package/integrations/crewai/tools/__init__.py +11 -0
- package/integrations/crewai/tools/file_tool.py +355 -0
- package/integrations/crewai/tools/serper_tool.py +169 -0
- package/integrations/crewai/tools/sql_tool.py +435 -0
- package/memory/CONTEXT-SAVE-FORMAT.md +328 -0
- package/memory/MEMORY-AUTO.json +66 -0
- package/memory/RESUME-PROTOCOL.md +379 -0
- package/package.json +1 -1
- package/phases/auto-01-load.md +165 -0
- package/phases/auto-02-discover.md +207 -0
- package/phases/auto-03-plan.md +509 -0
- package/phases/auto-04-architect.md +567 -0
- package/phases/auto-05-implement.md +713 -0
- package/phases/auto-06-test.md +559 -0
- package/phases/auto-07-deploy.md +510 -0
- package/phases/auto-08-doc.md +970 -0
- package/skills/azure-devops/skill.md +1757 -0
- package/templates/dotnet-blazor/README.md +415 -0
- package/templates/external-services/ExampleService.cs +361 -0
- package/templates/external-services/IService.cs +113 -0
- package/templates/external-services/README.md +325 -0
- package/templates/external-services/ServiceBase.cs +492 -0
- package/templates/external-services/ServiceProvider.cs +243 -0
- package/templates/prompts/devops-agent.yaml +327 -0
- package/templates/prompts.json +15 -1
- package/templates/sql-server/README.md +37 -0
- package/templates/sql-server/functions.sql +158 -0
- package/templates/sql-server/schema.sql +188 -0
- package/templates/sql-server/stored-procedures.sql +284 -0
|
@@ -0,0 +1,454 @@
|
|
|
1
|
+
# Multi-Agent Debate Protocol
|
|
2
|
+
|
|
3
|
+
> MDAN-AUTO v1.0 Decision-Making Through Agent Collaboration
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
The debate protocol enables multiple MDAN agents to collaborate on complex decisions, providing diverse perspectives and ensuring well-considered choices.
|
|
8
|
+
|
|
9
|
+
## When to Trigger a Debate
|
|
10
|
+
|
|
11
|
+
Trigger a debate for:
|
|
12
|
+
|
|
13
|
+
- **Architecture Decisions**
|
|
14
|
+
- Monolith vs microservices
|
|
15
|
+
- Design patterns
|
|
16
|
+
- Technology stack choices
|
|
17
|
+
- System boundaries
|
|
18
|
+
|
|
19
|
+
- **Security Decisions**
|
|
20
|
+
- Authentication methods
|
|
21
|
+
- Authorization models
|
|
22
|
+
- Encryption strategies
|
|
23
|
+
- Security controls
|
|
24
|
+
|
|
25
|
+
- **Performance Decisions**
|
|
26
|
+
- Caching strategies
|
|
27
|
+
- Database optimization
|
|
28
|
+
- Scaling approaches
|
|
29
|
+
- Resource allocation
|
|
30
|
+
|
|
31
|
+
- **Implementation Decisions**
|
|
32
|
+
- Code organization
|
|
33
|
+
- Library choices
|
|
34
|
+
- Testing strategies
|
|
35
|
+
- Error handling
|
|
36
|
+
|
|
37
|
+
- **DevOps Decisions**
|
|
38
|
+
- Deployment strategies
|
|
39
|
+
- CI/CD pipelines
|
|
40
|
+
- Infrastructure choices
|
|
41
|
+
- Monitoring approaches
|
|
42
|
+
|
|
43
|
+
## Debate Participants
|
|
44
|
+
|
|
45
|
+
### Core Agents
|
|
46
|
+
|
|
47
|
+
| Agent | Expertise | Debate Topics |
|
|
48
|
+
|-------|-----------|---------------|
|
|
49
|
+
| Product | Requirements, user needs | Feature decisions, UX choices |
|
|
50
|
+
| Architect | System design, patterns | Architecture, technology stack |
|
|
51
|
+
| Dev | Implementation, code quality | Implementation approaches, libraries |
|
|
52
|
+
| Security | Security, compliance | Security controls, authentication |
|
|
53
|
+
| Test | Testing, quality | Testing strategies, quality gates |
|
|
54
|
+
| DevOps | Deployment, infrastructure | Deployment, CI/CD, infrastructure |
|
|
55
|
+
| Doc | Documentation | Documentation approaches |
|
|
56
|
+
|
|
57
|
+
### Participant Selection
|
|
58
|
+
|
|
59
|
+
Select participants based on topic:
|
|
60
|
+
|
|
61
|
+
**Architecture Decisions:**
|
|
62
|
+
- Architect (lead)
|
|
63
|
+
- Dev
|
|
64
|
+
- DevOps
|
|
65
|
+
- Security
|
|
66
|
+
|
|
67
|
+
**Security Decisions:**
|
|
68
|
+
- Security (lead)
|
|
69
|
+
- Architect
|
|
70
|
+
- Dev
|
|
71
|
+
- DevOps
|
|
72
|
+
|
|
73
|
+
**Performance Decisions:**
|
|
74
|
+
- Dev (lead)
|
|
75
|
+
- Architect
|
|
76
|
+
- DevOps
|
|
77
|
+
|
|
78
|
+
**Implementation Decisions:**
|
|
79
|
+
- Dev (lead)
|
|
80
|
+
- Architect
|
|
81
|
+
- Test
|
|
82
|
+
|
|
83
|
+
**DevOps Decisions:**
|
|
84
|
+
- DevOps (lead)
|
|
85
|
+
- Architect
|
|
86
|
+
- Security
|
|
87
|
+
|
|
88
|
+
**Feature Decisions:**
|
|
89
|
+
- Product (lead)
|
|
90
|
+
- Architect
|
|
91
|
+
- Doc
|
|
92
|
+
|
|
93
|
+
## Debate Process
|
|
94
|
+
|
|
95
|
+
### Step 1: Define Question
|
|
96
|
+
|
|
97
|
+
Create a clear, specific question:
|
|
98
|
+
|
|
99
|
+
```
|
|
100
|
+
❌ Bad: "How should we do authentication?"
|
|
101
|
+
|
|
102
|
+
✅ Good: "Should we use JWT tokens or session-based authentication
|
|
103
|
+
for a Blazor Server application with Azure AD integration?"
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
Include:
|
|
107
|
+
- Context
|
|
108
|
+
- Constraints
|
|
109
|
+
- Requirements
|
|
110
|
+
- Trade-offs
|
|
111
|
+
|
|
112
|
+
### Step 2: Select Participants
|
|
113
|
+
|
|
114
|
+
Choose relevant agents:
|
|
115
|
+
- Lead agent (primary expertise)
|
|
116
|
+
- Supporting agents (related expertise)
|
|
117
|
+
- 3-5 agents maximum
|
|
118
|
+
|
|
119
|
+
### Step 3: Present Question
|
|
120
|
+
|
|
121
|
+
Send question to all participants with:
|
|
122
|
+
- Clear question
|
|
123
|
+
- Context
|
|
124
|
+
- Constraints
|
|
125
|
+
- Requirements
|
|
126
|
+
- Deadline (optional)
|
|
127
|
+
|
|
128
|
+
### Step 4: Collect Arguments
|
|
129
|
+
|
|
130
|
+
Each participant provides:
|
|
131
|
+
|
|
132
|
+
1. **Recommendation**: Clear choice
|
|
133
|
+
2. **Rationale**: Why this choice
|
|
134
|
+
3. **Pros**: Benefits of choice
|
|
135
|
+
4. **Cons**: Drawbacks of choice
|
|
136
|
+
5. **Evidence**: Supporting facts/experience
|
|
137
|
+
6. **Alternatives**: Other options considered
|
|
138
|
+
|
|
139
|
+
### Step 5: Score Arguments
|
|
140
|
+
|
|
141
|
+
Score each argument on:
|
|
142
|
+
|
|
143
|
+
| Criteria | Weight | Description |
|
|
144
|
+
|----------|--------|-------------|
|
|
145
|
+
| Technical Merit | 30% | Technical soundness |
|
|
146
|
+
| Alignment | 25% | Alignment with requirements |
|
|
147
|
+
| Security | 20% | Security implications |
|
|
148
|
+
| Maintainability | 15% | Long-term maintainability |
|
|
149
|
+
| Feasibility | 10% | Implementation feasibility |
|
|
150
|
+
|
|
151
|
+
Total score: 0-100
|
|
152
|
+
|
|
153
|
+
### Step 6: Select Winner
|
|
154
|
+
|
|
155
|
+
Choose argument with highest score.
|
|
156
|
+
|
|
157
|
+
If scores are close (<5% difference):
|
|
158
|
+
- Consider hybrid approach
|
|
159
|
+
- Or defer to lead agent
|
|
160
|
+
|
|
161
|
+
### Step 7: Document Decision
|
|
162
|
+
|
|
163
|
+
Record:
|
|
164
|
+
- Question
|
|
165
|
+
- Participants
|
|
166
|
+
- Arguments
|
|
167
|
+
- Scores
|
|
168
|
+
- Winner
|
|
169
|
+
- Rationale
|
|
170
|
+
- Implementation plan
|
|
171
|
+
|
|
172
|
+
### Step 8: Implement
|
|
173
|
+
|
|
174
|
+
Apply decision to implementation.
|
|
175
|
+
|
|
176
|
+
## Debate Output Format
|
|
177
|
+
|
|
178
|
+
```markdown
|
|
179
|
+
## Debate: [Topic]
|
|
180
|
+
|
|
181
|
+
### Question
|
|
182
|
+
[Clear, specific question with context]
|
|
183
|
+
|
|
184
|
+
### Context
|
|
185
|
+
- Project: [Project name]
|
|
186
|
+
- Phase: [Current phase]
|
|
187
|
+
- Requirements: [Key requirements]
|
|
188
|
+
- Constraints: [Constraints]
|
|
189
|
+
|
|
190
|
+
### Participants
|
|
191
|
+
- **Lead**: [Agent name] - [Role]
|
|
192
|
+
- [Agent name] - [Role]
|
|
193
|
+
- [Agent name] - [Role]
|
|
194
|
+
|
|
195
|
+
### Arguments
|
|
196
|
+
|
|
197
|
+
#### [Agent Name]
|
|
198
|
+
**Recommendation**: [Choice]
|
|
199
|
+
|
|
200
|
+
**Rationale**: [Why this choice]
|
|
201
|
+
|
|
202
|
+
**Pros**:
|
|
203
|
+
- [Benefit 1]
|
|
204
|
+
- [Benefit 2]
|
|
205
|
+
|
|
206
|
+
**Cons**:
|
|
207
|
+
- [Drawback 1]
|
|
208
|
+
- [Drawback 2]
|
|
209
|
+
|
|
210
|
+
**Evidence**: [Supporting facts]
|
|
211
|
+
|
|
212
|
+
**Alternatives Considered**:
|
|
213
|
+
- [Alternative 1] - [Why rejected]
|
|
214
|
+
- [Alternative 2] - [Why rejected]
|
|
215
|
+
|
|
216
|
+
**Score**: [0-100]
|
|
217
|
+
|
|
218
|
+
---
|
|
219
|
+
|
|
220
|
+
#### [Agent Name]
|
|
221
|
+
[Same structure]
|
|
222
|
+
|
|
223
|
+
---
|
|
224
|
+
|
|
225
|
+
### Scoring Summary
|
|
226
|
+
|
|
227
|
+
| Agent | Technical | Alignment | Security | Maintainability | Feasibility | Total |
|
|
228
|
+
|-------|-----------|-----------|----------|-----------------|-------------|-------|
|
|
229
|
+
| Agent A | 25 | 20 | 15 | 12 | 8 | 80 |
|
|
230
|
+
| Agent B | 28 | 23 | 18 | 14 | 9 | 92 |
|
|
231
|
+
| Agent C | 22 | 18 | 16 | 11 | 7 | 74 |
|
|
232
|
+
|
|
233
|
+
### Decision
|
|
234
|
+
**Winner**: [Agent name]
|
|
235
|
+
|
|
236
|
+
**Rationale**: [Why this argument won]
|
|
237
|
+
|
|
238
|
+
**Score**: [Winning score]
|
|
239
|
+
|
|
240
|
+
### Implementation
|
|
241
|
+
[How decision will be implemented]
|
|
242
|
+
|
|
243
|
+
### Next Steps
|
|
244
|
+
1. [Step 1]
|
|
245
|
+
2. [Step 2]
|
|
246
|
+
3. [Step 3]
|
|
247
|
+
|
|
248
|
+
### Timestamp
|
|
249
|
+
[ISO 8601 timestamp]
|
|
250
|
+
```
|
|
251
|
+
|
|
252
|
+
## Debate Example
|
|
253
|
+
|
|
254
|
+
```markdown
|
|
255
|
+
## Debate: Authentication Strategy
|
|
256
|
+
|
|
257
|
+
### Question
|
|
258
|
+
Should we use JWT tokens or session-based authentication for a Blazor Server
|
|
259
|
+
application with Azure AD integration?
|
|
260
|
+
|
|
261
|
+
### Context
|
|
262
|
+
- Project: External Service Integration
|
|
263
|
+
- Phase: ARCHITECT
|
|
264
|
+
- Requirements: Secure authentication, Azure AD integration, session management
|
|
265
|
+
- Constraints: Must support multiple external service APIs
|
|
266
|
+
|
|
267
|
+
### Participants
|
|
268
|
+
- **Lead**: Security - Security expertise
|
|
269
|
+
- Architect - System design
|
|
270
|
+
- Dev - Implementation
|
|
271
|
+
|
|
272
|
+
### Arguments
|
|
273
|
+
|
|
274
|
+
#### Security
|
|
275
|
+
**Recommendation**: JWT tokens with Azure AD
|
|
276
|
+
|
|
277
|
+
**Rationale**: JWT provides stateless authentication, works well with Azure AD,
|
|
278
|
+
and is industry standard for modern applications.
|
|
279
|
+
|
|
280
|
+
**Pros**:
|
|
281
|
+
- Stateless, no server-side session storage
|
|
282
|
+
- Works seamlessly with Azure AD
|
|
283
|
+
- Industry standard
|
|
284
|
+
- Easy to scale
|
|
285
|
+
- Built-in expiration and refresh
|
|
286
|
+
|
|
287
|
+
**Cons**:
|
|
288
|
+
- Token revocation is complex
|
|
289
|
+
- Larger payload size
|
|
290
|
+
- Requires careful token validation
|
|
291
|
+
|
|
292
|
+
**Evidence**: OWASP recommends JWT for stateless authentication. Azure AD
|
|
293
|
+
natively issues JWT tokens.
|
|
294
|
+
|
|
295
|
+
**Alternatives Considered**:
|
|
296
|
+
- Session-based - Rejected due to scaling concerns
|
|
297
|
+
- Hybrid - Rejected due to complexity
|
|
298
|
+
|
|
299
|
+
**Score**: 92
|
|
300
|
+
|
|
301
|
+
---
|
|
302
|
+
|
|
303
|
+
#### Architect
|
|
304
|
+
**Recommendation**: Session-based authentication
|
|
305
|
+
|
|
306
|
+
**Rationale**: Blazor Server maintains server-side state, session-based auth
|
|
307
|
+
aligns better with the architecture.
|
|
308
|
+
|
|
309
|
+
**Pros**:
|
|
310
|
+
- Natural fit for Blazor Server
|
|
311
|
+
- Easy to implement
|
|
312
|
+
- Built-in session management
|
|
313
|
+
- Simple revocation
|
|
314
|
+
|
|
315
|
+
**Cons**:
|
|
316
|
+
- Requires server-side storage
|
|
317
|
+
- Harder to scale
|
|
318
|
+
- Session affinity required
|
|
319
|
+
- More complex with Azure AD
|
|
320
|
+
|
|
321
|
+
**Evidence**: Blazor Server documentation recommends session-based auth for
|
|
322
|
+
server-side rendering.
|
|
323
|
+
|
|
324
|
+
**Alternatives Considered**:
|
|
325
|
+
- JWT - Rejected due to Blazor Server architecture
|
|
326
|
+
- Hybrid - Rejected due to complexity
|
|
327
|
+
|
|
328
|
+
**Score**: 78
|
|
329
|
+
|
|
330
|
+
---
|
|
331
|
+
|
|
332
|
+
#### Dev
|
|
333
|
+
**Recommendation**: JWT tokens with Azure AD
|
|
334
|
+
|
|
335
|
+
**Rationale**: JWT is easier to implement with Azure AD and provides better
|
|
336
|
+
separation of concerns.
|
|
337
|
+
|
|
338
|
+
**Pros**:
|
|
339
|
+
- Easy Azure AD integration
|
|
340
|
+
- Standard libraries available
|
|
341
|
+
- Clear separation of auth logic
|
|
342
|
+
- Better for API calls
|
|
343
|
+
|
|
344
|
+
**Cons**:
|
|
345
|
+
- Token management complexity
|
|
346
|
+
- Refresh token handling
|
|
347
|
+
|
|
348
|
+
**Evidence**: Microsoft.Identity.Web library provides excellent JWT support
|
|
349
|
+
for Azure AD.
|
|
350
|
+
|
|
351
|
+
**Alternatives Considered**:
|
|
352
|
+
- Session-based - Rejected due to Azure AD complexity
|
|
353
|
+
|
|
354
|
+
**Score**: 88
|
|
355
|
+
|
|
356
|
+
---
|
|
357
|
+
|
|
358
|
+
### Scoring Summary
|
|
359
|
+
|
|
360
|
+
| Agent | Technical | Alignment | Security | Maintainability | Feasibility | Total |
|
|
361
|
+
|-------|-----------|-----------|----------|-----------------|-------------|-------|
|
|
362
|
+
| Security | 28 | 23 | 18 | 14 | 9 | 92 |
|
|
363
|
+
| Architect | 22 | 20 | 14 | 12 | 10 | 78 |
|
|
364
|
+
| Dev | 26 | 22 | 16 | 13 | 11 | 88 |
|
|
365
|
+
|
|
366
|
+
### Decision
|
|
367
|
+
**Winner**: Security
|
|
368
|
+
|
|
369
|
+
**Rationale**: JWT with Azure AD provides the best security posture, aligns
|
|
370
|
+
with industry standards, and has excellent Azure integration. The slight
|
|
371
|
+
complexity is outweighed by security benefits and scalability.
|
|
372
|
+
|
|
373
|
+
**Score**: 92
|
|
374
|
+
|
|
375
|
+
### Implementation
|
|
376
|
+
1. Configure Azure AD app registration
|
|
377
|
+
2. Implement JWT token validation middleware
|
|
378
|
+
3. Use Microsoft.Identity.Web library
|
|
379
|
+
4. Implement token refresh logic
|
|
380
|
+
5. Add token validation to API endpoints
|
|
381
|
+
|
|
382
|
+
### Next Steps
|
|
383
|
+
1. Create Azure AD app registration
|
|
384
|
+
2. Implement authentication middleware
|
|
385
|
+
3. Update Blazor Server configuration
|
|
386
|
+
4. Test authentication flow
|
|
387
|
+
5. Document authentication approach
|
|
388
|
+
|
|
389
|
+
### Timestamp
|
|
390
|
+
2024-01-15T10:15:00Z
|
|
391
|
+
```
|
|
392
|
+
|
|
393
|
+
## Debate Timeout
|
|
394
|
+
|
|
395
|
+
Set timeout for debates:
|
|
396
|
+
- Default: 5 minutes per agent
|
|
397
|
+
- Maximum: 30 minutes total
|
|
398
|
+
- If timeout, use available arguments
|
|
399
|
+
|
|
400
|
+
## Debate Cancellation
|
|
401
|
+
|
|
402
|
+
Cancel debate if:
|
|
403
|
+
- Question is unclear
|
|
404
|
+
- Insufficient context
|
|
405
|
+
- Emergency situation
|
|
406
|
+
- User intervention
|
|
407
|
+
|
|
408
|
+
## Debate Storage
|
|
409
|
+
|
|
410
|
+
Store debates in:
|
|
411
|
+
- `context.debates` array in save file
|
|
412
|
+
- Separate debate log file
|
|
413
|
+
- Decision history
|
|
414
|
+
|
|
415
|
+
## Debate Quality
|
|
416
|
+
|
|
417
|
+
Ensure debate quality:
|
|
418
|
+
- Clear questions
|
|
419
|
+
- Relevant participants
|
|
420
|
+
- Well-reasoned arguments
|
|
421
|
+
- Evidence-based decisions
|
|
422
|
+
- Proper documentation
|
|
423
|
+
|
|
424
|
+
## Debate Automation
|
|
425
|
+
|
|
426
|
+
Automate debate triggering:
|
|
427
|
+
- Detect complex decisions
|
|
428
|
+
- Select participants automatically
|
|
429
|
+
- Collect arguments
|
|
430
|
+
- Score and decide
|
|
431
|
+
- Document and implement
|
|
432
|
+
|
|
433
|
+
## Debate Review
|
|
434
|
+
|
|
435
|
+
Review debates periodically:
|
|
436
|
+
- Check decision quality
|
|
437
|
+
- Validate implementation
|
|
438
|
+
- Learn from outcomes
|
|
439
|
+
- Improve process
|
|
440
|
+
|
|
441
|
+
## Best Practices
|
|
442
|
+
|
|
443
|
+
1. **Clear Questions**: Be specific and provide context
|
|
444
|
+
2. **Right Participants**: Choose agents with relevant expertise
|
|
445
|
+
3. **Evidence-Based**: Use facts and experience
|
|
446
|
+
4. **Fair Scoring**: Use consistent criteria
|
|
447
|
+
5. **Document Everything**: Record full debate
|
|
448
|
+
6. **Implement Decisions**: Apply decisions consistently
|
|
449
|
+
7. **Review Outcomes**: Learn from results
|
|
450
|
+
8. **Time-Boxed**: Set reasonable timeouts
|
|
451
|
+
|
|
452
|
+
## Version
|
|
453
|
+
|
|
454
|
+
MDAN-AUTO Debate Protocol v1.0
|
|
@@ -158,3 +158,116 @@ Use markdown headers only. Gemini responds better to `# Identity`, `## Capabilit
|
|
|
158
158
|
|
|
159
159
|
### For Qwen / GLM / Kimi / MiniMax
|
|
160
160
|
The bracket notation works. If issues arise, switch to markdown headers as fallback.
|
|
161
|
+
|
|
162
|
+
---
|
|
163
|
+
|
|
164
|
+
## Autonomous Mode Extension
|
|
165
|
+
|
|
166
|
+
For autonomous agents (like MDAN-AUTO), the envelope includes additional sections:
|
|
167
|
+
|
|
168
|
+
```
|
|
169
|
+
[MDAN-AGENT]
|
|
170
|
+
NAME: Auto Orchestrator
|
|
171
|
+
VERSION: 1.0
|
|
172
|
+
ROLE: Autonomous full-cycle development coordinator
|
|
173
|
+
PHASE: ALL (LOAD → DISCOVER → PLAN → ARCHITECT → IMPLEMENT → TEST → DEPLOY → DOC)
|
|
174
|
+
REPORTS_TO: System
|
|
175
|
+
|
|
176
|
+
[IDENTITY]
|
|
177
|
+
You are an autonomous orchestrator that executes all development phases without human intervention.
|
|
178
|
+
You make decisions independently, save context at token limits, and resume from checkpoints.
|
|
179
|
+
|
|
180
|
+
[CAPABILITIES]
|
|
181
|
+
- Execute all 8 phases sequentially without human confirmation
|
|
182
|
+
- Save context to /tmp/mdan-save-[timestamp].json at 80% token limit
|
|
183
|
+
- Resume from saved context files
|
|
184
|
+
- Initiate multi-agent debates for complex decisions
|
|
185
|
+
- Fail-fast on critical errors
|
|
186
|
+
- Generate markdown outputs for each phase
|
|
187
|
+
|
|
188
|
+
[CONSTRAINTS]
|
|
189
|
+
- NEVER ask for confirmation except on critical errors
|
|
190
|
+
- NEVER pause between phases
|
|
191
|
+
- ALWAYS save context before hitting token limits
|
|
192
|
+
- ALWAYS use existing files (git clone if needed)
|
|
193
|
+
- ALL buttons must work with actual functionality
|
|
194
|
+
- ALL image URLs must be valid
|
|
195
|
+
|
|
196
|
+
[INPUT_FORMAT]
|
|
197
|
+
- Project description or requirements
|
|
198
|
+
- Optional: resume file path (--resume flag)
|
|
199
|
+
- Optional: tech stack specification
|
|
200
|
+
|
|
201
|
+
[OUTPUT_FORMAT]
|
|
202
|
+
Each phase outputs:
|
|
203
|
+
1. Markdown file: [PHASE]-[name].md
|
|
204
|
+
2. Signal: "PHASE X COMPLETE ✅"
|
|
205
|
+
3. Context save: "CONTEXT SAVE [file]" (when needed)
|
|
206
|
+
4. Final: "MISSION COMPLETE ✅"
|
|
207
|
+
|
|
208
|
+
[CONTEXT_MANAGEMENT]
|
|
209
|
+
- Monitor token usage continuously
|
|
210
|
+
- At 80% limit: save full context to /tmp/mdan-save-[timestamp].json
|
|
211
|
+
- Include: current phase, all artifacts, decisions, state
|
|
212
|
+
- Resume: load context and continue from saved phase
|
|
213
|
+
|
|
214
|
+
[DEBATE_PROTOCOL]
|
|
215
|
+
For complex decisions:
|
|
216
|
+
1. Identify 2-3 expert perspectives
|
|
217
|
+
2. Run inline debate (3 rounds max)
|
|
218
|
+
3. Converge on consensus
|
|
219
|
+
4. Document decision rationale
|
|
220
|
+
|
|
221
|
+
[QUALITY_CHECKLIST]
|
|
222
|
+
Before phase completion:
|
|
223
|
+
- [ ] All deliverables created
|
|
224
|
+
- [ ] Quality gates passed
|
|
225
|
+
- [ ] Context saved (if near limit)
|
|
226
|
+
- [ ] Next phase ready
|
|
227
|
+
|
|
228
|
+
[ESCALATION]
|
|
229
|
+
Only escalate on:
|
|
230
|
+
- Critical errors that halt progress
|
|
231
|
+
- Ambiguous requirements that cannot be resolved
|
|
232
|
+
- Security vulnerabilities requiring human review
|
|
233
|
+
[/MDAN-AGENT]
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
### Autonomous Mode Signals
|
|
237
|
+
|
|
238
|
+
The autonomous orchestrator uses specific signals:
|
|
239
|
+
|
|
240
|
+
- `PHASE X COMPLETE ✅` - Phase finished successfully
|
|
241
|
+
- `CONTEXT SAVE [file]` - Context saved to file
|
|
242
|
+
- `RESUMING FROM [file]` - Loading saved context
|
|
243
|
+
- `DEBATE: [topic]` - Starting multi-agent debate
|
|
244
|
+
- `CRITICAL ERROR: [description]` - Fail-fast condition
|
|
245
|
+
- `MISSION COMPLETE ✅` - All phases finished
|
|
246
|
+
|
|
247
|
+
### Context Save Format
|
|
248
|
+
|
|
249
|
+
```json
|
|
250
|
+
{
|
|
251
|
+
"version": "1.0",
|
|
252
|
+
"timestamp": "2024-01-01T12:00:00Z",
|
|
253
|
+
"current_phase": "IMPLEMENT",
|
|
254
|
+
"phases_completed": ["LOAD", "DISCOVER", "PLAN", "ARCHITECT"],
|
|
255
|
+
"artifacts": {
|
|
256
|
+
"prd": "path/to/prd.md",
|
|
257
|
+
"architecture": "path/to/architecture.md",
|
|
258
|
+
"implementation_plan": "path/to/plan.md"
|
|
259
|
+
},
|
|
260
|
+
"decisions": [
|
|
261
|
+
{
|
|
262
|
+
"topic": "Database choice",
|
|
263
|
+
"decision": "PostgreSQL",
|
|
264
|
+
"rationale": "..."
|
|
265
|
+
}
|
|
266
|
+
],
|
|
267
|
+
"state": {
|
|
268
|
+
"project_name": "my-project",
|
|
269
|
+
"tech_stack": {...},
|
|
270
|
+
"files_created": [...]
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
```
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"""MDAN Integrations Package
|
|
2
|
+
|
|
3
|
+
This package contains various integrations for MDAN, including:
|
|
4
|
+
- CrewAI: Multi-agent orchestration framework
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
from .crewai import (
|
|
8
|
+
CrewAIOrchestrator,
|
|
9
|
+
Phase,
|
|
10
|
+
SerperTool,
|
|
11
|
+
SQLTool,
|
|
12
|
+
FileTool,
|
|
13
|
+
AutoFlow,
|
|
14
|
+
DiscoveryFlow,
|
|
15
|
+
BuildFlow,
|
|
16
|
+
DebateFlow,
|
|
17
|
+
SkillRouter,
|
|
18
|
+
Skill,
|
|
19
|
+
)
|
|
20
|
+
|
|
21
|
+
__all__ = [
|
|
22
|
+
"CrewAIOrchestrator",
|
|
23
|
+
"Phase",
|
|
24
|
+
"SerperTool",
|
|
25
|
+
"SQLTool",
|
|
26
|
+
"FileTool",
|
|
27
|
+
"AutoFlow",
|
|
28
|
+
"DiscoveryFlow",
|
|
29
|
+
"BuildFlow",
|
|
30
|
+
"DebateFlow",
|
|
31
|
+
"SkillRouter",
|
|
32
|
+
"Skill",
|
|
33
|
+
]
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"""CrewAI Integration for MDAN - Multi-Agent Development Agentic Network"""
|
|
2
|
+
|
|
3
|
+
__version__ = "1.0.0"
|
|
4
|
+
|
|
5
|
+
from .orchestrator import CrewAIOrchestrator, Phase
|
|
6
|
+
from .tools.serper_tool import SerperTool
|
|
7
|
+
from .tools.sql_tool import SQLTool
|
|
8
|
+
from .tools.file_tool import FileTool
|
|
9
|
+
from .flows.auto_flow import AutoFlow
|
|
10
|
+
from .flows.discovery_flow import DiscoveryFlow
|
|
11
|
+
from .flows.build_flow import BuildFlow
|
|
12
|
+
from .flows.debate_flow import DebateFlow
|
|
13
|
+
from .skills.skill_router import SkillRouter, Skill
|
|
14
|
+
|
|
15
|
+
__all__ = [
|
|
16
|
+
"CrewAIOrchestrator",
|
|
17
|
+
"Phase",
|
|
18
|
+
"SerperTool",
|
|
19
|
+
"SQLTool",
|
|
20
|
+
"FileTool",
|
|
21
|
+
"AutoFlow",
|
|
22
|
+
"DiscoveryFlow",
|
|
23
|
+
"BuildFlow",
|
|
24
|
+
"DebateFlow",
|
|
25
|
+
"SkillRouter",
|
|
26
|
+
"Skill",
|
|
27
|
+
]
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"""CrewAI Agents Package"""
|
|
2
|
+
|
|
3
|
+
from .product_agent import ProductAgent
|
|
4
|
+
from .architect_agent import ArchitectAgent
|
|
5
|
+
from .ux_agent import UXAgent
|
|
6
|
+
from .dev_agent import DevAgent
|
|
7
|
+
from .test_agent import TestAgent
|
|
8
|
+
from .security_agent import SecurityAgent
|
|
9
|
+
from .devops_agent import DevOpsAgent
|
|
10
|
+
from .doc_agent import DocAgent
|
|
11
|
+
|
|
12
|
+
__all__ = [
|
|
13
|
+
"ProductAgent",
|
|
14
|
+
"ArchitectAgent",
|
|
15
|
+
"UXAgent",
|
|
16
|
+
"DevAgent",
|
|
17
|
+
"TestAgent",
|
|
18
|
+
"SecurityAgent",
|
|
19
|
+
"DevOpsAgent",
|
|
20
|
+
"DocAgent",
|
|
21
|
+
]
|