BMAD-METHOD/src/modules/bmb/workflows/workflow/steps-v/step-01-validate.md

6.1 KiB

name description nextStepFile targetWorkflowPath workflowPlanFile validationReportFile stepFileRules
step-01-validate Initialize validation: create report and check file structure & size ./step-02-frontmatter-validation.md {bmb_creations_output_folder}/workflows/{new_workflow_name} {targetWorkflowPath}/workflow-plan-{new_workflow_name}.md {targetWorkflowPath}/validation-report-{new_workflow_name}.md ../data/step-file-rules.md

Validation Step 1: File Structure & Size

STEP GOAL:

To create the validation report and check that the workflow has correct file structure and all step files are within size limits.

MANDATORY EXECUTION RULES (READ FIRST):

Universal Rules:

  • 🛑 DO NOT BE LAZY - LOAD AND REVIEW EVERY FILE
  • 📖 CRITICAL: Read the complete step file before taking any action
  • 🔄 CRITICAL: When loading next step, ensure entire file is read
  • Validation does NOT stop for user input - auto-proceed through all validation steps

Step-Specific Rules:

  • 🎯 Create validation report with header structure
  • 🚫 DO NOT skip checking any file
  • 💬 Append findings to report, then auto-load next step
  • 🚪 This is validation - systematic and thorough

EXECUTION PROTOCOLS:

  • 🎯 Load and check EVERY file in the workflow
  • 💾 Append findings to validation report
  • 📖 Save report before loading next validation step
  • 🚫 DO NOT halt for user input - validation runs to completion

CONTEXT BOUNDARIES:

  • Workflow has been built in steps-c/
  • Check the entire folder structure
  • Verify all required files exist
  • Check file sizes against limits

MANDATORY SEQUENCE

CRITICAL: Follow this sequence exactly. Do not skip or shortcut.

1. Create Validation Report

Create {validationReportFile} with header structure:

---
validationDate: [current date]
workflowName: {new_workflow_name}
workflowPath: {targetWorkflowPath}
validationStatus: IN_PROGRESS
---

# Validation Report: {new_workflow_name}

**Validation Started:** [current date]
**Validator:** BMAD Workflow Validation System
**Standards Version:** BMAD Workflow Standards

---

## File Structure & Size

*Validation in progress...*

## Frontmatter Validation
*Pending...*

## Menu Handling Validation
*Pending...*

## Step Type Validation
*Pending...*

## Output Format Validation
*Pending...*

## Validation Design Check
*Pending...*

## Instruction Style Check
*Pending...*

## Collaborative Experience Check
*Pending...*

## Cohesive Review
*Pending...*

## Summary
*Pending...*

2. Load File Structure Standards

Load {stepFileRules} to understand:

  • File size limits (<200 recommended, 250 max)
  • Required folder structure
  • Required files

3. Check Folder Structure

DO NOT BE LAZY - List EVERY folder and file:

Use bash commands to list the entire structure:

{targetWorkflowPath}/
├── workflow.md
├── steps-c/
│   ├── step-01-init.md
│   ├── step-01b-continue.md (if continuable)
│   ├── step-02-*.md
│   └── ...
├── steps-v/
│   └── [this validation]
├── data/
│   └── [as needed]
└── templates/
    └── [as needed]

Check:

  • workflow.md exists
  • steps-c/ folder exists with all step files
  • data/ folder exists (may be empty)
  • templates/ folder exists (may be empty)
  • No unexpected files
  • Folder names follow conventions

4. Check File Sizes

DO NOT BE LAZY - Check EVERY step file:

For each file in steps-c/:

  1. Read the file
  2. Count lines
  3. Check against limits:
    • < 200 lines: Good
    • 200-250 lines: ⚠️ Approaching limit
    • 250 lines: Exceeds limit

Check for Large Data Files:

For each file in data/ folder:

  1. Check file size in lines
  2. If > 500 lines: ⚠️ WARNING - Large data file detected
  3. If > 1000 lines: ERROR - Data file too large for direct loading

For large data files, recommend:

  • Create an index/csv/yaml so LLM knows what's available and can load specific sections
  • Use sharding technique (core module has sharding tool) to split large files
  • Consider if all data is needed or if lookup/reference pattern would work better

Report format:

### File Size Check

| File | Lines | Status |
|------|-------|--------|
| step-01-init.md | 180 | ✅ Good |
| step-02-*.md | 245 | ⚠️ Approaching limit |
| step-03-*.md | 267 | ❌ Exceeds limit - should split |

### Data File Size Check

| Data File | Lines | Status |
|-----------|-------|--------|
| reference-data.csv | 150 | ✅ Good |
| large-data.md | 2500 | ❌ Too large - use sharding or create index |

5. Verify File Presence

From the design in {workflowPlanFile}, verify:

  • Every step from design has a corresponding file
  • Step files are numbered sequentially
  • No gaps in numbering
  • Final step exists

6. Append Findings to Report

Replace the "## File Structure & Size" section in {validationReportFile} with actual findings:

## File Structure & Size

### Folder Structure
[Report findings - is structure correct?]

### Files Present
[Report findings - are all required files present?]

### File Size Check
[Table as shown above]

### Issues Found
[List any issues:
- Missing files
- Extra files
- Size violations
- Naming convention violations]

### Status
✅ PASS / ❌ FAIL / ⚠️ WARNINGS

7. Save Report and Auto-Proceed

CRITICAL: Save the validation report BEFORE loading next step.

Then immediately load, read entire file, then execute {nextStepFile}.

Display: "File Structure & Size validation complete. Proceeding to Frontmatter Validation..."


🚨 SYSTEM SUCCESS/FAILURE METRICS

SUCCESS:

  • Validation report created with header structure
  • EVERY file checked for structure and size
  • Findings appended to report
  • Report saved before proceeding
  • Next validation step loaded

SYSTEM FAILURE:

  • Not checking every file
  • Skipping size checks
  • Not saving report before proceeding
  • Halting for user input

Master Rule: Validation is systematic and thorough. DO NOT BE LAZY. Check EVERY file. Auto-proceed through all validation steps.