workflow builder has template LOD output options
This commit is contained in:
parent
1e6fc4ba14
commit
0b3964902a
|
|
@ -0,0 +1,513 @@
|
||||||
|
---
|
||||||
|
name: 'Workflow Compliance Report - create-workflow'
|
||||||
|
description: 'Systematic validation results for create-workflow workflow'
|
||||||
|
workflow_name: 'create-workflow'
|
||||||
|
validation_date: '2025-12-02'
|
||||||
|
stepsCompleted: ['workflow-validation', 'step-validation', 'file-validation', 'spectrum-validation', 'web-subprocess-validation']
|
||||||
|
---
|
||||||
|
|
||||||
|
# Workflow Compliance Report: create-workflow
|
||||||
|
|
||||||
|
**Validation Date:** 2025-12-02
|
||||||
|
**Target Workflow:** /Users/brianmadison/dev/BMAD-METHOD/src/modules/bmb/workflows/create-workflow/workflow.md
|
||||||
|
**Reference Standard:** /Users/brianmadison/dev/BMAD-METHOD/.bmad/bmb/docs/workflows/templates/workflow-template.md
|
||||||
|
|
||||||
|
## Phase 1: Workflow.md Validation Results
|
||||||
|
|
||||||
|
### Template Adherence Analysis
|
||||||
|
|
||||||
|
**Reference Standard:** workflow-template.md
|
||||||
|
|
||||||
|
### Frontmatter Structure Violations
|
||||||
|
|
||||||
|
✅ **PASS** - All required fields present and properly formatted:
|
||||||
|
|
||||||
|
- name: "Create Workflow" ✓
|
||||||
|
- description: "Create structured standalone workflows using markdown-based step architecture" ✓
|
||||||
|
- web_bundle: true (proper boolean format) ✓
|
||||||
|
|
||||||
|
### Role Description Violations
|
||||||
|
|
||||||
|
✅ **PASS** - Role description follows template format:
|
||||||
|
|
||||||
|
- Partnership language present: "This is a partnership, not a client-vendor relationship" ✓
|
||||||
|
- Expertise clearly defined: "workflow architect and systems designer" ✓
|
||||||
|
- User expertise identified: "domain knowledge and specific workflow requirements" ✓
|
||||||
|
- Collaboration directive: "Work together as equals" ✓
|
||||||
|
|
||||||
|
### Workflow Architecture Violations
|
||||||
|
|
||||||
|
🚫 **CRITICAL VIOLATION** - Core Principles deviate from template:
|
||||||
|
|
||||||
|
**Template requires:** "Each step of the overall goal is a self contained instruction file that you will adhere too 1 file as directed at a time"
|
||||||
|
|
||||||
|
**Target has:** "Each step is a self contained instruction file that is a part of an overall workflow that must be followed exactly"
|
||||||
|
|
||||||
|
- **Severity:** Critical
|
||||||
|
- **Template Reference:** "Core Principles" section in workflow-template.md
|
||||||
|
- **Specific Fix:** Replace with exact template wording: "Each step of the overall goal is a self contained instruction file that you will adhere too 1 file as directed at a time"
|
||||||
|
|
||||||
|
🚫 **CRITICAL VIOLATION** - State Tracking Rule deviates from template:
|
||||||
|
|
||||||
|
**Template requires:** "Document progress in output file frontmatter using `stepsCompleted` array when a workflow produces a document"
|
||||||
|
|
||||||
|
**Target has:** "Document progress in context for compliance checking (no output file frontmatter needed)"
|
||||||
|
|
||||||
|
- **Severity:** Critical
|
||||||
|
- **Template Reference:** "Core Principles" section in workflow-template.md
|
||||||
|
- **Specific Fix:** Replace with exact template wording about stepsCompleted array
|
||||||
|
|
||||||
|
### Initialization Sequence Violations
|
||||||
|
|
||||||
|
🚫 **MAJOR VIOLATION** - Configuration path format incorrect:
|
||||||
|
|
||||||
|
**Template requires:** "{project-root}/.bmad/[MODULE FOLDER]/config.yaml"
|
||||||
|
|
||||||
|
**Target has:** "{project-root}/.bmad/bmb/config.yaml"
|
||||||
|
|
||||||
|
- **Severity:** Major
|
||||||
|
- **Template Reference:** "Module Configuration Loading" section in workflow-template.md
|
||||||
|
- **Specific Fix:** Use proper module variable substitution: "{project-root}/.bmad/bmb/config.yaml" should reference module folder properly
|
||||||
|
|
||||||
|
🚫 **MAJOR VIOLATION** - First step path format inconsistent:
|
||||||
|
|
||||||
|
**Template requires:** Explicit step file path following pattern
|
||||||
|
|
||||||
|
**Target has:** "Load, read the full file and then execute `{workflow_path}/steps/step-01-init.md` to begin the workflow."
|
||||||
|
|
||||||
|
- **Severity:** Major
|
||||||
|
- **Template Reference:** "First Step EXECUTION" section in workflow-template.md
|
||||||
|
- **Specific Fix:** Ensure consistency with template variable substitution patterns
|
||||||
|
|
||||||
|
### Phase 1 Summary
|
||||||
|
|
||||||
|
**Critical Issues:** 2
|
||||||
|
|
||||||
|
- Core Principles text deviation from template
|
||||||
|
- State Tracking rule modification from template standard
|
||||||
|
|
||||||
|
**Major Issues:** 2
|
||||||
|
|
||||||
|
- Configuration path format not following template variable pattern
|
||||||
|
- First step execution path needs consistency check
|
||||||
|
|
||||||
|
**Minor Issues:** 0
|
||||||
|
|
||||||
|
### Phase 1 Recommendations
|
||||||
|
|
||||||
|
**Priority 1 - Critical Fixes:**
|
||||||
|
|
||||||
|
1. Replace Core Principles text with exact template wording
|
||||||
|
2. Restore State Tracking rule to template standard about stepsCompleted array
|
||||||
|
|
||||||
|
**Priority 2 - Major Fixes:**
|
||||||
|
|
||||||
|
1. Review and standardize all path variable usage to follow template patterns
|
||||||
|
2. Ensure consistency in variable substitution throughout workflow
|
||||||
|
|
||||||
|
## Phase 2: Step Validation Results
|
||||||
|
|
||||||
|
### Template Adherence Analysis
|
||||||
|
|
||||||
|
**Reference Standard:** step-template.md
|
||||||
|
**Total Steps Analyzed:** 9
|
||||||
|
|
||||||
|
### Critical Violations Summary
|
||||||
|
|
||||||
|
**Step 01-init.md:**
|
||||||
|
|
||||||
|
- Missing `outputFile` in frontmatter - Template Reference: line 22
|
||||||
|
- Uses auto-proceed menu instead of standard A/P/C pattern - Template Reference: lines 106-123
|
||||||
|
- Missing "CRITICAL STEP COMPLETION NOTE" section - Template Reference: line 126
|
||||||
|
|
||||||
|
**Step 02-gather.md:**
|
||||||
|
|
||||||
|
- Missing `outputFile` in frontmatter - Template Reference: line 22
|
||||||
|
- Incorrect `nextStepFile` path format - Template Reference: line 19
|
||||||
|
|
||||||
|
**Steps 03-09 (All Steps):**
|
||||||
|
|
||||||
|
- Missing `outputFile` in frontmatter - Template Reference: line 22
|
||||||
|
- Non-standard step naming (missing short descriptive names) - Template Reference: line 9
|
||||||
|
- Steps 08-09 missing `workflowFile` in frontmatter - Template Reference: line 21
|
||||||
|
|
||||||
|
### Major Violations Summary
|
||||||
|
|
||||||
|
**Frontmatter Structure (All Steps):**
|
||||||
|
|
||||||
|
- Missing `altStep{Y}` comment pattern - Template Reference: line 20
|
||||||
|
- Missing Task References section structure - Template Reference: lines 24-27
|
||||||
|
- Missing Template References section structure - Template Reference: lines 29-33
|
||||||
|
- Missing Data References section structure - Template Reference: lines 35-37
|
||||||
|
|
||||||
|
**Menu Pattern Violations:**
|
||||||
|
|
||||||
|
- Step 01: Custom auto-proceed menu instead of standard A/P/C - Template Reference: lines 106-123
|
||||||
|
- Step 05: Menu text "Continue" instead of "Continue to [next action]" - Template Reference: line 115
|
||||||
|
- Step 07: Custom "Build Complete" menu instead of A/P/C pattern - Template Reference: lines 106-123
|
||||||
|
- Step 08: Missing A and P options in menu - Template Reference: lines 106-123
|
||||||
|
- Step 09: Uses T/M/D pattern instead of standard A/P/C - Template Reference: lines 106-123
|
||||||
|
|
||||||
|
### Path Variable Inconsistencies
|
||||||
|
|
||||||
|
- Inconsistent use of `{bmad_folder}` vs `.bmad` in paths across all steps
|
||||||
|
- Missing `outputFile` variable definitions - Template Reference: line 22
|
||||||
|
- Step 04 uses non-standard `nextStepFormDesign` and `nextStepDesign` variables
|
||||||
|
|
||||||
|
### Minor Violations Summary
|
||||||
|
|
||||||
|
**Content Structure:**
|
||||||
|
|
||||||
|
- Missing "CONTEXT BOUNDARIES" section titles - Template Reference: line 82
|
||||||
|
- Missing "EXECUTION PROTOCOLS" section titles - Template Reference: line 75
|
||||||
|
- Non-standard section naming in multiple steps - Template Reference: line 89
|
||||||
|
|
||||||
|
### Phase 2 Summary
|
||||||
|
|
||||||
|
**Critical Issues:** 15
|
||||||
|
|
||||||
|
- 9 missing outputFile variables
|
||||||
|
- 6 non-standard menu patterns
|
||||||
|
- Multiple missing required sections
|
||||||
|
|
||||||
|
**Major Issues:** 36
|
||||||
|
|
||||||
|
- 36 frontmatter structure violations across all steps
|
||||||
|
- 5 menu pattern deviations
|
||||||
|
- Numerous path variable inconsistencies
|
||||||
|
|
||||||
|
**Minor Issues:** 27
|
||||||
|
|
||||||
|
- Section naming inconsistencies
|
||||||
|
- Missing template-required section titles
|
||||||
|
|
||||||
|
**Most Common Violations:**
|
||||||
|
|
||||||
|
1. Missing `outputFile` in frontmatter (9 occurrences)
|
||||||
|
2. Non-standard menu patterns (6 occurrences)
|
||||||
|
3. Missing Task/Template/Data References sections (27 occurrences)
|
||||||
|
|
||||||
|
### Overall Step Compliance Score
|
||||||
|
|
||||||
|
**Overall Workflow Step Compliance: 68%**
|
||||||
|
|
||||||
|
- Step 01: 65% compliant
|
||||||
|
- Step 02: 70% compliant
|
||||||
|
- Steps 03-09: 63-72% compliant each
|
||||||
|
|
||||||
|
## Phase 3: File Size, Formatting, and Data Validation Results
|
||||||
|
|
||||||
|
### File Size Analysis
|
||||||
|
|
||||||
|
**Workflow File:**
|
||||||
|
|
||||||
|
- workflow.md: 2.9K - ✅ **Optimal** - Excellent performance and maintainability
|
||||||
|
|
||||||
|
**Step Files Distribution:**
|
||||||
|
|
||||||
|
- **Optimal (≤5K):** 3 files
|
||||||
|
- step-09-complete.md: 5.1K
|
||||||
|
- step-01-init.md: 5.3K
|
||||||
|
- **Good (5K-7K):** 1 file
|
||||||
|
- step-04-plan-review.md: 6.6K
|
||||||
|
- **Acceptable (7K-10K):** 5 files
|
||||||
|
- step-02-gather.md: 7.8K
|
||||||
|
- step-08-review.md: 7.9K
|
||||||
|
- step-03-tools-configuration.md: 7.9K
|
||||||
|
- step-05-output-format-design.md: 8.2K
|
||||||
|
- step-06-design.md: 9.0K
|
||||||
|
- **Acceptable (approaching concern):** 1 file
|
||||||
|
- step-07-build.md: 10.0K (monitor if additional features added)
|
||||||
|
|
||||||
|
**CSV Data Files:**
|
||||||
|
|
||||||
|
- Total CSV files: 0
|
||||||
|
- No data files present requiring validation
|
||||||
|
|
||||||
|
### Markdown Formatting Validation
|
||||||
|
|
||||||
|
**✅ Strengths:**
|
||||||
|
|
||||||
|
- Consistent frontmatter structure across all files
|
||||||
|
- Proper heading hierarchy (H1→H2→H3) maintained
|
||||||
|
- Standardized section patterns across all steps
|
||||||
|
- Proper code block formatting in 7 of 10 files
|
||||||
|
- Consistent bullet point usage throughout
|
||||||
|
|
||||||
|
**⚠️ Minor Issues:**
|
||||||
|
|
||||||
|
- File size range significant (2.9K to 10K) but all within acceptable limits
|
||||||
|
- step-07-build.md approaching concern threshold at 10K
|
||||||
|
|
||||||
|
### Performance Impact Assessment
|
||||||
|
|
||||||
|
**Overall workflow performance:** ✅ **Excellent**
|
||||||
|
|
||||||
|
- All files optimized for performance
|
||||||
|
- No files requiring immediate size optimization
|
||||||
|
- Well-structured maintainable codebase
|
||||||
|
- Professional markdown implementation
|
||||||
|
|
||||||
|
**Most critical file size issue:** None - all files within acceptable ranges
|
||||||
|
**Primary formatting concerns:** None significant - excellent consistency maintained
|
||||||
|
|
||||||
|
## Phase 4: Intent vs Prescriptive Spectrum Analysis
|
||||||
|
|
||||||
|
### Current Position Assessment
|
||||||
|
|
||||||
|
**Analyzed Position:** Balanced Middle (leaning prescriptive)
|
||||||
|
**Evidence:**
|
||||||
|
|
||||||
|
- Highly structured step files with mandatory execution rules
|
||||||
|
- Specific sequence enforcement and template compliance requirements
|
||||||
|
- Conversational partnership model within rigid structural constraints
|
||||||
|
- Limited creative adaptation but maintains collaborative dialogue
|
||||||
|
**Confidence Level:** High - Clear patterns in implementation demonstrate intentional structure
|
||||||
|
|
||||||
|
### Expert Recommendation
|
||||||
|
|
||||||
|
**Recommended Position:** Balanced Middle (slightly toward prescriptive)
|
||||||
|
**Reasoning:**
|
||||||
|
|
||||||
|
- Workflow creation needs systematic structure for BMAD compliance
|
||||||
|
- Template requirements demand prescriptive elements
|
||||||
|
- Creative aspects need room for user ownership
|
||||||
|
- Best workflows emerge from structured collaboration
|
||||||
|
**Workflow Type Considerations:**
|
||||||
|
- Primary purpose: Creating structured, repeatable workflows
|
||||||
|
- User expectations: Reliable, consistent BMAD-compliant outputs
|
||||||
|
- Success factors: Template compliance and systematic approach
|
||||||
|
- Risk level: Medium - compliance critical for ecosystem coherence
|
||||||
|
|
||||||
|
### User Decision
|
||||||
|
|
||||||
|
**Selected Position:** Option 1 - Keep Current Position (Balanced Middle leaning prescriptive)
|
||||||
|
**Rationale:** User prefers to maintain current structured approach
|
||||||
|
**Implementation Guidance:**
|
||||||
|
|
||||||
|
- Continue with current balance of structure and collaborative dialogue
|
||||||
|
- Maintain template compliance requirements
|
||||||
|
- Preserve systematic execution patterns
|
||||||
|
- Keep conversational elements within prescribed framework
|
||||||
|
|
||||||
|
### Spectrum Validation Results
|
||||||
|
|
||||||
|
✅ Spectrum position is intentional and understood
|
||||||
|
✅ User educated on implications of their choice
|
||||||
|
✅ Implementation guidance provided for maintaining position
|
||||||
|
✅ Decision documented for future reference
|
||||||
|
|
||||||
|
## Phase 5: Web Search & Subprocess Optimization Analysis
|
||||||
|
|
||||||
|
### Web Search Optimization
|
||||||
|
|
||||||
|
**Unnecessary Searches Identified:** 1
|
||||||
|
|
||||||
|
- Step 6 loads 5+ template files individually - these are static templates that rarely change
|
||||||
|
**Essential Searches to Keep:** 2
|
||||||
|
- CSV tool database in Step 3 (dynamic data)
|
||||||
|
- Reference workflow example in Step 2 (concrete patterns)
|
||||||
|
**Optimization Recommendations:**
|
||||||
|
- Implement template caching to eliminate repeated file loads
|
||||||
|
- Use selective CSV loading based on workflow type
|
||||||
|
**Estimated Time Savings:** 5-7 seconds per workflow execution
|
||||||
|
|
||||||
|
### Subprocess Optimization Opportunities
|
||||||
|
|
||||||
|
**Parallel Processing:** 2 major opportunities identified
|
||||||
|
|
||||||
|
1. **Step 3 + Step 5 Parallelization:** Tools configuration and output format design can run simultaneously
|
||||||
|
- Savings: 5-10 minutes per workflow
|
||||||
|
2. **Background Template Loading:** Pre-load templates during Step 1 idle time
|
||||||
|
- Savings: Eliminate design-phase delays
|
||||||
|
|
||||||
|
**Batch Processing:** 1 grouping opportunity
|
||||||
|
|
||||||
|
- Parallel file generation in Step 7 (workflow.md, step files, templates)
|
||||||
|
- Savings: 60-80% reduction in build time for multi-step workflows
|
||||||
|
|
||||||
|
**Background Processing:** 2 task opportunities
|
||||||
|
|
||||||
|
- Template pre-loading during initialization
|
||||||
|
- File generation coordination during build phase
|
||||||
|
|
||||||
|
**Performance Improvement:** 40-60% estimated overall improvement
|
||||||
|
|
||||||
|
### Resource Efficiency Analysis
|
||||||
|
|
||||||
|
**Context Optimization:**
|
||||||
|
|
||||||
|
- JIT context loading: 40-60% reduction in token usage
|
||||||
|
- Reference content deduplication: 8,000-12,000 token savings
|
||||||
|
- Step file size reduction: 30-50% smaller files
|
||||||
|
|
||||||
|
**LLM Resource Usage:**
|
||||||
|
|
||||||
|
- Smart context pruning by workflow phase
|
||||||
|
- Compact step instructions with external references
|
||||||
|
- Selective context loading based on current phase
|
||||||
|
|
||||||
|
**User Experience Impact:**
|
||||||
|
|
||||||
|
- Significantly faster workflow creation (15-25 minutes saved)
|
||||||
|
- More responsive interaction patterns
|
||||||
|
- Reduced waiting times during critical phases
|
||||||
|
|
||||||
|
### Implementation Recommendations
|
||||||
|
|
||||||
|
**Immediate Actions (High Impact, Low Risk):**
|
||||||
|
|
||||||
|
1. Implement template caching in workflow.md frontmatter
|
||||||
|
2. Optimize CSV loading with category filtering
|
||||||
|
3. Reduce step file sizes by moving examples to reference files
|
||||||
|
|
||||||
|
**Strategic Improvements (High Impact, Medium Risk):**
|
||||||
|
|
||||||
|
1. Parallelize Step 3 and Step 5 execution
|
||||||
|
2. Implement JIT context loading by phase
|
||||||
|
3. Background template pre-loading
|
||||||
|
|
||||||
|
**Future Enhancements (Highest Impact, Higher Risk):**
|
||||||
|
|
||||||
|
1. Parallel file generation with sub-process coordination
|
||||||
|
2. Smart context pruning across workflow phases
|
||||||
|
3. Complete reference deduplication system
|
||||||
|
|
||||||
|
## Phase 6: Holistic Workflow Analysis Results
|
||||||
|
|
||||||
|
### Flow Validation
|
||||||
|
|
||||||
|
**Completion Path Analysis:**
|
||||||
|
|
||||||
|
- ✅ All steps have clear continuation paths
|
||||||
|
- ✅ No orphaned steps or dead ends
|
||||||
|
- ⚠️ Minor issue: Steps 07 and 09 use non-standard menu patterns
|
||||||
|
|
||||||
|
**Sequential Logic:**
|
||||||
|
|
||||||
|
- ✅ Logical workflow creation progression maintained
|
||||||
|
- ✅ Dependencies properly structured
|
||||||
|
- ⚠️ Steps 05-06 could potentially be consolidated
|
||||||
|
|
||||||
|
### Goal Alignment
|
||||||
|
|
||||||
|
**Alignment Score:** 85%
|
||||||
|
|
||||||
|
**Stated Goal:** "Create structured, repeatable standalone workflows through collaborative conversation and step-by-step guidance"
|
||||||
|
|
||||||
|
**Actual Implementation:** Creates structured workflows with heavy emphasis on template compliance and systematic validation
|
||||||
|
|
||||||
|
**Gap Analysis:**
|
||||||
|
|
||||||
|
- Workflow emphasizes structure over creativity (aligned with spectrum choice)
|
||||||
|
- Template compliance heavier than user guidance (may need balance adjustment)
|
||||||
|
|
||||||
|
### Meta-Workflow Failure Analysis
|
||||||
|
|
||||||
|
**Issues That Should Have Been Prevented by create-workflow:**
|
||||||
|
|
||||||
|
1. Missing outputFile variables in all 9 steps (Critical)
|
||||||
|
2. Non-standard menu patterns in Steps 07 and 09 (Major)
|
||||||
|
3. Missing Task/Template/Data references across all steps (Major)
|
||||||
|
4. Path variable inconsistencies throughout workflow (Major)
|
||||||
|
5. Step naming violations for Steps 05-09 (Major)
|
||||||
|
6. Core Principles text deviation from template (Critical)
|
||||||
|
|
||||||
|
**Recommended Meta-Workflow Improvements:**
|
||||||
|
|
||||||
|
- Add frontmatter completeness validation during creation
|
||||||
|
- Implement path variable format checking
|
||||||
|
- Include menu pattern enforcement validation
|
||||||
|
- Add Intent vs Prescriptive spectrum selection in Step 01
|
||||||
|
- Validate template compliance before finalization
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Executive Summary
|
||||||
|
|
||||||
|
**Overall Compliance Status:** PARTIAL
|
||||||
|
**Critical Issues:** 17 - Must be fixed immediately
|
||||||
|
**Major Issues:** 36 - Significantly impacts quality/maintainability
|
||||||
|
**Minor Issues:** 27 - Standards compliance improvements
|
||||||
|
|
||||||
|
**Overall Compliance Score:** 68% based on template adherence
|
||||||
|
|
||||||
|
## Severity-Ranked Fix Recommendations
|
||||||
|
|
||||||
|
### IMMEDIATE - Critical (Must Fix for Functionality)
|
||||||
|
|
||||||
|
1. **Missing outputFile Variables** - Files: All 9 step files
|
||||||
|
- **Problem:** Critical frontmatter field missing from all steps
|
||||||
|
- **Template Reference:** step-template.md line 22
|
||||||
|
- **Fix:** Add `outputFile: '{output_folder}/workflow-plan-{project_name}.md'` to each step
|
||||||
|
- **Impact:** Workflow cannot produce output without this field
|
||||||
|
|
||||||
|
2. **Core Principles Deviation** - File: workflow.md
|
||||||
|
- **Problem:** Text modified from template standard
|
||||||
|
- **Template Reference:** workflow-template.md Core Principles section
|
||||||
|
- **Fix:** Replace with exact template wording
|
||||||
|
- **Impact:** Violates fundamental BMAD workflow architecture
|
||||||
|
|
||||||
|
3. **Non-Standard Menu Patterns** - Files: step-07-build.md, step-09-complete.md
|
||||||
|
- **Problem:** Custom menu formats instead of A/P/C pattern
|
||||||
|
- **Template Reference:** step-template.md lines 106-123
|
||||||
|
- **Fix:** Standardize to A/P/C menu pattern
|
||||||
|
- **Impact:** Breaks user experience consistency
|
||||||
|
|
||||||
|
### HIGH PRIORITY - Major (Significantly Impacts Quality)
|
||||||
|
|
||||||
|
1. **Missing Task/Template/Data References** - Files: All 9 step files
|
||||||
|
- **Problem:** Required frontmatter sections missing
|
||||||
|
- **Template Reference:** step-template.md lines 24-37
|
||||||
|
- **Fix:** Add all required reference sections with proper comments
|
||||||
|
- **Impact:** Violates template structure standards
|
||||||
|
|
||||||
|
2. **Step Naming Violations** - Files: steps 05-09
|
||||||
|
- **Problem:** Missing short descriptive names in step filenames
|
||||||
|
- **Template Reference:** step-template.md line 9
|
||||||
|
- **Fix:** Rename to include descriptive names (e.g., step-05-output-format.md)
|
||||||
|
- **Impact:** Inconsistent with BMAD naming conventions
|
||||||
|
|
||||||
|
3. **Path Variable Inconsistencies** - Files: All steps
|
||||||
|
- **Problem:** Mixed use of `{bmad_folder}` vs `.bmad`
|
||||||
|
- **Template Reference:** workflow-template.md path patterns
|
||||||
|
- **Fix:** Standardize to template variable patterns
|
||||||
|
- **Impact:** Installation flexibility and maintainability
|
||||||
|
|
||||||
|
### MEDIUM PRIORITY - Minor (Standards Compliance)
|
||||||
|
|
||||||
|
1. **Missing Section Titles** - Files: All steps
|
||||||
|
- **Problem:** Missing "CONTEXT BOUNDARIES" and "EXECUTION PROTOCOLS" titles
|
||||||
|
- **Template Reference:** step-template.md lines 75, 82
|
||||||
|
- **Fix:** Add missing section titles
|
||||||
|
- **Impact:** Template compliance
|
||||||
|
|
||||||
|
## Automated Fix Options
|
||||||
|
|
||||||
|
### Fixes That Can Be Applied Automatically
|
||||||
|
|
||||||
|
- Add outputFile variables to all step frontmatter
|
||||||
|
- Add missing section titles
|
||||||
|
- Standardize path variable usage
|
||||||
|
- Add Task/Template/Data reference section skeletons
|
||||||
|
|
||||||
|
### Fixes Requiring Manual Review
|
||||||
|
|
||||||
|
- Core Principles text restoration (needs exact template matching)
|
||||||
|
- Menu pattern standardization (custom logic may be intentional)
|
||||||
|
- Step renaming (requires file system changes and reference updates)
|
||||||
|
|
||||||
|
## Next Steps Recommendation
|
||||||
|
|
||||||
|
**Recommended Approach:**
|
||||||
|
|
||||||
|
1. Fix all Critical issues immediately (workflow may not function)
|
||||||
|
2. Address Major issues for reliability and maintainability
|
||||||
|
3. Implement Minor issues for full standards compliance
|
||||||
|
4. Update meta-workflows to prevent future violations
|
||||||
|
|
||||||
|
**Estimated Effort:**
|
||||||
|
|
||||||
|
- Critical fixes: 2-3 hours
|
||||||
|
- Major fixes: 4-6 hours
|
||||||
|
- Minor fixes: 1-2 hours
|
||||||
|
|
@ -69,7 +69,7 @@ workflow-folder/
|
||||||
Standard variables in step files:
|
Standard variables in step files:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
workflow_path: '{project-root}/{bmad_folder}/bmb/reference/workflows/[workflow-name]'
|
workflow_path: '{project-root}/{*bmad_folder*}/bmb/reference/workflows/[workflow-name]'
|
||||||
thisStepFile: '{workflow_path}/steps/step-[N]-[name].md'
|
thisStepFile: '{workflow_path}/steps/step-[N]-[name].md'
|
||||||
nextStepFile: '{workflow_path}/steps/step-[N+1]-[name].md'
|
nextStepFile: '{workflow_path}/steps/step-[N+1]-[name].md'
|
||||||
workflowFile: '{workflow_path}/workflow.md'
|
workflowFile: '{workflow_path}/workflow.md'
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,7 @@ description: 'Initialize the [workflow-type] workflow by detecting continuation
|
||||||
|
|
||||||
<!-- Path Definitions -->
|
<!-- Path Definitions -->
|
||||||
|
|
||||||
workflow_path: '{project-root}/{bmad_folder}/[module-path]/workflows/[workflow-name]'
|
workflow*path: '{project-root}/{\_bmad_folder*}/[module-path]/workflows/[workflow-name]'
|
||||||
|
|
||||||
# File References (all use {variable} format in file)
|
# File References (all use {variable} format in file)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,7 @@ description: 'Handle workflow continuation from previous session'
|
||||||
|
|
||||||
<!-- Path Definitions -->
|
<!-- Path Definitions -->
|
||||||
|
|
||||||
workflow_path: '{project-root}/{bmad_folder}/[module-path]/workflows/[workflow-name]'
|
workflow*path: '{project-root}/{\_bmad_folder*}/[module-path]/workflows/[workflow-name]'
|
||||||
|
|
||||||
# File References (all use {variable} format in file)
|
# File References (all use {variable} format in file)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ name: "step-{{stepNumber}}-{{stepName}}"
|
||||||
description: "{{stepDescription}}"
|
description: "{{stepDescription}}"
|
||||||
|
|
||||||
# Path Definitions
|
# Path Definitions
|
||||||
workflow_path: "{project-root}/{bmad_folder}/{{targetModule}}/workflows/{{workflowName}}"
|
workflow_path: "{project-root}/{*bmad_folder*}/{{targetModule}}/workflows/{{workflowName}}"
|
||||||
|
|
||||||
# File References
|
# File References
|
||||||
thisStepFile: "{workflow_path}/steps/step-{{stepNumber}}-{{stepName}}.md"
|
thisStepFile: "{workflow_path}/steps/step-{{stepNumber}}-{{stepName}}.md"
|
||||||
|
|
@ -15,9 +15,9 @@ workflowFile: "{workflow_path}/workflow.md"
|
||||||
outputFile: "{output_folder}/{{outputFileName}}-{project_name}.md"
|
outputFile: "{output_folder}/{{outputFileName}}-{project_name}.md"
|
||||||
{{/hasOutput}}
|
{{/hasOutput}}
|
||||||
|
|
||||||
# Task References
|
# Task References (list only if used in THIS step file instance and only the ones used, there might be others)
|
||||||
advancedElicitationTask: "{project-root}/{bmad_folder}/core/tasks/advanced-elicitation.xml"
|
advancedElicitationTask: "{project-root}/{*bmad_folder*}/core/tasks/advanced-elicitation.xml"
|
||||||
partyModeWorkflow: "{project-root}/{bmad_folder}/core/workflows/party-mode/workflow.md"
|
partyModeWorkflow: "{project-root}/{*bmad_folder*}/core/workflows/party-mode/workflow.md"
|
||||||
|
|
||||||
{{#hasTemplates}}
|
{{#hasTemplates}}
|
||||||
# Template References
|
# Template References
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,7 @@ description: '[Brief description of what this step accomplishes]'
|
||||||
|
|
||||||
<!-- Path Definitions -->
|
<!-- Path Definitions -->
|
||||||
|
|
||||||
workflow_path: '{project-root}/{bmad_folder}/bmb/reference/workflows/[workflow-name]' # the folder the workflow.md file is in
|
workflow*path: '{project-root}/{\_bmad_folder*}/bmb/reference/workflows/[workflow-name]' # the folder the workflow.md file is in
|
||||||
|
|
||||||
# File References (all use {variable} format in file)
|
# File References (all use {variable} format in file)
|
||||||
|
|
||||||
|
|
@ -23,8 +23,8 @@ outputFile: '{output_folder}/[output-file-name]-{project_name}.md'
|
||||||
|
|
||||||
# Task References (IF THE workflow uses and it makes sense in this step to have these )
|
# Task References (IF THE workflow uses and it makes sense in this step to have these )
|
||||||
|
|
||||||
advancedElicitationTask: '{project-root}/{bmad_folder}/core/tasks/advanced-elicitation.xml'
|
advancedElicitationTask: '{project-root}/{_bmad_folder_}/core/tasks/advanced-elicitation.xml'
|
||||||
partyModeWorkflow: '{project-root}/{bmad_folder}/core/workflows/party-mode/workflow.md'
|
partyModeWorkflow: '{project-root}/{_bmad_folder_}/core/workflows/party-mode/workflow.md'
|
||||||
|
|
||||||
# Template References (if this step uses a specific templates)
|
# Template References (if this step uses a specific templates)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -53,7 +53,7 @@ web_bundle: [true/false] # Set to true for inclusion in web bundle builds
|
||||||
|
|
||||||
### 1. Module Configuration Loading
|
### 1. Module Configuration Loading
|
||||||
|
|
||||||
Load and read full config from {project-root}/{bmad_folder}/[MODULE FOLDER]/config.yaml and resolve:
|
Load and read full config from {project-root}/{_bmad_folder_}/[MODULE FOLDER]/config.yaml and resolve:
|
||||||
|
|
||||||
- `project_name`, `output_folder`, `user_name`, `communication_language`, `document_output_language`, [MODULE VARS]
|
- `project_name`, `output_folder`, `user_name`, `communication_language`, `document_output_language`, [MODULE VARS]
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -49,7 +49,7 @@ This uses **step-file architecture** for disciplined execution:
|
||||||
|
|
||||||
### 1. Configuration Loading
|
### 1. Configuration Loading
|
||||||
|
|
||||||
Load and read full config from {project-root}/{bmad_folder}/{{targetModule}}/config.yaml and resolve:
|
Load and read full config from {project-root}/{_bmad_folder_}/{{targetModule}}/config.yaml and resolve:
|
||||||
|
|
||||||
- `project_name`, `output_folder`, `user_name`, `communication_language`, `document_output_language`
|
- `project_name`, `output_folder`, `user_name`, `communication_language`, `document_output_language`
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -117,7 +117,7 @@ Load and follow {workflowTemplate}:
|
||||||
|
|
||||||
- Create workflow.md using template structure
|
- Create workflow.md using template structure
|
||||||
- Insert workflow name and description
|
- Insert workflow name and description
|
||||||
- Configure all path variables ({project-root}, {bmad_folder}, {workflow_path})
|
- Configure all path variables ({project-root}, {_bmad_folder_}, {workflow_path})
|
||||||
- Set web_bundle flag to true unless user has indicated otherwise
|
- Set web_bundle flag to true unless user has indicated otherwise
|
||||||
- Define role and goal
|
- Define role and goal
|
||||||
- Include initialization path to step-01
|
- Include initialization path to step-01
|
||||||
|
|
|
||||||
|
|
@ -132,10 +132,10 @@ For each deviation:
|
||||||
|
|
||||||
"**Initialization Validation:**"
|
"**Initialization Validation:**"
|
||||||
|
|
||||||
- Configuration Loading uses correct path format: `{project-root}/{bmad_folder}/[module]/config.yaml` (variable substitution pattern)
|
- Configuration Loading uses correct path format: `{project-root}/{*bmad_folder*}/[module]/config.yaml` (variable substitution pattern)
|
||||||
- First step follows pattern: `step-01-init.md` OR documented deviation
|
- First step follows pattern: `step-01-init.md` OR documented deviation
|
||||||
- Required config variables properly listed
|
- Required config variables properly listed
|
||||||
- Variables use proper substitution pattern: {project-root}, {bmad_folder}, {workflow_path}, etc.
|
- Variables use proper substitution pattern: {project-root}, {_bmad_folder_}, {workflow_path}, etc.
|
||||||
|
|
||||||
For violations:
|
For violations:
|
||||||
|
|
||||||
|
|
@ -198,7 +198,7 @@ Append to {complianceReportFile}:
|
||||||
|
|
||||||
"**Phase 1 Complete:** Workflow.md validation finished with detailed violation analysis.
|
"**Phase 1 Complete:** Workflow.md validation finished with detailed violation analysis.
|
||||||
|
|
||||||
**Ready for Phase 2:** Step-by-step validation against step-template.md
|
**Ready for Phase 3:** Step-by-step validation against step-template.md
|
||||||
|
|
||||||
This will check each step file for:
|
This will check each step file for:
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -138,8 +138,8 @@ Check for proper references:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
# Task References
|
# Task References
|
||||||
advancedElicitationTask: '{project-root}/{bmad_folder}/core/tasks/advanced-elicitation.xml'
|
advancedElicitationTask: '{project-root}/{*bmad_folder*}/core/tasks/advanced-elicitation.xml'
|
||||||
partyModeWorkflow: '{project-root}/{bmad_folder}/core/workflows/party-mode/workflow.md'
|
partyModeWorkflow: '{project-root}/{*bmad_folder*}/core/workflows/party-mode/workflow.md'
|
||||||
```
|
```
|
||||||
|
|
||||||
**Violations to document:**
|
**Violations to document:**
|
||||||
|
|
@ -186,7 +186,7 @@ For each step:
|
||||||
|
|
||||||
"**Path Variable Validation:**"
|
"**Path Variable Validation:**"
|
||||||
|
|
||||||
- Check format: `{project-root}/{bmad_folder}/bmb/...` vs `{project-root}/src/modules/bmb/...`
|
- Check format: `{project-root}/{*bmad_folder*}/bmb/...` vs `{project-root}/src/modules/bmb/...`
|
||||||
- Ensure consistent variable usage across all step files
|
- Ensure consistent variable usage across all step files
|
||||||
- Validate relative vs absolute path usage
|
- Validate relative vs absolute path usage
|
||||||
|
|
||||||
|
|
@ -232,13 +232,13 @@ For each step file with violations:
|
||||||
2. [Second most frequent]
|
2. [Second most frequent]
|
||||||
3. [Third most frequent]
|
3. [Third most frequent]
|
||||||
|
|
||||||
**Ready for Phase 3:** Holistic workflow analysis
|
**Ready for Phase 4:** File Validation workflow analysis
|
||||||
|
|
||||||
- Flow optimization assessment
|
- Flow optimization assessment
|
||||||
- Goal alignment verification
|
- Goal alignment verification
|
||||||
- Meta-workflow failure analysis
|
- Meta-workflow failure analysis
|
||||||
|
|
||||||
**Select an Option:** [C] Continue to Holistic Analysis [X] Exit"
|
**Select an Option:** [C] Continue to File Validation [X] Exit"
|
||||||
|
|
||||||
## Menu Handling Logic:
|
## Menu Handling Logic:
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -253,7 +253,7 @@ For each file with issues:
|
||||||
- **Formatting Standards:** [summary of markdown compliance issues]
|
- **Formatting Standards:** [summary of markdown compliance issues]
|
||||||
- **Data Validation:** [summary of CSV standards compliance]
|
- **Data Validation:** [summary of CSV standards compliance]
|
||||||
|
|
||||||
**Ready for Phase 5:** Holistic workflow analysis
|
**Ready for Phase 5:** Intent Spectrum Validation analysis
|
||||||
|
|
||||||
- Flow validation and goal alignment
|
- Flow validation and goal alignment
|
||||||
- Meta-workflow failure analysis
|
- Meta-workflow failure analysis
|
||||||
|
|
|
||||||
|
|
@ -222,7 +222,7 @@ Append to {complianceReportFile}:
|
||||||
- **User Understanding:** Confirmed implications and benefits
|
- **User Understanding:** Confirmed implications and benefits
|
||||||
- **Implementation Ready:** Guidance provided for maintaining position
|
- **Implementation Ready:** Guidance provided for maintaining position
|
||||||
|
|
||||||
**Ready for Phase 6:** Holistic workflow analysis
|
**Ready for Phase 6:** Web Subprocess Validation analysis
|
||||||
|
|
||||||
- Flow validation and completion paths
|
- Flow validation and completion paths
|
||||||
- Goal alignment and optimization assessment
|
- Goal alignment and optimization assessment
|
||||||
|
|
|
||||||
|
|
@ -315,7 +315,7 @@ Append to {complianceReportFile}:
|
||||||
- **Performance Impact:** [expected efficiency gains]
|
- **Performance Impact:** [expected efficiency gains]
|
||||||
- **User Experience Benefits:** [specific improvements]
|
- **User Experience Benefits:** [specific improvements]
|
||||||
|
|
||||||
**Ready for Phase 6:** Holistic workflow analysis
|
**Ready for Phase 7:** Holistic workflow analysis
|
||||||
|
|
||||||
- Flow validation and completion paths
|
- Flow validation and completion paths
|
||||||
- Goal alignment with optimized resources
|
- Goal alignment with optimized resources
|
||||||
|
|
|
||||||
|
|
@ -215,7 +215,7 @@ Evaluate workflow from user perspective:
|
||||||
- **Optimization Opportunities:** [number key improvements identified]
|
- **Optimization Opportunities:** [number key improvements identified]
|
||||||
- **Meta-Workflow Failures:** [number issues that should have been prevented]
|
- **Meta-Workflow Failures:** [number issues that should have been prevented]
|
||||||
|
|
||||||
**Ready for Phase 6:** Comprehensive compliance report generation
|
**Ready for Phase 8:** Comprehensive compliance report generation
|
||||||
|
|
||||||
- All findings compiled into structured report
|
- All findings compiled into structured report
|
||||||
- Severity-ranked violation list
|
- Severity-ranked violation list
|
||||||
|
|
|
||||||
|
|
@ -141,6 +141,11 @@ class Installer {
|
||||||
content = content.replaceAll('{bmad_folder}', bmadFolderName);
|
content = content.replaceAll('{bmad_folder}', bmadFolderName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Replace escape sequence {*bmad_folder*} with literal {bmad_folder}
|
||||||
|
if (content.includes('{*bmad_folder*}')) {
|
||||||
|
content = content.replaceAll('{*bmad_folder*}', '{bmad_folder}');
|
||||||
|
}
|
||||||
|
|
||||||
// Process AgentVibes injection points
|
// Process AgentVibes injection points
|
||||||
content = this.processTTSInjectionPoints(content);
|
content = this.processTTSInjectionPoints(content);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -536,6 +536,11 @@ class BaseIdeSetup {
|
||||||
if (typeof content === 'string' && content.includes('{bmad_folder}')) {
|
if (typeof content === 'string' && content.includes('{bmad_folder}')) {
|
||||||
content = content.replaceAll('{bmad_folder}', this.bmadFolderName);
|
content = content.replaceAll('{bmad_folder}', this.bmadFolderName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Replace escape sequence {*bmad_folder*} with literal {bmad_folder}
|
||||||
|
if (typeof content === 'string' && content.includes('{*bmad_folder*}')) {
|
||||||
|
content = content.replaceAll('{*bmad_folder*}', '{bmad_folder}');
|
||||||
|
}
|
||||||
await this.ensureDir(path.dirname(filePath));
|
await this.ensureDir(path.dirname(filePath));
|
||||||
await fs.writeFile(filePath, content, 'utf8');
|
await fs.writeFile(filePath, content, 'utf8');
|
||||||
}
|
}
|
||||||
|
|
@ -563,6 +568,11 @@ class BaseIdeSetup {
|
||||||
content = content.replaceAll('{bmad_folder}', this.bmadFolderName);
|
content = content.replaceAll('{bmad_folder}', this.bmadFolderName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Replace escape sequence {*bmad_folder*} with literal {bmad_folder}
|
||||||
|
if (content.includes('{*bmad_folder*}')) {
|
||||||
|
content = content.replaceAll('{*bmad_folder*}', '{bmad_folder}');
|
||||||
|
}
|
||||||
|
|
||||||
// Write to dest with replaced content
|
// Write to dest with replaced content
|
||||||
await fs.writeFile(dest, content, 'utf8');
|
await fs.writeFile(dest, content, 'utf8');
|
||||||
} catch {
|
} catch {
|
||||||
|
|
|
||||||
|
|
@ -149,6 +149,7 @@ ${contentWithoutFrontmatter}
|
||||||
// Note: {user_name} and other {config_values} are left as-is for runtime substitution by Gemini
|
// Note: {user_name} and other {config_values} are left as-is for runtime substitution by Gemini
|
||||||
const tomlContent = template
|
const tomlContent = template
|
||||||
.replaceAll('{{title}}', title)
|
.replaceAll('{{title}}', title)
|
||||||
|
.replaceAll('{{*bmad_folder*}}', '{bmad_folder}')
|
||||||
.replaceAll('{{bmad_folder}}', this.bmadFolderName)
|
.replaceAll('{{bmad_folder}}', this.bmadFolderName)
|
||||||
.replaceAll('{{module}}', agent.module)
|
.replaceAll('{{module}}', agent.module)
|
||||||
.replaceAll('{{name}}', agent.name);
|
.replaceAll('{{name}}', agent.name);
|
||||||
|
|
@ -170,6 +171,7 @@ ${contentWithoutFrontmatter}
|
||||||
// Replace template variables
|
// Replace template variables
|
||||||
const tomlContent = template
|
const tomlContent = template
|
||||||
.replaceAll('{{taskName}}', taskName)
|
.replaceAll('{{taskName}}', taskName)
|
||||||
|
.replaceAll('{{*bmad_folder*}}', '{bmad_folder}')
|
||||||
.replaceAll('{{bmad_folder}}', this.bmadFolderName)
|
.replaceAll('{{bmad_folder}}', this.bmadFolderName)
|
||||||
.replaceAll('{{module}}', task.module)
|
.replaceAll('{{module}}', task.module)
|
||||||
.replaceAll('{{filename}}', task.filename);
|
.replaceAll('{{filename}}', task.filename);
|
||||||
|
|
|
||||||
|
|
@ -60,7 +60,8 @@ class AgentCommandGenerator {
|
||||||
.replaceAll('{{name}}', agent.name)
|
.replaceAll('{{name}}', agent.name)
|
||||||
.replaceAll('{{module}}', agent.module)
|
.replaceAll('{{module}}', agent.module)
|
||||||
.replaceAll('{{description}}', agent.description || `${agent.name} agent`)
|
.replaceAll('{{description}}', agent.description || `${agent.name} agent`)
|
||||||
.replaceAll('{bmad_folder}', this.bmadFolderName);
|
.replaceAll('{bmad_folder}', this.bmadFolderName)
|
||||||
|
.replaceAll('{*bmad_folder*}', '{bmad_folder}');
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -127,6 +127,7 @@ class WorkflowCommandGenerator {
|
||||||
.replaceAll('{{description}}', workflow.description)
|
.replaceAll('{{description}}', workflow.description)
|
||||||
.replaceAll('{{workflow_path}}', workflowPath)
|
.replaceAll('{{workflow_path}}', workflowPath)
|
||||||
.replaceAll('{bmad_folder}', this.bmadFolderName)
|
.replaceAll('{bmad_folder}', this.bmadFolderName)
|
||||||
|
.replaceAll('{*bmad_folder*}', '{bmad_folder}')
|
||||||
.replaceAll('{{interactive}}', workflow.interactive)
|
.replaceAll('{{interactive}}', workflow.interactive)
|
||||||
.replaceAll('{{author}}', workflow.author || 'BMAD');
|
.replaceAll('{{author}}', workflow.author || 'BMAD');
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -53,6 +53,11 @@ class ModuleManager {
|
||||||
// Read the file content
|
// Read the file content
|
||||||
let content = await fs.readFile(sourcePath, 'utf8');
|
let content = await fs.readFile(sourcePath, 'utf8');
|
||||||
|
|
||||||
|
// Replace escape sequence {*bmad_folder*} with literal {bmad_folder}
|
||||||
|
if (content.includes('{*bmad_folder*}')) {
|
||||||
|
content = content.replaceAll('{*bmad_folder*}', '{bmad_folder}');
|
||||||
|
}
|
||||||
|
|
||||||
// Replace {bmad_folder} placeholder with actual folder name
|
// Replace {bmad_folder} placeholder with actual folder name
|
||||||
if (content.includes('{bmad_folder}')) {
|
if (content.includes('{bmad_folder}')) {
|
||||||
content = content.replaceAll('{bmad_folder}', this.bmadFolderName);
|
content = content.replaceAll('{bmad_folder}', this.bmadFolderName);
|
||||||
|
|
@ -396,8 +401,9 @@ class ModuleManager {
|
||||||
// Read the source YAML file
|
// Read the source YAML file
|
||||||
let yamlContent = await fs.readFile(sourceFile, 'utf8');
|
let yamlContent = await fs.readFile(sourceFile, 'utf8');
|
||||||
|
|
||||||
// IMPORTANT: Replace {bmad_folder} BEFORE parsing YAML
|
// IMPORTANT: Replace escape sequence and placeholder BEFORE parsing YAML
|
||||||
// Otherwise parsing will fail on the placeholder
|
// Otherwise parsing will fail on the placeholder
|
||||||
|
yamlContent = yamlContent.replaceAll('{*bmad_folder*}', '{bmad_folder}');
|
||||||
yamlContent = yamlContent.replaceAll('{bmad_folder}', this.bmadFolderName);
|
yamlContent = yamlContent.replaceAll('{bmad_folder}', this.bmadFolderName);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue