diff --git a/src/bmm/workflows/4-implementation/code-review/workflow.md b/src/bmm/workflows/4-implementation/code-review/workflow.md index c4d9a84e3..3af1a9c37 100644 --- a/src/bmm/workflows/4-implementation/code-review/workflow.md +++ b/src/bmm/workflows/4-implementation/code-review/workflow.md @@ -3,6 +3,22 @@ name: code-review description: "Perform an adversarial senior developer code review with concrete findings across quality, tests, architecture, security, and performance" main_config: '{project-root}/_bmad/bmm/config.yaml' web_bundle: false +input_file_patterns: + architecture: + description: "System architecture for review context" + whole: "{planning_artifacts}/*architecture*.md" + sharded: "{planning_artifacts}/*architecture*/*.md" + load_strategy: "FULL_LOAD" + ux_design: + description: "UX design specification (if UI review)" + whole: "{planning_artifacts}/*ux*.md" + sharded: "{planning_artifacts}/*ux*/*.md" + load_strategy: "FULL_LOAD" + epics: + description: "Epic and story requirements for review context" + whole: "{planning_artifacts}/*epic*.md" + sharded: "{planning_artifacts}/*epic*/*.md" + load_strategy: "FULL_LOAD" --- # Code Review Workflow diff --git a/src/bmm/workflows/4-implementation/correct-course/workflow.md b/src/bmm/workflows/4-implementation/correct-course/workflow.md index caf77108c..4a07ac6b2 100644 --- a/src/bmm/workflows/4-implementation/correct-course/workflow.md +++ b/src/bmm/workflows/4-implementation/correct-course/workflow.md @@ -3,6 +3,35 @@ name: correct-course description: "Navigate significant changes during sprint execution by analyzing impact, proposing solutions, and routing for implementation" main_config: '{project-root}/_bmad/bmm/config.yaml' web_bundle: false +input_file_patterns: + prd: + description: "Product requirements for impact analysis" + whole: "{planning_artifacts}/*prd*.md" + sharded: "{planning_artifacts}/*prd*/*.md" + load_strategy: "FULL_LOAD" + epics: + description: "All epics to analyze change impact" + whole: "{planning_artifacts}/*epic*.md" + sharded: "{planning_artifacts}/*epic*/*.md" + load_strategy: "FULL_LOAD" + architecture: + description: "System architecture and decisions" + whole: "{planning_artifacts}/*architecture*.md" + sharded: "{planning_artifacts}/*architecture*/*.md" + load_strategy: "FULL_LOAD" + ux_design: + description: "UX design specification (if UI impacts)" + whole: "{planning_artifacts}/*ux*.md" + sharded: "{planning_artifacts}/*ux*/*.md" + load_strategy: "FULL_LOAD" + tech_spec: + description: "Technical specification" + whole: "{planning_artifacts}/*tech-spec*.md" + load_strategy: "FULL_LOAD" + document_project: + description: "Brownfield project documentation (optional)" + sharded: "{project_knowledge}/index.md" + load_strategy: "INDEX_GUIDED" --- ## Initialization diff --git a/src/bmm/workflows/4-implementation/create-story/workflow.md b/src/bmm/workflows/4-implementation/create-story/workflow.md index 7a33d9b1c..abcc2ebe5 100644 --- a/src/bmm/workflows/4-implementation/create-story/workflow.md +++ b/src/bmm/workflows/4-implementation/create-story/workflow.md @@ -3,6 +3,28 @@ name: create-story description: "Create the next user story from epics+stories with enhanced context analysis and direct ready-for-dev marking" main_config: '{project-root}/_bmad/bmm/config.yaml' web_bundle: false +input_file_patterns: + prd: + description: "PRD (fallback - epics file should have most content)" + whole: "{planning_artifacts}/*prd*.md" + sharded: "{planning_artifacts}/*prd*/*.md" + load_strategy: "SELECTIVE_LOAD" + architecture: + description: "Architecture (fallback - epics file should have relevant sections)" + whole: "{planning_artifacts}/*architecture*.md" + sharded: "{planning_artifacts}/*architecture*/*.md" + load_strategy: "SELECTIVE_LOAD" + ux: + description: "UX design (fallback - epics file should have relevant sections)" + whole: "{planning_artifacts}/*ux*.md" + sharded: "{planning_artifacts}/*ux*/*.md" + load_strategy: "SELECTIVE_LOAD" + epics: + description: "Enhanced epics+stories file with BDD and source hints" + 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" --- ## Initialization diff --git a/src/bmm/workflows/4-implementation/retrospective/workflow.md b/src/bmm/workflows/4-implementation/retrospective/workflow.md index 4c66c8c38..35c7d6250 100644 --- a/src/bmm/workflows/4-implementation/retrospective/workflow.md +++ b/src/bmm/workflows/4-implementation/retrospective/workflow.md @@ -3,6 +3,32 @@ name: retrospective description: "Run after epic completion to review overall success, extract lessons learned, and surface impact on upcoming work" main_config: '{project-root}/_bmad/bmm/config.yaml' web_bundle: false +agent_manifest: '{project-root}/_bmad/_config/agent-manifest.csv' +input_file_patterns: + epics: + description: "The completed epic for retrospective" + 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)" + pattern: "{implementation_artifacts}/**/epic-{{prev_epic_num}}-retro-*.md" + load_strategy: "SELECTIVE_LOAD" + architecture: + description: "System architecture for context" + whole: "{planning_artifacts}/*architecture*.md" + sharded: "{planning_artifacts}/*architecture*/*.md" + load_strategy: "FULL_LOAD" + prd: + description: "Product requirements for context" + whole: "{planning_artifacts}/*prd*.md" + sharded: "{planning_artifacts}/*prd*/*.md" + load_strategy: "FULL_LOAD" + document_project: + description: "Brownfield project documentation (optional)" + sharded: "{planning_artifacts}/*.md" + load_strategy: "INDEX_GUIDED" --- ## Initialization @@ -14,6 +40,7 @@ web_bundle: false - `user_skill_level` - `planning_artifacts` - `implementation_artifacts` + - `agent_manifest` = `{project-root}/_bmad/_config/agent-manifest.csv` - `sprint_status_file` = `{implementation_artifacts}/sprint-status.yaml` - `story_directory` = `{implementation_artifacts}` - `retrospectives_folder` = `{implementation_artifacts}` diff --git a/src/bmm/workflows/4-implementation/sprint-planning/workflow.md b/src/bmm/workflows/4-implementation/sprint-planning/workflow.md index ee0b86b3e..9b79e8a7a 100644 --- a/src/bmm/workflows/4-implementation/sprint-planning/workflow.md +++ b/src/bmm/workflows/4-implementation/sprint-planning/workflow.md @@ -3,6 +3,14 @@ name: sprint-planning description: "Generate and manage the sprint status tracking file for Phase 4 implementation, extracting all epics and stories from epic files and tracking their status through the development lifecycle" main_config: '{project-root}/_bmad/bmm/config.yaml' web_bundle: false +epics_location: "{planning_artifacts}" +epics_pattern: "epic*.md" +input_file_patterns: + epics: + description: "All epics with user stories" + whole: "{epics_location}/{epics_pattern}" + sharded: "{epics_location}/epic*/*.md" + load_strategy: "FULL_LOAD" --- ## Initialization @@ -14,6 +22,8 @@ web_bundle: false - `planning_artifacts` - `project_name` - `date` (system-generated) + - `epics_location` = `{planning_artifacts}` + - `epics_pattern` = `epic*.md` - `installed_path` = `{project-root}/_bmad/bmm/workflows/4-implementation/sprint-planning` - `status_file` = `{implementation_artifacts}/sprint-status.yaml` - `default_output_file` = `{status_file}` diff --git a/src/core/workflows/advanced-elicitation/workflow.md b/src/core/workflows/advanced-elicitation/workflow.md index aaf5aa018..8ba3fca2e 100644 --- a/src/core/workflows/advanced-elicitation/workflow.md +++ b/src/core/workflows/advanced-elicitation/workflow.md @@ -28,7 +28,7 @@ When called during template workflow processing: - Load and read {{methods}} and {{agent-party}} + Load and read {{methods}} and {{agent_manifest}} category: Method grouping (core, structural, risk, etc.) diff --git a/test/test-file-refs-csv.js b/test/test-file-refs-csv.js index d068bd75d..2da8b1aad 100644 --- a/test/test-file-refs-csv.js +++ b/test/test-file-refs-csv.js @@ -58,6 +58,7 @@ test('bmm-style.csv: extracts workflow-file refs with trailing commas', () => { const { fullPath, content } = loadFixture('valid/bmm-style.csv'); const refs = extractCsvRefs(fullPath, content); assert(refs.length === 2, `Expected 2 refs, got ${refs.length}`); + // Keep this legacy .yaml reference to verify backward-compatible CSV parsing. assert(refs[0].raw === '_bmad/bmm/workflows/document-project/workflow.yaml', `Wrong raw[0]: ${refs[0].raw}`); assert(refs[1].raw === '_bmad/core/workflows/brainstorming/workflow.md', `Wrong raw[1]: ${refs[1].raw}`); assert(refs[0].type === 'project-root', `Wrong type: ${refs[0].type}`);