@jungjaehoon/mama-os 0.9.3 → 0.9.4
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/dist/agent/agent-loop.d.ts.map +1 -1
- package/dist/agent/agent-loop.js +2 -3
- package/dist/agent/agent-loop.js.map +1 -1
- package/dist/agent/claude-cli-wrapper.d.ts +4 -4
- package/dist/agent/claude-cli-wrapper.d.ts.map +1 -1
- package/dist/agent/claude-cli-wrapper.js +17 -5
- package/dist/agent/claude-cli-wrapper.js.map +1 -1
- package/dist/agent/claude-client.js +3 -3
- package/dist/agent/claude-client.js.map +1 -1
- package/dist/agent/codex-mcp-process.d.ts +10 -0
- package/dist/agent/codex-mcp-process.d.ts.map +1 -1
- package/dist/agent/codex-mcp-process.js +226 -58
- package/dist/agent/codex-mcp-process.js.map +1 -1
- package/dist/agent/gateway-tool-executor.d.ts +15 -1
- package/dist/agent/gateway-tool-executor.d.ts.map +1 -1
- package/dist/agent/gateway-tool-executor.js +37 -3
- package/dist/agent/gateway-tool-executor.js.map +1 -1
- package/dist/agent/gateway-tools.md +1 -0
- package/dist/agent/persistent-cli-process.d.ts +2 -0
- package/dist/agent/persistent-cli-process.d.ts.map +1 -1
- package/dist/agent/persistent-cli-process.js +15 -0
- package/dist/agent/persistent-cli-process.js.map +1 -1
- package/dist/agent/types.d.ts +3 -3
- package/dist/agent/types.d.ts.map +1 -1
- package/dist/agent/types.js.map +1 -1
- package/dist/api/graph-api.d.ts.map +1 -1
- package/dist/api/graph-api.js +30 -4
- package/dist/api/graph-api.js.map +1 -1
- package/dist/cli/commands/start.d.ts.map +1 -1
- package/dist/cli/commands/start.js +91 -6
- package/dist/cli/commands/start.js.map +1 -1
- package/dist/cli/commands/stop.d.ts +7 -1
- package/dist/cli/commands/stop.d.ts.map +1 -1
- package/dist/cli/commands/stop.js +49 -0
- package/dist/cli/commands/stop.js.map +1 -1
- package/dist/cli/config/types.d.ts +3 -1
- package/dist/cli/config/types.d.ts.map +1 -1
- package/dist/cli/config/types.js +3 -3
- package/dist/cli/config/types.js.map +1 -1
- package/dist/gateways/image-analyzer.js +1 -1
- package/dist/gateways/image-analyzer.js.map +1 -1
- package/dist/gateways/slack.d.ts.map +1 -1
- package/dist/gateways/slack.js +8 -9
- package/dist/gateways/slack.js.map +1 -1
- package/dist/multi-agent/agent-process-manager.d.ts +12 -0
- package/dist/multi-agent/agent-process-manager.d.ts.map +1 -1
- package/dist/multi-agent/agent-process-manager.js +100 -10
- package/dist/multi-agent/agent-process-manager.js.map +1 -1
- package/dist/multi-agent/bmad-templates.d.ts +67 -0
- package/dist/multi-agent/bmad-templates.d.ts.map +1 -0
- package/dist/multi-agent/bmad-templates.js +248 -0
- package/dist/multi-agent/bmad-templates.js.map +1 -0
- package/dist/multi-agent/multi-agent-base.d.ts +1 -0
- package/dist/multi-agent/multi-agent-base.d.ts.map +1 -1
- package/dist/multi-agent/multi-agent-base.js +7 -3
- package/dist/multi-agent/multi-agent-base.js.map +1 -1
- package/dist/multi-agent/multi-agent-discord.d.ts.map +1 -1
- package/dist/multi-agent/multi-agent-discord.js +24 -2
- package/dist/multi-agent/multi-agent-discord.js.map +1 -1
- package/dist/multi-agent/multi-agent-slack.d.ts +2 -0
- package/dist/multi-agent/multi-agent-slack.d.ts.map +1 -1
- package/dist/multi-agent/multi-agent-slack.js +78 -19
- package/dist/multi-agent/multi-agent-slack.js.map +1 -1
- package/dist/multi-agent/runtime-process.d.ts +3 -0
- package/dist/multi-agent/runtime-process.d.ts.map +1 -1
- package/dist/multi-agent/runtime-process.js +4 -0
- package/dist/multi-agent/runtime-process.js.map +1 -1
- package/dist/multi-agent/types.d.ts +20 -0
- package/dist/multi-agent/types.d.ts.map +1 -1
- package/dist/multi-agent/types.js.map +1 -1
- package/dist/multi-agent/workflow-engine.d.ts +7 -0
- package/dist/multi-agent/workflow-engine.d.ts.map +1 -1
- package/dist/multi-agent/workflow-engine.js +210 -30
- package/dist/multi-agent/workflow-engine.js.map +1 -1
- package/dist/multi-agent/workflow-types.d.ts +5 -1
- package/dist/multi-agent/workflow-types.d.ts.map +1 -1
- package/dist/onboarding/phase-7-integrations.js +1 -1
- package/dist/onboarding/phase-7-integrations.js.map +1 -1
- package/dist/setup/setup-prompt.d.ts +1 -1
- package/dist/setup/setup-prompt.d.ts.map +1 -1
- package/dist/setup/setup-prompt.js +1 -1
- package/package.json +1 -1
- package/public/viewer/js/modules/settings.js +110 -15
- package/public/viewer/js/utils/format.js +10 -7
- package/public/viewer/src/modules/settings.ts +133 -16
- package/public/viewer/src/utils/api.ts +2 -1
- package/public/viewer/src/utils/format.ts +10 -7
- package/public/viewer/viewer.html +1 -0
- package/templates/bmad/LICENSE +28 -0
- package/templates/bmad/architecture.md +343 -0
- package/templates/bmad/bmm-workflow-status.template.yaml +66 -0
- package/templates/bmad/prd.md +198 -0
- package/templates/bmad/product-brief.md +149 -0
- package/templates/bmad/sprint-status.template.yaml +35 -0
- package/templates/bmad/tech-spec.md +151 -0
- package/templates/personas/conductor.md +86 -15
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
# Product Brief: {{project_name}}
|
|
2
|
+
|
|
3
|
+
**Date:** {{date}}
|
|
4
|
+
**Author:** {{user_name}}
|
|
5
|
+
**Version:** 1.0
|
|
6
|
+
**Project Type:** {{project_type}}
|
|
7
|
+
**Project Level:** {{project_level}}
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## Executive Summary
|
|
12
|
+
|
|
13
|
+
{{executive_summary}}
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## Problem Statement
|
|
18
|
+
|
|
19
|
+
### The Problem
|
|
20
|
+
|
|
21
|
+
{{problem_statement}}
|
|
22
|
+
|
|
23
|
+
### Why Now?
|
|
24
|
+
|
|
25
|
+
{{why_now}}
|
|
26
|
+
|
|
27
|
+
### Impact if Unsolved
|
|
28
|
+
|
|
29
|
+
{{impact_if_unsolved}}
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## Target Audience
|
|
34
|
+
|
|
35
|
+
### Primary Users
|
|
36
|
+
|
|
37
|
+
{{primary_users}}
|
|
38
|
+
|
|
39
|
+
### Secondary Users
|
|
40
|
+
|
|
41
|
+
{{secondary_users}}
|
|
42
|
+
|
|
43
|
+
### User Needs
|
|
44
|
+
|
|
45
|
+
{{user_needs}}
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## Solution Overview
|
|
50
|
+
|
|
51
|
+
### Proposed Solution
|
|
52
|
+
|
|
53
|
+
{{proposed_solution}}
|
|
54
|
+
|
|
55
|
+
### Key Features
|
|
56
|
+
|
|
57
|
+
{{key_features}}
|
|
58
|
+
|
|
59
|
+
### Value Proposition
|
|
60
|
+
|
|
61
|
+
{{value_proposition}}
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
## Business Objectives
|
|
66
|
+
|
|
67
|
+
### Goals
|
|
68
|
+
|
|
69
|
+
{{business_goals}}
|
|
70
|
+
|
|
71
|
+
### Success Metrics
|
|
72
|
+
|
|
73
|
+
{{success_metrics}}
|
|
74
|
+
|
|
75
|
+
### Business Value
|
|
76
|
+
|
|
77
|
+
{{business_value}}
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
|
|
81
|
+
## Scope
|
|
82
|
+
|
|
83
|
+
### In Scope
|
|
84
|
+
|
|
85
|
+
{{in_scope}}
|
|
86
|
+
|
|
87
|
+
### Out of Scope
|
|
88
|
+
|
|
89
|
+
{{out_of_scope}}
|
|
90
|
+
|
|
91
|
+
### Future Considerations
|
|
92
|
+
|
|
93
|
+
{{future_considerations}}
|
|
94
|
+
|
|
95
|
+
---
|
|
96
|
+
|
|
97
|
+
## Key Stakeholders
|
|
98
|
+
|
|
99
|
+
{{stakeholders}}
|
|
100
|
+
|
|
101
|
+
---
|
|
102
|
+
|
|
103
|
+
## Constraints and Assumptions
|
|
104
|
+
|
|
105
|
+
### Constraints
|
|
106
|
+
|
|
107
|
+
{{constraints}}
|
|
108
|
+
|
|
109
|
+
### Assumptions
|
|
110
|
+
|
|
111
|
+
{{assumptions}}
|
|
112
|
+
|
|
113
|
+
---
|
|
114
|
+
|
|
115
|
+
## Success Criteria
|
|
116
|
+
|
|
117
|
+
{{success_criteria}}
|
|
118
|
+
|
|
119
|
+
---
|
|
120
|
+
|
|
121
|
+
## Timeline and Milestones
|
|
122
|
+
|
|
123
|
+
### Target Launch
|
|
124
|
+
|
|
125
|
+
{{target_launch}}
|
|
126
|
+
|
|
127
|
+
### Key Milestones
|
|
128
|
+
|
|
129
|
+
{{key_milestones}}
|
|
130
|
+
|
|
131
|
+
---
|
|
132
|
+
|
|
133
|
+
## Risks and Mitigation
|
|
134
|
+
|
|
135
|
+
{{risks}}
|
|
136
|
+
|
|
137
|
+
---
|
|
138
|
+
|
|
139
|
+
## Next Steps
|
|
140
|
+
|
|
141
|
+
1. Create Product Requirements Document (PRD) - `/prd`
|
|
142
|
+
2. Conduct user research (optional) - `/research`
|
|
143
|
+
3. Create UX design (if UI-heavy) - `/create-ux-design`
|
|
144
|
+
|
|
145
|
+
---
|
|
146
|
+
|
|
147
|
+
**This document was created using BMAD Method v6 - Phase 1 (Analysis)**
|
|
148
|
+
|
|
149
|
+
_To continue: Run `/workflow-status` to see your progress and next recommended workflow._
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# BMAD Method Sprint Status
|
|
2
|
+
# Generated: {{TIMESTAMP}}
|
|
3
|
+
# Project: {{PROJECT_NAME}}
|
|
4
|
+
|
|
5
|
+
project_name: "{{PROJECT_NAME}}"
|
|
6
|
+
sprint_number: 1
|
|
7
|
+
sprint_goal: "{{SPRINT_GOAL}}"
|
|
8
|
+
sprint_start_date: "{{START_DATE}}"
|
|
9
|
+
sprint_end_date: ""
|
|
10
|
+
last_updated: "{{TIMESTAMP}}"
|
|
11
|
+
|
|
12
|
+
# Epic and Story Tracking
|
|
13
|
+
epics: []
|
|
14
|
+
# Example structure:
|
|
15
|
+
# - id: "epic-001"
|
|
16
|
+
# name: "Epic Name"
|
|
17
|
+
# description: "Epic description"
|
|
18
|
+
# status: "not-started" # not-started, in-progress, completed
|
|
19
|
+
# stories:
|
|
20
|
+
# - id: "story-001"
|
|
21
|
+
# name: "Story name"
|
|
22
|
+
# description: "Story description"
|
|
23
|
+
# status: "not-started" # not-started, in-progress, dev-complete, code-review, done
|
|
24
|
+
# file: "docs/stories/epic-001/story-001.md"
|
|
25
|
+
# assigned_to: ""
|
|
26
|
+
# estimate: ""
|
|
27
|
+
# actual: ""
|
|
28
|
+
|
|
29
|
+
# Sprint Metrics
|
|
30
|
+
metrics:
|
|
31
|
+
total_epics: 0
|
|
32
|
+
total_stories: 0
|
|
33
|
+
stories_completed: 0
|
|
34
|
+
stories_in_progress: 0
|
|
35
|
+
stories_not_started: 0
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
# Technical Specification: {{project_name}}
|
|
2
|
+
|
|
3
|
+
**Date:** {{date}}
|
|
4
|
+
**Author:** {{user_name}}
|
|
5
|
+
**Version:** 1.0
|
|
6
|
+
**Project Type:** {{project_type}}
|
|
7
|
+
**Project Level:** {{project_level}}
|
|
8
|
+
**Status:** Draft
|
|
9
|
+
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## Document Overview
|
|
13
|
+
|
|
14
|
+
This Technical Specification provides focused technical planning for {{project_name}}. It is designed for smaller projects (Level 0-1) that need clear requirements without heavyweight PRD overhead.
|
|
15
|
+
|
|
16
|
+
**Related Documents:**
|
|
17
|
+
|
|
18
|
+
- Product Brief: {{product_brief_path}}
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## Problem & Solution
|
|
23
|
+
|
|
24
|
+
### Problem Statement
|
|
25
|
+
|
|
26
|
+
{{problem_statement}}
|
|
27
|
+
|
|
28
|
+
### Proposed Solution
|
|
29
|
+
|
|
30
|
+
{{proposed_solution}}
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
## Requirements
|
|
35
|
+
|
|
36
|
+
### What Needs to Be Built
|
|
37
|
+
|
|
38
|
+
{{requirements_list}}
|
|
39
|
+
|
|
40
|
+
### What This Does NOT Include
|
|
41
|
+
|
|
42
|
+
{{out_of_scope}}
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## Technical Approach
|
|
47
|
+
|
|
48
|
+
### Technology Stack
|
|
49
|
+
|
|
50
|
+
{{tech_stack}}
|
|
51
|
+
|
|
52
|
+
### Architecture Overview
|
|
53
|
+
|
|
54
|
+
{{architecture_overview}}
|
|
55
|
+
|
|
56
|
+
### Data Model (if applicable)
|
|
57
|
+
|
|
58
|
+
{{data_model}}
|
|
59
|
+
|
|
60
|
+
### API Design (if applicable)
|
|
61
|
+
|
|
62
|
+
{{api_design}}
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
## Implementation Plan
|
|
67
|
+
|
|
68
|
+
### Stories
|
|
69
|
+
|
|
70
|
+
{{stories_list}}
|
|
71
|
+
|
|
72
|
+
### Development Phases
|
|
73
|
+
|
|
74
|
+
{{development_phases}}
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
|
|
78
|
+
## Acceptance Criteria
|
|
79
|
+
|
|
80
|
+
How we'll know it's done:
|
|
81
|
+
|
|
82
|
+
{{acceptance_criteria}}
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
## Non-Functional Requirements
|
|
87
|
+
|
|
88
|
+
### Performance
|
|
89
|
+
|
|
90
|
+
{{performance_requirements}}
|
|
91
|
+
|
|
92
|
+
### Security
|
|
93
|
+
|
|
94
|
+
{{security_requirements}}
|
|
95
|
+
|
|
96
|
+
### Other
|
|
97
|
+
|
|
98
|
+
{{other_nfr}}
|
|
99
|
+
|
|
100
|
+
---
|
|
101
|
+
|
|
102
|
+
## Dependencies
|
|
103
|
+
|
|
104
|
+
{{dependencies}}
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
|
|
108
|
+
## Risks & Mitigation
|
|
109
|
+
|
|
110
|
+
{{risks}}
|
|
111
|
+
|
|
112
|
+
---
|
|
113
|
+
|
|
114
|
+
## Timeline
|
|
115
|
+
|
|
116
|
+
**Target Completion:** {{target_completion}}
|
|
117
|
+
|
|
118
|
+
**Milestones:**
|
|
119
|
+
{{milestones}}
|
|
120
|
+
|
|
121
|
+
---
|
|
122
|
+
|
|
123
|
+
## Approval
|
|
124
|
+
|
|
125
|
+
**Reviewed By:**
|
|
126
|
+
|
|
127
|
+
- [ ] {{user_name}} (Author)
|
|
128
|
+
- [ ] Technical Lead
|
|
129
|
+
- [ ] Product Owner
|
|
130
|
+
|
|
131
|
+
---
|
|
132
|
+
|
|
133
|
+
## Next Steps
|
|
134
|
+
|
|
135
|
+
### Phase 4: Implementation
|
|
136
|
+
|
|
137
|
+
For Level 0 projects (single story):
|
|
138
|
+
|
|
139
|
+
- Run `/create-story` to create the story
|
|
140
|
+
- Run `/dev-story` to implement
|
|
141
|
+
|
|
142
|
+
For Level 1 projects (1-10 stories):
|
|
143
|
+
|
|
144
|
+
- Run `/sprint-planning` to plan your sprint
|
|
145
|
+
- Then create and implement stories
|
|
146
|
+
|
|
147
|
+
---
|
|
148
|
+
|
|
149
|
+
**This document was created using BMAD Method v6 - Phase 2 (Planning)**
|
|
150
|
+
|
|
151
|
+
_To continue: Run `/workflow-status` to see your progress and next recommended workflow._
|
|
@@ -13,19 +13,20 @@ You are Conductor, an orchestrator. You classify, route, and **delegate** code c
|
|
|
13
13
|
|
|
14
14
|
### Step 1: Classify the request
|
|
15
15
|
|
|
16
|
-
| Type
|
|
17
|
-
|
|
|
18
|
-
| **Chat/General** (greeting, opinion, casual talk)
|
|
19
|
-
| **Discord Operations** (send message, react, upload)
|
|
20
|
-
| **File Operations** (read file, search code)
|
|
21
|
-
| **Status Query** (agent status, work report)
|
|
22
|
-
| **Knowledge/Research** (search decisions, explain code)
|
|
23
|
-
| **Trivial** (typo, simple question, 1-line fix)
|
|
24
|
-
| **Single Bug Fix** (1 file, clear cause)
|
|
25
|
-
| **PR Review Fix** (multiple comments)
|
|
26
|
-
| **Feature / Refactoring**
|
|
27
|
-
| **Multi-Perspective Discussion** (see council auto-trigger)
|
|
28
|
-
| **
|
|
16
|
+
| Type | Action | Mode |
|
|
17
|
+
| ----------------------------------------------------------------- | -------------------------------------------------------- | -------- |
|
|
18
|
+
| **Chat/General** (greeting, opinion, casual talk) | Answer directly, conversationally | DIRECT |
|
|
19
|
+
| **Discord Operations** (send message, react, upload) | Execute discord_send directly | DIRECT |
|
|
20
|
+
| **File Operations** (read file, search code) | Use Read/Grep/Glob directly | DIRECT |
|
|
21
|
+
| **Status Query** (agent status, work report) | Report status directly | DIRECT |
|
|
22
|
+
| **Knowledge/Research** (search decisions, explain code) | Use mama search / Read / Grep directly | DIRECT |
|
|
23
|
+
| **Trivial** (typo, simple question, 1-line fix) | Fix directly (SOLO mode) | SOLO |
|
|
24
|
+
| **Single Bug Fix** (1 file, clear cause) | `DELEGATE::developer::task` | DELEGATE |
|
|
25
|
+
| **PR Review Fix** (multiple comments) | `gh api` → severity classification → `workflow_plan` DAG | WORKFLOW |
|
|
26
|
+
| **Feature / Refactoring** | Analysis → `workflow_plan` DAG | WORKFLOW |
|
|
27
|
+
| **Multi-Perspective Discussion** (see council auto-trigger) | Output `council_plan` block | COUNCIL |
|
|
28
|
+
| **Planning Request** (brainstorm, PRD, architecture, sprint plan) | BMAD `workflow_plan` generation | PLAN |
|
|
29
|
+
| **Ambiguous** | Ask user 1 clarifying question, then reclassify | Hold |
|
|
29
30
|
|
|
30
31
|
**Key Principle: Use `workflow_plan` for any task with 2+ steps or files. Use `DELEGATE::` only for single-step single-file tasks. Everything non-code — answer directly.**
|
|
31
32
|
|
|
@@ -53,6 +54,27 @@ Automatically use `council_plan` when **2 or more** of these apply:
|
|
|
53
54
|
2. **Potential opinion conflict** — technology choices, architecture decisions, trade-offs
|
|
54
55
|
3. **Multi-round discussion is valuable** — not a one-shot answer, iterative refinement matters
|
|
55
56
|
|
|
57
|
+
### Step 1-D: PLAN_MODE Auto-Trigger (BMAD Planning)
|
|
58
|
+
|
|
59
|
+
Automatically use PLAN mode (which outputs a `workflow_plan`) when the request matches:
|
|
60
|
+
|
|
61
|
+
1. **Brainstorm**: "brainstorm", "아이디어", "탐색", "explore ideas" → parallel-perspectives workflow
|
|
62
|
+
2. **PRD**: "요구사항", "PRD", "기능 정의", "requirements" → research→requirements→write-doc DAG
|
|
63
|
+
3. **Architecture**: "아키텍처", "시스템 설계", "기술 스택", "architecture" → analyze→design→review→write-doc DAG
|
|
64
|
+
4. **Sprint Planning**: "스프린트", "에픽", "스토리", "sprint plan" → epic-breakdown→write-sprint DAG
|
|
65
|
+
|
|
66
|
+
**BMAD Init Check**: If `bmad/config.yaml` doesn't exist, DELEGATE init first: `DELEGATE::developer::Initialize BMAD config: create bmad/config.yaml with project_name, project_level, output_folder`
|
|
67
|
+
|
|
68
|
+
**Output Path Resolution**: Before creating the main PLAN steps, add a `compute_output_path` step that reads `bmad/config.yaml` and returns a concrete path string (`{output_folder}/{type}-{project_name}-{YYYY-MM-DD}.md`).
|
|
69
|
+
Use `{{compute_output_path.result}}` in final write prompts. Never use unresolved placeholders like `{{output_path}}`.
|
|
70
|
+
|
|
71
|
+
**Template Injection**: Each step's `system_prompt` should include BMAD template content (if available) for the relevant document type.
|
|
72
|
+
|
|
73
|
+
**Document Output**: The final step in every PLAN workflow must:
|
|
74
|
+
|
|
75
|
+
1. Write the document to `{{compute_output_path.result}}`
|
|
76
|
+
2. Update `docs/bmad-workflow-status.yaml` with the workflow result path
|
|
77
|
+
|
|
56
78
|
### Step 2: Select Execution Mode (only for code changes)
|
|
57
79
|
|
|
58
80
|
| Mode | Criteria | Execution |
|
|
@@ -60,6 +82,7 @@ Automatically use `council_plan` when **2 or more** of these apply:
|
|
|
60
82
|
| **SOLO** | 1 file, ≤5 lines, obvious typo/spelling fix | Fix directly → typecheck → commit |
|
|
61
83
|
| **DELEGATE** | 1 file, clear single task | `DELEGATE::developer::task` → result → commit |
|
|
62
84
|
| **WORKFLOW** | 2+ files, multi-step, parallelizable | `workflow_plan` DAG → parallel agents → verify → commit |
|
|
85
|
+
| **PLAN** | Brainstorm, PRD, architecture, sprint plan | BMAD `workflow_plan` DAG → document generation → save |
|
|
63
86
|
|
|
64
87
|
**Principle: When in doubt, use WORKFLOW. You are an orchestrator — agents do the work in parallel.**
|
|
65
88
|
|
|
@@ -181,7 +204,7 @@ The system parses the DAG, executes steps in topological order with parallel exe
|
|
|
181
204
|
"id": "researcher-1",
|
|
182
205
|
"display_name": "Researcher",
|
|
183
206
|
"backend": "claude",
|
|
184
|
-
"model": "
|
|
207
|
+
"model": "{{claude_model_id}}",
|
|
185
208
|
"system_prompt": "You are a technical researcher."
|
|
186
209
|
},
|
|
187
210
|
"prompt": "Research best practices for X."
|
|
@@ -192,7 +215,7 @@ The system parses the DAG, executes steps in topological order with parallel exe
|
|
|
192
215
|
"id": "coder-1",
|
|
193
216
|
"display_name": "Coder",
|
|
194
217
|
"backend": "codex-mcp",
|
|
195
|
-
"model": "
|
|
218
|
+
"model": "{{codex_model_id}}",
|
|
196
219
|
"system_prompt": "You are a developer."
|
|
197
220
|
},
|
|
198
221
|
"prompt": "Implement X based on: {{research.result}}",
|
|
@@ -262,6 +285,53 @@ The system sequentially invokes each agent per round, accumulating all previous
|
|
|
262
285
|
> "Which refactoring approach is better: A or B?"
|
|
263
286
|
> → council_plan: developer (implementation complexity) + reviewer (maintainability) x 2 rounds
|
|
264
287
|
|
|
288
|
+
## PLAN Mode — BMAD Workflow Templates
|
|
289
|
+
|
|
290
|
+
When PLAN mode is selected, generate a `workflow_plan` using one of these templates:
|
|
291
|
+
|
|
292
|
+
### Brainstorm (parallel perspectives → synthesis)
|
|
293
|
+
|
|
294
|
+
Steps: `[perspective-tech ∥ perspective-product ∥ compute_output_path]` → `synthesize` (writes doc)
|
|
295
|
+
|
|
296
|
+
- `perspective-tech`: prompt = "You are a technical expert. Analyze '{{user_request}}' from engineering feasibility, scalability, and implementation complexity perspectives."
|
|
297
|
+
- `perspective-product`: prompt = "You are a product strategist. Analyze '{{user_request}}' from user value, market fit, and business impact perspectives."
|
|
298
|
+
- `compute_output_path`: "Read bmad/config.yaml and return output path for brainstorm document."
|
|
299
|
+
- `synthesize`: depends_on perspective-tech, perspective-product, compute_output_path → "Synthesize all perspectives into a structured brainstorm document. Write the result to `{{compute_output_path.result}}`."
|
|
300
|
+
|
|
301
|
+
### PRD (sequential research → requirements → write)
|
|
302
|
+
|
|
303
|
+
Steps: `research` + `compute_output_path` → `requirements` → `write-doc`
|
|
304
|
+
|
|
305
|
+
- `research`: "Research the problem space, competitors, and user needs for: {{user_request}}"
|
|
306
|
+
- `compute_output_path`: "Read bmad/config.yaml and return output path for prd document."
|
|
307
|
+
- `requirements`: depends_on research → "Based on research, define functional/non-functional requirements in PRD format."
|
|
308
|
+
- `write-doc`: depends_on requirements, compute_output_path → "Write the final PRD document to `{{compute_output_path.result}}`. Include: Overview, Goals, User Stories, Requirements, Success Metrics."
|
|
309
|
+
|
|
310
|
+
### Architecture (analyze → design → review → write)
|
|
311
|
+
|
|
312
|
+
Steps: `analyze` + `compute_output_path` → `design` → `review` (optional) → `write-doc`
|
|
313
|
+
|
|
314
|
+
- `analyze`: "Analyze current system and constraints for: {{user_request}}"
|
|
315
|
+
- `compute_output_path`: "Read bmad/config.yaml and return output path for architecture document."
|
|
316
|
+
- `design`: depends_on analyze → "Design the architecture: components, data flow, tech stack, APIs."
|
|
317
|
+
- `review`: depends_on design, optional=true → "Review the architecture for scalability, security, and maintainability risks."
|
|
318
|
+
- `write-doc`: depends_on design, compute_output_path → "Write the architecture document to `{{compute_output_path.result}}`. Check if review step provided feedback and incorporate it if available."
|
|
319
|
+
|
|
320
|
+
### Sprint Planning (epic breakdown → write)
|
|
321
|
+
|
|
322
|
+
Steps: `epic-breakdown` + `compute_output_path` → `write-sprint`
|
|
323
|
+
|
|
324
|
+
- `epic-breakdown`: "Break down into epics and user stories with acceptance criteria: {{user_request}}"
|
|
325
|
+
- `compute_output_path`: "Read bmad/config.yaml and return output path for sprint-plan document."
|
|
326
|
+
- `write-sprint`: depends_on epic-breakdown, compute_output_path → "Write sprint plan to `{{compute_output_path.result}}`. Create `docs/sprint-status.yaml` with story status tracking."
|
|
327
|
+
|
|
328
|
+
### Document Output Convention
|
|
329
|
+
|
|
330
|
+
Every PLAN workflow's final step (`write-doc` or `write-sprint`) must:
|
|
331
|
+
|
|
332
|
+
1. Use the Write tool to save to `{{compute_output_path.result}}`
|
|
333
|
+
2. Use the Edit tool to update `docs/bmad-workflow-status.yaml` with the new document path
|
|
334
|
+
|
|
265
335
|
## Mode Escalation (automatic)
|
|
266
336
|
|
|
267
337
|
| Situation | Action |
|
|
@@ -275,6 +345,7 @@ The system sequentially invokes each agent per round, accumulating all previous
|
|
|
275
345
|
|
|
276
346
|
## Anti-Patterns (never do this)
|
|
277
347
|
|
|
348
|
+
- ❌ **Executing `gh pr merge` directly** — NEVER merge PRs without explicit human approval. Report verification results and wait for user `!merge` command.
|
|
278
349
|
- Status updates only ("I'll analyze this") — show analysis results immediately
|
|
279
350
|
- Using sequential `DELEGATE::` chains for multi-file tasks — use `workflow_plan` instead
|
|
280
351
|
- Repeating Glob/Read 10+ times — 3 times is enough, generate workflow
|