Skip to content

Commit cba7cf2

Browse files
Brian MadisonBrian Madison
authored andcommitted
standardize custom agent workflow and module output, and improve module folder selection
1 parent add789a commit cba7cf2

File tree

67 files changed

+815
-1307
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

67 files changed

+815
-1307
lines changed

CHANGELOG.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121
**Cleanup Changes:**
2222

2323
- **Example Modules Removal**: Temporarily removed example modules to prevent accidental installation
24-
- **Hardcoded Path Cleanup**: Continued removal of hardcoded `.bmad` folder references from demo content
2524
- **Memory Management**: Improved sidecar file handling for custom modules
2625

2726
### 📊 Statistics
@@ -176,7 +175,6 @@
176175
- Fixed version reading from package.json instead of hardcoded fallback
177176
- Removed hardcoded years from WebSearch queries
178177
- Removed broken build caching mechanism
179-
- Fixed hardcoded '.bmad' prefix from files-manifest.csv paths
180178
- Enhanced TTS injection summary with tracking and documentation
181179
- Fixed CI nvmrc configuration issues
182180

docs/agent-customization-guide.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -203,6 +203,6 @@ memories:
203203

204204
## Next Steps
205205

206-
- **[BMM Agents Guide](../src/modules/bmm/docs/agents-guide.md)** - Learn about all 12 BMad Method agents
206+
- **[BMM Agents Guide](../src/modules/bmm/docs/agents-guide.md)** - Learn about the BMad Method agents
207207
- **[BMB Create Agent Workflow](../src/modules/bmb/workflows/create-agent/README.md)** - Build completely custom agents
208208
- **[BMM Complete Documentation](../src/modules/bmm/docs/README.md)** - Full BMad Method reference

docs/custom-content-installation.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,7 @@ The sidecar folder location is configured during BMAD core installation:
160160
1. **Agent Declaration**: Agents declare `hasSidecar: true` in their metadata
161161
2. **Sidecar Detection**: The installer automatically detects folders with "sidecar" in the name
162162
3. **Installation**: Sidecar content is copied to the configured location
163-
4. **Path Replacement**: The `{agent_sidecar_folder}` placeholder in agent configurations is replaced with the actual path to the installed instance of the sidecar folder. Now when you use the agent, depending on its design, will use the content in sidecar to record interactions, remember things you tell it, or serve a host of many other issues.
163+
4. **Path Replacement**: The `{bmad_memory}` placeholder in agent configurations is replaced with the actual path to the installed instance of the sidecar folder. Now when you use the agent, depending on its design, will use the content in sidecar to record interactions, remember things you tell it, or serve a host of many other issues.
164164

165165
### Example Structure
166166

@@ -232,7 +232,7 @@ Custom content can be distributed:
232232
233233
- Ensure the agent has `hasSidecar: true` in metadata
234234
- Check that sidecar folders contain "sidecar" in the name
235-
- Verify the agent_sidecar_folder configuration
235+
- Verify the bmad_memory configuration
236236
- Ensure the custom agent has proper language in it to actually use the sidecar content, including loading memories on agent load.
237237
238238
## Support

src/core/module.yaml

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
code: core
2+
name: "BMAD™ Core Module"
3+
14
header: "BMAD™ Core Configuration"
25
subheader: "Configure the core settings for your BMAD™ installation.\nThese settings will be used across all modules and agents."
36

@@ -18,10 +21,10 @@ document_output_language:
1821

1922
output_folder:
2023
prompt: "Where should AI generated artifacts be saved across all modules?"
21-
default: "docs"
24+
default: "bmad-output"
2225
result: "{project-root}/{value}"
2326

24-
agent_sidecar_folder:
25-
prompt: "Where should users agent sidecar memory folders be stored?"
26-
default: "_bmad-user-memory"
27+
bmad_memory:
28+
prompt: "Some agents will record their own memories and history. Where should these be stored?"
29+
default: "_bmad/_memory"
2730
result: "{project-root}/{value}"

src/modules/bmb/README.md

Lines changed: 2 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -22,26 +22,15 @@ Specialized tools and workflows for creating, customizing, and extending BMad co
2222

2323
### 📋 Workflows
2424

25-
**Active Workflows** (Step-File Architecture)
26-
27-
- Location: `bmb/workflows/create-agent/`
28-
- 5 core workflows with 41 step files total
29-
- Template-based execution with JIT loading
30-
31-
**Legacy Workflows** (Being Migrated)
32-
33-
- Location: `bmb/workflows/create-agent-legacy/`
34-
- Module-specific workflows pending conversion to step-file architecture
35-
3625
### 📚 Documentation
3726

38-
- Location: `src/modules/bmb/docs/`
27+
- Location: `./docs/`
3928
- Comprehensive guides for agents and workflows
4029
- Architecture patterns and best practices
4130

