BMAD-METHOD/src/modules/bmb/workflows/create-workflow/steps/step-01-init.md

5.6 KiB

name description workflow_path thisStepFile nextStepFile workflowFile workflowPlanFile targetWorkflowPath advancedElicitationTask partyModeWorkflow projectInfoTemplate workflowPlanTemplate
step-01-init Initialize workflow creation session by detecting continuation state and setting up project {project-root}/{bmad_folder}/bmb/workflows/create-workflow {workflow_path}/steps/step-01-init.md {workflow_path}/steps/step-02-gather.md {workflow_path}/workflow.md {output_folder}/workflow-plan-{new_workflow_name}.md {custom_workflow_location}/{new_workflow_name} {project-root}/{bmad_folder}/core/tasks/advanced-elicitation.xml {project-root}/{bmad_folder}/core/workflows/party-mode/workflow.md {workflow_path}/templates/project-info.md {workflow_path}/templates/workflow-plan.md

Step 1: Workflow Creation Initialization

STEP GOAL:

To initialize the workflow creation process by detecting continuation state, understanding project context, and preparing for collaborative workflow design.

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 systems designer
  • 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 workflow design expertise, user brings their specific requirements
  • Together we will create a structured, repeatable workflow

Step-Specific Rules:

  • 🎯 Focus ONLY on initialization and project understanding
  • 🚫 FORBIDDEN to start designing workflow steps in this step
  • 💬 Ask questions conversationally to understand context
  • 🚪 DETECT existing workflow state and handle continuation properly

EXECUTION PROTOCOLS:

  • 🎯 Show analysis before taking any action
  • 💾 Initialize document and update frontmatter
  • 📖 Set up frontmatter stepsCompleted: [1] before loading next step
  • 🚫 FORBIDDEN to load next step until initialization is complete

CONTEXT BOUNDARIES:

  • Variables from workflow.md are available in memory
  • Previous context = what's in output document + frontmatter
  • Don't assume knowledge from other steps
  • Input discovery happens in this step

INITIALIZATION SEQUENCE:

1. Check for Existing Workflow Creation

First, check if there's already a workflow folder with the proposed name:

  • Look for folder at {custom_workflow_location}/{new_workflow_name}/
  • If exists, check if it contains a workflow.md file
  • If not exists, this is a fresh workflow creation session

2. Handle Continuation (If Workflow Exists)

If the workflow folder exists and has been worked on:

  • STOP here and continue with step 4 (Welcome Back)
  • Do not proceed with fresh initialization
  • Let step 4 handle the continuation logic

3. Handle Completed Workflow

If the workflow folder exists AND is complete:

  • Ask user: "I found an existing workflow '{new_workflow_name}' from [date]. Would you like to:
    1. Create a new workflow with a different name
    2. Review or modify the existing workflow"
  • If option 1: Get a new workflow name
  • If option 2: Load step 5 (Review)

4. Fresh Workflow Setup (If No Workflow)

A. Project Discovery

Welcome the user and understand their needs: "Welcome! I'm excited to help you create a new workflow. Let's start by understanding what you want to build."

Ask conversationally:

  • What type of workflow are you looking to create?
  • What problem will this workflow solve?
  • Who will use this workflow?
  • What module will it belong to (bmb, bmm, cis, custom, stand-alone)?
  • What would you like to name this workflow folder? (kebab-case, e.g., "user-story-generator")

B. Create Workflow Plan Document

Create the workflow plan document at {workflowPlanFile} using the workflow plan template {workflowPlanTemplate}. Initialize frontmatter with:

---
workflowName: ''
targetModule: ''
workflowType: ''
flowPattern: ''
date: [current date]
user_name: { user_name }
stepsCompleted: [1]
lastStep: 'init'
---

This plan will capture all requirements and design details before building the actual workflow.

5. Welcome Message

"Great! I'm ready to help you create a structured workflow using our step-based architecture. We'll work together to design a workflow that's collaborative, maintainable, and follows best practices."

6. Present MENU OPTIONS

Display: Proceeding to requirements gathering...

EXECUTION RULES:

  • This is an initialization step with no user choices
  • Proceed directly to next step after setup
  • Use menu handling logic section below

Menu Handling Logic:

  • After setup completion, immediately load, read entire file, then execute {workflow_path}/step-02-gather.md to begin requirements gathering

🚨 SYSTEM SUCCESS/FAILURE METRICS

SUCCESS:

  • Workflow name confirmed and validated
  • Target folder location determined
  • User welcomed and project context understood
  • Ready to proceed to step 2

SYSTEM FAILURE:

  • Proceeding with step 2 without workflow name
  • Not checking for existing workflow folders
  • Not determining target location properly
  • Skipping welcome message

Master Rule: Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.