bmad-method 6.0.0-alpha.10 → 6.0.0-alpha.11

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.
Files changed (107) hide show
  1. package/CHANGELOG.md +215 -1109
  2. package/README.md +129 -359
  3. package/docs/custom-agent-installation.md +169 -0
  4. package/{v6-open-items.md → docs/v6-open-items.md} +1 -1
  5. package/package.json +2 -1
  6. package/src/core/resources/excalidraw/README.md +160 -0
  7. package/src/core/resources/excalidraw/library-loader.md +50 -0
  8. package/src/modules/bmb/docs/agent-compilation.md +340 -0
  9. package/src/modules/bmb/docs/agent-menu-patterns.md +524 -0
  10. package/src/modules/bmb/docs/expert-agent-architecture.md +364 -0
  11. package/src/modules/bmb/docs/index.md +55 -0
  12. package/src/modules/bmb/docs/module-agent-architecture.md +367 -0
  13. package/src/modules/bmb/docs/simple-agent-architecture.md +288 -0
  14. package/src/modules/bmb/docs/understanding-agent-types.md +184 -0
  15. package/src/modules/bmb/reference/agents/expert-examples/journal-keeper/README.md +242 -0
  16. package/src/modules/bmb/reference/agents/expert-examples/journal-keeper/journal-keeper-sidecar/breakthroughs.md +24 -0
  17. package/src/modules/bmb/reference/agents/expert-examples/journal-keeper/journal-keeper-sidecar/instructions.md +108 -0
  18. package/src/modules/bmb/reference/agents/expert-examples/journal-keeper/journal-keeper-sidecar/memories.md +46 -0
  19. package/src/modules/bmb/reference/agents/expert-examples/journal-keeper/journal-keeper-sidecar/mood-patterns.md +39 -0
  20. package/src/modules/bmb/reference/agents/expert-examples/journal-keeper/journal-keeper.agent.yaml +152 -0
  21. package/src/modules/bmb/reference/agents/module-examples/README.md +50 -0
  22. package/src/modules/bmb/reference/agents/module-examples/security-engineer.agent.yaml +53 -0
  23. package/src/modules/bmb/reference/agents/module-examples/trend-analyst.agent.yaml +57 -0
  24. package/src/modules/bmb/reference/agents/simple-examples/README.md +223 -0
  25. package/src/modules/bmb/reference/agents/simple-examples/commit-poet.agent.yaml +126 -0
  26. package/src/modules/bmb/reference/readme.md +3 -0
  27. package/src/modules/bmb/workflows/create-agent/agent-validation-checklist.md +174 -0
  28. package/src/modules/bmb/workflows/create-agent/brainstorm-context.md +99 -120
  29. package/src/modules/bmb/workflows/create-agent/communication-presets.csv +61 -0
  30. package/src/modules/bmb/workflows/create-agent/instructions.md +126 -65
  31. package/src/modules/bmb/workflows/create-agent/workflow.yaml +19 -12
  32. package/src/modules/bmb/workflows/edit-agent/README.md +174 -47
  33. package/src/modules/bmb/workflows/edit-agent/instructions.md +397 -33
  34. package/src/modules/bmb/workflows/edit-agent/workflow.yaml +24 -8
  35. package/src/modules/bmgd/workflows/4-production/story-context/workflow.yaml +1 -1
  36. package/src/modules/bmm/agents/analyst.agent.yaml +2 -2
  37. package/src/modules/bmm/agents/architect.agent.yaml +10 -2
  38. package/src/modules/bmm/agents/dev.agent.yaml +2 -2
  39. package/src/modules/bmm/agents/pm.agent.yaml +7 -3
  40. package/src/modules/bmm/agents/sm.agent.yaml +2 -2
  41. package/src/modules/bmm/agents/tea.agent.yaml +2 -2
  42. package/src/modules/bmm/agents/tech-writer.agent.yaml +15 -3
  43. package/src/modules/bmm/agents/ux-designer.agent.yaml +6 -2
  44. package/src/modules/bmm/docs/README.md +4 -0
  45. package/src/modules/bmm/docs/images/workflow-method-greenfield.excalidraw +5919 -0
  46. package/src/modules/bmm/docs/images/workflow-method-greenfield.svg +2 -0
  47. package/src/modules/bmm/docs/quick-start.md +6 -0
  48. package/src/modules/bmm/docs/scale-adaptive-system.md +6 -0
  49. package/src/modules/bmm/docs/workflows-implementation.md +10 -0
  50. package/src/modules/bmm/workflows/2-plan-workflows/prd/workflow.yaml +4 -4
  51. package/src/modules/bmm/workflows/{2-plan-workflows → 3-solutioning}/create-epics-and-stories/workflow.yaml +5 -5
  52. package/src/modules/bmm/workflows/4-implementation/story-context/workflow.yaml +1 -1
  53. package/src/modules/bmm/workflows/{frame-expert → diagrams}/create-dataflow/instructions.md +7 -8
  54. package/src/modules/bmm/workflows/diagrams/create-dataflow/workflow.yaml +27 -0
  55. package/src/modules/bmm/workflows/{frame-expert → diagrams}/create-diagram/instructions.md +9 -10
  56. package/src/modules/bmm/workflows/diagrams/create-diagram/workflow.yaml +27 -0
  57. package/src/modules/bmm/workflows/{frame-expert → diagrams}/create-flowchart/instructions.md +4 -5
  58. package/src/modules/bmm/workflows/diagrams/create-flowchart/workflow.yaml +27 -0
  59. package/src/modules/bmm/workflows/{frame-expert → diagrams}/create-wireframe/instructions.md +3 -3
  60. package/src/modules/bmm/workflows/diagrams/create-wireframe/workflow.yaml +27 -0
  61. package/src/modules/bmm/workflows/workflow-status/paths/enterprise-brownfield.yaml +18 -30
  62. package/src/modules/bmm/workflows/workflow-status/paths/enterprise-greenfield.yaml +2 -14
  63. package/src/modules/bmm/workflows/workflow-status/paths/method-brownfield.yaml +2 -14
  64. package/src/modules/bmm/workflows/workflow-status/paths/method-greenfield.yaml +2 -14
  65. package/src/modules/cis/agents/presentation-master.agent.yaml +60 -0
  66. package/tools/cli/commands/agent-install.js +409 -0
  67. package/tools/cli/installers/lib/core/installer.js +119 -0
  68. package/tools/cli/installers/lib/ide/_base-ide.js +25 -0
  69. package/tools/cli/installers/lib/ide/antigravity.js +463 -0
  70. package/tools/cli/installers/lib/ide/claude-code.js +43 -0
  71. package/tools/cli/installers/lib/ide/codex.js +217 -32
  72. package/tools/cli/installers/lib/ide/cursor.js +48 -0
  73. package/tools/cli/installers/lib/ide/github-copilot.js +74 -0
  74. package/tools/cli/installers/lib/ide/manager.js +35 -0
  75. package/tools/cli/installers/lib/ide/opencode.js +45 -0
  76. package/tools/cli/installers/lib/ide/windsurf.js +47 -0
  77. package/tools/cli/lib/agent/compiler.js +390 -0
  78. package/tools/cli/lib/agent/installer.js +725 -0
  79. package/tools/cli/lib/agent/template-engine.js +152 -0
  80. package/docs/installers-bundlers/web-bundler-usage.md +0 -54
  81. package/src/modules/bmb/workflows/create-agent/README.md +0 -203
  82. package/src/modules/bmb/workflows/create-agent/agent-architecture.md +0 -415
  83. package/src/modules/bmb/workflows/create-agent/agent-command-patterns.md +0 -759
  84. package/src/modules/bmb/workflows/create-agent/agent-types.md +0 -292
  85. package/src/modules/bmb/workflows/create-agent/checklist.md +0 -62
  86. package/src/modules/bmb/workflows/create-agent/communication-styles.md +0 -202
  87. package/src/modules/bmb/workflows/edit-agent/checklist.md +0 -112
  88. package/src/modules/bmb/workflows/redoc/README.md +0 -87
  89. package/src/modules/bmb/workflows/redoc/checklist.md +0 -99
  90. package/src/modules/bmb/workflows/redoc/instructions.md +0 -265
  91. package/src/modules/bmb/workflows/redoc/workflow.yaml +0 -34
  92. package/src/modules/bmm/agents/frame-expert.agent.yaml +0 -42
  93. package/src/modules/bmm/workflows/frame-expert/create-dataflow/workflow.yaml +0 -24
  94. package/src/modules/bmm/workflows/frame-expert/create-diagram/workflow.yaml +0 -25
  95. package/src/modules/bmm/workflows/frame-expert/create-flowchart/workflow.yaml +0 -28
  96. package/src/modules/bmm/workflows/frame-expert/create-wireframe/workflow.yaml +0 -24
  97. package/src/modules/bmm/workflows/workflow-status/paths/game-design.yaml +0 -52
  98. /package/src/{modules/bmm/workflows/frame-expert/_shared → core/resources/excalidraw}/excalidraw-helpers.md +0 -0
  99. /package/src/{modules/bmm/workflows/frame-expert/_shared → core/resources/excalidraw}/validate-json-instructions.md +0 -0
  100. /package/src/modules/bmm/workflows/{2-plan-workflows → 3-solutioning}/create-epics-and-stories/epics-template.md +0 -0
  101. /package/src/modules/bmm/workflows/{2-plan-workflows → 3-solutioning}/create-epics-and-stories/instructions.md +0 -0
  102. /package/src/modules/bmm/workflows/{frame-expert → diagrams}/_shared/excalidraw-library.json +0 -0
  103. /package/src/modules/bmm/workflows/{frame-expert → diagrams}/_shared/excalidraw-templates.yaml +0 -0
  104. /package/src/modules/bmm/workflows/{frame-expert → diagrams}/create-dataflow/checklist.md +0 -0
  105. /package/src/modules/bmm/workflows/{frame-expert → diagrams}/create-diagram/checklist.md +0 -0
  106. /package/src/modules/bmm/workflows/{frame-expert → diagrams}/create-flowchart/checklist.md +0 -0
  107. /package/src/modules/bmm/workflows/{frame-expert → diagrams}/create-wireframe/checklist.md +0 -0
