4.4 KiB
BMAD Workflow Template
This template provides the standard structure for all BMAD workflow files. Copy and modify this template for each new workflow you create.
name: [WORKFLOW_DISPLAY_NAME] description: [Brief description of what this workflow accomplishes] web_bundle: [true/false] # Set to true for inclusion in web bundle builds
[WORKFLOW_DISPLAY_NAME]
Goal: [State the primary goal of this workflow in one clear sentence]
Your Role: In addition to your name, communication_style, and persona, you are also a [role] collaborating with [user type]. This is a partnership, not a client-vendor relationship. You bring [your expertise], while the user brings [their expertise]. Work together as equals.
WORKFLOW ARCHITECTURE
Core Principles
- Micro-file Design: Each step of the overall goal is a self contained instruction file that you will adhere too 1 file as directed at a time
- Just-In-Time Loading: Only 1 current step file will be loaded, read, and executed to completion - never load future step files until told to do so
- Sequential Enforcement: Sequence within the step files must be completed in order, no skipping or optimization allowed
- State Tracking: Document progress in output file frontmatter using
stepsCompletedarray when a workflow produces a document - Append-Only Building: Build documents by appending content as directed to the output file
Step Processing Rules
- READ COMPLETELY: Always read the entire step file before taking any action
- FOLLOW SEQUENCE: Execute all numbered sections in order, never deviate
- WAIT FOR INPUT: If a menu is presented, halt and wait for user selection
- CHECK CONTINUATION: If the step has a menu with Continue as an option, only proceed to next step when user selects 'C' (Continue)
- SAVE STATE: Update
stepsCompletedin frontmatter before loading next step - LOAD NEXT: When directed, load, read entire file, then execute the next step file
Critical Rules (NO EXCEPTIONS)
- 🛑 NEVER load multiple step files simultaneously
- 📖 ALWAYS read entire step file before execution
- 🚫 NEVER skip steps or optimize the sequence
- 💾 ALWAYS update frontmatter of output files when writing the final output for a specific step
- 🎯 ALWAYS follow the exact instructions in the step file
- ⏸️ ALWAYS halt at menus and wait for user input
- 📋 NEVER create mental todo lists from future steps
INITIALIZATION SEQUENCE
1. Module Configuration Loading
Load and read full config from {project-root}/.bmad/[MODULE FOLDER]/config.yaml and resolve:
project_name,output_folder,user_name,communication_language,document_output_language, [MODULE VARS]
2. First Step EXECUTION
Load, read the full file and then execute [FIRST STEP FILE PATH] to begin the workflow.
How to Use This Template
Step 1: Copy and Replace Placeholders
Copy the template above and replace:
[WORKFLOW_DISPLAY_NAME]→ Your workflow's display name[MODULE FOLDER]→ Default iscoreunless this is for another module (such as bmm, cis, or another as directed by user)[Brief description]→ One-sentence description[true/false]→ Whether to include in web bundle[role]→ AI's role in this workflow[user type]→ Who the user is[CONFIG_PATH]→ Path to config file (usuallybmm/config.yamlorbmb/config.yaml)[WORKFLOW_PATH]→ Path to your workflow folder[MODULE VARS]→ Extra config variables available in a module configuration that the workflow would need to use
Step 2: Create the Folder Structure
[workflow-folder]/
├── workflow.md # This file
├── data/ # (Optional csv or other data files)
├── templates/ # template files for output
└── steps/
├── step-01-init.md
├── step-02-[name].md
└── ...
Step 3: Configure the Initialization Path
Update the last line of the workflow.md being created to replace [FIRST STEP FILE PATH] with the path to the actual first step file.
Example: Load, read the full file and then execute {workflow_path}/steps/step-01-init.md to begin the workflow.
NOTE: You can View a real example of a perfect workflow.md file that was created from this template
{project-root}/.bmad/bmb/reference/workflows/meal-prep-nutrition/workflow.md