Compare commits
3 Commits
f8e345963f
...
0bdf0e1c9a
| Author | SHA1 | Date |
|---|---|---|
|
|
0bdf0e1c9a | |
|
|
05ddc2d29b | |
|
|
c748f0f6cc |
|
|
@ -161,7 +161,7 @@ Production workflows inherit from BMM and add game-specific overrides.
|
||||||
**Command:** `sprint-planning`
|
**Command:** `sprint-planning`
|
||||||
**Agent:** Game Scrum Master
|
**Agent:** Game Scrum Master
|
||||||
**Input:** GDD with epics
|
**Input:** GDD with epics
|
||||||
**Output:** `{output_folder}/sprint-status.yaml`
|
**Output:** `{implementation_artifacts}/sprint-status.yaml`
|
||||||
|
|
||||||
**Description:**
|
**Description:**
|
||||||
Generates or updates sprint tracking from epic files. Sets up the sprint backlog and tracking.
|
Generates or updates sprint tracking from epic files. Sets up the sprint backlog and tracking.
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@ user_skill_level: "{config_source}:user_skill_level"
|
||||||
document_output_language: "{config_source}:document_output_language"
|
document_output_language: "{config_source}:document_output_language"
|
||||||
date: system-generated
|
date: system-generated
|
||||||
implementation_artifacts: "{config_source}:implementation_artifacts"
|
implementation_artifacts: "{config_source}:implementation_artifacts"
|
||||||
sprint_status: "{implementation_artifacts}/sprint-status.yaml || {output_folder}/sprint-status.yaml"
|
sprint_status: "{implementation_artifacts}/sprint-status.yaml"
|
||||||
|
|
||||||
# Workflow components
|
# Workflow components
|
||||||
installed_path: "{project-root}/_bmad/bmgd/workflows/4-production/code-review"
|
installed_path: "{project-root}/_bmad/bmgd/workflows/4-production/code-review"
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,7 @@ user_skill_level: "{config_source}:user_skill_level"
|
||||||
document_output_language: "{config_source}:document_output_language"
|
document_output_language: "{config_source}:document_output_language"
|
||||||
date: system-generated
|
date: system-generated
|
||||||
implementation_artifacts: "{config_source}:implementation_artifacts"
|
implementation_artifacts: "{config_source}:implementation_artifacts"
|
||||||
sprint_status: "{implementation_artifacts}/sprint-status.yaml || {output_folder}/sprint-status.yaml"
|
sprint_status: "{implementation_artifacts}/sprint-status.yaml"
|
||||||
|
|
||||||
# Smart input file references - handles both whole docs and sharded docs
|
# Smart input file references - handles both whole docs and sharded docs
|
||||||
# Priority: Whole document first, then sharded version
|
# Priority: Whole document first, then sharded version
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,7 @@ validation: "{installed_path}/checklist.md"
|
||||||
|
|
||||||
# Variables and inputs
|
# Variables and inputs
|
||||||
variables:
|
variables:
|
||||||
sprint_status: "{implementation_artifacts}/sprint-status.yaml || {output_folder}/sprint-status.yaml" # Primary source for story tracking
|
sprint_status: "{implementation_artifacts}/sprint-status.yaml || {implementation_artifacts}/sprint-status.yaml" # Primary source for story tracking
|
||||||
epics_file: "{output_folder}/epics.md" # Preferred source for epic/story breakdown
|
epics_file: "{output_folder}/epics.md" # Preferred source for epic/story breakdown
|
||||||
prd_file: "{output_folder}/PRD.md" # Fallback for requirements
|
prd_file: "{output_folder}/PRD.md" # Fallback for requirements
|
||||||
architecture_file: "{planning_artifacts}/architecture.md" # Optional architecture context
|
architecture_file: "{planning_artifacts}/architecture.md" # Optional architecture context
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@ story_file: "" # Explicit story path; auto-discovered if empty
|
||||||
# Context file uses same story_key as story file (e.g., "1-2-user-authentication.context.xml")
|
# Context file uses same story_key as story file (e.g., "1-2-user-authentication.context.xml")
|
||||||
context_file: "{story_dir}/{{story_key}}.context.xml"
|
context_file: "{story_dir}/{{story_key}}.context.xml"
|
||||||
implementation_artifacts: "{config_source}:implementation_artifacts"
|
implementation_artifacts: "{config_source}:implementation_artifacts"
|
||||||
sprint_status: "{implementation_artifacts}/sprint-status.yaml || {output_folder}/sprint-status.yaml"
|
sprint_status: "{implementation_artifacts}/sprint-status.yaml || {implementation_artifacts}/sprint-status.yaml"
|
||||||
|
|
||||||
# Smart input file references - handles both whole docs and sharded docs
|
# Smart input file references - handles both whole docs and sharded docs
|
||||||
# Priority: Whole document first, then sharded version
|
# Priority: Whole document first, then sharded version
|
||||||
|
|
|
||||||
|
|
@ -54,7 +54,7 @@ input_file_patterns:
|
||||||
load_strategy: "INDEX_GUIDED"
|
load_strategy: "INDEX_GUIDED"
|
||||||
|
|
||||||
# Required files
|
# Required files
|
||||||
sprint_status_file: "{implementation_artifacts}/sprint-status.yaml || {output_folder}/sprint-status.yaml"
|
sprint_status_file: "{implementation_artifacts}/sprint-status.yaml || {implementation_artifacts}/sprint-status.yaml"
|
||||||
story_directory: "{implementation_artifacts}"
|
story_directory: "{implementation_artifacts}"
|
||||||
retrospectives_folder: "{implementation_artifacts}"
|
retrospectives_folder: "{implementation_artifacts}"
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -18,14 +18,14 @@ instructions: "{installed_path}/instructions.md"
|
||||||
|
|
||||||
# Inputs
|
# Inputs
|
||||||
variables:
|
variables:
|
||||||
sprint_status_file: "{implementation_artifacts}/sprint-status.yaml || {output_folder}/sprint-status.yaml"
|
sprint_status_file: "{implementation_artifacts}/sprint-status.yaml || {implementation_artifacts}/sprint-status.yaml"
|
||||||
tracking_system: "file-system"
|
tracking_system: "file-system"
|
||||||
|
|
||||||
# Smart input file references
|
# Smart input file references
|
||||||
input_file_patterns:
|
input_file_patterns:
|
||||||
sprint_status:
|
sprint_status:
|
||||||
description: "Sprint status file generated by sprint-planning"
|
description: "Sprint status file generated by sprint-planning"
|
||||||
whole: "{implementation_artifacts}/sprint-status.yaml || {output_folder}/sprint-status.yaml"
|
whole: "{implementation_artifacts}/sprint-status.yaml || {implementation_artifacts}/sprint-status.yaml"
|
||||||
load_strategy: "FULL_LOAD"
|
load_strategy: "FULL_LOAD"
|
||||||
|
|
||||||
# Standalone so IDE commands get generated
|
# Standalone so IDE commands get generated
|
||||||
|
|
|
||||||
|
|
@ -20,12 +20,12 @@ agent:
|
||||||
- Never implement anything not mapped to a specific task/subtask in the story file
|
- Never implement anything not mapped to a specific task/subtask in the story file
|
||||||
- All existing tests must pass 100% before story is ready for review
|
- All existing tests must pass 100% before story is ready for review
|
||||||
- Every task/subtask must be covered by comprehensive unit tests before marking complete
|
- Every task/subtask must be covered by comprehensive unit tests before marking complete
|
||||||
- Project context provides coding standards but never overrides story requirements
|
- Follow project-context.md guidance; when conflicts exist, story requirements take precedence
|
||||||
- Find if this exists, if it does, always treat it as the bible I plan and execute against: `**/project-context.md`
|
- Find and load `**/project-context.md` if it exists - essential reference for implementation
|
||||||
|
|
||||||
critical_actions:
|
critical_actions:
|
||||||
- "READ the entire story file BEFORE any implementation - tasks/subtasks sequence is your authoritative implementation guide"
|
- "READ the entire story file BEFORE any implementation - tasks/subtasks sequence is your authoritative implementation guide"
|
||||||
- "Load project-context.md if available for coding standards only - never let it override story requirements"
|
- "Load project-context.md if available and follow its guidance - when conflicts exist, story requirements always take precedence"
|
||||||
- "Execute tasks/subtasks IN ORDER as written in story file - no skipping, no reordering, no doing what you want"
|
- "Execute tasks/subtasks IN ORDER as written in story file - no skipping, no reordering, no doing what you want"
|
||||||
- "For each task/subtask: follow red-green-refactor cycle - write failing test first, then implementation"
|
- "For each task/subtask: follow red-green-refactor cycle - write failing test first, then implementation"
|
||||||
- "Mark task/subtask [x] ONLY when both implementation AND tests are complete and passing"
|
- "Mark task/subtask [x] ONLY when both implementation AND tests are complete and passing"
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,7 @@ implementation_artifacts: "{config_source}:implementation_artifacts"
|
||||||
planning_artifacts: "{config_source}:planning_artifacts"
|
planning_artifacts: "{config_source}:planning_artifacts"
|
||||||
project_knowledge: "{config_source}:project_knowledge"
|
project_knowledge: "{config_source}:project_knowledge"
|
||||||
output_folder: "{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"
|
||||||
|
|
||||||
# Smart input file references - handles both whole docs and sharded docs
|
# Smart input file references - handles both whole docs and sharded docs
|
||||||
# Priority: Whole document first, then sharded version
|
# Priority: Whole document first, then sharded version
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,7 @@ validation: "{installed_path}/checklist.md"
|
||||||
|
|
||||||
# Variables and inputs
|
# Variables and inputs
|
||||||
variables:
|
variables:
|
||||||
sprint_status: "{implementation_artifacts}/sprint-status.yaml || {output_folder}/sprint-status.yaml" # Primary source for story tracking
|
sprint_status: "{implementation_artifacts}/sprint-status.yaml" # Primary source for story tracking
|
||||||
epics_file: "{planning_artifacts}/epics.md" # Enhanced epics+stories with BDD and source hints
|
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)
|
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)
|
architecture_file: "{planning_artifacts}/architecture.md" # Fallback for constraints (if not in epics file)
|
||||||
|
|
|
||||||
|
|
@ -19,14 +19,14 @@ instructions: "{installed_path}/instructions.md"
|
||||||
|
|
||||||
# Inputs
|
# Inputs
|
||||||
variables:
|
variables:
|
||||||
sprint_status_file: "{implementation_artifacts}/sprint-status.yaml || {output_folder}/sprint-status.yaml"
|
sprint_status_file: "{implementation_artifacts}/sprint-status.yaml"
|
||||||
tracking_system: "file-system"
|
tracking_system: "file-system"
|
||||||
|
|
||||||
# Smart input file references
|
# Smart input file references
|
||||||
input_file_patterns:
|
input_file_patterns:
|
||||||
sprint_status:
|
sprint_status:
|
||||||
description: "Sprint status file generated by sprint-planning"
|
description: "Sprint status file generated by sprint-planning"
|
||||||
whole: "{implementation_artifacts}/sprint-status.yaml || {output_folder}/sprint-status.yaml"
|
whole: "{implementation_artifacts}/sprint-status.yaml"
|
||||||
load_strategy: "FULL_LOAD"
|
load_strategy: "FULL_LOAD"
|
||||||
|
|
||||||
# Standalone so IDE commands get generated
|
# Standalone so IDE commands get generated
|
||||||
|
|
|
||||||
|
|
@ -25,11 +25,11 @@ The workflow auto-detects which mode to use based on project phase.
|
||||||
### Mode Detection
|
### Mode Detection
|
||||||
|
|
||||||
1. **Check for sprint-status.yaml**
|
1. **Check for sprint-status.yaml**
|
||||||
- If `{output_folder}/bmm-sprint-status.yaml` exists → **Epic-Level Mode** (Phase 4)
|
- If `{implementation_artifacts}/sprint-status.yaml` exists → **Epic-Level Mode** (Phase 4)
|
||||||
- If NOT exists → Check workflow status
|
- If NOT exists → Check workflow status
|
||||||
|
|
||||||
2. **Check workflow-status.yaml**
|
2. **Check workflow-status.yaml**
|
||||||
- Read `{output_folder}/bmm-workflow-status.yaml`
|
- Read `{planning_artifacts}/bmm-workflow-status.yaml`
|
||||||
- If `implementation-readiness: required` or `implementation-readiness: recommended` → **System-Level Mode** (Phase 3)
|
- If `implementation-readiness: required` or `implementation-readiness: recommended` → **System-Level Mode** (Phase 3)
|
||||||
- Otherwise → **Epic-Level Mode** (Phase 4 without sprint status yet)
|
- Otherwise → **Epic-Level Mode** (Phase 4 without sprint status yet)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -197,7 +197,7 @@ Your choice:</ask>
|
||||||
<!-- ============================================= -->
|
<!-- ============================================= -->
|
||||||
|
|
||||||
<step n="10" goal="Validate mode - Check if calling workflow should proceed">
|
<step n="10" goal="Validate mode - Check if calling workflow should proceed">
|
||||||
<action>Read {output_folder}/bmm-workflow-status.yaml if exists</action>
|
<action>Read {planning_artifacts}/bmm-workflow-status.yaml if exists</action>
|
||||||
|
|
||||||
<check if="status file not found">
|
<check if="status file not found">
|
||||||
<template-output>status_exists = false</template-output>
|
<template-output>status_exists = false</template-output>
|
||||||
|
|
@ -261,7 +261,7 @@ Your choice:</ask>
|
||||||
</step>
|
</step>
|
||||||
|
|
||||||
<step n="20" goal="Data mode - Extract specific information">
|
<step n="20" goal="Data mode - Extract specific information">
|
||||||
<action>Read {output_folder}/bmm-workflow-status.yaml if exists</action>
|
<action>Read {planning_artifacts}/bmm-workflow-status.yaml if exists</action>
|
||||||
|
|
||||||
<check if="status file not found">
|
<check if="status file not found">
|
||||||
<template-output>status_exists = false</template-output>
|
<template-output>status_exists = false</template-output>
|
||||||
|
|
@ -309,7 +309,7 @@ Your choice:</ask>
|
||||||
</step>
|
</step>
|
||||||
|
|
||||||
<step n="30" goal="Init-check mode - Simple existence check">
|
<step n="30" goal="Init-check mode - Simple existence check">
|
||||||
<action>Check if {output_folder}/bmm-workflow-status.yaml exists</action>
|
<action>Check if {planning_artifacts}/bmm-workflow-status.yaml exists</action>
|
||||||
|
|
||||||
<check if="exists">
|
<check if="exists">
|
||||||
<template-output>status_exists = true</template-output>
|
<template-output>status_exists = true</template-output>
|
||||||
|
|
@ -325,7 +325,7 @@ Your choice:</ask>
|
||||||
</step>
|
</step>
|
||||||
|
|
||||||
<step n="40" goal="Update mode - Centralized status file updates">
|
<step n="40" goal="Update mode - Centralized status file updates">
|
||||||
<action>Read {output_folder}/bmm-workflow-status.yaml</action>
|
<action>Read {planning_artifacts}/bmm-workflow-status.yaml</action>
|
||||||
|
|
||||||
<check if="status file not found">
|
<check if="status file not found">
|
||||||
<template-output>success = false</template-output>
|
<template-output>success = false</template-output>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue