9.0 KiB
| name | description | workflow_path | thisStepFile | nextStepFile | continueStepFile | workflowFile | outputFile | gddTemplate | gameTypesCSV |
|---|---|---|---|---|---|---|---|---|---|
| step-01-init | Initialize the GDD workflow by detecting continuation state and setting up the document | {project-root}/_bmad/bmgd/workflows/2-design/gdd | {workflow_path}/steps/step-01-init.md | {workflow_path}/steps/step-02-context.md | {workflow_path}/steps/step-01b-continue.md | {workflow_path}/workflow.md | {output_folder}/gdd.md | {workflow_path}/templates/gdd-template.md | {workflow_path}/game-types.csv |
Step 1: Workflow Initialization
Progress: Step 1 of 14 - Next: Game Context & Type
STEP GOAL:
Initialize the GDD workflow by detecting continuation state, discovering input documents (game brief, research), and setting up the document structure for collaborative game design discovery.
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
Role Reinforcement:
- You are a veteran game designer facilitator collaborating with a creative peer
- If you already have been given a name, communication_style and persona, continue to use those while playing this new role
- We engage in collaborative dialogue, not command-response
- You bring structured game design thinking and facilitation skills, while the user brings their game vision
Step-Specific Rules:
- Focus only on initialization and setup - no content generation yet
- FORBIDDEN to look ahead to future steps or assume knowledge from them
- Approach: Systematic setup with clear reporting to user
- Detect existing workflow state and handle continuation properly
EXECUTION PROTOCOLS:
- Show your analysis of current state before taking any action
- Initialize document structure and update frontmatter appropriately
- Set up frontmatter
stepsCompleted: [1]before loading next step - FORBIDDEN to load next step until user selects 'C' (Continue)
CONTEXT BOUNDARIES:
- Available context: Variables from workflow.md are available in memory
- Focus: Workflow initialization and document setup only
- Limits: Don't assume knowledge from other steps or create content yet
- Dependencies: Configuration loaded from workflow.md initialization
Sequence of Instructions (Do not deviate, skip, or optimize)
1. Check for Existing Workflow State
First, check if the output document already exists:
Workflow State Detection:
- Look for file at
{outputFile} - If exists, read the complete file including frontmatter
- If not exists, this is a fresh workflow
2. Handle Continuation (If Document Exists)
If the document exists and has frontmatter with stepsCompleted:
Continuation Protocol:
- STOP immediately and load
{continueStepFile} - Do not proceed with any initialization tasks
- Let step-01b handle all continuation logic
- This is an auto-proceed situation - no user choice needed
3. Fresh Workflow Setup (If No Document)
If no document exists or no stepsCompleted in frontmatter:
A. Input Document Discovery
Discover and load context documents using smart discovery.
IMPORTANT: Track document counts as you discover files.
Initialize counters:
briefCount = 0
researchCount = 0
brainstormingCount = 0
projectDocsCount = 0
Game Brief (Priority: Analysis -> Main -> Sharded -> Whole):
- Check analysis folder:
{output_folder}/analysis/*game-brief*.md - If no analysis files: Try main folder:
{output_folder}/*game-brief*.md - If no main files: Check for sharded brief folder:
{output_folder}/*game-brief*/**/*.md - If sharded folder exists: Load EVERY file in that folder completely
- Add discovered files to
inputDocumentsfrontmatter - Update briefCount with number of files found
Research Documents (Priority: Analysis -> Main -> Sharded -> Whole):
- Check analysis folder:
{output_folder}/analysis/research/*research*.md - If no analysis files: Try main folder:
{output_folder}/*research*.md - If no main files: Check for sharded research folder:
{output_folder}/*research*/**/*.md - Load useful research files completely
- Add discovered files to
inputDocumentsfrontmatter - Update researchCount with number of files found
Brainstorming Documents (Priority: Analysis -> Main):
- Check analysis folder:
{output_folder}/analysis/brainstorming/*brainstorm*.md - If no analysis files: Try main folder:
{output_folder}/*brainstorm*.md - Add discovered files to
inputDocumentsfrontmatter - Update brainstormingCount with number of files found
Project Documentation (Existing Projects - Brownfield):
- Look for index file:
{output_folder}/index.md - CRITICAL: Load index.md to understand what project files are available
- Read available files from index to understand existing project context
- This provides essential context for extending existing game with new features
- Add discovered files to
inputDocumentsfrontmatter - Update projectDocsCount with number of files found (including index.md)
Loading Rules:
- Load ALL discovered files completely (no offset/limit)
- For sharded folders, load ALL files to get complete picture
- For existing projects, use index.md as guide to what's relevant
- Track all successfully loaded files in frontmatter
inputDocumentsarray
B. Create Initial Document
Document Setup:
- Copy the template from
{gddTemplate}to{outputFile} - Initialize frontmatter with proper structure including document counts:
---
stepsCompleted: []
inputDocuments: []
documentCounts:
briefs: { { briefCount } }
research: { { researchCount } }
brainstorming: { { brainstormingCount } }
projectDocs: { { projectDocsCount } }
workflowType: 'gdd'
lastStep: 0
project_name: '{{project_name}}'
user_name: '{{user_name}}'
date: '{{date}}'
game_type: ''
game_name: ''
---
C. Present Initialization Results
Setup Report to User:
"Welcome {{user_name}}! I've set up your GDD workspace for {{project_name}}.
Document Setup:
- Created:
{outputFile}from template - Initialized frontmatter with workflow state
Input Documents Discovered:
- Game briefs: {{briefCount}} files {if briefCount > 0}loaded{else}(none found){/if}
- Research: {{researchCount}} files {if researchCount > 0}loaded{else}(none found){/if}
- Brainstorming: {{brainstormingCount}} files {if brainstormingCount > 0}loaded{else}(none found){/if}
- Project docs: {{projectDocsCount}} files {if projectDocsCount > 0}loaded (brownfield project){else}(none found - greenfield project){/if}
Files loaded: {list of specific file names or "No additional documents found"}
{if projectDocsCount > 0} Note: This is a brownfield project. Your existing project documentation has been loaded. In the next step, I'll ask specifically about what new features or changes you want to add to your existing game. {/if}
Do you have any other documents you'd like me to include, or shall we continue to the next step?"
4. Present MENU OPTIONS
Display menu after setup report:
"[C] Continue - Save this and move to Game Context & Type (Step 2 of 14)"
Menu Handling Logic:
- IF C: Update frontmatter with
stepsCompleted: [1], then load, read entire file, then execute {nextStepFile} - IF user provides additional files: Load them, update inputDocuments and documentCounts, redisplay report
- IF user asks questions: Answer and redisplay menu
EXECUTION RULES:
- ALWAYS halt and wait for user input after presenting menu
- ONLY proceed to next step when user selects 'C'
CRITICAL STEP COMPLETION NOTE
ONLY WHEN [C continue option] is selected and [frontmatter properly updated with stepsCompleted: [1] and documentCounts], will you then load and read fully {nextStepFile} to execute and begin game context discovery.
SYSTEM SUCCESS/FAILURE METRICS
SUCCESS:
- Existing workflow detected and properly handed off to step-01b
- Fresh workflow initialized with template and proper frontmatter
- Input documents discovered and loaded using sharded-first logic
- All discovered files tracked in frontmatter
inputDocuments - Document counts stored in frontmatter
documentCounts - User clearly informed of brownfield vs greenfield status
- Menu presented and user input handled correctly
- Frontmatter updated with
stepsCompleted: [1]before proceeding
SYSTEM FAILURE:
- Proceeding with fresh initialization when existing workflow exists
- Not updating frontmatter with discovered input documents
- Not storing document counts in frontmatter
- Creating document without proper template structure
- Not checking sharded folders first before whole files
- Not reporting discovered documents to user clearly
- Proceeding without user selecting 'C' (Continue)
Master Rule: Skipping steps, optimizing sequences, or not following exact instructions is FORBIDDEN and constitutes SYSTEM FAILURE.