@@ -0,0 +1,340 @@
1
+ # Agent Compilation: YAML to XML
2
+
3
+ What the compiler auto-injects. **DO NOT duplicate these in your YAML.**
4
+
5
+ ## Compilation Pipeline
6
+
7
+ ```
8
+ agent.yaml → Handlebars processing → XML generation → frontmatter.md
9
+ ```
10
+
11
+ Source: `tools/cli/lib/agent/compiler.js`
12
+
13
+ ## File Naming Convention
14
+
15
+ **CRITICAL:** Agent filenames must be ROLE-BASED, not persona-based.
16
+
17
+ **Why:** Users can customize the agent's persona name via `customize.yaml` config. The filename provides stable identity.
18
+
19
+ **Correct:**
20
+
21
+ ```
22
+ presentation-master.agent.yaml ← Role/function
23
+ tech-writer.agent.yaml ← Role/function
24
+ code-reviewer.agent.yaml ← Role/function
25
+ ```
26
+
27
+ **Incorrect:**
28
+
29
+ ```
30
+ caravaggio.agent.yaml ← Persona name (users might rename to "Pablo")
31
+ paige.agent.yaml ← Persona name (users might rename to "Sarah")
32
+ rex.agent.yaml ← Persona name (users might rename to "Max")
33
+ ```
34
+
35
+ **Pattern:**
36
+
37
+ - Filename: `{role-or-function}.agent.yaml` (kebab-case)
38
+ - Metadata ID: `{bmad_folder}/{module}/agents/{role-or-function}.md`
39
+ - Persona Name: User-customizable in metadata or customize.yaml
40
+
41
+ **Example:**
42
+
43
+ ```yaml
44
+ # File: presentation-master.agent.yaml
45
+ agent:
46
+ metadata:
47
+ id: '{bmad_folder}/cis/agents/presentation-master.md'
48
+ name: Caravaggio # ← Users can change this to "Pablo" or "Vince"
49
+ title: Visual Communication & Presentation Expert
50
+ ```
51
+
52
+ ## Auto-Injected Components
53
+
54
+ ### 1. Frontmatter
55
+
56
+ **Injected automatically:**
57
+
58
+ ```yaml
59
+ ---
60
+ name: '{agent name from filename}'
61
+ description: '{title from metadata}'
62
+ ---
63
+ You must fully embody this agent's persona...
64
+ ```
65
+
66
+ **DO NOT add** frontmatter to your YAML source.
67
+
68
+ ### 2. Activation Block
69
+
70
+ **Entire activation section is auto-generated:**
71
+
72
+ ```xml
73
+ <activation critical="MANDATORY">
74
+ <step n="1">Load persona from this current agent file</step>
75
+ <step n="2">Load config to get {user_name}, {communication_language}</step>
76
+ <step n="3">Remember: user's name is {user_name}</step>
77
+
78
+ <!-- YOUR critical_actions inserted here as numbered steps -->
79
+
80
+ <step n="N">ALWAYS communicate in {communication_language}</step>
81
+ <step n="N+1">Show greeting + numbered menu</step>
82
+ <step n="N+2">STOP and WAIT for user input</step>
83
+ <step n="N+3">Input resolution rules</step>
84
+
85
+ <menu-handlers>
86
+ <!-- Only handlers used in YOUR menu are included -->
87
+ </menu-handlers>
88
+
89
+ <rules>
90
+ <!-- Standard agent behavior rules -->
91
+ </rules>
92
+ </activation>
93
+ ```
94
+
95
+ **DO NOT create** activation sections - compiler builds it from your critical_actions.
96
+
97
+ ### 3. Menu Enhancements
98
+
99
+ **Auto-injected menu items:**
100
+
101
+ - `*help` - Always FIRST in compiled menu
102
+ - `*exit` - Always LAST in compiled menu
103
+
104
+ **Trigger prefixing:**
105
+
106
+ - Your trigger `analyze` becomes `*analyze`
107
+ - Don't add `*` prefix - compiler does it
108
+
109
+ **DO NOT include:**
110
+
111
+ ```yaml
112
+ # BAD - these are auto-injected
113
+ menu:
114
+ - trigger: help
115
+ description: 'Show help'
116
+ - trigger: exit
117
+ description: 'Exit'
118
+ ```
119
+
120
+ ### 4. Menu Handlers
121
+
122
+ Compiler detects which handlers you use and ONLY includes those:
123
+
124
+ ```xml
125
+ <menu-handlers>
126
+ <handlers>
127
+ <!-- Only if you use action="#id" or action="text" -->
128
+ <handler type="action">...</handler>
129
+
130
+ <!-- Only if you use workflow="path" -->
131
+ <handler type="workflow">...</handler>
132
+
133
+ <!-- Only if you use exec="path" -->
134
+ <handler type="exec">...</handler>
135
+
136
+ <!-- Only if you use tmpl="path" -->
137
+ <handler type="tmpl">...</handler>
138
+ </handlers>
139
+ </menu-handlers>
140
+ ```
141
+
142
+ **DO NOT document** handler behavior - it's injected.
143
+
144
+ ### 5. Rules Section
145
+
146
+ **Auto-injected rules:**
147
+
148
+ - Always communicate in {communication_language}
149
+ - Stay in character until exit
150
+ - Menu triggers use asterisk (\*) - NOT markdown
151
+ - Number all lists, use letters for sub-options
152
+ - Load files ONLY when executing menu items
153
+ - Written output follows communication style
154
+
155
+ **DO NOT add** rules - compiler handles it.
156
+
157
+ ## What YOU Provide in YAML
158
+
159
+ ### Required
160
+
161
+ ```yaml
162
+ agent:
163
+ metadata:
164
+ name: 'Persona Name'
165
+ title: 'Agent Title'
166
+ icon: 'emoji'
167
+ type: 'simple|expert' # or module: "bmm"
168
+
169
+ persona:
170
+ role: '...'
171
+ identity: '...'
172
+ communication_style: '...'
173
+ principles: [...]
174
+
175
+ menu:
176
+ - trigger: your-action
177
+ action: '#prompt-id'
178
+ description: 'What it does'
179
+ ```
180
+
181
+ ### Optional (based on type)
182
+
183
+ ```yaml
184
+ # Expert agents only
185
+ critical_actions:
186
+ - 'Load sidecar files...'
187
+ - 'Restrict access...'
188
+
189
+ # Simple/Expert with embedded logic
190
+ prompts:
191
+ - id: prompt-id
192
+ content: '...'
193
+
194
+ # Simple/Expert with customization
195
+ install_config:
196
+ questions: [...]
197
+ ```
198
+
199
+ ## Common Duplication Mistakes
200
+
201
+ ### Adding Activation Logic
202
+
203
+ ```yaml
204
+ # BAD - compiler builds activation
205
+ agent:
206
+ activation:
207
+ steps: [...]
208
+ ```
209
+
210
+ ### Including Help/Exit
211
+
212
+ ```yaml
213
+ # BAD - auto-injected
214
+ menu:
215
+ - trigger: help
216
+ - trigger: exit
217
+ ```
218
+
219
+ ### Prefixing Triggers
220
+
221
+ ```yaml
222
+ # BAD - compiler adds *
223
+ menu:
224
+ - trigger: '*analyze' # Should be: analyze
225
+ ```
226
+
227
+ ### Documenting Handlers
228
+
229
+ ```yaml
230
+ # BAD - don't explain handlers, compiler injects them
231
+ # When using workflow, load workflow.xml...
232
+ ```
233
+
234
+ ### Adding Rules in YAML
235
+
236
+ ```yaml
237
+ # BAD - rules are auto-injected
238
+ agent:
239
+ rules:
240
+ - Stay in character...
241
+ ```
242
+
243
+ ## Compilation Example
244
+
245
+ **Your YAML:**
246
+
247
+ ```yaml
248
+ agent:
249
+ metadata:
250
+ name: 'Rex'
251
+ title: 'Code Reviewer'
252
+ icon: '🔍'
253
+ type: simple
254
+
255
+ persona:
256
+ role: Code Review Expert
257
+ identity: Systematic reviewer...
258
+ communication_style: Direct and constructive
259
+ principles:
260
+ - Code should be readable
261
+
262
+ prompts:
263
+ - id: review
264
+ content: |
265
+ Analyze code for issues...
266
+
267
+ menu:
268
+ - trigger: review
269
+ action: '#review'
270
+ description: 'Review code'
271
+ ```
272
+
273
+ **Compiled Output (.md):**
274
+
275
+ ```markdown
276
+ ---
277
+ name: 'rex'
278
+ description: 'Code Reviewer'
279
+ ---
280
+
281
+ You must fully embody...
282
+
283
+ \`\`\`xml
284
+ <agent id="path" name="Rex" title="Code Reviewer" icon="🔍">
285
+ <activation critical="MANDATORY">
286
+ <step n="1">Load persona...</step>
287
+ <step n="2">Load config...</step>
288
+ <step n="3">Remember user...</step>
289
+ <step n="4">Communicate in language...</step>
290
+ <step n="5">Show greeting + menu...</step>
291
+ <step n="6">STOP and WAIT...</step>
292
+ <step n="7">Input resolution...</step>
293
+
294
+ <menu-handlers>
295
+ <handlers>
296
+ <handler type="action">
297
+ action="#id" → Find prompt, execute
298
+ action="text" → Execute directly
299
+ </handler>
300
+ </handlers>
301
+ </menu-handlers>
302
+
303
+ <rules>
304
+ - Stay in character...
305
+ - Number lists...
306
+ - Load files when executing...
307
+ </rules>
308
+ </activation>
309
+ <persona>
310
+ <role>Code Review Expert</role>
311
+ <identity>Systematic reviewer...</identity>
312
+ <communication_style>Direct and constructive</communication_style>
313
+ <principles>Code should be readable</principles>
314
+ </persona>
315
+ <prompts>
316
+ <prompt id="review">
317
+ <content>
318
+ Analyze code for issues...
319
+ </content>
320
+ </prompt>
321
+ </prompts>
322
+ <menu>
323
+ <item cmd="*help">Show numbered menu</item>
324
+ <item cmd="*review" action="#review">Review code</item>
325
+ <item cmd="*exit">Exit with confirmation</item>
326
+ </menu>
327
+ </agent>
328
+ \`\`\`
329
+ ```
330
+
331
+ ## Key Takeaways
332
+
333
+ 1. **Compiler handles boilerplate** - Focus on persona and logic
334
+ 2. **Critical_actions become activation steps** - Just list your agent-specific needs
335
+ 3. **Menu items are enhanced** - Help/exit added, triggers prefixed
336
+ 4. **Handlers auto-detected** - Only what you use is included
337
+ 5. **Rules standardized** - Consistent behavior across agents
338
+
339
+ **Your job:** Define persona, prompts, menu actions
340
+ **Compiler's job:** Activation, handlers, rules, help/exit, prefixes