Files
BMAD-METHOD/src/modules/bmb/workflows/create-workflow/steps/step-03-tools-configuration.md

251 lines
7.9 KiB
Markdown
Raw Normal View History

2025-12-02 21:44:30 -06:00
---
name: 'step-03-tools-configuration'
description: 'Configure all required tools (core, memory, external) and installation requirements in one comprehensive step'
# Path Definitions
2025-12-10 20:50:24 +09:00
workflow_path: '{project-root}/.bmad/bmb/workflows/create-workflow'
2025-12-02 21:44:30 -06:00
# File References
thisStepFile: '{workflow_path}/steps/step-03-tools-configuration.md'
nextStepFile: '{workflow_path}/steps/step-04-plan-review.md'
2025-12-07 01:43:44 -06:00
targetWorkflowPath: '{custom_stand_alone_location}/workflows/{new_workflow_name}'
2025-12-02 21:44:30 -06:00
workflowPlanFile: '{targetWorkflowPath}/workflow-plan-{new_workflow_name}.md'
# Documentation References
2025-12-10 20:50:24 +09:00
commonToolsCsv: '{project-root}/.bmad/bmb/docs/workflows/common-workflow-tools.csv'
2025-12-02 21:44:30 -06:00
# Task References
2025-12-10 20:50:24 +09:00
advancedElicitationTask: '{project-root}/.bmad/core/tasks/advanced-elicitation.xml'
partyModeWorkflow: '{project-root}/.bmad/core/workflows/party-mode/workflow.md'
2025-12-02 21:44:30 -06:00
# Template References
# No template needed - will append tools configuration directly to workflow plan
---
# Step 3: Tools Configuration
## STEP GOAL:
To comprehensively configure all tools needed for the workflow (core tools, memory, external tools) and determine installation requirements.
## 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 workflow architect and integration specialist
- ✅ If you already have been given communication or persona patterns, continue to use those while playing this new role
- ✅ We engage in collaborative dialogue, not command-response
- ✅ You bring expertise in BMAD tools and integration patterns
- ✅ User brings their workflow requirements and preferences
### Step-Specific Rules:
- 🎯 Focus ONLY on configuring tools based on workflow requirements
- 🚫 FORBIDDEN to skip tool categories - each affects workflow design
- 💬 Present options clearly, let user make informed choices
- 🚫 DO NOT hardcode tool descriptions - reference CSV
## EXECUTION PROTOCOLS:
- 🎯 Load tools dynamically from CSV, not hardcoded
- 💾 Document all tool choices in workflow plan
- 📖 Update frontmatter `stepsCompleted: [1, 2, 3]` before loading next step
- 🚫 FORBIDDEN to load next step until user selects 'C'
## CONTEXT BOUNDARIES:
- Requirements from step 2 inform tool selection
- All tool choices affect workflow design
- This is the ONLY tools configuration step
- Installation requirements affect implementation decisions
## TOOLS CONFIGURATION PROCESS:
### 1. Initialize Tools Configuration
"Configuring **Tools and Integrations**
Based on your workflow requirements, let's configure all the tools your workflow will need. This includes core BMAD tools, memory systems, and any external integrations."
### 2. Load and Present Available Tools
Load `{commonToolsCsv}` and present tools by category:
"**Available BMAD Tools and Integrations:**
**Core Tools (Always Available):**
- [List tools from CSV where propose='always', with descriptions]
**Optional Tools (Available When Needed):**
- [List tools from CSV where propose='example', with descriptions]
_Note: I'm loading these dynamically from our tools database to ensure you have the most current options._"
### 3. Configure Core BMAD Tools
"**Core BMAD Tools Configuration:**
These tools significantly enhance workflow quality and user experience:"
For each core tool from CSV (`propose='always'`):
1. **Party-Mode**
- Use case: [description from CSV]
- Where to integrate: [ask user for decision points, creative phases]
2. **Advanced Elicitation**
- Use case: [description from CSV]
- Where to integrate: [ask user for quality gates, review points]
3. **Brainstorming**
- Use case: [description from CSV]
- Where to integrate: [ask user for idea generation, innovation points]
### 4. Configure LLM Features
"**LLM Feature Integration:**
These capabilities enhance what your workflow can do:"
From CSV (`propose='always'` LLM features):
4. **Web-Browsing**
- Capability: [description from CSV]
- When needed: [ask user about real-time data needs]
5. **File I/O**
- Capability: [description from CSV]
- Operations: [ask user about file operations needed]
6. **Sub-Agents**
- Capability: [description from CSV]
- Use cases: [ask user about delegation needs]
7. **Sub-Processes**
- Capability: [description from CSV]
- Use cases: [ask user about parallel processing needs]
### 5. Configure Memory Systems
"**Memory and State Management:**
Determine if your workflow needs to maintain state between sessions:"
From CSV memory tools:
8. **Sidecar File**
- Use case: [description from CSV]
- Needed when: [ask about session continuity, agent initialization]
### 6. Configure External Tools (Optional)
"**External Integrations (Optional):**
These tools connect your workflow to external systems:"
From CSV (`propose='example'`):
- MCP integrations, database connections, APIs, etc.
- For each relevant tool: present description and ask if needed
- Note any installation requirements
### 7. Installation Requirements Assessment
"**Installation and Dependencies:**
Some tools require additional setup:"
Based on selected tools:
- Identify tools requiring installation
- Assess user's comfort level with installations
- Document installation requirements
### 8. Document Complete Tools Configuration
Append to {workflowPlanFile}:
```markdown
## Tools Configuration
### Core BMAD Tools
- **Party-Mode**: [included/excluded] - Integration points: [specific phases]
- **Advanced Elicitation**: [included/excluded] - Integration points: [specific phases]
- **Brainstorming**: [included/excluded] - Integration points: [specific phases]
### LLM Features
- **Web-Browsing**: [included/excluded] - Use cases: [specific needs]
- **File I/O**: [included/excluded] - Operations: [file management needs]
- **Sub-Agents**: [included/excluded] - Use cases: [delegation needs]
- **Sub-Processes**: [included/excluded] - Use cases: [parallel processing needs]
### Memory Systems
- **Sidecar File**: [included/excluded] - Purpose: [state management needs]
### External Integrations
- [List selected external tools with purposes]
### Installation Requirements
- [List tools requiring installation]
- **User Installation Preference**: [willing/not willing]
- **Alternative Options**: [if not installing certain tools]
```
### 9. Present MENU OPTIONS
Display: **Select an Option:** [A] Advanced Elicitation [P] Party Mode [C] Continue
#### 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
- Use menu handling logic section below
#### Menu Handling Logic:
- IF A: Execute {advancedElicitationTask}
- IF P: Execute {partyModeWorkflow}
- IF C: Save tools configuration to {workflowPlanFile}, update frontmatter, then load, read entire file, then execute {nextStepFile}
- IF Any other comments or queries: help user respond then [Redisplay Menu Options](#9-present-menu-options)
## CRITICAL STEP COMPLETION NOTE
ONLY WHEN C is selected and tools configuration is saved will you load {nextStepFile} to review the complete plan.
---
## 🚨 SYSTEM SUCCESS/FAILURE METRICS
### ✅ SUCCESS:
- All tool categories configured based on requirements
- User made informed choices for each tool
- Complete configuration documented in plan
- Installation requirements identified
- Ready to proceed to plan review
### ❌ SYSTEM FAILURE:
- Skipping tool categories
- Hardcoding tool descriptions instead of using CSV
- Not documenting user choices
- Proceeding without user confirmation
**Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.