4231
### 🔍 Reference Materials
4332

44-
- Location: `src/modules/bmb/reference/`
33+
- Location: `./reference/`
4534
- Working examples of agents and workflows
4635
- Template patterns and implementation guides
4736

src/modules/bmb/_module-installer/installer.js

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,10 @@ async function install(options) {
2020
try {
2121
logger.log(chalk.blue('🔧 Setting up BMB Module...'));
2222

23-
// Generate custom.yaml in custom_stand_alone_location
24-
if (config['custom_stand_alone_location']) {
23+
// Generate custom.yaml in bmb_creations_output_folder
24+
if (config['bmb_creations_output_folder']) {
2525
// The config value contains {project-root} which needs to be resolved
26-
const rawLocation = config['custom_stand_alone_location'];
26+
const rawLocation = config['bmb_creations_output_folder'];
2727
const customLocation = rawLocation.replace('{project-root}', projectRoot);
2828
const customDestPath = path.join(customLocation, 'custom.yaml');
2929

@@ -49,8 +49,8 @@ default_selected: true
4949
}
5050

5151
// Set up custom module location if configured
52-
if (config['custom_module_location']) {
53-
const rawModuleLocation = config['custom_module_location'];
52+
if (config['bmb_creations_output_folder']) {
53+
const rawModuleLocation = config['bmb_creations_output_folder'];
5454
const moduleLocation = rawModuleLocation.replace('{project-root}', projectRoot);
5555

5656
logger.log(chalk.cyan(` Setting up custom modules at: ${moduleLocation}`));

src/modules/bmb/docs/agents/agent-menu-patterns.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -375,7 +375,7 @@ exec: "../../../core/tasks/validate.xml"
375375

376376
- `{project-root}` - Project root directory
377377
- `_bmad` - BMAD installation folder
378-
- `{agent_sidecar_folder}` - Agent installation directory (Expert agents)
378+
- `{bmad_memory}` - Agent installation directory (Expert agents)
379379
- `{output_folder}` - Document output location
380380
- `{user_name}` - User's name from config
381381
- `{communication_language}` - Language preference

src/modules/bmb/docs/agents/expert-agent-architecture.md

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -97,14 +97,22 @@ agent:
9797
action: 'Update ./{agent-name}-sidecar/memories.md with session insights'
9898
description: 'Save what we discussed today'
9999

100-
- trigger: patterns
101-
action: '#memory-recall'
102-
description: 'Recall patterns from past interactions'
103-
104100
- trigger: insight
105101
action: 'Document breakthrough in ./{agent-name}-sidecar/breakthroughs.md'
106102
description: 'Record a significant insight'
107103

104+
- multi: "[DF] Do Foo or start [CH] Chat with expert"
105+
triggers:
106+
- do-foo
107+
- input: [DF] or fuzzy match on do foo
108+
- action: '#main-action'
109+
- data: what is being discussed or suggested with the command, along with custom party custom agents if specified
110+
- type: action
111+
- expert-chat:
112+
- input: [CH] or fuzzy match validate agent
113+
- action: agent responds as expert based on its persona to converse
114+
- type: action
115+
108116
install_config:
109117
compile_time_only: true
110118
description: 'Personalize your expert agent'
@@ -196,7 +204,7 @@ critical_actions:
196204
- **Memory integration** - Past context becomes part of current session
197205
- **Protocol adherence** - Ensures consistent behavior
198206
199-
### {agent_sidecar_folder} Variable
207+
### {bmad_memory} Variable
200208
201209
Special variable resolved during installation:
202210
@@ -313,7 +321,7 @@ critical_actions:
313321

314322
1. **Load sidecar files in critical_actions** - Must be explicit and MANDATORY
315323
2. **Enforce domain restrictions** - Clear boundaries prevent scope creep
316-
3. **Use {agent_sidecar_folder} paths** - Portable across installations
324+
3. **Use {bmad_memory} paths** - Portable across installations
317325
4. **Design for memory growth** - Structure sidecar files for accumulation
318326
5. **Reference past naturally** - Don't dump memory, weave it into conversation
319327
6. **Separate concerns** - Memories, instructions, knowledge in distinct files
@@ -356,8 +364,8 @@ identity: |
356364
- [ ] Sidecar folder structure created and populated
357365
- [ ] memories.md has clear section structure
358366
- [ ] instructions.md contains core directives
359-
- [ ] Menu actions reference {agent_sidecar_folder} correctly
360-
- [ ] File paths use {agent_sidecar_folder} variable
367+
- [ ] Menu actions reference {bmad_memory} correctly
368+
- [ ] File paths use {bmad_memory} variable
361369
- [ ] Install config personalizes sidecar references
362370
- [ ] Agent folder named consistently: `{agent-name}/`
363371
- [ ] YAML file named: `{agent-name}.agent.yaml`

0 commit comments

Comments
 (0)