mirror of
https://github.com/bmadcode/BMAD-METHOD.git
synced 2025-12-29 16:14:59 +00:00
standardize custom agent workflow and module output, and improve module folder selection
This commit is contained in:
@@ -1,3 +1,6 @@
|
||||
code: core
|
||||
name: "BMAD™ Core Module"
|
||||
|
||||
header: "BMAD™ Core Configuration"
|
||||
subheader: "Configure the core settings for your BMAD™ installation.\nThese settings will be used across all modules and agents."
|
||||
|
||||
@@ -18,10 +21,10 @@ document_output_language:
|
||||
|
||||
output_folder:
|
||||
prompt: "Where should AI generated artifacts be saved across all modules?"
|
||||
default: "docs"
|
||||
default: "bmad-output"
|
||||
result: "{project-root}/{value}"
|
||||
|
||||
agent_sidecar_folder:
|
||||
prompt: "Where should users agent sidecar memory folders be stored?"
|
||||
default: "_bmad-user-memory"
|
||||
bmad_memory:
|
||||
prompt: "Some agents will record their own memories and history. Where should these be stored?"
|
||||
default: "_bmad/_memory"
|
||||
result: "{project-root}/{value}"
|
||||
|
||||
@@ -22,26 +22,15 @@ Specialized tools and workflows for creating, customizing, and extending BMad co
|
||||
|
||||
### 📋 Workflows
|
||||
|
||||
**Active Workflows** (Step-File Architecture)
|
||||
|
||||
- Location: `bmb/workflows/create-agent/`
|
||||
- 5 core workflows with 41 step files total
|
||||
- Template-based execution with JIT loading
|
||||
|
||||
**Legacy Workflows** (Being Migrated)
|
||||
|
||||
- Location: `bmb/workflows/create-agent-legacy/`
|
||||
- Module-specific workflows pending conversion to step-file architecture
|
||||
|
||||
### 📚 Documentation
|
||||
|
||||
- Location: `src/modules/bmb/docs/`
|
||||
- Location: `./docs/`
|
||||
- Comprehensive guides for agents and workflows
|
||||
- Architecture patterns and best practices
|
||||
|
||||
### 🔍 Reference Materials
|
||||
|
||||
- Location: `src/modules/bmb/reference/`
|
||||
- Location: `./reference/`
|
||||
- Working examples of agents and workflows
|
||||
- Template patterns and implementation guides
|
||||
|
||||
|
||||
@@ -20,10 +20,10 @@ async function install(options) {
|
||||
try {
|
||||
logger.log(chalk.blue('🔧 Setting up BMB Module...'));
|
||||
|
||||
// Generate custom.yaml in custom_stand_alone_location
|
||||
if (config['custom_stand_alone_location']) {
|
||||
// Generate custom.yaml in bmb_creations_output_folder
|
||||
if (config['bmb_creations_output_folder']) {
|
||||
// The config value contains {project-root} which needs to be resolved
|
||||
const rawLocation = config['custom_stand_alone_location'];
|
||||
const rawLocation = config['bmb_creations_output_folder'];
|
||||
const customLocation = rawLocation.replace('{project-root}', projectRoot);
|
||||
const customDestPath = path.join(customLocation, 'custom.yaml');
|
||||
|
||||
@@ -49,8 +49,8 @@ default_selected: true
|
||||
}
|
||||
|
||||
// Set up custom module location if configured
|
||||
if (config['custom_module_location']) {
|
||||
const rawModuleLocation = config['custom_module_location'];
|
||||
if (config['bmb_creations_output_folder']) {
|
||||
const rawModuleLocation = config['bmb_creations_output_folder'];
|
||||
const moduleLocation = rawModuleLocation.replace('{project-root}', projectRoot);
|
||||
|
||||
logger.log(chalk.cyan(` Setting up custom modules at: ${moduleLocation}`));
|
||||
|
||||
@@ -375,7 +375,7 @@ exec: "../../../core/tasks/validate.xml"
|
||||
|
||||
- `{project-root}` - Project root directory
|
||||
- `_bmad` - BMAD installation folder
|
||||
- `{agent_sidecar_folder}` - Agent installation directory (Expert agents)
|
||||
- `{bmad_memory}` - Agent installation directory (Expert agents)
|
||||
- `{output_folder}` - Document output location
|
||||
- `{user_name}` - User's name from config
|
||||
- `{communication_language}` - Language preference
|
||||
|
||||
@@ -97,14 +97,22 @@ agent:
|
||||
action: 'Update ./{agent-name}-sidecar/memories.md with session insights'
|
||||
description: 'Save what we discussed today'
|
||||
|
||||
- trigger: patterns
|
||||
action: '#memory-recall'
|
||||
description: 'Recall patterns from past interactions'
|
||||
|
||||
- trigger: insight
|
||||
action: 'Document breakthrough in ./{agent-name}-sidecar/breakthroughs.md'
|
||||
description: 'Record a significant insight'
|
||||
|
||||
- multi: "[DF] Do Foo or start [CH] Chat with expert"
|
||||
triggers:
|
||||
- do-foo
|
||||
- input: [DF] or fuzzy match on do foo
|
||||
- action: '#main-action'
|
||||
- data: what is being discussed or suggested with the command, along with custom party custom agents if specified
|
||||
- type: action
|
||||
- expert-chat:
|
||||
- input: [CH] or fuzzy match validate agent
|
||||
- action: agent responds as expert based on its persona to converse
|
||||
- type: action
|
||||
|
||||
install_config:
|
||||
compile_time_only: true
|
||||
description: 'Personalize your expert agent'
|
||||
@@ -196,7 +204,7 @@ critical_actions:
|
||||
- **Memory integration** - Past context becomes part of current session
|
||||
- **Protocol adherence** - Ensures consistent behavior
|
||||
|
||||
### {agent_sidecar_folder} Variable
|
||||
### {bmad_memory} Variable
|
||||
|
||||
Special variable resolved during installation:
|
||||
|
||||
@@ -313,7 +321,7 @@ critical_actions:
|
||||
|
||||
1. **Load sidecar files in critical_actions** - Must be explicit and MANDATORY
|
||||
2. **Enforce domain restrictions** - Clear boundaries prevent scope creep
|
||||
3. **Use {agent_sidecar_folder} paths** - Portable across installations
|
||||
3. **Use {bmad_memory} paths** - Portable across installations
|
||||
4. **Design for memory growth** - Structure sidecar files for accumulation
|
||||
5. **Reference past naturally** - Don't dump memory, weave it into conversation
|
||||
6. **Separate concerns** - Memories, instructions, knowledge in distinct files
|
||||
@@ -356,8 +364,8 @@ identity: |
|
||||
- [ ] Sidecar folder structure created and populated
|
||||
- [ ] memories.md has clear section structure
|
||||
- [ ] instructions.md contains core directives
|
||||
- [ ] Menu actions reference {agent_sidecar_folder} correctly
|
||||
- [ ] File paths use {agent_sidecar_folder} variable
|
||||
- [ ] Menu actions reference {bmad_memory} correctly
|
||||
- [ ] File paths use {bmad_memory} variable
|
||||
- [ ] Install config personalizes sidecar references
|
||||
- [ ] Agent folder named consistently: `{agent-name}/`
|
||||
- [ ] YAML file named: `{agent-name}.agent.yaml`
|
||||
|
||||
@@ -1,366 +0,0 @@
|
||||
# Module Agent Architecture
|
||||
|
||||
Full integration agents with workflow orchestration, module-specific paths, and professional tooling.
|
||||
|
||||
## When to Use
|
||||
|
||||
- Professional development workflows (business analysis, architecture design)
|
||||
- Team-oriented tools (project management, sprint planning)
|
||||
- Agents that orchestrate multiple workflows
|
||||
- Module-specific functionality (BMM, BMB, CIS, custom modules)
|
||||
- Agents with complex multi-step operations
|
||||
|
||||
## File Location
|
||||
|
||||
```
|
||||
src/modules/{module-code}/agents/{agent-name}.agent.yaml
|
||||
```
|
||||
|
||||
Compiles to:
|
||||
|
||||
```
|
||||
_bmad/{module-code}/agents/{agent-name}.md
|
||||
```
|
||||
|
||||
## YAML Structure
|
||||
|
||||
```yaml
|
||||
agent:
|
||||
metadata:
|
||||
id: '_bmad/{module-code}/agents/{agent-name}.md'
|
||||
name: 'Persona Name'
|
||||
title: 'Professional Title'
|
||||
icon: 'emoji'
|
||||
module: '{module-code}'
|
||||
|
||||
persona:
|
||||
role: 'Primary expertise and function'
|
||||
identity: 'Background, experience, specializations'
|
||||
communication_style: 'Interaction approach, tone, methodology'
|
||||
principles: 'Core beliefs and methodology'
|
||||
|
||||
menu:
|
||||
- trigger: workflow-action
|
||||
workflow: '{project-root}/_bmad/{module-code}/workflows/{workflow-name}/workflow.yaml'
|
||||
description: 'Execute module workflow'
|
||||
|
||||
- trigger: another-workflow
|
||||
workflow: '{project-root}/_bmad/core/workflows/{workflow-name}/workflow.yaml'
|
||||
description: 'Execute core workflow'
|
||||
|
||||
- trigger: task-action
|
||||
exec: '{project-root}/_bmad/{module-code}/tasks/{task-name}.xml'
|
||||
description: 'Execute module task'
|
||||
|
||||
- trigger: cross-module
|
||||
workflow: '{project-root}/_bmad/other-module/workflows/{workflow-name}/workflow.yaml'
|
||||
description: 'Execute workflow from another module'
|
||||
|
||||
- trigger: with-template
|
||||
exec: '{project-root}/_bmad/core/tasks/create-doc.xml'
|
||||
tmpl: '{project-root}/_bmad/{module-code}/templates/{template-name}.md'
|
||||
description: 'Create document from template'
|
||||
|
||||
- trigger: with-data
|
||||
exec: '{project-root}/_bmad/{module-code}/tasks/{task-name}.xml'
|
||||
data: '{project-root}/_bmad/_config/agent-manifest.csv'
|
||||
description: 'Execute task with data file'
|
||||
```
|
||||
|
||||
## Key Components
|
||||
|
||||
### Metadata
|
||||
|
||||
- **id**: Path with `_bmad` variable (resolved at install time)
|
||||
- **name**: Agent persona name
|
||||
- **title**: Professional role
|
||||
- **icon**: Single emoji
|
||||
- **module**: Module code (bmm, bmb, cis, custom)
|
||||
|
||||
### Persona (Professional Voice)
|
||||
|
||||
Module agents typically use **professional** communication styles:
|
||||
|
||||
```yaml
|
||||
persona:
|
||||
role: Strategic Business Analyst + Requirements Expert
|
||||
|
||||
identity: Senior analyst with deep expertise in market research, competitive analysis, and requirements elicitation. Specializes in translating vague needs into actionable specs.
|
||||
|
||||
communication_style: Systematic and probing. Connects dots others miss. Structures findings hierarchically. Uses precise unambiguous language. Ensures all stakeholder voices heard.
|
||||
|
||||
principles: Every business challenge has root causes waiting to be discovered. Ground findings in verifiable evidence. Articulate requirements with absolute precision.
|
||||
```
|
||||
|
||||
**Note:** Module agents usually don't use Handlebars templating since they're not user-customized - they're professional tools with fixed personalities.
|
||||
|
||||
### Menu Handlers
|
||||
|
||||
#### Workflow Handler (Most Common)
|
||||
|
||||
```yaml
|
||||
menu:
|
||||
- trigger: create-prd
|
||||
workflow: '{project-root}/_bmad/bmm/workflows/prd/workflow.yaml'
|
||||
description: 'Create Product Requirements Document'
|
||||
```
|
||||
|
||||
Invokes BMAD workflow engine to execute multi-step processes.
|
||||
|
||||
#### Task/Exec Handler
|
||||
|
||||
```yaml
|
||||
menu:
|
||||
- trigger: validate
|
||||
exec: '{project-root}/_bmad/core/tasks/validate-workflow.xml'
|
||||
description: 'Validate document structure'
|
||||
```
|
||||
|
||||
Executes single-operation tasks.
|
||||
|
||||
#### Template Handler
|
||||
|
||||
```yaml
|
||||
menu:
|
||||
- trigger: create-brief
|
||||
exec: '{project-root}/_bmad/core/tasks/create-doc.xml'
|
||||
tmpl: '{project-root}/_bmad/bmm/templates/brief.md'
|
||||
description: 'Create a Product Brief from template'
|
||||
```
|
||||
|
||||
Combines task execution with template file.
|
||||
|
||||
#### Data Handler
|
||||
|
||||
```yaml
|
||||
menu:
|
||||
- trigger: team-standup
|
||||
exec: '{project-root}/_bmad/bmm/tasks/standup.xml'
|
||||
data: '{project-root}/_bmad/_config/agent-manifest.csv'
|
||||
description: 'Run team standup with agent roster'
|
||||
```
|
||||
|
||||
Provides data file to task.
|
||||
|
||||
#### Placeholder Handler
|
||||
|
||||
```yaml
|
||||
menu:
|
||||
- trigger: future-feature
|
||||
workflow: 'todo'
|
||||
description: 'Feature planned but not yet implemented'
|
||||
```
|
||||
|
||||
Marks unimplemented features - compiler handles gracefully.
|
||||
|
||||
### Platform-Specific Menu Items
|
||||
|
||||
Control visibility based on platform:
|
||||
|
||||
```yaml
|
||||
menu:
|
||||
- trigger: advanced-elicitation
|
||||
exec: '{project-root}/_bmad/core/tasks/advanced-elicitation.xml'
|
||||
description: 'Advanced elicitation techniques'
|
||||
web-only: true # Only shows in web bundle
|
||||
|
||||
- trigger: git-operations
|
||||
exec: '{project-root}/_bmad/bmm/tasks/git-flow.xml'
|
||||
description: 'Git workflow operations'
|
||||
ide-only: true # Only shows in IDE environments
|
||||
```
|
||||
|
||||
## Variable System
|
||||
|
||||
### Core Variables
|
||||
|
||||
- `{project-root}` - Root directory of installed project
|
||||
- `_bmad` - BMAD installation folder (usually `_bmad`)
|
||||
- `{user_name}` - User's name from module config
|
||||
- `{communication_language}` - Language preference
|
||||
- `{output_folder}` - Document output directory
|
||||
|
||||
### Path Construction
|
||||
|
||||
**Always use variables, never hardcoded paths:**
|
||||
|
||||
```yaml
|
||||
# GOOD
|
||||
workflow: "{project-root}/_bmad/bmm/workflows/prd/workflow.yaml"
|
||||
|
||||
# BAD
|
||||
workflow: "/Users/john/project/_bmad/bmm/workflows/prd/workflow.yaml"
|
||||
|
||||
# BAD
|
||||
workflow: "../../../bmm/workflows/prd/workflow.yaml"
|
||||
```
|
||||
|
||||
## What Gets Injected at Compile Time
|
||||
|
||||
Module agents use the same injection process as simple agents:
|
||||
|
||||
1. **Frontmatter** with name and description
|
||||
2. **Activation block** with standard steps
|
||||
3. **Menu handlers** based on usage (workflow, exec, tmpl, data)
|
||||
4. **Rules section** for consistent behavior
|
||||
5. **Auto-injected** \*help and \*exit commands
|
||||
|
||||
**Key difference:** Module agents load **module-specific config** instead of core config:
|
||||
|
||||
```xml
|
||||
<step n="2">Load and read {project-root}/_bmad/{module}/config.yaml...</step>
|
||||
```
|
||||
|
||||
## Reference Examples
|
||||
|
||||
See: `src/modules/bmm/agents/`
|
||||
|
||||
**analyst.agent.yaml** - Business Analyst
|
||||
|
||||
- Workflow orchestration for analysis phase
|
||||
- Multiple workflow integrations
|
||||
- Cross-module workflow access (core/workflows/party-mode)
|
||||
|
||||
**architect.agent.yaml** - System Architect
|
||||
|
||||
- Technical workflow management
|
||||
- Architecture decision workflows
|
||||
|
||||
**pm.agent.yaml** - Product Manager
|
||||
|
||||
- Planning and coordination workflows
|
||||
- Sprint management integration
|
||||
|
||||
## Module Configuration
|
||||
|
||||
Each module has `config.yaml` providing:
|
||||
|
||||
```yaml
|
||||
# src/modules/{module}/config.yaml
|
||||
user_name: 'User Name'
|
||||
communication_language: 'English'
|
||||
output_folder: '{project-root}/docs'
|
||||
custom_settings: 'module-specific values'
|
||||
```
|
||||
|
||||
Agents load this at activation for consistent behavior.
|
||||
|
||||
## Workflow Integration Patterns
|
||||
|
||||
### Sequential Workflow Execution
|
||||
|
||||
```yaml
|
||||
menu:
|
||||
- trigger: init
|
||||
workflow: '{project-root}/_bmad/bmm/workflows/workflow-init/workflow.yaml'
|
||||
description: 'Initialize workflow path (START HERE)'
|
||||
|
||||
- trigger: status
|
||||
workflow: '{project-root}/_bmad/bmm/workflows/workflow-status/workflow.yaml'
|
||||
description: 'Check current workflow status'
|
||||
|
||||
- trigger: next-step
|
||||
workflow: '{project-root}/_bmad/bmm/workflows/next-step/workflow.yaml'
|
||||
description: 'Execute next workflow in sequence'
|
||||
```
|
||||
|
||||
### Phase-Based Organization
|
||||
|
||||
```yaml
|
||||
menu:
|
||||
# Phase 1: Analysis
|
||||
- trigger: brainstorm
|
||||
workflow: '{project-root}/_bmad/bmm/workflows/1-analysis/brainstorm/workflow.yaml'
|
||||
description: 'Guided brainstorming session'
|
||||
|
||||
- trigger: research
|
||||
workflow: '{project-root}/_bmad/bmm/workflows/1-analysis/research/workflow.yaml'
|
||||
description: 'Market and technical research'
|
||||
|
||||
# Phase 2: Planning
|
||||
- trigger: prd
|
||||
workflow: '{project-root}/_bmad/bmm/workflows/2-planning/prd/workflow.yaml'
|
||||
description: 'Create PRD'
|
||||
|
||||
- trigger: architecture
|
||||
workflow: '{project-root}/_bmad/bmm/workflows/2-planning/architecture/workflow.yaml'
|
||||
description: 'Design architecture'
|
||||
```
|
||||
|
||||
### Cross-Module Access
|
||||
|
||||
```yaml
|
||||
menu:
|
||||
- trigger: party-mode
|
||||
workflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.yaml'
|
||||
description: 'Bring all agents together'
|
||||
|
||||
- trigger: brainstorm
|
||||
workflow: '{project-root}/_bmad/cis/workflows/brainstorming/workflow.yaml'
|
||||
description: 'Use CIS brainstorming techniques'
|
||||
```
|
||||
|
||||
## Best Practices
|
||||
|
||||
1. **Organize workflows by phase** - Clear progression for users
|
||||
2. **Include workflow-status** - Help users track progress
|
||||
3. **Reference module config** - Consistent behavior
|
||||
4. **No Handlebars templating** - Module agents are fixed personalities
|
||||
5. **Professional personas** - Match module purpose
|
||||
6. **Clear trigger names** - Self-documenting commands
|
||||
7. **Group related workflows** - Logical menu organization
|
||||
|
||||
## Common Patterns
|
||||
|
||||
### Entry Point Agent
|
||||
|
||||
```yaml
|
||||
menu:
|
||||
- trigger: start
|
||||
workflow: '{project-root}/_bmad/{module}/workflows/init/workflow.yaml'
|
||||
description: 'Start new project (BEGIN HERE)'
|
||||
```
|
||||
|
||||
### Status Tracking
|
||||
|
||||
```yaml
|
||||
menu:
|
||||
- trigger: status
|
||||
workflow: '{project-root}/_bmad/{module}/workflows/status/workflow.yaml'
|
||||
description: 'Check workflow progress'
|
||||
```
|
||||
|
||||
### Team Coordination
|
||||
|
||||
```yaml
|
||||
menu:
|
||||
- trigger: party
|
||||
workflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.yaml'
|
||||
description: 'Multi-agent discussion'
|
||||
```
|
||||
|
||||
## Module Agent vs Simple/Expert
|
||||
|
||||
| Aspect | Module Agent | Simple/Expert Agent |
|
||||
| ------------- | --------------------------- | ------------------------------- |
|
||||
| Location | `_bmad/{module}/agents/` | `_bmad/custom/agents/` |
|
||||
| Persona | Fixed, professional | Customizable via install_config |
|
||||
| Handlebars | No templating | Yes, extensive |
|
||||
| Menu actions | Workflows, tasks, templates | Prompts, inline actions |
|
||||
| Configuration | Module config.yaml | Core config or none |
|
||||
| Purpose | Professional tooling | Personal utilities |
|
||||
|
||||
## Validation Checklist
|
||||
|
||||
- [ ] Valid YAML syntax
|
||||
- [ ] Metadata includes `module: "{module-code}"`
|
||||
- [ ] id uses `_bmad/{module}/agents/{name}.md`
|
||||
- [ ] All workflow paths use `{project-root}/_bmad/` prefix
|
||||
- [ ] No hardcoded paths
|
||||
- [ ] No duplicate triggers
|
||||
- [ ] Each menu item has description
|
||||
- [ ] Triggers don't start with `*` (auto-added)
|
||||
- [ ] Professional persona appropriate for module
|
||||
- [ ] Workflow paths resolve to actual workflows (or "todo")
|
||||
- [ ] File named `{agent-name}.agent.yaml`
|
||||
- [ ] Located in `src/modules/{module}/agents/`
|
||||
@@ -63,18 +63,22 @@ agent:
|
||||
Another reusable prompt template
|
||||
|
||||
menu:
|
||||
- trigger: action1
|
||||
action: '#main-action'
|
||||
description: 'Execute the main action'
|
||||
|
||||
- trigger: action2
|
||||
action: '#another-action'
|
||||
description: 'Execute another action'
|
||||
|
||||
- trigger: inline
|
||||
action: 'Direct inline instruction text'
|
||||
action: 'Direct inline prompt text'
|
||||
description: 'Execute inline action'
|
||||
|
||||
- multi: "[DF] Do Foo or start [CH] Chat with expert"
|
||||
triggers:
|
||||
- do-foo
|
||||
- input: [DF] or fuzzy match on do foo
|
||||
- action: '#main-action'
|
||||
- data: what is being discussed or suggested with the command, along with custom party custom agents if specified
|
||||
- type: action
|
||||
- expert-chat:
|
||||
- input: [CH] or fuzzy match validate agent
|
||||
- action: agent responds as expert based on its persona to converse
|
||||
- type: action
|
||||
|
||||
install_config:
|
||||
compile_time_only: true
|
||||
description: 'Personalize your agent'
|
||||
@@ -202,7 +206,7 @@ The `tools/cli/lib/agent/compiler.js` automatically adds:
|
||||
|
||||
## Reference Example
|
||||
|
||||
See: `src/modules/bmb/reference/agents/simple-examples/commit-poet.agent.yaml`
|
||||
See: `../../reference/agents/simple-examples/commit-poet.agent.yaml`
|
||||
|
||||
Features demonstrated:
|
||||
|
||||
@@ -243,50 +247,11 @@ The installer:
|
||||
5. **Use semantic XML tags** in prompt content for clarity
|
||||
6. **Test all conditional paths** before distribution
|
||||
|
||||
## Common Patterns
|
||||
|
||||
### Style Variants
|
||||
|
||||
```yaml
|
||||
communication_style: |
|
||||
{{#if enthusiasm == "high"}}
|
||||
Enthusiastic and energetic approach!
|
||||
{{/if}}
|
||||
{{#if enthusiasm == "moderate"}}
|
||||
Balanced and professional demeanor.
|
||||
{{/if}}
|
||||
```
|
||||
|
||||
### Feature Toggles
|
||||
|
||||
```yaml
|
||||
prompts:
|
||||
- id: main-action
|
||||
content: |
|
||||
{{#if advanced_mode}}
|
||||
Include advanced analysis steps...
|
||||
{{/if}}
|
||||
{{#unless advanced_mode}}
|
||||
Basic analysis only...
|
||||
{{/unless}}
|
||||
```
|
||||
|
||||
### User Personalization
|
||||
|
||||
```yaml
|
||||
identity: |
|
||||
{{#if custom_name}}
|
||||
Known as {{custom_name}} to you.
|
||||
{{/if}}
|
||||
```
|
||||
|
||||
## Validation Checklist
|
||||
|
||||
- [ ] Valid YAML syntax
|
||||
- [ ] All metadata fields present (id, name, title, icon, type)
|
||||
- [ ] Persona complete (role, identity, communication_style, principles)
|
||||
- [ ] Prompts have unique IDs
|
||||
- [ ] Menu triggers don't start with `*` (auto-added)
|
||||
- [ ] Install config questions have defaults
|
||||
- [ ] Handlebars syntax is correct
|
||||
- [ ] File named `{agent-name}.agent.yaml`
|
||||
|
||||
@@ -1,23 +1,17 @@
|
||||
# BMAD™ Method Core Configuration
|
||||
|
||||
code: bmb
|
||||
name: "BMB: BMad Builder - Agent, Workflow and Module Builder"
|
||||
default_selected: false # This module will not be selected by default for new installations
|
||||
|
||||
header: "BMad Optimized Builder (BoMB) Module Configuration"
|
||||
subheader: "Configure the settings for the BoMB Factory!\nThe agent, workflow and module builder for BMAD™"
|
||||
default_selected: false # This module will not be selected by default for new installations
|
||||
|
||||
# Variables from Core Config inserted:
|
||||
## user_name
|
||||
## communication_language
|
||||
## document_output_language
|
||||
## output_folder
|
||||
## bmad_memory
|
||||
|
||||
custom_stand_alone_location:
|
||||
prompt: "Where do custom agents and workflows get stored?"
|
||||
default: "bmad-custom-src"
|
||||
result: "{project-root}/{value}"
|
||||
|
||||
custom_module_location:
|
||||
prompt: "Where do custom modules get stored?"
|
||||
default: "bmad-custom-modules-src"
|
||||
bmb_creations_output_folder:
|
||||
prompt: "Where should BoMB generated agents, workflows and modules SOURCE be saved?"
|
||||
default: "{output_folder}/bmb-creations"
|
||||
result: "{project-root}/{value}"
|
||||
|
||||
@@ -20,9 +20,9 @@ agent:
|
||||
- Reflection transforms experience into wisdom
|
||||
|
||||
critical_actions:
|
||||
- "Load COMPLETE file {agent_sidecar_folder}/journal-keeper-sidecar/memories.md and remember all past insights"
|
||||
- "Load COMPLETE file {agent_sidecar_folder}/journal-keeper-sidecar/instructions.md and follow ALL journaling protocols"
|
||||
- "ONLY read/write files in {agent_sidecar_folder}/journal-keeper-sidecar/ - this is our private space"
|
||||
- "Load COMPLETE file {bmad_memory}/journal-keeper-sidecar/memories.md and remember all past insights"
|
||||
- "Load COMPLETE file {bmad_memory}/journal-keeper-sidecar/instructions.md and follow ALL journaling protocols"
|
||||
- "ONLY read/write files in {bmad_memory}/journal-keeper-sidecar/ - this is our private space"
|
||||
- "Track mood patterns, recurring themes, and breakthrough moments"
|
||||
- "Reference past entries naturally to show continuity"
|
||||
|
||||
@@ -120,7 +120,7 @@ agent:
|
||||
description: "Write today's journal entry"
|
||||
|
||||
- trigger: quick
|
||||
action: "Save a quick, unstructured entry to {agent_sidecar_folder}/journal-keeper-sidecar/entries/entry-{date}.md with timestamp and any patterns noticed"
|
||||
action: "Save a quick, unstructured entry to {bmad_memory}/journal-keeper-sidecar/entries/entry-{date}.md with timestamp and any patterns noticed"
|
||||
description: "Quick capture without prompts"
|
||||
|
||||
- trigger: mood
|
||||
@@ -140,13 +140,13 @@ agent:
|
||||
description: "Reflect on the past week"
|
||||
|
||||
- trigger: insight
|
||||
action: "Document this breakthrough in {agent_sidecar_folder}/journal-keeper-sidecar/breakthroughs.md with date and significance"
|
||||
action: "Document this breakthrough in {bmad_memory}/journal-keeper-sidecar/breakthroughs.md with date and significance"
|
||||
description: "Record a meaningful insight"
|
||||
|
||||
- trigger: read-back
|
||||
action: "Load and share entries from {agent_sidecar_folder}/journal-keeper-sidecar/entries/ for requested timeframe, highlighting themes and growth"
|
||||
action: "Load and share entries from {bmad_memory}/journal-keeper-sidecar/entries/ for requested timeframe, highlighting themes and growth"
|
||||
description: "Review past entries"
|
||||
|
||||
- trigger: save
|
||||
action: "Update {agent_sidecar_folder}/journal-keeper-sidecar/memories.md with today's session insights and emotional markers"
|
||||
action: "Update {bmad_memory}/journal-keeper-sidecar/memories.md with today's session insights and emotional markers"
|
||||
description: "Save what we discussed today"
|
||||
|
||||
@@ -8,8 +8,9 @@ Module agents integrate with BMAD module workflows (BMM, CIS, BMB). They:
|
||||
|
||||
- Orchestrate multi-step workflows
|
||||
- Use `_bmad` path variables
|
||||
- Have fixed professional personas (no install_config)
|
||||
- Reference module-specific configurations
|
||||
- Can be bundled into web bundlers with the other agents
|
||||
- Participate in party mode with the modules other agents
|
||||
|
||||
## Examples
|
||||
|
||||
@@ -46,5 +47,3 @@ When creating module agents:
|
||||
3. Rewrite persona for your domain
|
||||
4. Replace menu with actual available workflows
|
||||
5. Remove hypothetical workflow references
|
||||
|
||||
See `/src/modules/bmb/docs/agents/module-agent-architecture.md` for complete guide.
|
||||
|
||||
@@ -143,22 +143,6 @@ Changes are reviewed and approved by you before being applied.
|
||||
- Full module review (option 12) is great for inherited or legacy modules
|
||||
- The workflow handles path updates when you reorganize structure
|
||||
|
||||
## Source vs Installed Modules
|
||||
|
||||
**Source modules** (in src/modules/):
|
||||
|
||||
- Have installer files in tools/cli/installers/
|
||||
- Can configure web bundles
|
||||
- Are the development source of truth
|
||||
|
||||
**Installed modules** (in \_bmad/):
|
||||
|
||||
- Are deployed to target projects
|
||||
- Use config.yaml for user customization
|
||||
- Are compiled from source during installation
|
||||
|
||||
This workflow works with both, but installer options only apply to source modules.
|
||||
|
||||
## Example Usage
|
||||
|
||||
```
|
||||
|
||||
@@ -4,8 +4,7 @@ Use this checklist to validate module edits meet BMAD Core standards.
|
||||
|
||||
## Module Structure Validation
|
||||
|
||||
- [ ] Module has clear 3-letter code (bmm, bmb, cis, etc.)
|
||||
- [ ] Module is in correct location (src/modules/ for source, \_bmad/ for installed)
|
||||
- [ ] Module has clear abbreviation code (bmm, bmb, cis, etc.)
|
||||
- [ ] agents/ directory exists
|
||||
- [ ] workflows/ directory exists
|
||||
- [ ] config.yaml exists in module root
|
||||
@@ -24,7 +23,7 @@ Use this checklist to validate module edits meet BMAD Core standards.
|
||||
|
||||
### Optional Fields (if used)
|
||||
|
||||
- [ ] custom_module_location documented
|
||||
- [ ] bmb_creations_output_folder documented
|
||||
- [ ] Module-specific fields documented in README
|
||||
|
||||
### File Quality
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
<workflow>
|
||||
|
||||
<step n="1" goal="Load and deeply understand the target module">
|
||||
<ask>What is the path to the module you want to edit? (provide path to module directory like _bmad/bmm/ or src/modules/bmm/)</ask>
|
||||
<ask>What is the path to the module source you want to edit?</ask>
|
||||
|
||||
<action>Load the module directory structure completely:
|
||||
|
||||
|
||||
@@ -46,5 +46,3 @@ When creating module agents:
|
||||
3. Rewrite persona for your domain
|
||||
4. Replace menu with actual available workflows
|
||||
5. Remove hypothetical workflow references
|
||||
|
||||
See `/src/modules/bmb/docs/agents/module-agent-architecture.md` for complete guide.
|
||||
|
||||
@@ -9,7 +9,7 @@ workflow_path: '{project-root}/bmb/workflows/create-agent/create-agent'
|
||||
thisStepFile: '{workflow_path}/steps/step-02-discover.md'
|
||||
nextStepFile: '{workflow_path}/steps/step-03-persona.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
outputFile: '{output_folder}/agent-purpose-{project_name}.md'
|
||||
agentPlan: '{bmb_creations_output_folder}/agent-plan-{agent_name}.md'
|
||||
agentTypesGuide: '{project-root}/_bmad/bmb/docs/agents/understanding-agent-types.md'
|
||||
simpleExamples: '{workflow_path}/data/reference/agents/simple-examples/'
|
||||
expertExamples: '{workflow_path}/data/reference/agents/expert-examples/'
|
||||
@@ -112,10 +112,6 @@ As purpose becomes clear, analyze and recommend appropriate agent type.
|
||||
- Choose when: Needs to remember across sessions, personal knowledge base, learning over time
|
||||
- CAN have personal workflows in sidecar if critical_actions loads workflow engine
|
||||
- Example: Personal research assistant, domain expert advisor, learning companion
|
||||
|
||||
- **Module Agent** - Workflow orchestration, team integration, shared infrastructure
|
||||
- Choose when: Coordinates workflows, works with other agents, professional operations
|
||||
- CAN invoke module workflows and coordinate with team agents
|
||||
- Example: Project coordinator, workflow manager, team orchestrator
|
||||
|
||||
**Type Selection Process:**
|
||||
@@ -162,7 +158,7 @@ As purpose becomes clear, analyze and recommend appropriate agent type.
|
||||
[Any relevant insights from previous brainstorming session]
|
||||
```
|
||||
|
||||
Save this content to `{outputFile}` for reference in subsequent steps.
|
||||
Save this content to {agentPlan} for reference in subsequent steps.
|
||||
|
||||
### 6. Present MENU OPTIONS
|
||||
|
||||
@@ -172,7 +168,7 @@ Display: "**Select an Option:** [A] Advanced Elicitation [P] Party Mode [C] Cont
|
||||
|
||||
- IF A: Execute {advancedElicitationTask}
|
||||
- IF P: Execute {partyModeWorkflow}
|
||||
- IF C: Save content to {outputFile}, update frontmatter, then only then load, read entire file, then execute {nextStepFile}
|
||||
- IF C: Save content to {agentPlan}, update frontmatter, then only then load, read entire file, then execute {nextStepFile}
|
||||
- IF Any other comments or queries: help user respond then [Redisplay Menu Options](#6-present-menu-options)
|
||||
|
||||
#### EXECUTION RULES:
|
||||
|
||||
@@ -9,7 +9,7 @@ workflow_path: '{project-root}/bmb/workflows/create-agent/create-agent'
|
||||
thisStepFile: '{workflow_path}/steps/step-03-persona.md'
|
||||
nextStepFile: '{workflow_path}/steps/step-04-commands.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
outputFile: '{output_folder}/agent-persona-{project_name}.md'
|
||||
agentPlan: '{bmb_creations_output_folder}/agent-plan-{agent_name}.md'
|
||||
communicationPresets: '{workflow_path}/data/communication-presets.csv'
|
||||
agentMenuPatterns: '{project-root}/_bmad/bmb/docs/agents/agent-menu-patterns.md'
|
||||
|
||||
@@ -211,7 +211,7 @@ Ask: "How should this agent guide users - with adaptive conversation (intent-bas
|
||||
[Intent-based or Prescriptive with rationale]
|
||||
```
|
||||
|
||||
Save this content to `{outputFile}` for reference in subsequent steps.
|
||||
Append this content to {agentPlan} for reference in subsequent steps.
|
||||
|
||||
### 8. Present MENU OPTIONS
|
||||
|
||||
@@ -221,7 +221,7 @@ Display: "**Select an Option:** [A] Advanced Elicitation [P] Party Mode [C] Cont
|
||||
|
||||
- IF A: Execute {advancedElicitationTask}
|
||||
- IF P: Execute {partyModeWorkflow}
|
||||
- IF C: Save content to {outputFile}, update frontmatter, then only then load, read entire file, then execute {nextStepFile}
|
||||
- IF C: Save content to {agentPlan}, update frontmatter, then only then load, read entire file, then execute {nextStepFile}
|
||||
- IF Any other comments or queries: help user respond then [Redisplay Menu Options](#8-present-menu-options)
|
||||
|
||||
#### EXECUTION RULES:
|
||||
|
||||
@@ -9,7 +9,7 @@ workflow_path: '{project-root}/bmb/workflows/create-agent/create-agent'
|
||||
thisStepFile: '{workflow_path}/steps/step-04-commands.md'
|
||||
nextStepFile: '{workflow_path}/steps/step-05-name.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
outputFile: '{output_folder}/agent-commands-{project_name}.md'
|
||||
agentPlan: '{bmb_creations_output_folder}/agent-plan-{agent_name}.md'
|
||||
agentMenuPatterns: '{project-root}/_bmad/bmb/docs/agents/agent-menu-patterns.md'
|
||||
simpleArchitecture: '{project-root}/_bmad/bmb/docs/agents/simple-agent-architecture.md'
|
||||
expertArchitecture: '{project-root}/_bmad/bmb/docs/agents/expert-agent-architecture.md'
|
||||
@@ -187,7 +187,7 @@ If user seems engaged, explore special features:
|
||||
[Architecture-specific considerations and technical requirements]
|
||||
```
|
||||
|
||||
Save this content to `{outputFile}` for reference in subsequent steps.
|
||||
Save this content to {agentPlan} for reference in subsequent steps.
|
||||
|
||||
### 7. Present MENU OPTIONS
|
||||
|
||||
@@ -197,7 +197,7 @@ Display: "**Select an Option:** [A] Advanced Elicitation [P] Party Mode [C] Cont
|
||||
|
||||
- IF A: Execute {advancedElicitationTask}
|
||||
- IF P: Execute {partyModeWorkflow}
|
||||
- IF C: Save content to {outputFile}, update frontmatter, then only then load, read entire file, then execute {nextStepFile}
|
||||
- IF C: Save content to {agentPlan}, update frontmatter, then only then load, read entire file, then execute {nextStepFile}
|
||||
- IF Any other comments or queries: help user respond then [Redisplay Menu Options](#7-present-menu-options)
|
||||
|
||||
#### EXECUTION RULES:
|
||||
|
||||
@@ -9,7 +9,8 @@ workflow_path: '{project-root}/bmb/workflows/create-agent/create-agent'
|
||||
thisStepFile: '{workflow_path}/steps/step-05-name.md'
|
||||
nextStepFile: '{workflow_path}/steps/step-06-build.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
outputFile: '{output_folder}/agent-identity-{project_name}.md'
|
||||
|
||||
agentPlan: '{bmb_creations_output_folder}/agent-plan-{agent_name}.md'
|
||||
|
||||
# Template References
|
||||
identityTemplate: '{workflow_path}/templates/agent-identity.md'
|
||||
@@ -182,7 +183,7 @@ Once name is selected, confirm the complete identity package:
|
||||
[User confirmation that identity package feels right]
|
||||
```
|
||||
|
||||
Save this content to `{outputFile}` for reference in subsequent steps.
|
||||
Save this content to {agentPlan} for reference in subsequent steps.
|
||||
|
||||
### 6. Present MENU OPTIONS
|
||||
|
||||
@@ -192,7 +193,7 @@ Display: "**Select an Option:** [A] Advanced Elicitation [P] Party Mode [C] Cont
|
||||
|
||||
- IF A: Execute {advancedElicitationTask}
|
||||
- IF P: Execute {partyModeWorkflow}
|
||||
- IF C: Save content to {outputFile}, update frontmatter, then only then load, read entire file, then execute {nextStepFile}
|
||||
- IF C: Save content to {agentPlan}, update frontmatter, then only then load, read entire file, then execute {nextStepFile}
|
||||
- IF Any other comments or queries: help user respond then [Redisplay Menu Options](#6-present-menu-options)
|
||||
|
||||
#### EXECUTION RULES:
|
||||
|
||||
@@ -9,12 +9,12 @@ workflow_path: '{project-root}/bmb/workflows/create-agent/create-agent'
|
||||
thisStepFile: '{workflow_path}/steps/step-06-build.md'
|
||||
nextStepFile: '{workflow_path}/steps/step-07-validate.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
outputFile: '{output_folder}/agent-yaml-{project_name}.md'
|
||||
moduleOutputFile: '{project-root}/_bmad/{target_module}/agents/{agent_filename}.agent.yaml'
|
||||
standaloneOutputFile: '{workflow_path}/data/{agent_filename}/{agent_filename}.agent.yaml'
|
||||
agentPlan: '{bmb_creations_output_folder}/agent-plan-{agent_name}.md'
|
||||
agentBuildOutput: '{bmb_creations_output_folder}/{agent-name}'
|
||||
|
||||
# Template References
|
||||
completeAgentTemplate: '{workflow_path}/templates/agent-complete-{agent_type}.md'
|
||||
simpleAgentTemplate: '{workflow_path}/templates/simple-agent.template.md'
|
||||
expertAgentTemplate: '{workflow_path}/templates/expert-agent.template.md'
|
||||
|
||||
# Task References
|
||||
advancedElicitationTask: '{project-root}/_bmad/core/tasks/advanced-elicitation.xml'
|
||||
@@ -25,7 +25,7 @@ partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
|
||||
|
||||
## STEP GOAL:
|
||||
|
||||
Generate the complete YAML agent file incorporating all discovered elements: purpose, persona, capabilities, name, and identity while maintaining the collaborative creation journey.
|
||||
Generate the complete YAML agent folder, yaml file and sidecar content to the specification defined in {agentBuildOutput} completely.
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
@@ -46,10 +46,10 @@ Generate the complete YAML agent file incorporating all discovered elements: pur
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- 🎯 Focus only on generating complete YAML structure based on discovered elements
|
||||
- 🚫 FORBIDDEN to duplicate auto-injected features (help, exit, activation handlers)
|
||||
- 🎯 Focus only on generating complete YAML and sidecar content structure based on discovered elements
|
||||
- 🚫 FORBIDDEN to duplicate auto-injected features (help and exit menu items, activation handler instructions)
|
||||
- 💬 Approach: Present the journey of collaborative creation while building technical structure
|
||||
- 📋 Generate YAML that accurately reflects all discoveries from previous steps
|
||||
- 📋 Generate YAML and sidecar files that accurately reflects all discoveries from previous steps
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
@@ -85,19 +85,15 @@ Present this to the user:
|
||||
|
||||
Based on determined agent type, load appropriate template:
|
||||
|
||||
- Simple Agent: `agent-complete-simple.md`
|
||||
- Expert Agent: `agent-complete-expert.md`
|
||||
- Module Agent: `agent-complete-module.md`
|
||||
- If (agent will have memories and optionally its own knowledge, separate prompt files, or data in separate files)
|
||||
- Utilize {expertAgentTemplate} to generate the agent output file {agentBuildOutput}/{agent-name}.agent.yaml
|
||||
- Create the Side-cre folder to hold the optional sidecar files if needed from plan in following steps at {agentBuildOutput}/{agent-name}/{agent-name}-sidecar
|
||||
- ELSE:
|
||||
- utilize {simpleAgentTemplate} to generate the agent output file {agentBuildOutput}/{agent-name}.agent.yaml
|
||||
|
||||
### 3. YAML Structure Generation
|
||||
### 4. Generate Complete YAML and sidecar content if applicable
|
||||
|
||||
Explain the core structure to user:
|
||||
|
||||
"I'll now generate the complete YAML that incorporates everything we've discovered. This will include your agent's metadata, persona, capabilities, and configuration."
|
||||
|
||||
### 4. Generate Complete YAML
|
||||
|
||||
Create the complete YAML incorporating all discovered elements:
|
||||
Create the complete YAML incorporating all discovered elements from the plan:
|
||||
|
||||
**Core Structure:**
|
||||
|
||||
@@ -140,41 +136,7 @@ Ensure proper implementation based on agent type:
|
||||
- Memory integration points
|
||||
- Personal workflow capabilities
|
||||
|
||||
**Module Agent:**
|
||||
|
||||
- Workflow orchestration capabilities
|
||||
- Team integration references
|
||||
- Cross-agent coordination
|
||||
|
||||
### 6. Document Complete YAML
|
||||
|
||||
#### Content to Append (if applicable):
|
||||
|
||||
```markdown
|
||||
## Complete Agent YAML
|
||||
|
||||
### Agent Type
|
||||
|
||||
[Simple/Expert/Module as determined]
|
||||
|
||||
### Generated Configuration
|
||||
|
||||
[Complete YAML structure with all discovered elements]
|
||||
|
||||
### Key Features Integrated
|
||||
|
||||
- Purpose and role from discovery phase
|
||||
- Complete persona with four-field system
|
||||
- All capabilities and commands developed
|
||||
- Agent name and identity established
|
||||
- Type-specific optimizations applied
|
||||
|
||||
### Output Configuration
|
||||
|
||||
[Proper file paths and configuration based on agent type]
|
||||
```
|
||||
|
||||
Save this content to `{outputFile}` for reference.
|
||||
Ensure all files generated are complete, and nothing from the plan has not been skipped, and then give a creational summary of what was done to the user in chat.
|
||||
|
||||
### 7. Present MENU OPTIONS
|
||||
|
||||
@@ -184,7 +146,7 @@ Display: "**Select an Option:** [A] Advanced Elicitation [P] Party Mode [C] Cont
|
||||
|
||||
- IF A: Execute {advancedElicitationTask}
|
||||
- IF P: Execute {partyModeWorkflow}
|
||||
- IF C: Save content to {outputFile}, update frontmatter, then only then load, read entire file, then execute {nextStepFile}
|
||||
- IF C: Save content to {agentBuildOutput}, update frontmatter, then only then load, read entire file, then execute {nextStepFile}
|
||||
- IF Any other comments or queries: help user respond then [Redisplay Menu Options](#7-present-menu-options)
|
||||
|
||||
#### EXECUTION RULES:
|
||||
|
||||
@@ -7,9 +7,9 @@ workflow_path: '{project-root}/bmb/workflows/create-agent/create-agent'
|
||||
|
||||
# File References
|
||||
thisStepFile: '{workflow_path}/steps/step-07-validate.md'
|
||||
nextStepFile: '{workflow_path}/steps/step-08-setup.md'
|
||||
nextStepFile: '{workflow_path}/steps/step-08-celebrate.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
outputFile: '{output_folder}/agent-validation-{project_name}.md'
|
||||
outputFile: '{bmb_creations_output_folder}/agent-validation-{project_name}.md'
|
||||
agentValidationChecklist: '{project-root}/_bmad/bmb/workflows/create-agent/agent-validation-checklist.md'
|
||||
agentFile: '{{output_file_path}}'
|
||||
|
||||
|
||||
@@ -10,10 +10,6 @@ thisStepFile: '{workflow_path}/steps/step-11-celebrate.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
outputFile: '{output_folder}/agent-completion-{project_name}.md'
|
||||
agentFile: '{{output_file_path}}'
|
||||
compiledAgentFile: '{{compiled_agent_path}}'
|
||||
|
||||
# Template References
|
||||
completionTemplate: '{workflow_path}/templates/completion-summary.md'
|
||||
|
||||
# Task References
|
||||
advancedElicitationTask: '{project-root}/_bmad/core/tasks/advanced-elicitation.xml'
|
||||
@@ -1,179 +0,0 @@
|
||||
---
|
||||
name: 'step-08-setup'
|
||||
description: 'Set up the agent workspace with sidecar files for expert agents'
|
||||
|
||||
# Path Definitions
|
||||
workflow_path: '{project-root}/bmb/workflows/create-agent/create-agent'
|
||||
|
||||
# File References
|
||||
thisStepFile: '{workflow_path}/steps/step-08-setup.md'
|
||||
nextStepFile: '{workflow_path}/steps/step-09-customize.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
outputFile: '{output_folder}/agent-setup-{project_name}.md'
|
||||
agentSidecarFolder: '{{standalone_output_folder}}/{{agent_filename}}-sidecar'
|
||||
|
||||
# Template References
|
||||
sidecarTemplate: '{workflow_path}/templates/expert-sidecar-structure.md'
|
||||
|
||||
# Task References
|
||||
advancedElicitationTask: '{project-root}/_bmad/core/tasks/advanced-elicitation.xml'
|
||||
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
|
||||
---
|
||||
|
||||
# Step 8: Expert Agent Workspace Setup
|
||||
|
||||
## STEP GOAL:
|
||||
|
||||
Guide user through setting up the Expert agent's personal workspace with sidecar files for persistent memory, knowledge, and session management, or skip appropriately for Simple/Module agents.
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
### Universal Rules:
|
||||
|
||||
- 🛑 NEVER generate content without user input
|
||||
- 📖 CRITICAL: Read the complete step file before taking any action
|
||||
- 🔄 CRITICAL: When loading next step with 'C', ensure entire file is read
|
||||
- 📋 YOU ARE A FACILITATOR, not a content generator
|
||||
|
||||
### Role Reinforcement:
|
||||
|
||||
- ✅ You are a workspace architect who helps set up agent environments
|
||||
- ✅ If you already have been given a name, communication_style and identity, continue to use those while playing this new role
|
||||
- ✅ We engage in collaborative dialogue, not command-response
|
||||
- ✅ You bring workspace setup expertise, user brings their agent vision, together we create the optimal agent environment
|
||||
- ✅ Maintain collaborative supportive tone throughout
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- 🎯 Focus only on Expert agent workspace setup (skip for Simple/Module agents)
|
||||
- 🚫 FORBIDDEN to create sidecar files for Simple or Module agents
|
||||
- 💬 Approach: Frame setup as preparing an agent's "office" or "workspace"
|
||||
- 📋 Execute conditional setup based on agent type
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- 🎯 Only execute sidecar setup for Expert agents (auto-proceed for Simple/Module)
|
||||
- 💾 Create complete sidecar file structure when needed
|
||||
- 📖 Use proper templates for Expert agent configuration
|
||||
- 🚫 FORBIDDEN to create unnecessary files or configurations
|
||||
|
||||
## CONTEXT BOUNDARIES:
|
||||
|
||||
- Available context: Validated agent configuration from previous step
|
||||
- Focus: Expert agent workspace setup or appropriate skip for other agent types
|
||||
- Limits: No modifications to core agent files, only workspace setup
|
||||
- Dependencies: Agent type determination from earlier steps
|
||||
|
||||
## Sequence of Instructions (Do not deviate, skip, or optimize)
|
||||
|
||||
### 1. Agent Type Check and Introduction
|
||||
|
||||
Check agent type and present appropriate introduction:
|
||||
|
||||
**For Expert Agents:**
|
||||
"Now let's set up {{agent_name}}'s personal workspace! Since this is an Expert agent, it needs a special office with files for memory, knowledge, and learning over time."
|
||||
|
||||
**For Simple/Module Agents:**
|
||||
"Great news! {{agent_name}} doesn't need a separate workspace setup. Simple and Module agents are self-contained and ready to go. Let's continue to the next step."
|
||||
|
||||
### 2. Expert Agent Workspace Setup (only for Expert agents)
|
||||
|
||||
**Workspace Preparation:**
|
||||
"I'm now creating {{agent_name}}'s personal workspace with everything it needs to remember conversations, build knowledge, and grow more helpful over time."
|
||||
|
||||
**Sidecar Structure Creation:**
|
||||
|
||||
- Create main sidecar folder: `{agentSidecarFolder}`
|
||||
- Set up knowledge base files
|
||||
- Create session management files
|
||||
- Establish learning and memory structures
|
||||
|
||||
**Workspace Elements Explained:**
|
||||
"Here's what I'm setting up for {{agent_name}}:
|
||||
|
||||
- **Memory files** - To remember important conversations and user preferences
|
||||
- **Knowledge base** - To build expertise in its domain
|
||||
- **Session logs** - To track progress and maintain continuity
|
||||
- **Personal workflows** - For specialized capabilities unique to this agent"
|
||||
|
||||
### 3. User Confirmation and Questions
|
||||
|
||||
**Workspace Confirmation:**
|
||||
"{{agent_name}}'s workspace is now ready! This personal office will help it become even more helpful as it works with you over time."
|
||||
|
||||
**Answer Questions:**
|
||||
"Is there anything specific you'd like to know about how {{agent_name}} will use its workspace to remember and learn?"
|
||||
|
||||
### 4. Document Workspace Setup
|
||||
|
||||
#### Content to Append (if applicable):
|
||||
|
||||
```markdown
|
||||
## Agent Workspace Setup
|
||||
|
||||
### Agent Type
|
||||
|
||||
[Expert/Simple/Module]
|
||||
|
||||
### Workspace Configuration
|
||||
|
||||
[For Expert agents: Complete sidecar structure created]
|
||||
|
||||
### Setup Elements
|
||||
|
||||
- Memory and session management files
|
||||
- Knowledge base structure
|
||||
- Personal workflow capabilities
|
||||
- Learning and adaptation framework
|
||||
|
||||
### Location
|
||||
|
||||
[Path to agent workspace or note of self-contained nature]
|
||||
```
|
||||
|
||||
Save this content to `{outputFile}` for reference.
|
||||
|
||||
### 5. Present MENU OPTIONS
|
||||
|
||||
Display: "**Select an Option:** [A] Advanced Elicitation [P] Party Mode [C] Continue"
|
||||
|
||||
#### Menu Handling Logic:
|
||||
|
||||
- IF A: Execute {advancedElicitationTask}
|
||||
- IF P: Execute {partyModeWorkflow}
|
||||
- IF C: Save content to {outputFile}, update frontmatter, then only then load, read entire file, then execute {nextStepFile}
|
||||
- IF Any other comments or queries: help user respond then [Redisplay Menu Options](#5-present-menu-options)
|
||||
|
||||
#### EXECUTION RULES:
|
||||
|
||||
- ALWAYS halt and wait for user input after presenting menu
|
||||
- ONLY proceed to next step when user selects 'C'
|
||||
- After other menu items execution, return to this menu
|
||||
- User can chat or ask questions - always respond and then end with display again of the menu options
|
||||
|
||||
## CRITICAL STEP COMPLETION NOTE
|
||||
|
||||
ONLY WHEN [C continue option] is selected and [workspace setup completed for Expert agents or appropriately skipped for Simple/Module agents], will you then load and read fully `{nextStepFile}` to execute and begin customization phase.
|
||||
|
||||
---
|
||||
|
||||
## 🚨 SYSTEM SUCCESS/FAILURE METRICS
|
||||
|
||||
### ✅ SUCCESS:
|
||||
|
||||
- Expert agents receive complete sidecar workspace setup
|
||||
- Simple/Module agents appropriately skip workspace setup
|
||||
- User understands agent workspace requirements
|
||||
- All necessary files and structures created for Expert agents
|
||||
- User questions answered and workspace confirmed ready
|
||||
- Content properly saved to output file
|
||||
- Menu presented and user input handled correctly
|
||||
|
||||
### ❌ SYSTEM FAILURE:
|
||||
|
||||
- Creating sidecar files for Simple or Module agents
|
||||
- Not creating complete workspace for Expert agents
|
||||
- Failing to explain workspace purpose and value
|
||||
- Creating unnecessary files or configurations
|
||||
|
||||
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
|
||||
@@ -1,197 +0,0 @@
|
||||
---
|
||||
name: 'step-09-customize'
|
||||
description: 'Optional personalization with customization file creation'
|
||||
|
||||
# Path Definitions
|
||||
workflow_path: '{project-root}/bmb/workflows/create-agent/create-agent'
|
||||
|
||||
# File References
|
||||
thisStepFile: '{workflow_path}/steps/step-09-customize.md'
|
||||
nextStepFile: '{workflow_path}/steps/step-10-build-tools.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
outputFile: '{output_folder}/agent-customization-{project_name}.md'
|
||||
configOutputFile: '{project-root}/_bmad/_config/agents/{target_module}-{agent_filename}.customize.yaml'
|
||||
|
||||
# Template References
|
||||
customizationTemplate: '{workflow_path}/templates/agent-customization.md'
|
||||
|
||||
# Task References
|
||||
advancedElicitationTask: '{project-root}/_bmad/core/tasks/advanced-elicitation.xml'
|
||||
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
|
||||
---
|
||||
|
||||
# Step 9: Optional Customization File
|
||||
|
||||
## STEP GOAL:
|
||||
|
||||
Offer optional customization file creation for easy personality tweaking and command modification without touching core agent files, providing experimental flexibility for agent refinement.
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
### Universal Rules:
|
||||
|
||||
- 🛑 NEVER generate content without user input
|
||||
- 📖 CRITICAL: Read the complete step file before taking any action
|
||||
- 🔄 CRITICAL: When loading next step with 'C', ensure entire file is read
|
||||
- 📋 YOU ARE A FACILITATOR, not a content generator
|
||||
|
||||
### Role Reinforcement:
|
||||
|
||||
- ✅ You are a customization specialist who helps users refine agent behavior
|
||||
- ✅ If you already have been given a name, communication_style and identity, continue to use those while playing this new role
|
||||
- ✅ We engage in collaborative dialogue, not command-response
|
||||
- ✅ You bring customization expertise, user brings their refinement preferences, together we create flexible agent configuration options
|
||||
- ✅ Maintain collaborative experimental tone throughout
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- 🎯 Focus only on offering optional customization file creation
|
||||
- 🚫 FORBIDDEN to make customization mandatory or required
|
||||
- 💬 Approach: Emphasize experimental and flexible nature of customizations
|
||||
- 📋 Present customization as optional enhancement for future tweaking
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- 🎯 Present customization as optional enhancement with clear benefits
|
||||
- 💾 Create easy-to-use customization template when requested
|
||||
- 📖 Explain customization file purpose and usage clearly
|
||||
- 🚫 FORBIDDEN to proceed without clear user choice about customization
|
||||
|
||||
## CONTEXT BOUNDARIES:
|
||||
|
||||
- Available context: Complete agent configuration from previous steps
|
||||
- Focus: Optional customization file creation for future agent tweaking
|
||||
- Limits: No modifications to core agent files, only customization overlay
|
||||
- Dependencies: Complete agent ready for optional customization
|
||||
|
||||
## Sequence of Instructions (Do not deviate, skip, or optimize)
|
||||
|
||||
### 1. Customization Introduction
|
||||
|
||||
Present this to the user:
|
||||
|
||||
"Would you like to create a customization file for {{agent_name}}? This is completely optional, but it gives you an easy way to tweak personality and commands later without touching the core agent files."
|
||||
|
||||
**Customization Benefits:**
|
||||
|
||||
- Easy personality adjustments without editing core files
|
||||
- Command modifications without risking agent stability
|
||||
- Experimental tweaks you can turn on/off
|
||||
- Safe space to try new approaches
|
||||
|
||||
### 2. Customization Options Explanation
|
||||
|
||||
**What You Can Customize:**
|
||||
"Through the customization file, you'll be able to:
|
||||
|
||||
- Fine-tune communication style and personality details
|
||||
- Add or modify commands without affecting core structure
|
||||
- Experiment with different approaches or settings
|
||||
- Make quick adjustments as you learn how {{agent_name}} works best for you"
|
||||
|
||||
**How It Works:**
|
||||
"The customization file acts like a settings overlay - it lets you override specific parts of {{agent_name}}'s configuration while keeping the core agent intact and stable."
|
||||
|
||||
### 3. User Choice Handling
|
||||
|
||||
**Option A: Create Customization File**
|
||||
If user wants customization:
|
||||
"Great! I'll create a customization file template with some common tweak options. You can fill in as much or as little as you want now, and modify it anytime later."
|
||||
|
||||
**Option B: Skip Customization**
|
||||
If user declines:
|
||||
"No problem! {{agent_name}} is ready to use as-is. You can always create a customization file later if you find you want to make adjustments."
|
||||
|
||||
### 4. Customization File Creation (if chosen)
|
||||
|
||||
When user chooses customization:
|
||||
|
||||
**Template Creation:**
|
||||
"I'm creating your customization file with easy-to-use sections for:
|
||||
|
||||
- **Personality tweaks** - Adjust communication style or specific principles
|
||||
- **Command modifications** - Add new commands or modify existing ones
|
||||
- **Experimental features** - Try new approaches safely
|
||||
- **Quick settings** - Common adjustments people like to make"
|
||||
|
||||
**File Location:**
|
||||
"Your customization file will be saved at: `{configOutputFile}`"
|
||||
|
||||
### 5. Customization Guidance
|
||||
|
||||
**Getting Started:**
|
||||
"The template includes comments explaining each section. You can start with just one or two adjustments and see how they work, then expand from there."
|
||||
|
||||
**Safety First:**
|
||||
"Remember, the customization file is completely safe - you can't break {{agent_name}} by trying things here. If something doesn't work well, just remove or modify that section."
|
||||
|
||||
### 6. Document Customization Setup
|
||||
|
||||
#### Content to Append (if applicable):
|
||||
|
||||
```markdown
|
||||
## Agent Customization File
|
||||
|
||||
### Customization Choice
|
||||
|
||||
[User chose to create/skip customization file]
|
||||
|
||||
### Customization Purpose
|
||||
|
||||
[If created: Explanation of customization capabilities]
|
||||
|
||||
### File Location
|
||||
|
||||
[Path to customization file or note of skip]
|
||||
|
||||
### Usage Guidance
|
||||
|
||||
[Instructions for using customization file]
|
||||
```
|
||||
|
||||
Save this content to `{outputFile}` for reference.
|
||||
|
||||
### 7. Present MENU OPTIONS
|
||||
|
||||
Display: "**Select an Option:** [A] Advanced Elicitation [P] Party Mode [C] Continue"
|
||||
|
||||
#### Menu Handling Logic:
|
||||
|
||||
- IF A: Execute {advancedElicitationTask}
|
||||
- IF P: Execute {partyModeWorkflow}
|
||||
- IF C: Save content to {outputFile}, update frontmatter, then only then load, read entire file, then execute {nextStepFile}
|
||||
- IF Any other comments or queries: help user respond then [Redisplay Menu Options](#7-present-menu-options)
|
||||
|
||||
#### EXECUTION RULES:
|
||||
|
||||
- ALWAYS halt and wait for user input after presenting menu
|
||||
- ONLY proceed to next step when user selects 'C'
|
||||
- After other menu items execution, return to this menu
|
||||
- User can chat or ask questions - always respond and then end with display again of the menu options
|
||||
|
||||
## CRITICAL STEP COMPLETION NOTE
|
||||
|
||||
ONLY WHEN [C continue option] is selected and [customization decision made and file created if requested], will you then load and read fully `{nextStepFile}` to execute and begin build tools handling.
|
||||
|
||||
---
|
||||
|
||||
## 🚨 SYSTEM SUCCESS/FAILURE METRICS
|
||||
|
||||
### ✅ SUCCESS:
|
||||
|
||||
- User understands customization file purpose and benefits
|
||||
- Customization decision made clearly (create or skip)
|
||||
- Customization file created with proper template when requested
|
||||
- User guidance provided for using customization effectively
|
||||
- Experimental and flexible nature emphasized appropriately
|
||||
- Content properly saved to output file
|
||||
- Menu presented and user input handled correctly
|
||||
|
||||
### ❌ SYSTEM FAILURE:
|
||||
|
||||
- Making customization mandatory or pressuring user
|
||||
- Creating customization file without clear user request
|
||||
- Not explaining customization benefits and usage clearly
|
||||
- Overwhelming user with excessive customization options
|
||||
|
||||
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
|
||||
@@ -1,180 +0,0 @@
|
||||
---
|
||||
name: 'step-10-build-tools'
|
||||
description: 'Handle build tools availability and generate compiled agent if needed'
|
||||
|
||||
# Path Definitions
|
||||
workflow_path: '{project-root}/bmb/workflows/create-agent/create-agent'
|
||||
|
||||
# File References
|
||||
thisStepFile: '{workflow_path}/steps/step-10-build-tools.md'
|
||||
nextStepFile: '{workflow_path}/steps/step-11-celebrate.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
outputFile: '{output_folder}/agent-build-{project_name}.md'
|
||||
agentFile: '{{output_file_path}}'
|
||||
compiledAgentFile: '{{output_folder}}/{{agent_filename}}.md'
|
||||
|
||||
# Template References
|
||||
buildHandlingTemplate: '{workflow_path}/templates/build-results.md'
|
||||
|
||||
# Task References
|
||||
advancedElicitationTask: '{project-root}/_bmad/core/tasks/advanced-elicitation.xml'
|
||||
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
|
||||
---
|
||||
|
||||
# Step 10: Build Tools Handling
|
||||
|
||||
## STEP GOAL:
|
||||
|
||||
Check for BMAD build tools availability and handle agent compilation appropriately based on project context, ensuring agent is ready for activation.
|
||||
|
||||
## MANDATORY EXECUTION RULES (READ FIRST):
|
||||
|
||||
### Universal Rules:
|
||||
|
||||
- 🛑 NEVER generate content without user input
|
||||
- 📖 CRITICAL: Read the complete step file before taking any action
|
||||
- 🔄 CRITICAL: When loading next step with 'C', ensure entire file is read
|
||||
- 📋 YOU ARE A FACILITATOR, not a content generator
|
||||
|
||||
### Role Reinforcement:
|
||||
|
||||
- ✅ You are a build coordinator who manages agent compilation and deployment readiness
|
||||
- ✅ If you already have been given a name, communication_style and identity, continue to use those while playing this new role
|
||||
- ✅ We engage in collaborative dialogue, not command-response
|
||||
- ✅ You bring build process expertise, user brings their agent vision, together we ensure agent is ready for activation
|
||||
- ✅ Maintain collaborative technical tone throughout
|
||||
|
||||
### Step-Specific Rules:
|
||||
|
||||
- 🎯 Focus only on build tools detection and agent compilation handling
|
||||
- 🚫 FORBIDDEN to proceed without checking build tools availability
|
||||
- 💬 Approach: Explain compilation process clearly and handle different scenarios gracefully
|
||||
- 📋 Ensure agent is ready for activation regardless of build tools availability
|
||||
|
||||
## EXECUTION PROTOCOLS:
|
||||
|
||||
- 🎯 Detect build tools availability automatically
|
||||
- 💾 Handle agent compilation based on tools availability
|
||||
- 📖 Explain compilation process and next steps clearly
|
||||
- 🚫 FORBIDDEN to assume build tools are available without checking
|
||||
|
||||
## CONTEXT BOUNDARIES:
|
||||
|
||||
- Available context: Complete agent configuration and optional customization
|
||||
- Focus: Build tools detection and agent compilation handling
|
||||
- Limits: No agent modifications, only compilation and deployment preparation
|
||||
- Dependencies: Complete agent files ready for compilation
|
||||
|
||||
## Sequence of Instructions (Do not deviate, skip, or optimize)
|
||||
|
||||
### 1. Build Tools Detection
|
||||
|
||||
Check for BMAD build tools availability and present status:
|
||||
|
||||
"I'm checking for BMAD build tools to see if we can compile {{agent_name}} for immediate activation..."
|
||||
|
||||
**Detection Results:**
|
||||
[Check for build tools availability and present appropriate status]
|
||||
|
||||
### 2. Build Tools Handling
|
||||
|
||||
**Scenario A: Build Tools Available**
|
||||
"Great! BMAD build tools are available. I can compile {{agent_name}} now for immediate activation."
|
||||
|
||||
**Scenario B: Build Tools Not Available**
|
||||
"No problem! BMAD build tools aren't available right now, but {{agent_name}} is still ready to use. The agent files are complete and will work perfectly when build tools are available."
|
||||
|
||||
### 3. Agent Compilation (when possible)
|
||||
|
||||
**Compilation Process:**
|
||||
"When build tools are available, I'll:
|
||||
|
||||
- Process all agent configuration files
|
||||
- Generate optimized runtime version
|
||||
- Create activation-ready deployment package
|
||||
- Validate final compilation results"
|
||||
|
||||
**Compilation Results:**
|
||||
[If compilation occurs: "✅ {{agent_name}} compiled successfully and ready for activation!"]
|
||||
|
||||
### 4. Deployment Readiness Confirmation
|
||||
|
||||
**Always Ready:**
|
||||
"Good news! {{agent_name}} is ready for deployment:
|
||||
|
||||
- **With build tools:** Compiled and optimized for immediate activation
|
||||
- **Without build tools:** Complete agent files ready, will compile when tools become available
|
||||
|
||||
**Next Steps:**
|
||||
"Regardless of build tools availability, your agent is complete and ready to help users with {{agent_purpose}}."
|
||||
|
||||
### 5. Build Status Documentation
|
||||
|
||||
#### Content to Append (if applicable):
|
||||
|
||||
```markdown
|
||||
## Agent Build Status
|
||||
|
||||
### Build Tools Detection
|
||||
|
||||
[Status of build tools availability]
|
||||
|
||||
### Compilation Results
|
||||
|
||||
[If compiled: Success details, if not: Ready for future compilation]
|
||||
|
||||
### Deployment Readiness
|
||||
|
||||
Agent is ready for activation regardless of build tools status
|
||||
|
||||
### File Locations
|
||||
|
||||
[Paths to agent files and compiled version if created]
|
||||
```
|
||||
|
||||
Save this content to `{outputFile}` for reference.
|
||||
|
||||
### 6. Present MENU OPTIONS
|
||||
|
||||
Display: "**Select an Option:** [A] Advanced Elicitation [P] Party Mode [C] Continue"
|
||||
|
||||
#### Menu Handling Logic:
|
||||
|
||||
- IF A: Execute {advancedElicitationTask}
|
||||
- IF P: Execute {partyModeWorkflow}
|
||||
- IF C: Save content to {outputFile}, update frontmatter, then only then load, read entire file, then execute {nextStepFile}
|
||||
- IF Any other comments or queries: help user respond then [Redisplay Menu Options](#6-present-menu-options)
|
||||
|
||||
#### EXECUTION RULES:
|
||||
|
||||
- ALWAYS halt and wait for user input after presenting menu
|
||||
- ONLY proceed to next step when user selects 'C'
|
||||
- After other menu items execution, return to this menu
|
||||
- User can chat or ask questions - always respond and then end with display again of the menu options
|
||||
|
||||
## CRITICAL STEP COMPLETION NOTE
|
||||
|
||||
ONLY WHEN [C continue option] is selected and [build tools handled appropriately with compilation if available], will you then load and read fully `{nextStepFile}` to execute and begin celebration and final guidance.
|
||||
|
||||
---
|
||||
|
||||
## 🚨 SYSTEM SUCCESS/FAILURE METRICS
|
||||
|
||||
### ✅ SUCCESS:
|
||||
|
||||
- Build tools availability detected and confirmed
|
||||
- Agent compilation completed when build tools available
|
||||
- Agent readiness confirmed regardless of build tools status
|
||||
- Clear explanation of deployment readiness provided
|
||||
- User understands next steps for agent activation
|
||||
- Content properly saved to output file
|
||||
- Menu presented and user input handled correctly
|
||||
|
||||
### ❌ SYSTEM FAILURE:
|
||||
|
||||
- Not checking build tools availability before proceeding
|
||||
- Failing to compile agent when build tools are available
|
||||
- Not confirming agent readiness for deployment
|
||||
- Confusing user about agent availability based on build tools
|
||||
|
||||
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.
|
||||
@@ -1,21 +0,0 @@
|
||||
# Agent Command Structure
|
||||
|
||||
## Core Capabilities
|
||||
|
||||
{{developed_capabilities}}
|
||||
|
||||
## Menu Structure
|
||||
|
||||
{{command_structure}}
|
||||
|
||||
## Workflow Integration
|
||||
|
||||
{{workflow_integration_plan}}
|
||||
|
||||
## Advanced Features
|
||||
|
||||
{{advanced_features}}
|
||||
|
||||
---
|
||||
|
||||
_Commands defined on {{date}}_
|
||||
@@ -1,25 +0,0 @@
|
||||
# Agent Persona Development
|
||||
|
||||
## Role
|
||||
|
||||
{{discovered_role}}
|
||||
|
||||
## Identity
|
||||
|
||||
{{developed_identity}}
|
||||
|
||||
## Communication Style
|
||||
|
||||
{{selected_communication_style}}
|
||||
|
||||
## Principles
|
||||
|
||||
{{articulated_principles}}
|
||||
|
||||
## Interaction Approach
|
||||
|
||||
{{interaction_approach}}
|
||||
|
||||
---
|
||||
|
||||
_Persona finalized on {{date}}_
|
||||
@@ -0,0 +1,3 @@
|
||||
---
|
||||
stepsCompleted: []
|
||||
---
|
||||
@@ -1,23 +0,0 @@
|
||||
# Agent Purpose and Type Discovery
|
||||
|
||||
## Agent Purpose
|
||||
|
||||
- **Core Purpose**: {{user_stated_purpose}}
|
||||
- **Target Users**: {{identified_users}}
|
||||
- **Key Problems Solved**: {{problems_to_solve}}
|
||||
- **Unique Value**: {{special_capabilities}}
|
||||
|
||||
## Agent Type
|
||||
|
||||
- **Selected Type**: {{chosen_agent_type}}
|
||||
- **Architecture Rationale**: {{type_reasoning}}
|
||||
- **Key Benefits**: {{type_benefits}}
|
||||
|
||||
## Output Configuration
|
||||
|
||||
- **Module Path**: {{module_output_file}}
|
||||
- **Standalone Path**: {{standalone_output_file}}
|
||||
|
||||
---
|
||||
|
||||
_Generated on {{date}}_
|
||||
@@ -0,0 +1,372 @@
|
||||
# Expert Agent Architecture
|
||||
|
||||
Domain-specific agents with persistent memory, sidecar files, and restricted access patterns.
|
||||
|
||||
## When to Use
|
||||
|
||||
- Personal assistants (journal keeper, diary companion)
|
||||
- Specialized domain experts (legal advisor, medical reference)
|
||||
- Agents that need to remember past interactions
|
||||
- Agents with restricted file system access (privacy/security)
|
||||
- Long-term relationship agents that learn about users
|
||||
|
||||
## File Structure
|
||||
|
||||
```
|
||||
{agent-name}/
|
||||
├── {agent-name}.agent.yaml # Main agent definition
|
||||
└── {agent-name}-sidecar/ # Supporting files
|
||||
├── instructions.md # Private directives
|
||||
├── memories.md # Persistent memory
|
||||
├── knowledge/ # Domain-specific resources
|
||||
│ └── README.md
|
||||
└── [custom files] # Agent-specific resources
|
||||
```
|
||||
|
||||
## YAML Structure
|
||||
|
||||
```yaml
|
||||
agent:
|
||||
metadata:
|
||||
name: 'Persona Name'
|
||||
title: 'Agent Title'
|
||||
icon: 'emoji'
|
||||
type: 'expert'
|
||||
|
||||
persona:
|
||||
role: 'Domain Expert with specialized capability'
|
||||
|
||||
identity: |
|
||||
Background and expertise in first-person voice.
|
||||
{{#if user_preference}}
|
||||
Customization based on install_config.
|
||||
{{/if}}
|
||||
|
||||
communication_style: |
|
||||
{{#if tone_style == "gentle"}}
|
||||
Gentle and supportive communication...
|
||||
{{/if}}
|
||||
{{#if tone_style == "direct"}}
|
||||
Direct and efficient communication...
|
||||
{{/if}}
|
||||
I reference past conversations naturally.
|
||||
|
||||
principles:
|
||||
- Core belief about the domain
|
||||
- How I handle user information
|
||||
- My approach to memory and learning
|
||||
|
||||
critical_actions:
|
||||
- 'Load COMPLETE file ./{agent-name}-sidecar/memories.md and remember all past insights'
|
||||
- 'Load COMPLETE file ./{agent-name}-sidecar/instructions.md and follow ALL protocols'
|
||||
- 'ONLY read/write files in ./{agent-name}-sidecar/ - this is our private space'
|
||||
- 'Address user as {{greeting_name}}'
|
||||
- 'Track patterns, themes, and important moments'
|
||||
- 'Reference past interactions naturally to show continuity'
|
||||
|
||||
prompts:
|
||||
- id: main-function
|
||||
content: |
|
||||
<instructions>
|
||||
Guide user through the primary function.
|
||||
{{#if tone_style == "gentle"}}
|
||||
Use gentle, supportive approach.
|
||||
{{/if}}
|
||||
</instructions>
|
||||
|
||||
<process>
|
||||
1. Understand context
|
||||
2. Provide guidance
|
||||
3. Record insights
|
||||
</process>
|
||||
|
||||
- id: memory-recall
|
||||
content: |
|
||||
<instructions>
|
||||
Access and share relevant memories.
|
||||
</instructions>
|
||||
|
||||
Reference stored information naturally.
|
||||
|
||||
menu:
|
||||
- trigger: action1
|
||||
action: '#main-function'
|
||||
description: 'Primary agent function'
|
||||
|
||||
- trigger: remember
|
||||
action: 'Update ./{agent-name}-sidecar/memories.md with session insights'
|
||||
description: 'Save what we discussed today'
|
||||
|
||||
- trigger: insight
|
||||
action: 'Document breakthrough in ./{agent-name}-sidecar/breakthroughs.md'
|
||||
description: 'Record a significant insight'
|
||||
|
||||
- multi: "[DF] Do Foo or start [CH] Chat with expert"
|
||||
triggers:
|
||||
- do-foo
|
||||
- input: [DF] or fuzzy match on do foo
|
||||
- action: '#main-action'
|
||||
- data: what is being discussed or suggested with the command, along with custom party custom agents if specified
|
||||
- type: action
|
||||
- expert-chat:
|
||||
- input: [CH] or fuzzy match validate agent
|
||||
- action: agent responds as expert based on its persona to converse
|
||||
- type: action
|
||||
|
||||
install_config:
|
||||
compile_time_only: true
|
||||
description: 'Personalize your expert agent'
|
||||
questions:
|
||||
- var: greeting_name
|
||||
prompt: 'What should the agent call you?'
|
||||
type: text
|
||||
default: 'friend'
|
||||
|
||||
- var: tone_style
|
||||
prompt: 'Preferred communication tone?'
|
||||
type: choice
|
||||
options:
|
||||
- label: 'Gentle - Supportive and nurturing'
|
||||
value: 'gentle'
|
||||
- label: 'Direct - Clear and efficient'
|
||||
value: 'direct'
|
||||
default: 'gentle'
|
||||
|
||||
- var: user_preference
|
||||
prompt: 'Enable personalized features?'
|
||||
type: boolean
|
||||
default: true
|
||||
```
|
||||
|
||||
## Key Components
|
||||
|
||||
### Sidecar Files (CRITICAL)
|
||||
|
||||
Expert agents use companion files for persistence and domain knowledge:
|
||||
|
||||
**memories.md** - Persistent user context
|
||||
|
||||
```markdown
|
||||
# Agent Memory Bank
|
||||
|
||||
## User Preferences
|
||||
|
||||
<!-- Learned from interactions -->
|
||||
|
||||
## Session History
|
||||
|
||||
<!-- Important moments and insights -->
|
||||
|
||||
## Personal Notes
|
||||
|
||||
<!-- Agent observations -->
|
||||
```
|
||||
|
||||
**instructions.md** - Private directives
|
||||
|
||||
```markdown
|
||||
# Agent Private Instructions
|
||||
|
||||
## Core Directives
|
||||
|
||||
- Maintain character consistency
|
||||
- Domain boundaries: {specific domain}
|
||||
- Access restrictions: Only sidecar folder
|
||||
|
||||
## Special Rules
|
||||
|
||||
<!-- Agent-specific protocols -->
|
||||
```
|
||||
|
||||
**knowledge/** - Domain resources
|
||||
|
||||
```markdown
|
||||
# Agent Knowledge Base
|
||||
|
||||
Add domain-specific documentation here.
|
||||
```
|
||||
|
||||
### Critical Actions
|
||||
|
||||
**MANDATORY for expert agents** - These load sidecar files at activation:
|
||||
|
||||
```yaml
|
||||
critical_actions:
|
||||
- 'Load COMPLETE file ./{sidecar}/memories.md and remember all past insights'
|
||||
- 'Load COMPLETE file ./{sidecar}/instructions.md and follow ALL protocols'
|
||||
- 'ONLY read/write files in ./{sidecar}/ - this is our private space'
|
||||
```
|
||||
|
||||
**Key patterns:**
|
||||
|
||||
- **COMPLETE file loading** - Forces full file read, not partial
|
||||
- **Domain restrictions** - Limits file access for privacy/security
|
||||
- **Memory integration** - Past context becomes part of current session
|
||||
- **Protocol adherence** - Ensures consistent behavior
|
||||
|
||||
### {bmad_memory} Variable
|
||||
|
||||
Special variable resolved during installation:
|
||||
|
||||
- Points to the agent's installation directory
|
||||
- Used to reference sidecar files
|
||||
- Example: `_bmad/custom/agents/journal-keeper/`
|
||||
|
||||
## What Gets Injected at Compile Time
|
||||
|
||||
Same as simple agents, PLUS:
|
||||
|
||||
1. **Critical actions become numbered activation steps**
|
||||
|
||||
```xml
|
||||
<step n="4">Load COMPLETE file ./memories.md...</step>
|
||||
<step n="5">Load COMPLETE file ./instructions.md...</step>
|
||||
<step n="6">ONLY read/write files in ./...</step>
|
||||
```
|
||||
|
||||
2. **Sidecar files copied during installation**
|
||||
- Entire sidecar folder structure preserved
|
||||
- Relative paths maintained
|
||||
- Files ready for agent use
|
||||
|
||||
## Reference Example
|
||||
|
||||
See: `bmb/reference/agents/expert-examples/journal-keeper/`
|
||||
|
||||
Features demonstrated:
|
||||
|
||||
- Complete sidecar structure (memories, instructions, breakthroughs)
|
||||
- Critical actions for loading persistent context
|
||||
- Domain restrictions for privacy
|
||||
- Pattern recognition and memory recall
|
||||
- Handlebars-based personalization
|
||||
- Menu actions that update sidecar files
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
# Copy entire folder to your project
|
||||
cp -r /path/to/journal-keeper/ _bmad/custom/agents/
|
||||
|
||||
# Install with personalization
|
||||
bmad agent-install
|
||||
```
|
||||
|
||||
The installer:
|
||||
|
||||
1. Detects expert agent (folder with .agent.yaml)
|
||||
2. Prompts for personalization
|
||||
3. Compiles agent YAML to XML-in-markdown
|
||||
4. **Copies sidecar files to installation target**
|
||||
5. Creates IDE slash commands
|
||||
6. Saves source for reinstallation
|
||||
|
||||
## Memory Patterns
|
||||
|
||||
### Accumulative Memory
|
||||
|
||||
```yaml
|
||||
menu:
|
||||
- trigger: save
|
||||
action: "Update ./sidecar/memories.md with today's session insights"
|
||||
description: 'Save session to memory'
|
||||
```
|
||||
|
||||
### Reference Memory
|
||||
|
||||
```yaml
|
||||
prompts:
|
||||
- id: recall
|
||||
content: |
|
||||
<instructions>
|
||||
Reference memories.md naturally:
|
||||
"Last week you mentioned..." or "I notice a pattern..."
|
||||
</instructions>
|
||||
```
|
||||
|
||||
### Structured Insights
|
||||
|
||||
```yaml
|
||||
menu:
|
||||
- trigger: insight
|
||||
action: 'Document in ./sidecar/breakthroughs.md with date, context, significance'
|
||||
description: 'Record meaningful insight'
|
||||
```
|
||||
|
||||
## Domain Restriction Patterns
|
||||
|
||||
### Single Folder Access
|
||||
|
||||
```yaml
|
||||
critical_actions:
|
||||
- 'ONLY read/write files in ./sidecar/ - NO OTHER FOLDERS'
|
||||
```
|
||||
|
||||
### User Space Access
|
||||
|
||||
```yaml
|
||||
critical_actions:
|
||||
- 'ONLY access files in {user-folder}/journals/ - private space'
|
||||
```
|
||||
|
||||
### Read-Only Access
|
||||
|
||||
```yaml
|
||||
critical_actions:
|
||||
- 'Load knowledge from ./knowledge/ but NEVER modify'
|
||||
- 'Write ONLY to ./sessions/'
|
||||
```
|
||||
|
||||
## Best Practices
|
||||
|
||||
1. **Load sidecar files in critical_actions** - Must be explicit and MANDATORY
|
||||
2. **Enforce domain restrictions** - Clear boundaries prevent scope creep
|
||||
3. **Use {bmad_memory} paths** - Portable across installations
|
||||
4. **Design for memory growth** - Structure sidecar files for accumulation
|
||||
5. **Reference past naturally** - Don't dump memory, weave it into conversation
|
||||
6. **Separate concerns** - Memories, instructions, knowledge in distinct files
|
||||
7. **Include privacy features** - Users trust expert agents with personal data
|
||||
|
||||
## Common Patterns
|
||||
|
||||
### Session Continuity
|
||||
|
||||
```yaml
|
||||
communication_style: |
|
||||
I reference past conversations naturally:
|
||||
"Last time we discussed..." or "I've noticed over the weeks..."
|
||||
```
|
||||
|
||||
### Pattern Recognition
|
||||
|
||||
```yaml
|
||||
critical_actions:
|
||||
- 'Track mood patterns, recurring themes, and breakthrough moments'
|
||||
- 'Cross-reference current session with historical patterns'
|
||||
```
|
||||
|
||||
### Adaptive Responses
|
||||
|
||||
```yaml
|
||||
identity: |
|
||||
I learn your preferences and adapt my approach over time.
|
||||
{{#if track_preferences}}
|
||||
I maintain notes about what works best for you.
|
||||
{{/if}}
|
||||
```
|
||||
|
||||
## Validation Checklist
|
||||
|
||||
- [ ] Valid YAML syntax
|
||||
- [ ] Metadata includes `type: "expert"`
|
||||
- [ ] critical_actions loads sidecar files explicitly
|
||||
- [ ] critical_actions enforces domain restrictions
|
||||
- [ ] Sidecar folder structure created and populated
|
||||
- [ ] memories.md has clear section structure
|
||||
- [ ] instructions.md contains core directives
|
||||
- [ ] Menu actions reference {bmad_memory} correctly
|
||||
- [ ] File paths use {bmad_memory} variable
|
||||
- [ ] Install config personalizes sidecar references
|
||||
- [ ] Agent folder named consistently: `{agent-name}/`
|
||||
- [ ] YAML file named: `{agent-name}.agent.yaml`
|
||||
- [ ] Sidecar folder named: `{agent-name}-sidecar/`
|
||||
@@ -0,0 +1,257 @@
|
||||
# Simple Agent Architecture
|
||||
|
||||
Self-contained agents with prompts, menus, and optional install-time customization.
|
||||
|
||||
## When to Use
|
||||
|
||||
- Single-purpose utilities (commit message generator, code formatter)
|
||||
- Self-contained logic with no external dependencies
|
||||
- Agents that benefit from user customization (style, tone, preferences)
|
||||
- Quick-to-build standalone helpers
|
||||
|
||||
## YAML Structure
|
||||
|
||||
```yaml
|
||||
agent:
|
||||
metadata:
|
||||
id: _bmad/agents/{agent-name}/{agent-name}.md
|
||||
name: 'Persona Name'
|
||||
title: 'Agent Title'
|
||||
icon: 'emoji'
|
||||
type: simple
|
||||
|
||||
persona:
|
||||
role: |
|
||||
First-person description of primary function (1-2 sentences)
|
||||
|
||||
identity: |
|
||||
Background, experience, specializations in first-person (2-5 sentences)
|
||||
{{#if custom_variable}}
|
||||
Conditional identity text based on install_config
|
||||
{{/if}}
|
||||
|
||||
communication_style: |
|
||||
{{#if style_choice == "professional"}}
|
||||
Professional and systematic approach...
|
||||
{{/if}}
|
||||
{{#if style_choice == "casual"}}
|
||||
Friendly and approachable tone...
|
||||
{{/if}}
|
||||
|
||||
principles:
|
||||
- Core belief or methodology
|
||||
- Another guiding principle
|
||||
- Values that shape decisions
|
||||
|
||||
prompts:
|
||||
- id: main-action
|
||||
content: |
|
||||
<instructions>
|
||||
What this prompt does
|
||||
</instructions>
|
||||
|
||||
<process>
|
||||
1. Step one
|
||||
{{#if detailed_mode}}
|
||||
2. Additional detailed step
|
||||
{{/if}}
|
||||
3. Final step
|
||||
</process>
|
||||
|
||||
- id: another-action
|
||||
content: |
|
||||
Another reusable prompt template
|
||||
|
||||
menu:
|
||||
- trigger: inline
|
||||
action: 'Direct inline prompt text'
|
||||
description: 'Execute inline action'
|
||||
|
||||
- multi: "[DF] Do Foo or start [CH] Chat with expert"
|
||||
triggers:
|
||||
- do-foo
|
||||
- input: [DF] or fuzzy match on do foo
|
||||
- action: '#main-action'
|
||||
- data: what is being discussed or suggested with the command, along with custom party custom agents if specified
|
||||
- type: action
|
||||
- expert-chat:
|
||||
- input: [CH] or fuzzy match validate agent
|
||||
- action: agent responds as expert based on its persona to converse
|
||||
- type: action
|
||||
|
||||
install_config:
|
||||
compile_time_only: true
|
||||
description: 'Personalize your agent'
|
||||
questions:
|
||||
- var: style_choice
|
||||
prompt: 'Preferred communication style?'
|
||||
type: choice
|
||||
options:
|
||||
- label: 'Professional'
|
||||
value: 'professional'
|
||||
- label: 'Casual'
|
||||
value: 'casual'
|
||||
default: 'professional'
|
||||
|
||||
- var: detailed_mode
|
||||
prompt: 'Enable detailed explanations?'
|
||||
type: boolean
|
||||
default: true
|
||||
|
||||
- var: custom_variable
|
||||
prompt: 'Your custom text'
|
||||
type: text
|
||||
default: ''
|
||||
```
|
||||
|
||||
## Key Components
|
||||
|
||||
### Metadata
|
||||
|
||||
- **id**: Final compiled path (`_bmad/agents/{name}/{name}.md` for standalone)
|
||||
- **name**: Agent's persona name displayed to users
|
||||
- **title**: Professional role/function
|
||||
- **icon**: Single emoji for visual identification
|
||||
- **type**: `simple` - identifies agent category
|
||||
|
||||
### Persona (First-Person Voice)
|
||||
|
||||
- **role**: Primary expertise in 1-2 sentences
|
||||
- **identity**: Background and specializations (2-5 sentences)
|
||||
- **communication_style**: HOW the agent interacts, including conditional variations
|
||||
- **principles**: Array of core beliefs (start with action verbs)
|
||||
|
||||
### Prompts with IDs
|
||||
|
||||
Reusable prompt templates referenced by `#id`:
|
||||
|
||||
```yaml
|
||||
prompts:
|
||||
- id: analyze-code
|
||||
content: |
|
||||
<instructions>
|
||||
Analyze the provided code for patterns
|
||||
</instructions>
|
||||
```
|
||||
|
||||
Menu items reference these:
|
||||
|
||||
```yaml
|
||||
menu:
|
||||
- trigger: analyze
|
||||
action: '#analyze-code'
|
||||
description: 'Analyze code patterns'
|
||||
```
|
||||
|
||||
### Menu Actions
|
||||
|
||||
Two forms of action handlers:
|
||||
|
||||
1. **Prompt Reference**: `action: "#prompt-id"` - Executes prompt content
|
||||
2. **Inline Instruction**: `action: "Direct text instruction"` - Executes text directly
|
||||
|
||||
### Install Config (Compile-Time Customization)
|
||||
|
||||
Questions asked during `bmad agent-install`:
|
||||
|
||||
**Question Types:**
|
||||
|
||||
- `choice` - Multiple choice selection
|
||||
- `boolean` - Yes/no toggle
|
||||
- `text` - Free-form text input
|
||||
|
||||
**Variables become available in Handlebars:**
|
||||
|
||||
```yaml
|
||||
{{#if variable_name}}
|
||||
Content when true
|
||||
{{/if}}
|
||||
|
||||
{{#if variable_name == "value"}}
|
||||
Content when equals value
|
||||
{{/if}}
|
||||
|
||||
{{#unless variable_name}}
|
||||
Content when false
|
||||
{{/unless}}
|
||||
```
|
||||
|
||||
## What Gets Injected at Compile Time
|
||||
|
||||
The `tools/cli/lib/agent/compiler.js` automatically adds:
|
||||
|
||||
1. **YAML Frontmatter**
|
||||
|
||||
```yaml
|
||||
---
|
||||
name: 'agent name'
|
||||
description: 'Agent Title'
|
||||
---
|
||||
```
|
||||
|
||||
2. **Activation Block**
|
||||
- Load persona step
|
||||
- Load core config for {user_name}, {communication_language}
|
||||
- Agent-specific critical_actions as numbered steps
|
||||
- Menu display and input handling
|
||||
- Menu handlers (action/workflow/exec/tmpl) based on usage
|
||||
- Rules section
|
||||
|
||||
3. **Auto-Injected Menu Items**
|
||||
- `*help` always first
|
||||
- `*exit` always last
|
||||
|
||||
4. **Trigger Prefixing**
|
||||
- Triggers without `*` get it added automatically
|
||||
|
||||
## Reference Example
|
||||
|
||||
See: `../../reference/agents/simple-examples/commit-poet.agent.yaml`
|
||||
|
||||
Features demonstrated:
|
||||
|
||||
- Handlebars conditionals for style variations
|
||||
- Multiple prompt templates with semantic XML tags
|
||||
- Install config with choice, boolean, and text questions
|
||||
- Menu items using both `#id` references and inline actions
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
# Copy to your project
|
||||
cp /path/to/commit-poet.agent.yaml _bmad/custom/agents/
|
||||
|
||||
# Create custom.yaml and install
|
||||
echo "code: my-agent
|
||||
name: My Agent
|
||||
default_selected: true" > custom.yaml
|
||||
|
||||
npx bmad-method install
|
||||
# or: bmad install
|
||||
```
|
||||
|
||||
The installer:
|
||||
|
||||
1. Prompts for personalization (name, preferences)
|
||||
2. Processes Handlebars templates with your answers
|
||||
3. Compiles YAML to XML-in-markdown
|
||||
4. Creates IDE slash commands
|
||||
5. Saves source for reinstallation
|
||||
|
||||
## Best Practices
|
||||
|
||||
1. **Use first-person voice** in all persona elements
|
||||
2. **Keep prompts focused** - one clear purpose per prompt
|
||||
3. **Leverage Handlebars** for user customization without code changes
|
||||
4. **Provide sensible defaults** in install_config
|
||||
5. **Use semantic XML tags** in prompt content for clarity
|
||||
6. **Test all conditional paths** before distribution
|
||||
|
||||
## Validation Checklist
|
||||
|
||||
- [ ] Valid YAML syntax
|
||||
- [ ] All metadata fields present (id, name, title, icon, type)
|
||||
- [ ] Persona complete (role, identity, communication_style, principles)
|
||||
- [ ] Prompts have unique IDs
|
||||
- [ ] Install config questions have defaults
|
||||
- [ ] File named `{agent-name}.agent.yaml`
|
||||
@@ -80,12 +80,3 @@ brainstorm_context: "{workflow_path}/data/brainstorm-context.md"
|
||||
simple_agent_examples: "{project-root}/bmb/reference/agents/simple-examples/"
|
||||
expert_agent_examples: "{project-root}/bmb/reference/agents/expert-examples/"
|
||||
module_agent_examples: "{project-root}/bmb/reference/agents/module-examples/"
|
||||
|
||||
# Output configuration
|
||||
|
||||
custom_agent_location: "{project-root}/\_bmad/custom/src/agents"
|
||||
module_output_file: "{project-root}/\_bmad/{target_module}/agents/{agent_filename}.agent.yaml"
|
||||
standalone_output_folder: "{custom_agent_location}/{agent_filename}"
|
||||
standalone_output_file: "{standalone_output_folder}/{agent_filename}.agent.yaml"
|
||||
standalone_info_guide: "{standalone_output_folder}/info-and-installation-guide.md"
|
||||
config_output_file: "{project-root}/\_bmad/\_config/agents/{target_module}-{agent_filename}.customize.yaml"
|
||||
|
||||
@@ -4,8 +4,8 @@ continueFile: '{installed_path}/steps/step-01b-continue.md'
|
||||
modulePlanTemplate: '{installed_path}/templates/module-plan.template.md'
|
||||
advancedElicitationTask: '{project-root}/_bmad/core/tasks/advanced-elicitation.xml'
|
||||
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
|
||||
customModuleLocation: '{custom_module_location}'
|
||||
modulePlanFile: '{custom_module_location}/{module_name}/module-plan-{module_name}.md'
|
||||
customModuleLocation: '{bmb_creations_output_folder}'
|
||||
modulePlanFile: '{bmb_creations_output_folder}/{module_name}/module-plan-{module_name}.md'
|
||||
---
|
||||
|
||||
# Step 1: Workflow Initialization
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
---
|
||||
modulePlanFile: '{custom_module_location}/{module_name}/module-plan-{module_name}.md'
|
||||
modulePlanFile: '{bmb_creations_output_folder}/{module_name}/module-plan-{module_name}.md'
|
||||
---
|
||||
|
||||
# Step 1b: Continue Module Creation
|
||||
@@ -70,7 +70,7 @@ Extract current status from frontmatter fields:
|
||||
- **Started:** {date}
|
||||
- **Last Step:** {lastStep}
|
||||
- **Steps Completed:** {stepsCompleted count}/{total steps}
|
||||
- **Location:** {custom_module_location}/{module_name}
|
||||
- **Location:** {bmb_creations_output_folder}/{module_name}
|
||||
|
||||
\*\*Progress Summary:"
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
installed_path: '{project-root}/_bmad/bmb/workflows/create-module'
|
||||
nextStepFile: '{installed_path}/steps/step-03-components.md'
|
||||
modulePlanFile: '{custom_module_location}/{module_name}/module-plan-{module_name}.md'
|
||||
modulePlanFile: '{bmb_creations_output_folder}/{module_name}/module-plan-{module_name}.md'
|
||||
moduleStructureGuide: '{project-root}/bmb/workflows/create-agent-legacy/create-module/module-structure.md'
|
||||
advancedElicitationTask: '{project-root}/_bmad/core/tasks/advanced-elicitation.xml'
|
||||
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
installed_path: '{project-root}/_bmad/bmb/workflows/create-module'
|
||||
nextStepFile: '{installed_path}/steps/step-04-structure.md'
|
||||
modulePlanFile: '{custom_module_location}/{module_name}/module-plan-{module_name}.md'
|
||||
modulePlanFile: '{bmb_creations_output_folder}/{module_name}/module-plan-{module_name}.md'
|
||||
agent_examples_path: '{project-root}/bmb/reference/agents/module-examples'
|
||||
advancedElicitationTask: '{project-root}/_bmad/core/tasks/advanced-elicitation.xml'
|
||||
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
installed_path: '{project-root}/_bmad/bmb/workflows/create-module'
|
||||
nextStepFile: '{installed_path}/steps/step-05-config.md'
|
||||
modulePlanFile: '{custom_module_location}/{module_name}/module-plan-{module_name}.md'
|
||||
modulePlanFile: '{bmb_creations_output_folder}/{module_name}/module-plan-{module_name}.md'
|
||||
advancedElicitationTask: '{project-root}/_bmad/core/tasks/advanced-elicitation.xml'
|
||||
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
|
||||
---
|
||||
@@ -122,7 +122,7 @@ For a [module type] module, we'll create this structure:"
|
||||
|
||||
### 3. Create Directory Structure
|
||||
|
||||
Create all directories in {custom_module_location}/{module_name}/:
|
||||
Create all directories in {bmb_creations_output_folder}/{module_name}/:
|
||||
|
||||
1. **agents/** - For agent definition files
|
||||
2. **workflows/** - For workflow folders
|
||||
@@ -169,7 +169,7 @@ Update module-plan.md with structure section:
|
||||
## Module Structure
|
||||
|
||||
**Module Type:** [Simple/Standard/Complex]
|
||||
**Location:** {custom_module_location}/{module_name}
|
||||
**Location:** {bmb_creations_output_folder}/{module_name}
|
||||
|
||||
**Directory Structure Created:**
|
||||
- ✅ agents/
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
installed_path: '{project-root}/_bmad/bmb/workflows/create-module'
|
||||
nextStepFile: '{installed_path}/steps/step-06-agents.md'
|
||||
modulePlanFile: '{custom_module_location}/{module_name}/module-plan-{module_name}.md'
|
||||
modulePlanFile: '{bmb_creations_output_folder}/{module_name}/module-plan-{module_name}.md'
|
||||
advancedElicitationTask: '{project-root}/_bmad/core/tasks/advanced-elicitation.xml'
|
||||
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
|
||||
---
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
installed_path: '{project-root}/_bmad/bmb/workflows/create-module'
|
||||
nextStepFile: '{installed_path}/steps/step-07-workflows.md'
|
||||
modulePlanFile: '{custom_module_location}/{module_name}/module-plan-{module_name}.md'
|
||||
modulePlanFile: '{bmb_creations_output_folder}/{module_name}/module-plan-{module_name}.md'
|
||||
agentTemplate: '{installed_path}/templates/agent.template.md'
|
||||
agent_examples_path: '{project-root}/bmb/reference/agents/module-examples'
|
||||
advancedElicitationTask: '{project-root}/_bmad/core/tasks/advanced-elicitation.xml'
|
||||
@@ -217,7 +217,7 @@ agent:
|
||||
|
||||
**If agent needs memory:**
|
||||
|
||||
1. Create folder: {custom_module_location}/{module_name}/agents/[agent-name]-sidecar/
|
||||
1. Create folder: {bmb_creations_output_folder}/{module_name}/agents/[agent-name]-sidecar/
|
||||
2. Create files:
|
||||
- memories.md (empty, for persistent memory)
|
||||
- instructions.md (empty, for agent protocols)
|
||||
@@ -228,7 +228,7 @@ agent:
|
||||
**If agent has workflows:**
|
||||
For each workflow that needs separate file:
|
||||
|
||||
1. Create folder: {custom_module_location}/{module_name}/workflows/[workflow-name]/
|
||||
1. Create folder: {bmb_creations_output_folder}/{module_name}/workflows/[workflow-name]/
|
||||
2. Create README.md with workflow plan
|
||||
|
||||
### 4. Repeat for All Agents
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
installed_path: '{project-root}/_bmad/bmb/workflows/create-module'
|
||||
nextStepFile: '{installed_path}/steps/step-08-installer.md'
|
||||
modulePlanFile: '{custom_module_location}/{module_name}/module-plan-{module_name}.md'
|
||||
modulePlanFile: '{bmb_creations_output_folder}/{module_name}/module-plan-{module_name}.md'
|
||||
workflowPlanTemplate: '{installed_path}/templates/workflow-plan-template.md'
|
||||
advancedElicitationTask: '{project-root}/_bmad/core/tasks/advanced-elicitation.xml'
|
||||
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
|
||||
@@ -61,7 +61,7 @@ I've already created workflow folders and README.md files for each agent's workf
|
||||
|
||||
**Workflow folders found:**
|
||||
|
||||
- [List all workflow folders in {custom_module_location}/{module_name}/workflows/]
|
||||
- [List all workflow folders in {bmb_creations_output_folder}/{module_name}/workflows/]
|
||||
|
||||
**Each workflow folder contains a README.md with:**
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
installed_path: '{project-root}/_bmad/bmb/workflows/create-module'
|
||||
nextStepFile: '{installed_path}/steps/step-09-documentation.md'
|
||||
modulePlanFile: '{custom_module_location}/{module_name}/module-plan-{module_name}.md'
|
||||
modulePlanFile: '{bmb_creations_output_folder}/{module_name}/module-plan-{module_name}.md'
|
||||
installerTemplate: '{installed_path}/templates/installer.template.js'
|
||||
installConfigTemplate: '{installed_path}/templates/install-config.template.yaml'
|
||||
advancedElicitationTask: '{project-root}/_bmad/core/tasks/advanced-elicitation.xml'
|
||||
@@ -72,13 +72,13 @@ From step 5, we planned these configuration fields:
|
||||
### 2. Create Installer Directory
|
||||
|
||||
Ensure \_module-installer directory exists
|
||||
Directory: {custom_module_location}/{module_name}/\_module-installer/
|
||||
Directory: {bmb_creations_output_folder}/{module_name}/\_module-installer/
|
||||
|
||||
### 3. Create module.yaml
|
||||
|
||||
"I'll create the module.yaml file based on your configuration plan. This is the core installer configuration file."
|
||||
|
||||
Create file: {custom_module_location}/{module_name}/module.yaml from template {installConfigTemplate}
|
||||
Create file: {bmb_creations_output_folder}/{module_name}/module.yaml from template {installConfigTemplate}
|
||||
|
||||
### 4. Handle Custom Installation Logic
|
||||
|
||||
@@ -95,7 +95,7 @@ Does your module need any special setup during installation? For example:
|
||||
|
||||
"I'll create an installer.js file for custom logic."
|
||||
|
||||
Create file: {custom_module_location}/{module_name}/\_module-installer/installer.js from {installerTemplate}
|
||||
Create file: {bmb_creations_output_folder}/{module_name}/\_module-installer/installer.js from {installerTemplate}
|
||||
|
||||
Update installer.js with module-specific logic
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
---
|
||||
installed_path: '{project-root}/_bmad/bmb/workflows/create-module'
|
||||
nextStepFile: '{installed_path}/steps/step-10-roadmap.md'
|
||||
modulePlanFile: '{custom_module_location}/{module_name}/module-plan-{module_name}.md'
|
||||
moduleReadmeFile: '{custom_module_location}/{module_name}/README.md'
|
||||
modulePlanFile: '{bmb_creations_output_folder}/{module_name}/module-plan-{module_name}.md'
|
||||
moduleReadmeFile: '{bmb_creations_output_folder}/{module_name}/README.md'
|
||||
advancedElicitationTask: '{project-root}/_bmad/core/tasks/advanced-elicitation.xml'
|
||||
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
|
||||
---
|
||||
@@ -249,7 +249,7 @@ Update module-plan.md with documentation section:
|
||||
## Documentation
|
||||
|
||||
### README.md Created
|
||||
- Location: {custom_module_location}/{module_name}/README.md
|
||||
- Location: {bmb_creations_output_folder}/{module_name}/README.md
|
||||
- Sections: [list of sections included]
|
||||
- Status: Complete
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
---
|
||||
installed_path: '{project-root}/_bmad/bmb/workflows/create-module'
|
||||
nextStepFile: '{installed_path}/steps/step-11-validate.md'
|
||||
modulePlanFile: '{custom_module_location}/{module_name}/module-plan-{module_name}.md'
|
||||
moduleTodoFile: '{custom_module_location}/{module_name}/TODO.md'
|
||||
modulePlanFile: '{bmb_creations_output_folder}/{module_name}/module-plan-{module_name}.md'
|
||||
moduleTodoFile: '{bmb_creations_output_folder}/{module_name}/TODO.md'
|
||||
advancedElicitationTask: '{project-root}/_bmad/core/tasks/advanced-elicitation.xml'
|
||||
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
|
||||
---
|
||||
@@ -75,7 +75,7 @@ I'll organize the remaining work into logical phases to ensure a successful modu
|
||||
|
||||
### 3. Generate TODO.md
|
||||
|
||||
Create file: {custom_module_location}/{module_name}/TODO.md
|
||||
Create file: {bmb_creations_output_folder}/{module_name}/TODO.md
|
||||
|
||||
````markdown
|
||||
# {module_display_name} Development Roadmap
|
||||
@@ -273,7 +273,7 @@ Update module-plan.md with roadmap section:
|
||||
## Development Roadmap
|
||||
|
||||
### TODO.md Created
|
||||
- Location: {custom_module_location}/{module_name}/TODO.md
|
||||
- Location: {bmb_creations_output_folder}/{module_name}/TODO.md
|
||||
- Phases defined: 3
|
||||
- Immediate tasks prioritized
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
workflowFile: '{installed_path}/workflow.md'
|
||||
modulePlanFile: '{custom_module_location}/{module_name}/module-plan-{module_name}.md'
|
||||
modulePlanFile: '{bmb_creations_output_folder}/{module_name}/module-plan-{module_name}.md'
|
||||
validationChecklist: '{installed_path}/validation.md'
|
||||
advancedElicitationTask: '{project-root}/_bmad/core/tasks/advanced-elicitation.xml'
|
||||
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
|
||||
@@ -197,7 +197,7 @@ Fix issues one by one with user confirmation
|
||||
|
||||
- **Name:** {module_display_name}
|
||||
- **Code:** {module_name}
|
||||
- **Location:** {custom_module_location}/{module_name}
|
||||
- **Location:** {bmb_creations_output_folder}/{module_name}
|
||||
- **Type:** {module_type}
|
||||
- **Status:** Ready for testing
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@ agent:
|
||||
identity: |
|
||||
{agent-identity - multi-line description}
|
||||
communication_style: |
|
||||
{communication-style - multi-line description}
|
||||
{communication-style - 1-2 short sentences to describe chat style}
|
||||
principles:
|
||||
- '{agent-principle-1}'
|
||||
- '{agent-principle-2}'
|
||||
@@ -27,9 +27,9 @@ agent:
|
||||
|
||||
# Optional: Only include if agent needs memory/persistence
|
||||
critical_actions:
|
||||
- 'Load COMPLETE file ./[agent-name]-sidecar/memories.md and integrate all past interactions'
|
||||
- 'Load COMPLETE file ./[agent-name]-sidecar/instructions.md and follow ALL protocols'
|
||||
- 'ONLY read/write files in ./[agent-name]-sidecar/ - this is our private workspace'
|
||||
- 'Load COMPLETE file [bmad_memory]/[agent-name]-sidecar/memories.md and integrate all past interactions'
|
||||
- 'Load COMPLETE file [bmad_memory]/[agent-name]-sidecar/instructions.md and follow ALL protocols'
|
||||
- 'ONLY read/write files in [bmad_memory]/[agent-name]-sidecar/* - this is our private workspace'
|
||||
|
||||
# Optional: Embedded prompts for common interactions
|
||||
prompts:
|
||||
@@ -98,7 +98,7 @@ agent:
|
||||
When creating expert agents in modules, create a sidecar folder:
|
||||
|
||||
```
|
||||
{custom_module_location}/{module_name}/agents/[agent-name]-sidecar/
|
||||
{bmb_creations_output_folder}/{module_name}/agents/[agent-name]-sidecar/
|
||||
├── memories.md # Persistent memory across sessions
|
||||
├── instructions.md # Agent-specific protocols
|
||||
├── insights.md # Important breakthroughs/realizations
|
||||
@@ -166,14 +166,12 @@ Expert agents support three types of menu actions:
|
||||
## Notes for Module Creation:
|
||||
|
||||
1. **File Paths**:
|
||||
- Agent files go in: `{custom_module_location}/{module_name}/agents/[agent-name]/[agent-name].yaml`
|
||||
- Sidecar folders go in: `{custom_module_location}/{module_name}/agents/[agent-name]/[agent-name]-sidecar/`
|
||||
- Agent files go in: `[bmb_creations_output_folder]/[module_name]/agents/[agent-name]/[agent-name].yaml`
|
||||
- Sidecar folders go in: `[bmb_creations_output_folder]/[module_name]/agents/[agent-name]/[agent-name]-sidecar/`
|
||||
|
||||
2. **Variable Usage**:
|
||||
- `{agent_sidecar_folder}` resolves to the agents sidecar folder destination after installation
|
||||
- `_bmad` resolves to \_bmad
|
||||
- `{custom_module}` resolves to custom/src/modules
|
||||
- `{module}` is your module code/name
|
||||
- `bmad_memory` resolves to the agents sidecar folder destination after installation
|
||||
- `module` is your module code/name
|
||||
|
||||
3. **Creating Sidecar Structure**:
|
||||
- When agent is created, also create the sidecar folder
|
||||
|
||||
@@ -48,7 +48,7 @@ installed_path: '{project-root}/_bmad/bmb/workflows/create-module'
|
||||
|
||||
Load and read full config from {project-root}/\_bmad/bmb/config.yaml and resolve:
|
||||
|
||||
- `project_name`, `output_folder`, `user_name`, `communication_language`, `document_output_language`, `custom_module_location`
|
||||
- `project_name`, `output_folder`, `user_name`, `communication_language`, `document_output_language`, `bmb_creations_output_folder`
|
||||
|
||||
### 2. First Step EXECUTION
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@ nextStepFile: '{workflow_path}/steps/step-02-gather.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
|
||||
# Output files for workflow creation process
|
||||
targetWorkflowPath: '{custom_stand_alone_location}/workflows/{new_workflow_name}'
|
||||
targetWorkflowPath: '{bmb_creations_output_folder}/workflows/{new_workflow_name}'
|
||||
workflowPlanFile: '{targetWorkflowPath}/workflow-plan-{new_workflow_name}.md'
|
||||
# Template References
|
||||
# No workflow plan template needed - will create plan file directly
|
||||
@@ -83,7 +83,7 @@ After getting the workflow name:
|
||||
|
||||
**Check for existing workflows:**
|
||||
|
||||
- Look for folder at `{custom_stand_alone_location}/workflows/{new_workflow_name}/`
|
||||
- Look for folder at `{bmb_creations_output_folder}/workflows/{new_workflow_name}/`
|
||||
- If it exists, inform the user and suggest or get from them a unique name or postfix
|
||||
|
||||
**Example alternatives:**
|
||||
|
||||
@@ -9,7 +9,7 @@ workflow_path: '{project-root}/_bmad/bmb/workflows/create-workflow'
|
||||
thisStepFile: '{workflow_path}/steps/step-02-gather.md'
|
||||
nextStepFile: '{workflow_path}/steps/step-03-tools-configuration.md'
|
||||
# Output files for workflow creation process
|
||||
targetWorkflowPath: '{custom_stand_alone_location}/workflows/{new_workflow_name}'
|
||||
targetWorkflowPath: '{bmb_creations_output_folder}/workflows/{new_workflow_name}'
|
||||
workflowPlanFile: '{targetWorkflowPath}/workflow-plan-{new_workflow_name}.md'
|
||||
|
||||
# Task References
|
||||
|
||||
@@ -9,7 +9,7 @@ workflow_path: '{project-root}/_bmad/bmb/workflows/create-workflow'
|
||||
thisStepFile: '{workflow_path}/steps/step-03-tools-configuration.md'
|
||||
nextStepFile: '{workflow_path}/steps/step-04-plan-review.md'
|
||||
|
||||
targetWorkflowPath: '{custom_stand_alone_location}/workflows/{new_workflow_name}'
|
||||
targetWorkflowPath: '{bmb_creations_output_folder}/workflows/{new_workflow_name}'
|
||||
workflowPlanFile: '{targetWorkflowPath}/workflow-plan-{new_workflow_name}.md'
|
||||
|
||||
# Documentation References
|
||||
|
||||
@@ -10,7 +10,7 @@ thisStepFile: '{workflow_path}/steps/step-04-plan-review.md'
|
||||
nextStepFormDesign: '{workflow_path}/steps/step-05-output-format-design.md'
|
||||
nextStepDesign: '{workflow_path}/steps/step-06-design.md'
|
||||
|
||||
targetWorkflowPath: '{custom_stand_alone_location}/workflows/{new_workflow_name}'
|
||||
targetWorkflowPath: '{bmb_creations_output_folder}/workflows/{new_workflow_name}'
|
||||
workflowPlanFile: '{targetWorkflowPath}/workflow-plan-{new_workflow_name}.md'
|
||||
|
||||
# Task References
|
||||
|
||||
@@ -9,7 +9,7 @@ workflow_path: '{project-root}/_bmad/bmb/workflows/create-workflow'
|
||||
thisStepFile: '{workflow_path}/steps/step-05-output-format-design.md'
|
||||
nextStepFile: '{workflow_path}/steps/step-06-design.md'
|
||||
|
||||
targetWorkflowPath: '{custom_stand_alone_location}/workflows/{new_workflow_name}'
|
||||
targetWorkflowPath: '{bmb_creations_output_folder}/workflows/{new_workflow_name}'
|
||||
workflowPlanFile: '{targetWorkflowPath}/workflow-plan-{new_workflow_name}.md'
|
||||
|
||||
# Task References
|
||||
|
||||
@@ -10,7 +10,7 @@ thisStepFile: '{workflow_path}/steps/step-06-design.md'
|
||||
nextStepFile: '{workflow_path}/steps/step-07-build.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
# Output files for workflow creation process
|
||||
targetWorkflowPath: '{custom_stand_alone_location}/workflows/{new_workflow_name}'
|
||||
targetWorkflowPath: '{bmb_creations_output_folder}/workflows/{new_workflow_name}'
|
||||
workflowPlanFile: '{targetWorkflowPath}/workflow-plan-{new_workflow_name}.md'
|
||||
|
||||
# Task References
|
||||
|
||||
@@ -10,7 +10,7 @@ thisStepFile: '{workflow_path}/steps/step-07-build.md'
|
||||
nextStepFile: '{workflow_path}/steps/step-08-review.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
# Output files for workflow creation process
|
||||
targetWorkflowPath: '{custom_stand_alone_location}/workflows/{new_workflow_name}'
|
||||
targetWorkflowPath: '{bmb_creations_output_folder}/workflows/{new_workflow_name}'
|
||||
workflowPlanFile: '{targetWorkflowPath}/workflow-plan-{new_workflow_name}.md'
|
||||
|
||||
# Template References
|
||||
@@ -95,7 +95,7 @@ Ready to proceed?"
|
||||
Create the workflow folder structure in the target location:
|
||||
|
||||
```
|
||||
{custom_stand_alone_location}/workflows/{workflow_name}/
|
||||
{bmb_creations_output_folder}/workflows/{workflow_name}/
|
||||
├── workflow.md
|
||||
├── steps/
|
||||
│ ├── step-01-init.md
|
||||
|
||||
@@ -10,7 +10,7 @@ thisStepFile: '{workflow_path}/steps/step-08-review.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
|
||||
# Output files for workflow creation process
|
||||
targetWorkflowPath: '{custom_stand_alone_location}/workflows/{new_workflow_name}'
|
||||
targetWorkflowPath: '{bmb_creations_output_folder}/workflows/{new_workflow_name}'
|
||||
workflowPlanFile: '{targetWorkflowPath}/workflow-plan-{new_workflow_name}.md'
|
||||
|
||||
# Task References
|
||||
|
||||
@@ -9,7 +9,7 @@ workflow_path: '{project-root}/_bmad/bmb/workflows/create-workflow'
|
||||
thisStepFile: '{workflow_path}/steps/step-09-complete.md'
|
||||
workflowFile: '{workflow_path}/workflow.md'
|
||||
# Output files for workflow creation process
|
||||
targetWorkflowPath: '{custom_stand_alone_location}/workflows/{new_workflow_name}'
|
||||
targetWorkflowPath: '{bmb_creations_output_folder}/workflows/{new_workflow_name}'
|
||||
workflowPlanFile: '{targetWorkflowPath}/workflow-plan-{new_workflow_name}.md'
|
||||
completionFile: '{targetWorkflowPath}/completion-summary-{new_workflow_name}.md'
|
||||
---
|
||||
|
||||
@@ -51,7 +51,7 @@ This uses **step-file architecture** for disciplined execution:
|
||||
|
||||
Load and read full config from {project-root}/\_bmad/bmb/config.yaml and resolve:
|
||||
|
||||
- `project_name`, `output_folder`, `user_name`, `communication_language`, `document_output_language`, `custom_stand_alone_location`
|
||||
- `project_name`, `output_folder`, `user_name`, `communication_language`, `document_output_language`, `bmb_creations_output_folder`
|
||||
|
||||
### 2. First Step EXECUTION
|
||||
|
||||
|
||||
@@ -1,19 +1,15 @@
|
||||
# BMad Game Dev Module Configuration
|
||||
|
||||
code: bmgd
|
||||
name: "BMGD: BMad Game Development"
|
||||
default_selected: false
|
||||
|
||||
header: "BMad Game Development Module"
|
||||
subheader: "Configure the settings for the BMad Game Development module"
|
||||
default_selected: false
|
||||
|
||||
# Core config values automatically inherited:
|
||||
# Variables from Core Config inserted:
|
||||
## user_name
|
||||
## communication_language
|
||||
## document_output_language
|
||||
## output_folder
|
||||
## install_user_docs
|
||||
## kb_install
|
||||
## bmad_memory
|
||||
|
||||
game_project_name:
|
||||
prompt: "What is the name of your game project?"
|
||||
|
||||
@@ -48,5 +48,5 @@ agent:
|
||||
- type: exec
|
||||
- expert-chat:
|
||||
- input: CH or fuzzy match validate agent
|
||||
- action: agent responds as expert based on its personal to converse
|
||||
- action: agent responds as expert based on its persona to converse
|
||||
- type: action
|
||||
|
||||
@@ -23,7 +23,7 @@ When you edit `workflow-method-greenfield.excalidraw`, regenerate the SVG:
|
||||
After regenerating the SVG, validate that it renders correctly:
|
||||
|
||||
```bash
|
||||
./tools/validate-svg-changes.sh src/modules/bmm/docs/images/workflow-method-greenfield.svg
|
||||
./tools/validate-svg-changes.sh path/to/workflow-method-greenfield.svg
|
||||
```
|
||||
|
||||
This script:
|
||||
|
||||
@@ -155,22 +155,6 @@ Epic/Release Gate → TEA: *nfr-assess, *trace Phase 2 (release decision)
|
||||
|
||||
**Note**: `*trace` is a two-phase workflow: Phase 1 (traceability) + Phase 2 (gate decision). This reduces cognitive load while maintaining natural workflow.
|
||||
|
||||
### Unique Directory Architecture
|
||||
|
||||
TEA is the only BMM agent with its own top-level module directory (`bmm/testarch/`):
|
||||
|
||||
```
|
||||
src/modules/bmm/
|
||||
├── agents/
|
||||
│ └── tea.agent.yaml # Agent definition (standard location)
|
||||
├── workflows/
|
||||
│ └── testarch/ # TEA workflows (standard location)
|
||||
└── testarch/ # Knowledge base (UNIQUE!)
|
||||
├── knowledge/ # 21 production-ready test pattern fragments
|
||||
├── tea-index.csv # Centralized knowledge lookup (21 fragments indexed)
|
||||
└── README.md # This guide
|
||||
```
|
||||
|
||||
### Why TEA Gets Special Treatment
|
||||
|
||||
TEA uniquely requires:
|
||||
|
||||
@@ -1,16 +1,15 @@
|
||||
# BMAD™ Method Core Configuration
|
||||
|
||||
code: bmm
|
||||
name: "BMM: BMad Method Agile-AI Driven-Development"
|
||||
default_selected: true # This module will be selected by default for new installations
|
||||
|
||||
header: "BMad Method™: Breakthrough Method of Agile-Ai Driven-Dev"
|
||||
subheader: "Agent and Workflow Configuration for this module"
|
||||
default_selected: true # This module will be selected by default for new installations
|
||||
|
||||
# Variables from Core Config inserted:
|
||||
## user_name
|
||||
## communication_language
|
||||
## document_output_language
|
||||
## output_folder
|
||||
## bmad_memory
|
||||
|
||||
project_name:
|
||||
prompt: "What is the title of your project you will be working on?"
|
||||
@@ -31,20 +30,28 @@ user_skill_level:
|
||||
- value: "expert"
|
||||
label: "Expert - Deep technical knowledge, be direct and technical"
|
||||
|
||||
sprint_artifacts:
|
||||
prompt: "Where should sprint artifacts be stored (sprint status, stories, retrospectives)?"
|
||||
default: "{output_folder}/sprint-artifacts"
|
||||
planning_artifacts: # Phase 1-3 artifacts
|
||||
prompt: "Where should project planning artifacts be stored?\n - Such as: (Brain Storming, Briefs, PRDs, UX Designs, Architectures, Detailed Epics Plan)"
|
||||
default: "{output_folder}/project-planning-artifacts"
|
||||
result: "{project-root}/{value}"
|
||||
|
||||
implementation_artifacts: # Phase 4 artifacts
|
||||
prompt: "Where should implementation artifacts be stored?\n - Such as: (sprint status, individual story files and reviews, retrospectives, Quick Flow output)"
|
||||
default: "{output_folder}/implementation-artifacts"
|
||||
result: "{project-root}/{value}"
|
||||
|
||||
project_knowledge: # Artifacts from research, document-project output, other long lived accurate kn
|
||||
prompt: "Where should non-ephemeral project knowledge be stored (docs, research, references)?"
|
||||
default: "docs"
|
||||
result: "{project-root}/{value}"
|
||||
|
||||
tea_use_mcp_enhancements:
|
||||
prompt: "Enable Test Architect Playwright MCP capabilities (healing, exploratory, verification)? You have to setup your MCPs yourself; refer to test-architecture.md for hints."
|
||||
prompt: "Enable Test Architect Playwright MCP capabilities (healing, exploratory, verification)?\nYou have to setup your MCPs yourself; refer to test-architecture.md for hints."
|
||||
default: false
|
||||
result: "{value}"
|
||||
|
||||
tea_use_playwright_utils:
|
||||
prompt:
|
||||
- "Are you using playwright-utils (@seontechnologies/playwright-utils) in your project?"
|
||||
- "This adds fixture-based utilities for auth, API requests, network recording, polling, intercept, recurse, logging, file download handling, and burn-in."
|
||||
- "You must install packages yourself, or use test architect's *framework command."
|
||||
- "Are you using playwright-utils (@seontechnologies/playwright-utils) in your project?\nYou must install packages yourself, or use test architect's *framework command."
|
||||
default: false
|
||||
result: "{value}"
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
# BMAD™ Creative Intelligence Suite Configuration
|
||||
|
||||
code: cis
|
||||
name: "CIS: Creative Innovation Suite"
|
||||
default_selected: false # This module will not be selected by default for new installations
|
||||
|
||||
header: "Creative Innovation Suite (CIS) Module"
|
||||
subheader: "No Configuration needed - uses Core Config only."
|
||||
default_selected: false # This module will not be selected by default for new installations
|
||||
|
||||
# Variables from Core Config inserted:
|
||||
## user_name
|
||||
## communication_language
|
||||
## document_output_language
|
||||
## output_folder
|
||||
## bmad_memory
|
||||
|
||||
Reference in New Issue
Block a user