arch alignment with workflows
This commit is contained in:
@@ -10,74 +10,90 @@
|
||||
<critical>Project analysis already completed - proceeding directly to technical specification</critical>
|
||||
<critical>NO PRD generated - uses tech_spec_template + story templates</critical>
|
||||
|
||||
<step n="0" goal="Check for workflow status file - REQUIRED">
|
||||
<step n="0" goal="Validate workflow and extract project configuration">
|
||||
|
||||
<action>Check if bmm-workflow-status.md exists in {output_folder}/</action>
|
||||
<invoke-workflow path="{project-root}/bmad/bmm/workflows/1-analysis/workflow-status">
|
||||
<param>mode: data</param>
|
||||
<param>data_request: project_config</param>
|
||||
</invoke-workflow>
|
||||
|
||||
<check if="not exists">
|
||||
<check if="status_exists == false">
|
||||
<output>**⚠️ No Workflow Status File Found**
|
||||
|
||||
The tech-spec workflow requires an existing workflow status file to understand your project context.
|
||||
The tech-spec workflow requires a status file to understand your project context.
|
||||
|
||||
Please run `workflow-status` first to:
|
||||
Please run `workflow-init` first to:
|
||||
|
||||
- Map out your complete workflow journey
|
||||
- Determine project type and level
|
||||
- Create the status file with your planned workflow
|
||||
- Define your project type and level
|
||||
- Map out your workflow journey
|
||||
- Create the status file
|
||||
|
||||
**To proceed:**
|
||||
Run: `workflow-init`
|
||||
|
||||
Run: `bmad analyst workflow-status`
|
||||
|
||||
After completing workflow planning, you'll be directed back to this workflow.
|
||||
After setup, return here to create your tech spec.
|
||||
</output>
|
||||
<action>Exit workflow - cannot proceed without status file</action>
|
||||
</check>
|
||||
|
||||
<check if="exists">
|
||||
<action>Load status file and proceed to Step 1</action>
|
||||
<check if="status_exists == true">
|
||||
<action>Store {{status_file_path}} for later updates</action>
|
||||
|
||||
<check if="project_level >= 2">
|
||||
<output>**Incorrect Workflow for Level {{project_level}}**
|
||||
|
||||
Tech-spec is for Level 0-1 projects. Level 2-4 should use PRD workflow.
|
||||
|
||||
**Correct workflow:** `prd` (PM agent)
|
||||
</output>
|
||||
<action>Exit and redirect to prd</action>
|
||||
</check>
|
||||
|
||||
<check if="project_type == game">
|
||||
<output>**Incorrect Workflow for Game Projects**
|
||||
|
||||
Game projects should use GDD workflow instead of tech-spec.
|
||||
|
||||
**Correct workflow:** `gdd` (PM agent)
|
||||
</output>
|
||||
<action>Exit and redirect to gdd</action>
|
||||
</check>
|
||||
</check>
|
||||
</step>
|
||||
|
||||
<step n="0.5" goal="Validate workflow sequencing">
|
||||
|
||||
<invoke-workflow path="{project-root}/bmad/bmm/workflows/1-analysis/workflow-status">
|
||||
<param>mode: validate</param>
|
||||
<param>calling_workflow: tech-spec</param>
|
||||
</invoke-workflow>
|
||||
|
||||
<check if="warning != ''">
|
||||
<output>{{warning}}</output>
|
||||
<ask>Continue with tech-spec anyway? (y/n)</ask>
|
||||
<check if="n">
|
||||
<output>{{suggestion}}</output>
|
||||
<action>Exit workflow</action>
|
||||
</check>
|
||||
</check>
|
||||
</step>
|
||||
|
||||
<step n="1" goal="Confirm project scope and update tracking">
|
||||
|
||||
<action>Load bmm-workflow-status.md from {output_folder}/bmm-workflow-status.md</action>
|
||||
<action>Verify project_level is 0 or 1</action>
|
||||
<action>Use {{project_level}} from status data</action>
|
||||
|
||||
<check if="project_level >= 2">
|
||||
<error>This workflow is for Level 0-1 only. Level 2-4 should use PRD workflow.</error>
|
||||
<output>**Incorrect Workflow for Your Level**
|
||||
|
||||
Your status file indicates Level {{project_level}}.
|
||||
|
||||
**Correct workflow:** `prd` (run with PM agent)
|
||||
|
||||
Run: `bmad pm prd`
|
||||
</output>
|
||||
<action>Exit and redirect user to prd workflow</action>
|
||||
</check>
|
||||
|
||||
<check if="project_type == game">
|
||||
<error>This workflow is for software projects. Game projects should use GDD workflow.</error>
|
||||
<output>**Incorrect Workflow for Game Projects**
|
||||
|
||||
**Correct workflow:** `gdd` (run with PM agent)
|
||||
|
||||
Run: `bmad pm gdd`
|
||||
</output>
|
||||
<action>Exit and redirect user to gdd workflow</action>
|
||||
</check>
|
||||
|
||||
<action>Update Workflow Status Tracker:</action>
|
||||
<action>Update Workflow Status:</action>
|
||||
<template-output file="{{status_file_path}}">current_workflow</template-output>
|
||||
<check if="project_level == 0">
|
||||
<action>Set current_workflow = "tech-spec (Level 0 - generating tech spec)"</action>
|
||||
<action>Set to: "tech-spec (Level 0 - generating tech spec)"</action>
|
||||
</check>
|
||||
<check if="project_level == 1">
|
||||
<action>Set current_workflow = "tech-spec (Level 1 - generating tech spec)"</action>
|
||||
<action>Set to: "tech-spec (Level 1 - generating tech spec)"</action>
|
||||
</check>
|
||||
<action>Set progress_percentage = 20%</action>
|
||||
<action>Save bmm-workflow-status.md</action>
|
||||
|
||||
<template-output file="{{status_file_path}}">progress_percentage</template-output>
|
||||
<action>Set to: 20%</action>
|
||||
|
||||
<action>Save {{status_file_path}}</action>
|
||||
|
||||
<check if="project_level == 0">
|
||||
<action>Confirm Level 0 - Single atomic change</action>
|
||||
@@ -96,9 +112,10 @@ Run: `bmad pm gdd`
|
||||
<critical>Generate tech-spec.md - this is the TECHNICAL SOURCE OF TRUTH</critical>
|
||||
<critical>ALL TECHNICAL DECISIONS MUST BE DEFINITIVE - NO AMBIGUITY ALLOWED</critical>
|
||||
|
||||
<action>Update progress in bmm-workflow-status.md:</action>
|
||||
<action>Set progress_percentage = 40%</action>
|
||||
<action>Save bmm-workflow-status.md</action>
|
||||
<action>Update progress:</action>
|
||||
<template-output file="{{status_file_path}}">progress_percentage</template-output>
|
||||
<action>Set to: 40%</action>
|
||||
<action>Save {{status_file_path}}</action>
|
||||
|
||||
<action>Initialize and write out tech-spec.md using tech_spec_template</action>
|
||||
|
||||
@@ -164,7 +181,7 @@ Run cohesion validation? (y/n)</ask>
|
||||
|
||||
<step n="4" goal="Generate user stories based on project level">
|
||||
|
||||
<action>Load bmm-workflow-status.md to determine project_level</action>
|
||||
<action>Use {{project_level}} from status data</action>
|
||||
|
||||
<check if="project_level == 0">
|
||||
<action>Invoke instructions-level0-story.md to generate single user story</action>
|
||||
|
||||
Reference in New Issue
Block a user