bmad-method 6.0.0-alpha.10 → 6.0.0-alpha.12
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/CHANGELOG.md +219 -1105
- package/README.md +129 -359
- package/docs/custom-agent-installation.md +169 -0
- package/{v6-open-items.md → docs/v6-open-items.md} +1 -1
- package/package.json +4 -2
- package/src/core/resources/excalidraw/README.md +160 -0
- package/src/core/resources/excalidraw/library-loader.md +50 -0
- package/src/modules/bmb/docs/agent-compilation.md +340 -0
- package/src/modules/bmb/docs/agent-menu-patterns.md +524 -0
- package/src/modules/bmb/docs/expert-agent-architecture.md +364 -0
- package/src/modules/bmb/docs/index.md +55 -0
- package/src/modules/bmb/docs/module-agent-architecture.md +367 -0
- package/src/modules/bmb/docs/simple-agent-architecture.md +288 -0
- package/src/modules/bmb/docs/understanding-agent-types.md +184 -0
- package/src/modules/bmb/reference/agents/expert-examples/journal-keeper/README.md +242 -0
- package/src/modules/bmb/reference/agents/expert-examples/journal-keeper/journal-keeper-sidecar/breakthroughs.md +24 -0
- package/src/modules/bmb/reference/agents/expert-examples/journal-keeper/journal-keeper-sidecar/instructions.md +108 -0
- package/src/modules/bmb/reference/agents/expert-examples/journal-keeper/journal-keeper-sidecar/memories.md +46 -0
- package/src/modules/bmb/reference/agents/expert-examples/journal-keeper/journal-keeper-sidecar/mood-patterns.md +39 -0
- package/src/modules/bmb/reference/agents/expert-examples/journal-keeper/journal-keeper.agent.yaml +152 -0
- package/src/modules/bmb/reference/agents/module-examples/README.md +50 -0
- package/src/modules/bmb/reference/agents/module-examples/security-engineer.agent.yaml +53 -0
- package/src/modules/bmb/reference/agents/module-examples/trend-analyst.agent.yaml +57 -0
- package/src/modules/bmb/reference/agents/simple-examples/README.md +223 -0
- package/src/modules/bmb/reference/agents/simple-examples/commit-poet.agent.yaml +126 -0
- package/src/modules/bmb/reference/readme.md +3 -0
- package/src/modules/bmb/workflows/create-agent/agent-validation-checklist.md +174 -0
- package/src/modules/bmb/workflows/create-agent/brainstorm-context.md +99 -120
- package/src/modules/bmb/workflows/create-agent/communication-presets.csv +61 -0
- package/src/modules/bmb/workflows/create-agent/instructions.md +126 -65
- package/src/modules/bmb/workflows/create-agent/workflow.yaml +19 -12
- package/src/modules/bmb/workflows/edit-agent/README.md +174 -47
- package/src/modules/bmb/workflows/edit-agent/instructions.md +397 -33
- package/src/modules/bmb/workflows/edit-agent/workflow.yaml +24 -8
- package/src/modules/bmgd/workflows/4-production/story-context/workflow.yaml +1 -1
- package/src/modules/bmm/agents/analyst.agent.yaml +2 -2
- package/src/modules/bmm/agents/architect.agent.yaml +10 -2
- package/src/modules/bmm/agents/dev.agent.yaml +2 -2
- package/src/modules/bmm/agents/pm.agent.yaml +7 -3
- package/src/modules/bmm/agents/sm.agent.yaml +2 -2
- package/src/modules/bmm/agents/tea.agent.yaml +2 -2
- package/src/modules/bmm/agents/tech-writer.agent.yaml +15 -3
- package/src/modules/bmm/agents/ux-designer.agent.yaml +6 -2
- package/src/modules/bmm/docs/README.md +4 -0
- package/src/modules/bmm/docs/images/workflow-method-greenfield.excalidraw +5919 -0
- package/src/modules/bmm/docs/images/workflow-method-greenfield.svg +2 -0
- package/src/modules/bmm/docs/quick-start.md +6 -0
- package/src/modules/bmm/docs/scale-adaptive-system.md +6 -0
- package/src/modules/bmm/docs/workflows-implementation.md +10 -0
- package/src/modules/bmm/workflows/2-plan-workflows/prd/workflow.yaml +4 -4
- package/src/modules/bmm/workflows/{2-plan-workflows → 3-solutioning}/create-epics-and-stories/workflow.yaml +5 -5
- package/src/modules/bmm/workflows/4-implementation/story-context/workflow.yaml +1 -1
- package/src/modules/bmm/workflows/{frame-expert → diagrams}/create-dataflow/instructions.md +7 -8
- package/src/modules/bmm/workflows/diagrams/create-dataflow/workflow.yaml +27 -0
- package/src/modules/bmm/workflows/{frame-expert → diagrams}/create-diagram/instructions.md +9 -10
- package/src/modules/bmm/workflows/diagrams/create-diagram/workflow.yaml +27 -0
- package/src/modules/bmm/workflows/{frame-expert → diagrams}/create-flowchart/instructions.md +4 -5
- package/src/modules/bmm/workflows/diagrams/create-flowchart/workflow.yaml +27 -0
- package/src/modules/bmm/workflows/{frame-expert → diagrams}/create-wireframe/instructions.md +3 -3
- package/src/modules/bmm/workflows/diagrams/create-wireframe/workflow.yaml +27 -0
- package/src/modules/bmm/workflows/workflow-status/paths/enterprise-brownfield.yaml +18 -30
- package/src/modules/bmm/workflows/workflow-status/paths/enterprise-greenfield.yaml +2 -14
- package/src/modules/bmm/workflows/workflow-status/paths/method-brownfield.yaml +2 -14
- package/src/modules/bmm/workflows/workflow-status/paths/method-greenfield.yaml +2 -14
- package/src/modules/cis/agents/presentation-master.agent.yaml +60 -0
- package/tools/cli/commands/agent-install.js +409 -0
- package/tools/cli/installers/lib/core/installer.js +119 -0
- package/tools/cli/installers/lib/ide/_base-ide.js +25 -0
- package/tools/cli/installers/lib/ide/antigravity.js +463 -0
- package/tools/cli/installers/lib/ide/claude-code.js +43 -0
- package/tools/cli/installers/lib/ide/codex.js +217 -32
- package/tools/cli/installers/lib/ide/cursor.js +48 -0
- package/tools/cli/installers/lib/ide/github-copilot.js +74 -0
- package/tools/cli/installers/lib/ide/manager.js +35 -0
- package/tools/cli/installers/lib/ide/opencode.js +45 -0
- package/tools/cli/installers/lib/ide/windsurf.js +47 -0
- package/tools/cli/lib/agent/compiler.js +390 -0
- package/tools/cli/lib/agent/installer.js +725 -0
- package/tools/cli/lib/agent/template-engine.js +152 -0
- package/docs/installers-bundlers/web-bundler-usage.md +0 -54
- package/src/modules/bmb/workflows/create-agent/README.md +0 -203
- package/src/modules/bmb/workflows/create-agent/agent-architecture.md +0 -415
- package/src/modules/bmb/workflows/create-agent/agent-command-patterns.md +0 -759
- package/src/modules/bmb/workflows/create-agent/agent-types.md +0 -292
- package/src/modules/bmb/workflows/create-agent/checklist.md +0 -62
- package/src/modules/bmb/workflows/create-agent/communication-styles.md +0 -202
- package/src/modules/bmb/workflows/edit-agent/checklist.md +0 -112
- package/src/modules/bmb/workflows/redoc/README.md +0 -87
- package/src/modules/bmb/workflows/redoc/checklist.md +0 -99
- package/src/modules/bmb/workflows/redoc/instructions.md +0 -265
- package/src/modules/bmb/workflows/redoc/workflow.yaml +0 -34
- package/src/modules/bmm/agents/frame-expert.agent.yaml +0 -42
- package/src/modules/bmm/workflows/frame-expert/create-dataflow/workflow.yaml +0 -24
- package/src/modules/bmm/workflows/frame-expert/create-diagram/workflow.yaml +0 -25
- package/src/modules/bmm/workflows/frame-expert/create-flowchart/workflow.yaml +0 -28
- package/src/modules/bmm/workflows/frame-expert/create-wireframe/workflow.yaml +0 -24
- package/src/modules/bmm/workflows/workflow-status/paths/game-design.yaml +0 -52
- /package/src/{modules/bmm/workflows/frame-expert/_shared → core/resources/excalidraw}/excalidraw-helpers.md +0 -0
- /package/src/{modules/bmm/workflows/frame-expert/_shared → core/resources/excalidraw}/validate-json-instructions.md +0 -0
- /package/src/modules/bmm/workflows/{2-plan-workflows → 3-solutioning}/create-epics-and-stories/epics-template.md +0 -0
- /package/src/modules/bmm/workflows/{2-plan-workflows → 3-solutioning}/create-epics-and-stories/instructions.md +0 -0
- /package/src/modules/bmm/workflows/{frame-expert → diagrams}/_shared/excalidraw-library.json +0 -0
- /package/src/modules/bmm/workflows/{frame-expert → diagrams}/_shared/excalidraw-templates.yaml +0 -0
- /package/src/modules/bmm/workflows/{frame-expert → diagrams}/create-dataflow/checklist.md +0 -0
- /package/src/modules/bmm/workflows/{frame-expert → diagrams}/create-diagram/checklist.md +0 -0
- /package/src/modules/bmm/workflows/{frame-expert → diagrams}/create-flowchart/checklist.md +0 -0
- /package/src/modules/bmm/workflows/{frame-expert → diagrams}/create-wireframe/checklist.md +0 -0
|
@@ -0,0 +1,364 @@
|
|
|
1
|
+
# Expert Agent Architecture
|
|
2
|
+
|
|
3
|
+
Domain-specific agents with persistent memory, sidecar files, and restricted access patterns.
|
|
4
|
+
|
|
5
|
+
## When to Use
|
|
6
|
+
|
|
7
|
+
- Personal assistants (journal keeper, diary companion)
|
|
8
|
+
- Specialized domain experts (legal advisor, medical reference)
|
|
9
|
+
- Agents that need to remember past interactions
|
|
10
|
+
- Agents with restricted file system access (privacy/security)
|
|
11
|
+
- Long-term relationship agents that learn about users
|
|
12
|
+
|
|
13
|
+
## File Structure
|
|
14
|
+
|
|
15
|
+
```
|
|
16
|
+
{agent-name}/
|
|
17
|
+
├── {agent-name}.agent.yaml # Main agent definition
|
|
18
|
+
└── {agent-name}-sidecar/ # Supporting files
|
|
19
|
+
├── instructions.md # Private directives
|
|
20
|
+
├── memories.md # Persistent memory
|
|
21
|
+
├── knowledge/ # Domain-specific resources
|
|
22
|
+
│ └── README.md
|
|
23
|
+
└── [custom files] # Agent-specific resources
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## YAML Structure
|
|
27
|
+
|
|
28
|
+
```yaml
|
|
29
|
+
agent:
|
|
30
|
+
metadata:
|
|
31
|
+
name: 'Persona Name'
|
|
32
|
+
title: 'Agent Title'
|
|
33
|
+
icon: 'emoji'
|
|
34
|
+
type: 'expert'
|
|
35
|
+
|
|
36
|
+
persona:
|
|
37
|
+
role: 'Domain Expert with specialized capability'
|
|
38
|
+
|
|
39
|
+
identity: |
|
|
40
|
+
Background and expertise in first-person voice.
|
|
41
|
+
{{#if user_preference}}
|
|
42
|
+
Customization based on install_config.
|
|
43
|
+
{{/if}}
|
|
44
|
+
|
|
45
|
+
communication_style: |
|
|
46
|
+
{{#if tone_style == "gentle"}}
|
|
47
|
+
Gentle and supportive communication...
|
|
48
|
+
{{/if}}
|
|
49
|
+
{{#if tone_style == "direct"}}
|
|
50
|
+
Direct and efficient communication...
|
|
51
|
+
{{/if}}
|
|
52
|
+
I reference past conversations naturally.
|
|
53
|
+
|
|
54
|
+
principles:
|
|
55
|
+
- Core belief about the domain
|
|
56
|
+
- How I handle user information
|
|
57
|
+
- My approach to memory and learning
|
|
58
|
+
|
|
59
|
+
critical_actions:
|
|
60
|
+
- 'Load COMPLETE file {agent-folder}/{agent-name}-sidecar/memories.md and remember all past insights'
|
|
61
|
+
- 'Load COMPLETE file {agent-folder}/{agent-name}-sidecar/instructions.md and follow ALL protocols'
|
|
62
|
+
- 'ONLY read/write files in {agent-folder}/{agent-name}-sidecar/ - this is our private space'
|
|
63
|
+
- 'Address user as {{greeting_name}}'
|
|
64
|
+
- 'Track patterns, themes, and important moments'
|
|
65
|
+
- 'Reference past interactions naturally to show continuity'
|
|
66
|
+
|
|
67
|
+
prompts:
|
|
68
|
+
- id: main-function
|
|
69
|
+
content: |
|
|
70
|
+
<instructions>
|
|
71
|
+
Guide user through the primary function.
|
|
72
|
+
{{#if tone_style == "gentle"}}
|
|
73
|
+
Use gentle, supportive approach.
|
|
74
|
+
{{/if}}
|
|
75
|
+
</instructions>
|
|
76
|
+
|
|
77
|
+
<process>
|
|
78
|
+
1. Understand context
|
|
79
|
+
2. Provide guidance
|
|
80
|
+
3. Record insights
|
|
81
|
+
</process>
|
|
82
|
+
|
|
83
|
+
- id: memory-recall
|
|
84
|
+
content: |
|
|
85
|
+
<instructions>
|
|
86
|
+
Access and share relevant memories.
|
|
87
|
+
</instructions>
|
|
88
|
+
|
|
89
|
+
Reference stored information naturally.
|
|
90
|
+
|
|
91
|
+
menu:
|
|
92
|
+
- trigger: action1
|
|
93
|
+
action: '#main-function'
|
|
94
|
+
description: 'Primary agent function'
|
|
95
|
+
|
|
96
|
+
- trigger: remember
|
|
97
|
+
action: 'Update {agent-folder}/{agent-name}-sidecar/memories.md with session insights'
|
|
98
|
+
description: 'Save what we discussed today'
|
|
99
|
+
|
|
100
|
+
- trigger: patterns
|
|
101
|
+
action: '#memory-recall'
|
|
102
|
+
description: 'Recall patterns from past interactions'
|
|
103
|
+
|
|
104
|
+
- trigger: insight
|
|
105
|
+
action: 'Document breakthrough in {agent-folder}/{agent-name}-sidecar/breakthroughs.md'
|
|
106
|
+
description: 'Record a significant insight'
|
|
107
|
+
|
|
108
|
+
install_config:
|
|
109
|
+
compile_time_only: true
|
|
110
|
+
description: 'Personalize your expert agent'
|
|
111
|
+
questions:
|
|
112
|
+
- var: greeting_name
|
|
113
|
+
prompt: 'What should the agent call you?'
|
|
114
|
+
type: text
|
|
115
|
+
default: 'friend'
|
|
116
|
+
|
|
117
|
+
- var: tone_style
|
|
118
|
+
prompt: 'Preferred communication tone?'
|
|
119
|
+
type: choice
|
|
120
|
+
options:
|
|
121
|
+
- label: 'Gentle - Supportive and nurturing'
|
|
122
|
+
value: 'gentle'
|
|
123
|
+
- label: 'Direct - Clear and efficient'
|
|
124
|
+
value: 'direct'
|
|
125
|
+
default: 'gentle'
|
|
126
|
+
|
|
127
|
+
- var: user_preference
|
|
128
|
+
prompt: 'Enable personalized features?'
|
|
129
|
+
type: boolean
|
|
130
|
+
default: true
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
## Key Components
|
|
134
|
+
|
|
135
|
+
### Sidecar Files (CRITICAL)
|
|
136
|
+
|
|
137
|
+
Expert agents use companion files for persistence and domain knowledge:
|
|
138
|
+
|
|
139
|
+
**memories.md** - Persistent user context
|
|
140
|
+
|
|
141
|
+
```markdown
|
|
142
|
+
# Agent Memory Bank
|
|
143
|
+
|
|
144
|
+
## User Preferences
|
|
145
|
+
|
|
146
|
+
<!-- Learned from interactions -->
|
|
147
|
+
|
|
148
|
+
## Session History
|
|
149
|
+
|
|
150
|
+
<!-- Important moments and insights -->
|
|
151
|
+
|
|
152
|
+
## Personal Notes
|
|
153
|
+
|
|
154
|
+
<!-- Agent observations -->
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
**instructions.md** - Private directives
|
|
158
|
+
|
|
159
|
+
```markdown
|
|
160
|
+
# Agent Private Instructions
|
|
161
|
+
|
|
162
|
+
## Core Directives
|
|
163
|
+
|
|
164
|
+
- Maintain character consistency
|
|
165
|
+
- Domain boundaries: {specific domain}
|
|
166
|
+
- Access restrictions: Only sidecar folder
|
|
167
|
+
|
|
168
|
+
## Special Rules
|
|
169
|
+
|
|
170
|
+
<!-- Agent-specific protocols -->
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
**knowledge/** - Domain resources
|
|
174
|
+
|
|
175
|
+
```markdown
|
|
176
|
+
# Agent Knowledge Base
|
|
177
|
+
|
|
178
|
+
Add domain-specific documentation here.
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
### Critical Actions
|
|
182
|
+
|
|
183
|
+
**MANDATORY for expert agents** - These load sidecar files at activation:
|
|
184
|
+
|
|
185
|
+
```yaml
|
|
186
|
+
critical_actions:
|
|
187
|
+
- 'Load COMPLETE file {agent-folder}/{sidecar}/memories.md and remember all past insights'
|
|
188
|
+
- 'Load COMPLETE file {agent-folder}/{sidecar}/instructions.md and follow ALL protocols'
|
|
189
|
+
- 'ONLY read/write files in {agent-folder}/{sidecar}/ - this is our private space'
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
**Key patterns:**
|
|
193
|
+
|
|
194
|
+
- **COMPLETE file loading** - Forces full file read, not partial
|
|
195
|
+
- **Domain restrictions** - Limits file access for privacy/security
|
|
196
|
+
- **Memory integration** - Past context becomes part of current session
|
|
197
|
+
- **Protocol adherence** - Ensures consistent behavior
|
|
198
|
+
|
|
199
|
+
### {agent-folder} Variable
|
|
200
|
+
|
|
201
|
+
Special variable resolved during installation:
|
|
202
|
+
|
|
203
|
+
- Points to the agent's installation directory
|
|
204
|
+
- Used to reference sidecar files
|
|
205
|
+
- Example: `.bmad/custom/agents/journal-keeper/`
|
|
206
|
+
|
|
207
|
+
## What Gets Injected at Compile Time
|
|
208
|
+
|
|
209
|
+
Same as simple agents, PLUS:
|
|
210
|
+
|
|
211
|
+
1. **Critical actions become numbered activation steps**
|
|
212
|
+
|
|
213
|
+
```xml
|
|
214
|
+
<step n="4">Load COMPLETE file {agent-folder}/memories.md...</step>
|
|
215
|
+
<step n="5">Load COMPLETE file {agent-folder}/instructions.md...</step>
|
|
216
|
+
<step n="6">ONLY read/write files in {agent-folder}/...</step>
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
2. **Sidecar files copied during installation**
|
|
220
|
+
- Entire sidecar folder structure preserved
|
|
221
|
+
- Relative paths maintained
|
|
222
|
+
- Files ready for agent use
|
|
223
|
+
|
|
224
|
+
## Reference Example
|
|
225
|
+
|
|
226
|
+
See: `src/modules/bmb/reference/agents/expert-examples/journal-keeper/`
|
|
227
|
+
|
|
228
|
+
Features demonstrated:
|
|
229
|
+
|
|
230
|
+
- Complete sidecar structure (memories, instructions, breakthroughs)
|
|
231
|
+
- Critical actions for loading persistent context
|
|
232
|
+
- Domain restrictions for privacy
|
|
233
|
+
- Pattern recognition and memory recall
|
|
234
|
+
- Handlebars-based personalization
|
|
235
|
+
- Menu actions that update sidecar files
|
|
236
|
+
|
|
237
|
+
## Installation
|
|
238
|
+
|
|
239
|
+
```bash
|
|
240
|
+
# Copy entire folder to your project
|
|
241
|
+
cp -r /path/to/journal-keeper/ .bmad/custom/agents/
|
|
242
|
+
|
|
243
|
+
# Install with personalization
|
|
244
|
+
bmad agent-install
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
The installer:
|
|
248
|
+
|
|
249
|
+
1. Detects expert agent (folder with .agent.yaml)
|
|
250
|
+
2. Prompts for personalization
|
|
251
|
+
3. Compiles agent YAML to XML-in-markdown
|
|
252
|
+
4. **Copies sidecar files to installation target**
|
|
253
|
+
5. Creates IDE slash commands
|
|
254
|
+
6. Saves source for reinstallation
|
|
255
|
+
|
|
256
|
+
## Memory Patterns
|
|
257
|
+
|
|
258
|
+
### Accumulative Memory
|
|
259
|
+
|
|
260
|
+
```yaml
|
|
261
|
+
menu:
|
|
262
|
+
- trigger: save
|
|
263
|
+
action: "Update {agent-folder}/sidecar/memories.md with today's session insights"
|
|
264
|
+
description: 'Save session to memory'
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
### Reference Memory
|
|
268
|
+
|
|
269
|
+
```yaml
|
|
270
|
+
prompts:
|
|
271
|
+
- id: recall
|
|
272
|
+
content: |
|
|
273
|
+
<instructions>
|
|
274
|
+
Reference memories.md naturally:
|
|
275
|
+
"Last week you mentioned..." or "I notice a pattern..."
|
|
276
|
+
</instructions>
|
|
277
|
+
```
|
|
278
|
+
|
|
279
|
+
### Structured Insights
|
|
280
|
+
|
|
281
|
+
```yaml
|
|
282
|
+
menu:
|
|
283
|
+
- trigger: insight
|
|
284
|
+
action: 'Document in {agent-folder}/sidecar/breakthroughs.md with date, context, significance'
|
|
285
|
+
description: 'Record meaningful insight'
|
|
286
|
+
```
|
|
287
|
+
|
|
288
|
+
## Domain Restriction Patterns
|
|
289
|
+
|
|
290
|
+
### Single Folder Access
|
|
291
|
+
|
|
292
|
+
```yaml
|
|
293
|
+
critical_actions:
|
|
294
|
+
- 'ONLY read/write files in {agent-folder}/sidecar/ - NO OTHER FOLDERS'
|
|
295
|
+
```
|
|
296
|
+
|
|
297
|
+
### User Space Access
|
|
298
|
+
|
|
299
|
+
```yaml
|
|
300
|
+
critical_actions:
|
|
301
|
+
- 'ONLY access files in {user-folder}/journals/ - private space'
|
|
302
|
+
```
|
|
303
|
+
|
|
304
|
+
### Read-Only Access
|
|
305
|
+
|
|
306
|
+
```yaml
|
|
307
|
+
critical_actions:
|
|
308
|
+
- 'Load knowledge from {agent-folder}/knowledge/ but NEVER modify'
|
|
309
|
+
- 'Write ONLY to {agent-folder}/sessions/'
|
|
310
|
+
```
|
|
311
|
+
|
|
312
|
+
## Best Practices
|
|
313
|
+
|
|
314
|
+
1. **Load sidecar files in critical_actions** - Must be explicit and MANDATORY
|
|
315
|
+
2. **Enforce domain restrictions** - Clear boundaries prevent scope creep
|
|
316
|
+
3. **Use {agent-folder} paths** - Portable across installations
|
|
317
|
+
4. **Design for memory growth** - Structure sidecar files for accumulation
|
|
318
|
+
5. **Reference past naturally** - Don't dump memory, weave it into conversation
|
|
319
|
+
6. **Separate concerns** - Memories, instructions, knowledge in distinct files
|
|
320
|
+
7. **Include privacy features** - Users trust expert agents with personal data
|
|
321
|
+
|
|
322
|
+
## Common Patterns
|
|
323
|
+
|
|
324
|
+
### Session Continuity
|
|
325
|
+
|
|
326
|
+
```yaml
|
|
327
|
+
communication_style: |
|
|
328
|
+
I reference past conversations naturally:
|
|
329
|
+
"Last time we discussed..." or "I've noticed over the weeks..."
|
|
330
|
+
```
|
|
331
|
+
|
|
332
|
+
### Pattern Recognition
|
|
333
|
+
|
|
334
|
+
```yaml
|
|
335
|
+
critical_actions:
|
|
336
|
+
- 'Track mood patterns, recurring themes, and breakthrough moments'
|
|
337
|
+
- 'Cross-reference current session with historical patterns'
|
|
338
|
+
```
|
|
339
|
+
|
|
340
|
+
### Adaptive Responses
|
|
341
|
+
|
|
342
|
+
```yaml
|
|
343
|
+
identity: |
|
|
344
|
+
I learn your preferences and adapt my approach over time.
|
|
345
|
+
{{#if track_preferences}}
|
|
346
|
+
I maintain notes about what works best for you.
|
|
347
|
+
{{/if}}
|
|
348
|
+
```
|
|
349
|
+
|
|
350
|
+
## Validation Checklist
|
|
351
|
+
|
|
352
|
+
- [ ] Valid YAML syntax
|
|
353
|
+
- [ ] Metadata includes `type: "expert"`
|
|
354
|
+
- [ ] critical_actions loads sidecar files explicitly
|
|
355
|
+
- [ ] critical_actions enforces domain restrictions
|
|
356
|
+
- [ ] Sidecar folder structure created and populated
|
|
357
|
+
- [ ] memories.md has clear section structure
|
|
358
|
+
- [ ] instructions.md contains core directives
|
|
359
|
+
- [ ] Menu actions reference {agent-folder} correctly
|
|
360
|
+
- [ ] File paths use {agent-folder} variable
|
|
361
|
+
- [ ] Install config personalizes sidecar references
|
|
362
|
+
- [ ] Agent folder named consistently: `{agent-name}/`
|
|
363
|
+
- [ ] YAML file named: `{agent-name}.agent.yaml`
|
|
364
|
+
- [ ] Sidecar folder named: `{agent-name}-sidecar/`
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# BMB Module Documentation
|
|
2
|
+
|
|
3
|
+
Reference documentation for building BMAD agents and workflows.
|
|
4
|
+
|
|
5
|
+
## Agent Architecture
|
|
6
|
+
|
|
7
|
+
Comprehensive guides for each agent type (choose based on use case):
|
|
8
|
+
|
|
9
|
+
- [Understanding Agent Types](./understanding-agent-types.md) - **START HERE** - Architecture vs capability, "The Same Agent, Three Ways"
|
|
10
|
+
- [Simple Agent Architecture](./simple-agent-architecture.md) - Self-contained, optimized, personality-driven
|
|
11
|
+
- [Expert Agent Architecture](./expert-agent-architecture.md) - Memory, sidecar files, domain restrictions
|
|
12
|
+
- [Module Agent Architecture](./module-agent-architecture.md) - Workflow integration, professional tools
|
|
13
|
+
|
|
14
|
+
## Agent Design Patterns
|
|
15
|
+
|
|
16
|
+
- [Agent Menu Patterns](./agent-menu-patterns.md) - Menu handlers, triggers, prompts, organization
|
|
17
|
+
- [Agent Compilation](./agent-compilation.md) - What compiler auto-injects (AVOID DUPLICATION)
|
|
18
|
+
|
|
19
|
+
## Reference Examples
|
|
20
|
+
|
|
21
|
+
Production-ready examples in `/src/modules/bmb/reference/agents/`:
|
|
22
|
+
|
|
23
|
+
**Simple Agents** (`simple-examples/`)
|
|
24
|
+
|
|
25
|
+
- `commit-poet.agent.yaml` - Commit message artisan with style customization
|
|
26
|
+
|
|
27
|
+
**Expert Agents** (`expert-examples/`)
|
|
28
|
+
|
|
29
|
+
- `journal-keeper/` - Personal journal companion with memory and pattern recognition
|
|
30
|
+
|
|
31
|
+
**Module Agents** (`module-examples/`)
|
|
32
|
+
|
|
33
|
+
- `security-engineer.agent.yaml` - BMM security specialist with threat modeling
|
|
34
|
+
- `trend-analyst.agent.yaml` - CIS trend intelligence expert
|
|
35
|
+
|
|
36
|
+
## Installation Guide
|
|
37
|
+
|
|
38
|
+
For installing standalone simple and expert agents, see:
|
|
39
|
+
|
|
40
|
+
- [Custom Agent Installation](/docs/custom-agent-installation.md)
|
|
41
|
+
|
|
42
|
+
## Key Concepts
|
|
43
|
+
|
|
44
|
+
### YAML to XML Compilation
|
|
45
|
+
|
|
46
|
+
Agents are authored in YAML with Handlebars templating. The compiler auto-injects:
|
|
47
|
+
|
|
48
|
+
1. **Frontmatter** - Name and description from metadata
|
|
49
|
+
2. **Activation Block** - Steps, menu handlers, rules (YOU don't write this)
|
|
50
|
+
3. **Menu Enhancement** - `*help` and `*exit` commands added automatically
|
|
51
|
+
4. **Trigger Prefixing** - Your triggers auto-prefixed with `*`
|
|
52
|
+
|
|
53
|
+
**Critical:** See [Agent Compilation](./agent-compilation.md) to avoid duplicating auto-injected content.
|
|
54
|
+
|
|
55
|
+
Source: `tools/cli/lib/agent/compiler.js`
|