diff --git a/src/modules/bmm/workflows/4-implementation/code-review/workflow.yaml b/src/modules/bmm/workflows/4-implementation/code-review/workflow.yaml index db51becc..9e66b932 100644 --- a/src/modules/bmm/workflows/4-implementation/code-review/workflow.yaml +++ b/src/modules/bmm/workflows/4-implementation/code-review/workflow.yaml @@ -10,9 +10,10 @@ communication_language: "{config_source}:communication_language" user_skill_level: "{config_source}:user_skill_level" document_output_language: "{config_source}:document_output_language" date: system-generated +planning_artifacts: "{config_source}:planning_artifacts" implementation_artifacts: "{config_source}:implementation_artifacts" output_folder: "{implementation_artifacts}" -sprint_status: "{implementation_artifacts}/sprint-status.yaml || {output_folder}/sprint-status.yaml" +sprint_status: "{implementation_artifacts}/sprint-status.yaml" # Workflow components installed_path: "{project-root}/_bmad/bmm/workflows/4-implementation/code-review" @@ -31,24 +32,20 @@ variables: input_file_patterns: architecture: description: "System architecture for review context" - whole: "{output_folder}/*architecture*.md" - sharded: "{output_folder}/*architecture*/*.md" + whole: "{planning_artifacts}/*architecture*.md" + sharded: "{planning_artifacts}/*architecture*/*.md" load_strategy: "FULL_LOAD" ux_design: description: "UX design specification (if UI review)" - whole: "{output_folder}/*ux*.md" - sharded: "{output_folder}/*ux*/*.md" + whole: "{planning_artifacts}/*ux*.md" + sharded: "{planning_artifacts}/*ux*/*.md" load_strategy: "FULL_LOAD" epics: description: "Epic containing story being reviewed" - whole: "{output_folder}/*epic*.md" - sharded_index: "{output_folder}/*epic*/index.md" - sharded_single: "{output_folder}/*epic*/epic-{{epic_num}}.md" + whole: "{planning_artifacts}/*epic*.md" + sharded_index: "{planning_artifacts}/*epic*/index.md" + sharded_single: "{planning_artifacts}/*epic*/epic-{{epic_num}}.md" load_strategy: "SELECTIVE_LOAD" - document_project: - description: "Brownfield project documentation (optional)" - sharded: "{output_folder}/index.md" - load_strategy: "INDEX_GUIDED" standalone: true web_bundle: false diff --git a/src/modules/bmm/workflows/4-implementation/create-story/workflow.yaml b/src/modules/bmm/workflows/4-implementation/create-story/workflow.yaml index f4470a6a..e79a7f97 100644 --- a/src/modules/bmm/workflows/4-implementation/create-story/workflow.yaml +++ b/src/modules/bmm/workflows/4-implementation/create-story/workflow.yaml @@ -7,6 +7,7 @@ config_source: "{project-root}/_bmad/bmm/config.yaml" user_name: "{config_source}:user_name" communication_language: "{config_source}:communication_language" date: system-generated +planning_artifacts: "{config_source}:planning_artifacts" implementation_artifacts: "{config_source}:implementation_artifacts" output_folder: "{implementation_artifacts}" story_dir: "{implementation_artifacts}" @@ -20,10 +21,10 @@ validation: "{installed_path}/checklist.md" # Variables and inputs variables: sprint_status: "{implementation_artifacts}/sprint-status.yaml || {output_folder}/sprint-status.yaml" # Primary source for story tracking - epics_file: "{output_folder}/epics.md" # Enhanced epics+stories with BDD and source hints - prd_file: "{output_folder}/PRD.md" # Fallback for requirements (if not in epics file) + epics_file: "{planning_artifacts}/epics.md" # Enhanced epics+stories with BDD and source hints + prd_file: "{planning_artifacts}/prd.md" # Fallback for requirements (if not in epics file) architecture_file: "{planning_artifacts}/architecture.md" # Fallback for constraints (if not in epics file) - ux_file: "{output_folder}/ux.md" # Fallback for UX requirements (if not in epics file) + ux_file: "{planning_artifacts}/*ux*.md" # Fallback for UX requirements (if not in epics file) story_title: "" # Will be elicited if not derivable # Project context @@ -36,23 +37,23 @@ default_output_file: "{story_dir}/{{story_key}}.md" input_file_patterns: prd: description: "PRD (fallback - epics file should have most content)" - whole: "{output_folder}/*prd*.md" - sharded: "{output_folder}/*prd*/*.md" + whole: "{planning_artifacts}/*prd*.md" + sharded: "{planning_artifacts}/*prd*/*.md" load_strategy: "SELECTIVE_LOAD" # Only load if needed architecture: description: "Architecture (fallback - epics file should have relevant sections)" - whole: "{output_folder}/*architecture*.md" - sharded: "{output_folder}/*architecture*/*.md" + whole: "{planning_artifacts}/*architecture*.md" + sharded: "{planning_artifacts}/*architecture*/*.md" load_strategy: "SELECTIVE_LOAD" # Only load if needed ux: description: "UX design (fallback - epics file should have relevant sections)" - whole: "{output_folder}/*ux*.md" - sharded: "{output_folder}/*ux*/*.md" + whole: "{planning_artifacts}/*ux*.md" + sharded: "{planning_artifacts}/*ux*/*.md" load_strategy: "SELECTIVE_LOAD" # Only load if needed epics: description: "Enhanced epics+stories file with BDD and source hints" - whole: "{output_folder}/*epic*.md" - sharded: "{output_folder}/*epic*/*.md" + whole: "{planning_artifacts}/*epic*.md" + sharded: "{planning_artifacts}/*epic*/*.md" load_strategy: "SELECTIVE_LOAD" # Only load needed epic standalone: true diff --git a/src/modules/bmm/workflows/4-implementation/retrospective/instructions.md b/src/modules/bmm/workflows/4-implementation/retrospective/instructions.md index 70b1ae80..01750312 100644 --- a/src/modules/bmm/workflows/4-implementation/retrospective/instructions.md +++ b/src/modules/bmm/workflows/4-implementation/retrospective/instructions.md @@ -365,16 +365,16 @@ Alice (Product Owner): "Good thinking - helps us connect what we learned to what Attempt to load next epic using selective loading strategy: **Try sharded first (more specific):** -Check if file exists: {output_folder}/epic\*/epic-{{next_epic_num}}.md +Check if file exists: {planning_artifacts}/epic\*/epic-{{next_epic_num}}.md - Load {output_folder}/*epic*/epic-{{next_epic_num}}.md + Load {planning_artifacts}/*epic*/epic-{{next_epic_num}}.md Set {{next_epic_source}} = "sharded" **Fallback to whole document:** -Check if file exists: {output_folder}/epic\*.md +Check if file exists: {planning_artifacts}/epic\*.md Load entire epics document diff --git a/src/modules/bmm/workflows/4-implementation/retrospective/workflow.yaml b/src/modules/bmm/workflows/4-implementation/retrospective/workflow.yaml index 9be242e7..80d934b2 100644 --- a/src/modules/bmm/workflows/4-implementation/retrospective/workflow.yaml +++ b/src/modules/bmm/workflows/4-implementation/retrospective/workflow.yaml @@ -4,12 +4,13 @@ description: "Run after epic completion to review overall success, extract lesso author: "BMad" config_source: "{project-root}/_bmad/bmm/config.yaml" -output_folder: "{config_source}:output_folder" +output_folder: "{config_source}:implementation_artifacts}" user_name: "{config_source}:user_name" communication_language: "{config_source}:communication_language" user_skill_level: "{config_source}:user_skill_level" document_output_language: "{config_source}:document_output_language" date: system-generated +planning_artifacts: "{config_source}:planning_artifacts" implementation_artifacts: "{config_source}:implementation_artifacts" installed_path: "{project-root}/_bmad/bmm/workflows/4-implementation/retrospective" @@ -25,9 +26,9 @@ required_inputs: input_file_patterns: epics: description: "The completed epic for retrospective" - whole: "{output_folder}/*epic*.md" - sharded_index: "{output_folder}/*epic*/index.md" - sharded_single: "{output_folder}/*epic*/epic-{{epic_num}}.md" + whole: "{planning_artifacts}/*epic*.md" + sharded_index: "{planning_artifacts}/*epic*/index.md" + sharded_single: "{planning_artifacts}/*epic*/epic-{{epic_num}}.md" load_strategy: "SELECTIVE_LOAD" previous_retrospective: description: "Previous epic's retrospective (optional)" @@ -35,21 +36,21 @@ input_file_patterns: load_strategy: "SELECTIVE_LOAD" architecture: description: "System architecture for context" - whole: "{output_folder}/*architecture*.md" - sharded: "{output_folder}/*architecture*/*.md" + whole: "{planning_artifacts}/*architecture*.md" + sharded: "{planning_artifacts}/*architecture*/*.md" load_strategy: "FULL_LOAD" prd: description: "Product requirements for context" - whole: "{output_folder}/*prd*.md" - sharded: "{output_folder}/*prd*/*.md" + whole: "{planning_artifacts}/*prd*.md" + sharded: "{planning_artifacts}/*prd*/*.md" load_strategy: "FULL_LOAD" document_project: description: "Brownfield project documentation (optional)" - sharded: "{output_folder}/*.md" + sharded: "{planning_artifacts}/*.md" load_strategy: "INDEX_GUIDED" # Required files -sprint_status_file: "{implementation_artifacts}/sprint-status.yaml || {output_folder}/sprint-status.yaml" +sprint_status_file: "{implementation_artifacts}/sprint-status.yaml" story_directory: "{implementation_artifacts}" retrospectives_folder: "{implementation_artifacts}" diff --git a/src/modules/bmm/workflows/workflow-status/init/instructions.md b/src/modules/bmm/workflows/workflow-status/init/instructions.md index 51c1b6de..eeee90d9 100644 --- a/src/modules/bmm/workflows/workflow-status/init/instructions.md +++ b/src/modules/bmm/workflows/workflow-status/init/instructions.md @@ -15,8 +15,8 @@ - BMM artifacts: PRD, epics, architecture, UX, brief, research, brainstorm - Implementation: stories, sprint-status, workflow-status - Codebase: source directories, package files, git repo -- Check both {output_folder} and {implementation_artifacts} locations - +- Check both {planning_artifacts} and {implementation_artifacts} locations + Categorize into one of these states: @@ -25,7 +25,7 @@ - ACTIVE: Has stories or sprint status - LEGACY: Has code but no BMM artifacts - UNCLEAR: Mixed state needs clarification - + What's your project called? {{#if project_name}}(Config shows: {{project_name}}){{/if}} Store project_name @@ -68,7 +68,7 @@ Choice [1-4] Archive existing work? (y/n) - Move artifacts to {output_folder}/archive/ + Move artifacts to {planning_artifacts}/archive/ Ready for fresh start! Continue to step 3 @@ -323,10 +323,10 @@ Choice: Generate YAML from template with all variables - Save to {output_folder}/bmm-workflow-status.yaml + Save to {planning_artifacts}/bmm-workflow-status.yaml Identify next workflow and agent -✅ **Created:** {output_folder}/bmm-workflow-status.yaml +✅ **Created:** {planning_artifacts}/bmm-workflow-status.yaml **Next:** {{next_workflow_name}} **Agent:** {{next_agent}} diff --git a/src/modules/bmm/workflows/workflow-status/init/workflow.yaml b/src/modules/bmm/workflows/workflow-status/init/workflow.yaml index 63fe168c..5e1c7618 100644 --- a/src/modules/bmm/workflows/workflow-status/init/workflow.yaml +++ b/src/modules/bmm/workflows/workflow-status/init/workflow.yaml @@ -7,6 +7,7 @@ author: "BMad" config_source: "{project-root}/_bmad/bmm/config.yaml" output_folder: "{config_source}:output_folder" implementation_artifacts: "{config_source}:implementation_artifacts" +planning_artifacts: "{config_source}:planning_artifacts" user_name: "{config_source}:user_name" project_name: "{config_source}:project_name" communication_language: "{config_source}:communication_language" @@ -23,7 +24,7 @@ template: "{project-root}/_bmad/bmm/workflows/workflow-status/workflow-status-te path_files: "{project-root}/_bmad/bmm/workflows/workflow-status/paths/" # Output configuration -default_output_file: "{output_folder}/bmm-workflow-status.yaml" +default_output_file: "{planning_artifacts}/bmm-workflow-status.yaml" standalone: true web_bundle: false diff --git a/src/modules/bmm/workflows/workflow-status/instructions.md b/src/modules/bmm/workflows/workflow-status/instructions.md index 9c5b7723..5f816aa6 100644 --- a/src/modules/bmm/workflows/workflow-status/instructions.md +++ b/src/modules/bmm/workflows/workflow-status/instructions.md @@ -34,7 +34,7 @@ -Search {output_folder}/ for file: bmm-workflow-status.yaml +Search {planning_artifacts}/ for file: bmm-workflow-status.yaml No workflow status found. @@ -343,11 +343,11 @@ Your choice: Get {{workflow_id}} parameter (required) - Get {{output_file}} parameter (required - path to created file) + Get {{default_output_file}} parameter (required - path to created file) ONLY write the file path as the status value - no other text, notes, or metadata Update workflow status in YAML: - - In workflow_status section, update: {{workflow_id}}: {{output_file}} + - In workflow_status section, update: {{workflow_id}}: {{default_output_file}} Find {{workflow_id}} in loaded path YAML Determine next workflow from path sequence @@ -359,7 +359,7 @@ Your choice: next_workflow = {{determined next workflow}} next_agent = {{determined next agent from path file}} completed_workflow = {{workflow_id}} - output_file = {{output_file}} + default_output_file = {{default_output_file}}