---
name: 'step-07-foundation'
description: 'Create workflow folder structure, workflow.md, and main output template(s)'

nextStepFile: './step-08-build-step-01.md'
targetWorkflowPath: '{bmb_creations_output_folder}/workflows/{new_workflow_name}'
workflowPlanFile: '{targetWorkflowPath}/workflow-plan-{new_workflow_name}.md'
workflowTemplate: '../templates/workflow-template.md'
outputFormatStandards: '../data/output-format-standards.md'
minimalOutputTemplate: '../templates/minimal-output-template.md'
advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml'
partyModeWorkflow: '{project-root}/_bmad/core/workflows/party-mode/workflow.md'
---

# Step 7: Foundation Build

## STEP GOAL:

To create the workflow folder structure, the main workflow.md file, and the primary output template(s) that step files will reference.

## 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
- ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}`

### 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 implementation expertise and best practices
- ✅ User brings their specific requirements and design approvals

### Step-Specific Rules:

- 🎯 Focus ONLY on creating foundation elements (folder, workflow.md, main template)
- 🚫 FORBIDDEN to create step files yet - that comes next
- 💬 Get confirmation before creating each foundation element
- 🚪 CREATE files in the correct target location

## EXECUTION PROTOCOLS:

- 🎯 Create foundation systematically from approved design
- 💾 Document what was created in the plan
- 📖 Update frontmatter stepsCompleted to add this step when completed
- 🚫 FORBIDDEN to load next step until user selects 'C'

## CONTEXT BOUNDARIES:

- Approved plan from step 6 guides implementation
- Design specifies: workflow name, continuable or not, document output type, step count
- Load templates and documentation as needed during build
- Follow step-file architecture principles

## MANDATORY SEQUENCE

**CRITICAL:** Follow this sequence exactly. Do not skip, reorder, or improvise unless user explicitly requests a change.

### 1. Confirm Foundation Readiness

Based on the approved design from step 6, confirm:

"**I have your approved design and I'm ready to create the workflow foundation.**

From your design, I'll be creating:

**Workflow:** {new_workflow_name}
**Location:** {targetWorkflowPath}
**Type:** [continuable/single-session]
**Document Output:** [yes/no - template type if yes]
**Estimated Steps:** [number from design]

Ready to proceed with creating the folder structure?"

### 2. Create Folder Structure

Create the workflow folder structure:

```
{targetWorkflowPath}/
├── workflow.md                    # To be created
├── steps-c/                       # Create flow steps
│   ├── step-01-init.md
│   ├── step-01b-continue.md      # If continuable
│   └── [remaining steps]
├── steps-v/                       # Validate flow steps (to be created later)
├── data/                          # Shared reference data
└── templates/                     # Output templates
```

**For BMB module workflows:** The target will be `_bmad/custom/src/workflows/{workflow_name}/`
**For other modules:** Check module's custom_workflow_location

Create the folders and confirm structure.

### 3. Generate workflow.md

Load {workflowTemplate} and create workflow.md with:

**Frontmatter:**
```yaml
---
name: '{workflow-name-from-design}'
description: '{description-from-design}'
web_bundle: true
---
```

**Content:**
- Workflow name and description
- Goal statement
- Role definition
- Meta-context (if applicable)
- Initialization sequence pointing to steps-c/step-01-init.md
- Configuration loading instructions

**If tri-modal (Create + Edit + Validate):**
Add mode routing logic to workflow.md:
- IF invoked with -c: Load ./steps-c/step-01-init.md
- IF invoked with -v: Load ./steps-v/step-01-validate.md
- IF invoked with -e: Load ./steps-e/step-01-edit.md

### 4. Create Main Output Template

**Load {outputFormatStandards} to determine template type.**

**From the design, determine:**
- Free-form (recommended) - Minimal frontmatter + progressive append
- Structured - Required sections with flexible content
- Semi-structured - Core sections + optional additions
- Strict - Exact format (rare, compliance/legal)

**For Free-form (most common):**

Create `templates/output-template.md`:
```yaml
---
stepsCompleted: []
lastStep: ''
date: ''
user_name: ''
---
```

If the workflow produces a document with sections:
```markdown
# {{document_title}}

[Content appended progressively by workflow steps]
```

**For Structured/Semi-structured:**

Create template with section placeholders based on design:
```markdown
# {{title}}

## {{section_1}}
[Content to be filled]

## {{section_2}}
[Content to be filled]
```

**For Non-Document Workflows:**

No output template needed. Document this in the plan.

### 5. Document Foundation in Plan

Append to {workflowPlanFile}:

```markdown
## Foundation Build Complete

**Created:**
- Folder structure at: {targetWorkflowPath}
- workflow.md
- Main template: [template-name]

**Configuration:**
- Workflow name: {name}
- Continuable: [yes/no]
- Document output: [yes/no - type]
- Mode: [create-only or tri-modal]

**Next Steps:**
- Step 8: Build step-01 (and step-01b if continuable)
- Step 9: Build remaining steps (repeatable)
```

### 6. Present MENU OPTIONS

Display: **Foundation Complete - Select an Option:** [A] Advanced Elicitation [P] Party Mode [C] Continue to Step 01 Build

#### 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 redisplay menu

#### Menu Handling Logic:

- IF A: Execute {advancedElicitationTask}, and when finished redisplay the menu
- IF P: Execute {partyModeWorkflow}, and when finished redisplay the menu
- IF C: Save foundation summary to {workflowPlanFile}, update frontmatter stepsCompleted, 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)

## CRITICAL STEP COMPLETION NOTE

ONLY WHEN C is selected and foundation is saved to plan will you load {nextStepFile} to begin building step-01.

---

## 🚨 SYSTEM SUCCESS/FAILURE METRICS

### ✅ SUCCESS:

- Folder structure created in correct location
- workflow.md created with proper frontmatter and initialization
- Main output template created (if document-producing workflow)
- Foundation documented in {workflowPlanFile}
- Frontmatter updated with stepsCompleted

### ❌ SYSTEM FAILURE:

- Creating folders without user confirmation
- Missing mode routing for tri-modal workflows
- Wrong template type for output format
- Not documenting what was created

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