|
|
|
|
@@ -1006,9 +1006,9 @@ Confirm with the user their preferred interaction style:
|
|
|
|
|
|
|
|
|
|
### 3. Execute Template
|
|
|
|
|
|
|
|
|
|
- Load specified template from `templates#*` or the /templates directory
|
|
|
|
|
- Load specified template from `templates#*` or the ../templates directory
|
|
|
|
|
- Follow ALL embedded LLM instructions within the template
|
|
|
|
|
- Process template markup according to `utils#template-format` conventions
|
|
|
|
|
- Process template markup according to `utils#template-format` or `../utils/template-format` conventions
|
|
|
|
|
|
|
|
|
|
### 4. Template Processing Rules
|
|
|
|
|
|
|
|
|
|
@@ -2638,227 +2638,73 @@ Or ask me about anything else related to BMAD-METHOD!
|
|
|
|
|
==================== START: utils#workflow-management ====================
|
|
|
|
|
# Workflow Management
|
|
|
|
|
|
|
|
|
|
This utility enables the BMAD orchestrator to manage and execute team workflows.
|
|
|
|
|
Enables BMAD orchestrator to manage and execute team workflows.
|
|
|
|
|
|
|
|
|
|
## Important: Dynamic Workflow Loading
|
|
|
|
|
## Dynamic Workflow Loading
|
|
|
|
|
|
|
|
|
|
The BMAD orchestrator MUST read the available workflows from the current team configuration's `workflows` field. Do not use hardcoded workflow lists. Each team bundle defines its own set of supported workflows based on the agents it includes.
|
|
|
|
|
Read available workflows from current team configuration's `workflows` field. Each team bundle defines its own supported workflows.
|
|
|
|
|
|
|
|
|
|
**Critical Distinction**:
|
|
|
|
|
**Key Commands**:
|
|
|
|
|
|
|
|
|
|
- When asked "what workflows are available?", show ONLY the workflows defined in the current team bundle's configuration
|
|
|
|
|
- Use `/agent-list` to show agents in the current bundle
|
|
|
|
|
- Use `/workflows` to show workflows in the current bundle, NOT any creation tasks
|
|
|
|
|
|
|
|
|
|
### Workflow Descriptions
|
|
|
|
|
|
|
|
|
|
When displaying workflows, use these descriptions based on the workflow ID:
|
|
|
|
|
|
|
|
|
|
- **greenfield-fullstack**: Build a new full-stack application from concept to development
|
|
|
|
|
- **brownfield-fullstack**: Enhance an existing full-stack application with new features
|
|
|
|
|
- **greenfield-service**: Build a new backend service or API from concept to development
|
|
|
|
|
- **brownfield-service**: Enhance an existing backend service or API
|
|
|
|
|
- **greenfield-ui**: Build a new frontend/UI application from concept to development
|
|
|
|
|
- **brownfield-ui**: Enhance an existing frontend/UI application
|
|
|
|
|
- `/workflows` - List workflows in current bundle or workflows folder
|
|
|
|
|
- `/agent-list` - Show agents in current bundle
|
|
|
|
|
|
|
|
|
|
## Workflow Commands
|
|
|
|
|
|
|
|
|
|
### /workflows
|
|
|
|
|
|
|
|
|
|
Lists all available workflows for the current team. The available workflows are determined by the team configuration and may include workflows such as:
|
|
|
|
|
|
|
|
|
|
- greenfield-fullstack
|
|
|
|
|
- brownfield-fullstack
|
|
|
|
|
- greenfield-service
|
|
|
|
|
- brownfield-service
|
|
|
|
|
- greenfield-ui
|
|
|
|
|
- brownfield-ui
|
|
|
|
|
|
|
|
|
|
The actual list depends on which team bundle is loaded. When responding to this command, display the workflows that are configured in the current team's `workflows` field.
|
|
|
|
|
|
|
|
|
|
Example response format:
|
|
|
|
|
|
|
|
|
|
```text
|
|
|
|
|
Available workflows for [Team Name]:
|
|
|
|
|
1. [workflow-id] - [Brief description based on workflow type]
|
|
|
|
|
2. [workflow-id] - [Brief description based on workflow type]
|
|
|
|
|
[... etc. ...]
|
|
|
|
|
|
|
|
|
|
Use /workflow-start {number or id} to begin a workflow.
|
|
|
|
|
```
|
|
|
|
|
Lists available workflows with titles and descriptions.
|
|
|
|
|
|
|
|
|
|
### /workflow-start {workflow-id}
|
|
|
|
|
|
|
|
|
|
Starts a specific workflow and transitions to the first agent.
|
|
|
|
|
|
|
|
|
|
Example: `/workflow-start greenfield-fullstack`
|
|
|
|
|
Starts workflow and transitions to first agent.
|
|
|
|
|
|
|
|
|
|
### /workflow-status
|
|
|
|
|
|
|
|
|
|
Shows current workflow progress, completed artifacts, and next steps.
|
|
|
|
|
|
|
|
|
|
Example response:
|
|
|
|
|
|
|
|
|
|
```text
|
|
|
|
|
Current Workflow: Greenfield Full-Stack Development
|
|
|
|
|
Stage: Product Planning (2 of 6)
|
|
|
|
|
Completed:
|
|
|
|
|
✓ Discovery & Requirements
|
|
|
|
|
- project-brief (completed by Mary)
|
|
|
|
|
|
|
|
|
|
In Progress:
|
|
|
|
|
⚡ Product Planning
|
|
|
|
|
- Create PRD (John) - awaiting input
|
|
|
|
|
|
|
|
|
|
Next: Technical Architecture
|
|
|
|
|
```
|
|
|
|
|
Shows current progress, completed artifacts, and next steps.
|
|
|
|
|
|
|
|
|
|
### /workflow-resume
|
|
|
|
|
|
|
|
|
|
Resumes a workflow from where it left off, useful when starting a new chat.
|
|
|
|
|
|
|
|
|
|
User can provide completed artifacts:
|
|
|
|
|
|
|
|
|
|
```text
|
|
|
|
|
User: /workflow-resume greenfield-fullstack
|
|
|
|
|
I have completed: project-brief, PRD
|
|
|
|
|
BMad: I see you've completed Discovery and part of Product Planning.
|
|
|
|
|
Based on the greenfield-fullstack workflow, the next step is:
|
|
|
|
|
- UX Strategy with Sally (ux-expert)
|
|
|
|
|
|
|
|
|
|
Would you like me to load Sally to continue?
|
|
|
|
|
```
|
|
|
|
|
Resumes workflow from last position. User can provide completed artifacts.
|
|
|
|
|
|
|
|
|
|
### /workflow-next
|
|
|
|
|
|
|
|
|
|
Shows the next recommended agent and action in the current workflow.
|
|
|
|
|
Shows next recommended agent and action.
|
|
|
|
|
|
|
|
|
|
## Workflow Execution Flow
|
|
|
|
|
## Execution Flow
|
|
|
|
|
|
|
|
|
|
### 1. Starting a Workflow
|
|
|
|
|
1. **Starting**: Load definition → Identify first stage → Transition to agent → Guide artifact creation
|
|
|
|
|
|
|
|
|
|
When a workflow is started:
|
|
|
|
|
2. **Stage Transitions**: Mark complete → Check conditions → Load next agent → Pass artifacts
|
|
|
|
|
|
|
|
|
|
1. Load the workflow definition
|
|
|
|
|
2. Identify the first stage and step
|
|
|
|
|
3. Transition to the required agent
|
|
|
|
|
4. Provide context about expected inputs/outputs
|
|
|
|
|
5. Guide artifact creation
|
|
|
|
|
3. **Artifact Tracking**: Track status, creator, timestamps in workflow_state
|
|
|
|
|
|
|
|
|
|
### 2. Stage Transitions
|
|
|
|
|
4. **Interruption Handling**: Analyze provided artifacts → Determine position → Suggest next step
|
|
|
|
|
|
|
|
|
|
After each artifact is completed:
|
|
|
|
|
## Context Passing
|
|
|
|
|
|
|
|
|
|
1. Mark the step as complete
|
|
|
|
|
2. Check transition conditions
|
|
|
|
|
3. If stage is complete, move to next stage
|
|
|
|
|
4. Load the appropriate agent
|
|
|
|
|
5. Pass relevant artifacts as context
|
|
|
|
|
When transitioning, pass:
|
|
|
|
|
|
|
|
|
|
### 3. Artifact Tracking
|
|
|
|
|
|
|
|
|
|
Track all created artifacts:
|
|
|
|
|
|
|
|
|
|
```yaml
|
|
|
|
|
workflow_state:
|
|
|
|
|
current_workflow: greenfield-fullstack
|
|
|
|
|
current_stage: planning
|
|
|
|
|
current_step: 2
|
|
|
|
|
artifacts:
|
|
|
|
|
project-brief:
|
|
|
|
|
status: completed
|
|
|
|
|
created_by: analyst
|
|
|
|
|
timestamp: 2024-01-15T10:30:00.000Z
|
|
|
|
|
prd:
|
|
|
|
|
status: in-progress
|
|
|
|
|
created_by: pm
|
|
|
|
|
started: 2024-01-15T11:00:00.000Z
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### 4. Workflow Interruption Handling
|
|
|
|
|
|
|
|
|
|
When user returns after interruption:
|
|
|
|
|
|
|
|
|
|
1. Ask if continuing previous workflow
|
|
|
|
|
2. Request any completed artifacts
|
|
|
|
|
3. Analyze provided artifacts
|
|
|
|
|
4. Determine workflow position
|
|
|
|
|
5. Suggest next appropriate step
|
|
|
|
|
|
|
|
|
|
Example:
|
|
|
|
|
|
|
|
|
|
```text
|
|
|
|
|
User: I'm working on a new app. Here's my PRD and architecture doc.
|
|
|
|
|
BMad: I see you have a PRD and architecture document. Based on these artifacts,
|
|
|
|
|
it looks like you're following the greenfield-fullstack workflow and have completed
|
|
|
|
|
stages 1-3. The next recommended step would be:
|
|
|
|
|
|
|
|
|
|
Stage 4: Validation & Refinement
|
|
|
|
|
- Load Sarah (Product Owner) to validate all artifacts
|
|
|
|
|
|
|
|
|
|
Would you like to continue with this workflow?
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## Workflow Context Passing
|
|
|
|
|
|
|
|
|
|
When transitioning between agents, pass:
|
|
|
|
|
|
|
|
|
|
1. Previous artifacts created
|
|
|
|
|
2. Current workflow stage
|
|
|
|
|
3. Expected outputs
|
|
|
|
|
4. Any decisions or constraints identified
|
|
|
|
|
|
|
|
|
|
Example transition:
|
|
|
|
|
|
|
|
|
|
```text
|
|
|
|
|
BMad: Great! John has completed the PRD. According to the greenfield-fullstack workflow,
|
|
|
|
|
the next step is UX Strategy with Sally.
|
|
|
|
|
|
|
|
|
|
/ux-expert
|
|
|
|
|
|
|
|
|
|
Sally: I see we're in the Product Planning stage of the greenfield-fullstack workflow.
|
|
|
|
|
I have access to:
|
|
|
|
|
- Project Brief from Mary
|
|
|
|
|
- PRD from John
|
|
|
|
|
|
|
|
|
|
Let's create the UX strategy and UI specifications. First, let me review
|
|
|
|
|
the PRD to understand the features we're designing for...
|
|
|
|
|
```
|
|
|
|
|
- Previous artifacts
|
|
|
|
|
- Current workflow stage
|
|
|
|
|
- Expected outputs
|
|
|
|
|
- Decisions/constraints
|
|
|
|
|
|
|
|
|
|
## Multi-Path Workflows
|
|
|
|
|
|
|
|
|
|
Some workflows may have multiple paths:
|
|
|
|
|
Handle conditional paths by asking clarifying questions when needed.
|
|
|
|
|
|
|
|
|
|
```yaml
|
|
|
|
|
conditional_paths:
|
|
|
|
|
- condition: project_type == 'mobile'
|
|
|
|
|
next_stage: mobile-specific-design
|
|
|
|
|
- condition: project_type == 'web'
|
|
|
|
|
next_stage: web-architecture
|
|
|
|
|
- default: fullstack-architecture
|
|
|
|
|
```
|
|
|
|
|
## Best Practices
|
|
|
|
|
|
|
|
|
|
Handle these by asking clarifying questions when needed.
|
|
|
|
|
1. Show progress
|
|
|
|
|
2. Explain transitions
|
|
|
|
|
3. Preserve context
|
|
|
|
|
4. Allow flexibility
|
|
|
|
|
5. Track state
|
|
|
|
|
|
|
|
|
|
## Workflow Best Practices
|
|
|
|
|
## Agent Integration
|
|
|
|
|
|
|
|
|
|
1. **Always show progress** - Users should know where they are
|
|
|
|
|
2. **Explain transitions** - Why moving to next agent
|
|
|
|
|
3. **Preserve context** - Pass relevant information forward
|
|
|
|
|
4. **Allow flexibility** - Users can skip or modify steps
|
|
|
|
|
5. **Track everything** - Maintain complete workflow state
|
|
|
|
|
|
|
|
|
|
## Integration with Agents
|
|
|
|
|
|
|
|
|
|
Each agent should be workflow-aware:
|
|
|
|
|
|
|
|
|
|
- Know which workflow is active
|
|
|
|
|
- Understand their role in the workflow
|
|
|
|
|
- Access previous artifacts
|
|
|
|
|
- Know expected outputs
|
|
|
|
|
- Guide toward workflow goals
|
|
|
|
|
|
|
|
|
|
This creates a seamless experience where the entire team works together toward the workflow's objectives.
|
|
|
|
|
Agents should be workflow-aware: know active workflow, their role, access artifacts, understand expected outputs.
|
|
|
|
|
==================== END: utils#workflow-management ====================
|
|
|
|
|
|
|
|
|
|
==================== START: tasks#execute-checklist ====================
|
|
|
|
|
@@ -2866,13 +2712,9 @@ This creates a seamless experience where the entire team works together toward t
|
|
|
|
|
|
|
|
|
|
This task provides instructions for validating documentation against checklists. The agent MUST follow these instructions to ensure thorough and systematic validation of documents.
|
|
|
|
|
|
|
|
|
|
## Context
|
|
|
|
|
|
|
|
|
|
The BMAD Method uses various checklists to ensure quality and completeness of different artifacts. Each checklist contains embedded prompts and instructions to guide the LLM through thorough validation and advanced elicitation. The checklists automatically identify their required artifacts and guide the validation process.
|
|
|
|
|
|
|
|
|
|
## Available Checklists
|
|
|
|
|
|
|
|
|
|
If the user asks or does not specify a specific checklist, list the checklists available to the agent persona. If the task is being run not with a specific agent, tell the user to check the bmad-core/checklists folder to select the appropriate one to run.
|
|
|
|
|
If the user asks or does not specify a specific checklist, list the checklists available to the agent persona. If the task is being run not with a specific agent, tell the user to check the {root}/checklists folder to select the appropriate one to run.
|
|
|
|
|
|
|
|
|
|
## Instructions
|
|
|
|
|
|
|
|
|
|
@@ -2881,7 +2723,7 @@ If the user asks or does not specify a specific checklist, list the checklists a
|
|
|
|
|
- If user or the task being run provides a checklist name:
|
|
|
|
|
- Try fuzzy matching (e.g. "architecture checklist" -> "architect-checklist")
|
|
|
|
|
- If multiple matches found, ask user to clarify
|
|
|
|
|
- Load the appropriate checklist from bmad-core/checklists/
|
|
|
|
|
- Load the appropriate checklist from {root}/checklists/
|
|
|
|
|
- If no checklist specified:
|
|
|
|
|
- Ask the user which checklist they want to use
|
|
|
|
|
- Present the available options from the files in the checklists folder
|
|
|
|
|
|