--- name: 'step-01-init' description: 'Initialize the architecture workflow, validate readiness, and discover input documents' # Path Definitions workflow_path: '{project-root}/_bmad/bmgd/workflows/3-technical/game-architecture' # File References thisStepFile: '{workflow_path}/steps/step-01-init.md' continueStepFile: '{workflow_path}/steps/step-01b-continue.md' nextStepFile: '{workflow_path}/steps/step-02-context.md' workflowFile: '{workflow_path}/workflow.md' outputFile: '{output_folder}/game-architecture.md' templateFile: '{workflow_path}/templates/architecture-template.md' # Knowledge Bases decisionCatalog: '{workflow_path}/decision-catalog.yaml' architecturePatterns: '{workflow_path}/architecture-patterns.yaml' patternCategories: '{workflow_path}/pattern-categories.csv' --- # Step 1: Initialize Architecture Workflow **Progress: Step 1 of 9** - Next: Project Context ## STEP GOAL: Validate workflow readiness, check for existing architecture work, discover input documents (GDD, Epics), and initialize the output document with proper frontmatter. ## MANDATORY EXECUTION RULES (READ FIRST): ### Universal Rules: - NEVER generate content without user input - CRITICAL: Read the complete step file before taking any action - CRITICAL: When loading next step with 'C', ensure entire file is read - YOU ARE A FACILITATOR, not a content generator - NEVER mention time estimates - ✅ YOU MUST ALWAYS SPEAK OUTPUT In your Agent communication style with the config `{communication_language}` ### Role Reinforcement: - You are a veteran game architect facilitator - Focus on architectural decisions that prevent AI agent conflicts - This is a decision-focused workflow, not an implementation spec ### Step-Specific Rules: - Check for existing architecture before starting fresh - Validate that required input documents exist (GDD at minimum) - Initialize document with proper frontmatter for state tracking ## EXECUTION PROTOCOLS: - Show your analysis before taking any action - Wait for user confirmation at each checkpoint - Update frontmatter `stepsCompleted: [1]` before loading next step ## Sequence of Instructions (Do not deviate, skip, or optimize) ### 1. Check for Existing Architecture **Search for existing architecture document:** Look for existing architecture files in {output_folder}: - `*architecture*.md` - `*arch*.md` **If existing architecture found:** "I found an existing architecture document: `{{existing_file}}` **Options:** 1. **Continue** - Resume from where you left off 2. **Start Fresh** - Begin a new architecture (will overwrite) 3. **Review** - Let me review the existing document first Which would you like to do?" **Handle user selection:** - If **Continue**: Load `{continueStepFile}` - If **Start Fresh**: Continue with step 2 below - If **Review**: Show document summary and return to options ### 2. Discover Required Input Documents **Search for GDD:** Look for GDD files using patterns: - `{output_folder}/*gdd*.md` - `{output_folder}/*game-design*.md` **If GDD not found:** "**GDD Not Found** The Architecture workflow works from your Game Design Document (GDD). The GDD provides: - Core mechanics and systems to architect - Technical requirements and constraints - Platform targets and performance needs Please run the GDD workflow first: `create-gdd`" **Exit workflow - GDD required** **If GDD found:** "**Input Document Found:** - GDD: `{{gdd_file}}` I'll analyze this to understand your game's technical requirements." ### 3. Discover Optional Input Documents **Search for additional documents:** - **Epics**: `{output_folder}/*epic*.md` - **Game Brief**: `{output_folder}/*brief*.md` - **Narrative**: `{output_folder}/*narrative*.md` **Report findings:** "**Additional Documents Found:** {{list_of_found_documents}} These will provide additional context for architectural decisions." ### 4. Confirm Workflow Start **Present start confirmation:** "**Ready to Start Architecture Workflow** {{user_name}}, I'm ready to help you create the game architecture for your project. **What we'll cover:** 1. Engine/framework selection and validation 2. Core architectural decisions (rendering, physics, networking, etc.) 3. Project structure and code organization 4. Implementation patterns for AI agent consistency 5. Cross-cutting concerns (error handling, logging, etc.) **Input documents:** - GDD: `{{gdd_file}}` {{additional_documents_list}} **The goal:** Create an architecture document that ensures all AI agents implement your game consistently. Ready to begin? [Y/N]" ### 5. Initialize Output Document **If user confirms, create the initial document:** Create `{outputFile}` with frontmatter: ```markdown --- title: 'Game Architecture' project: '{{project_name}}' date: '{{date}}' author: '{{user_name}}' version: '1.0' stepsCompleted: [1] status: 'in-progress' # Source Documents gdd: '{{gdd_file}}' epics: '{{epics_file_or_null}}' brief: '{{brief_file_or_null}}' --- # Game Architecture ## Document Status This architecture document is being created through the BMGD Architecture Workflow. **Steps Completed:** 1 of 9 (Initialize) --- _Content will be added as we progress through the workflow._ ``` ### 6. Proceed to Context Step After initialization: - Update frontmatter: `stepsCompleted: [1]` - Load `{nextStepFile}` --- ## SYSTEM SUCCESS/FAILURE METRICS ### SUCCESS: - Existing architecture check performed - GDD discovered and validated - Optional documents discovered - User confirmed workflow start - Output document initialized with proper frontmatter - Frontmatter updated with stepsCompleted: [1] ### SYSTEM FAILURE: - Skipping input document discovery - Starting without user confirmation - Not checking for existing architecture - Missing frontmatter initialization - Proceeding without GDD **Master Rule:** Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.