BMAD-METHOD/src/modules/bmm/workflows/workflow-status/init/instructions.md

6.4 KiB

Workflow Init - Project Setup Instructions

The workflow execution engine is governed by: {project-root}/bmad/core/tasks/workflow.xml You MUST have already loaded and processed: workflow-init/workflow.yaml Communicate in {communication_language} with {user_name}

Search {output_folder}/ for existing BMM artifacts: - PRD files (*prd*.md) - Architecture docs (architecture*.md, solution-architecture*.md, architecture/*) - Briefs (*brief*.md) - Brainstorming docs (brainstorm*.md) - Research docs (*research*.md) - Tech specs (tech-spec*.md) - GDD files (gdd*.md) - Story files (story-*.md) - Epic files (epic*.md) - Documentation files (index.md (and referenced files within), other files in docs or provided)

Check for existing codebase indicators:

  • src/ or lib/ directories
  • package.json, requirements.txt, go.mod, Cargo.toml, etc.
  • .git directory (check git log for commit history age)
  • README.md (check if it describes existing functionality)
  • Test directories (tests/, tests/, spec/)
  • Existing source files (_.js, _.py, _.go, _.rs, etc.)

Also check config for existing {project_name} variable

Analyze documents to infer project details Guess project type (game vs software) from content Estimate level based on scope: - Level 0: Single atomic change (1 story) - Level 1: Small feature (1-10 stories) - Level 2: Medium project (5-15 stories) - Level 3: Complex system (12-40 stories) - Level 4: Enterprise scale (40+ stories) Detect if greenfield (only planning) or brownfield (has code) Go to Step 2 (Confirm inferred settings) Set fresh_start = true Go to Step 3 (Gather project info) 📊 I found existing work! Here's what I detected:

Project Name: {{inferred_project_name}} Type: {{inferred_type}} Complexity: {{inferred_level_description}} Codebase: {{inferred_field_type}} Current Phase: {{current_phase}}

Is this correct?

  1. Yes - Use these settings
  2. Start Fresh - Ignore existing work Or tell me what's different:
Use inferred settings Go to Step 5 (Generate workflow) Set fresh_start = true Go to Step 3 (Gather project info) Update inferred values based on user input Go to Step 5 (Generate workflow)

project_name project_type project_level field_type

Welcome to BMad Method, {user_name}!

What's your project called? {{#if project_name}}(Config shows: {{project_name}}){{/if}} Set project_name project_name

Tell me about what you're building. What's the goal? are we adding on to something or starting fresh.

Analyze description to determine project type, level, and field type Set project_type (game or software) Set project_level (0-4 based on complexity) Set field_type (greenfield or brownfield based on description)

Based on your description: Level {{project_level}} {{field_type}} {{project_type}} project.

Is that correct? (y/n or tell me what's different)

Update values based on corrections

project_type project_level field_type

Determine path file based on selections: Load {path_files}/game-design.yaml Set workflow_path_file = "game-design.yaml" Build filename: {field_type}-level-{project_level}.yaml Load {path_files}/{field_type}-level-{project_level}.yaml Set workflow_path_file = constructed filename

Parse workflow path file to extract phases and workflows workflow_path_file

Build workflow from loaded path file Display phases and workflows Set initial values for status file

current_phase current_workflow current_agent next_action next_command next_agent

Initialize all status values start_date last_updated phase_1_complete phase_2_complete phase_3_complete phase_4_complete ordered_story_list = "[]" todo_story todo_title in_progress_story in_progress_title completed_story_list = "[]" backlog_count done_count total_stories

Ready to create your workflow status file? (y/n)

Save status file to {output_folder}/bmm-workflow-status.md Status file created! Next up: {{next_agent}} agent, run `{{next_command}}`