/workflow-init — BMAD 프로젝트 첫 세팅#
| 항목 | 내용 |
|---|---|
| 실행 명령 | /cc-product:workflow-init |
한마디로#
새 프로젝트에 BMAD라는 작업 방식의 기본 틀을 깔아주는 "초기 설정" 명령입니다. 새 사무실에 처음 들어가 책상·서류함·라벨을 미리 정리해두는 것과 같아요. 이걸 먼저 해둬야 이후 작업들이 정해진 자리에 차곡차곡 쌓입니다.
누가·언제 쓰나요#
- 새 프로젝트를 시작하면서 BMAD 방식으로 일을 진행하기로 정했을 때 가장 먼저 한 번 실행합니다.
- 프로젝트의 이름·종류·규모(복잡도)를 등록하고, 앞으로 만들 문서가 들어갈 폴더 구조를 잡고 싶을 때 씁니다.
- (선택) 이슈 관리 도구인 ZenHub와 연결해 두고 싶을 때도 이 단계에서 함께 설정합니다.
👉 이미 한 번 세팅한 프로젝트라면 다시 실행할 때 "덮어쓸까요?"라고 물어봅니다.
무엇을 해주나요#
실행하면 프로젝트에 다음이 만들어집니다.
bmad/config.yaml— 프로젝트 기본 설정(이름·종류·규모 등)이 담긴 파일.bmad/bmm-workflow-status.yaml— 작업 진행 상황을 추적하는 파일-
BMAD 산출물이 쌓일 폴더 구조(
bmad/,.bmad/,.claude/commands/bmad/등) - (ZenHub 연동을 선택한 경우)
bmad/zenhub-conventions.yaml— ZenHub 연결 규칙 파일
마지막에는 세팅 완료 메시지와 함께 프로젝트 규모에 맞는 다음 작업 순서까지 추천해 줍니다.
어떻게 쓰나요#
# 프로젝트에서 한 번 실행하면 됩니다
/workflow-init
실행하면 대화로 몇 가지를 차례로 물어봅니다.
- 프로젝트 이름 (예: "MyApp", "이커머스 플랫폼")
- 프로젝트 종류 (웹 앱 / 모바일 앱 / API·백엔드 / 게임 / 라이브러리 / 기타)
-
프로젝트 규모(Level 0~4) — 스토리(작업 단위) 개수로 가늠합니다
- Level 0: 단일 작업 1개
- Level 1: 소규모 (1~10개)
- Level 2: 중간 규모 (5~15개)
- Level 3: 복잡한 통합 (12~40개)
- Level 4: 엔터프라이즈 (40개 이상)
물어보는 답에 따라 설정 파일이 자동으로 채워지므로, 메뉴에서 번호만 골라주면 됩니다.
안에서 무슨 일이 벌어지나요#
크게 8단계로, 차례대로 진행됩니다.
- 기존 설정 확인 — 이미 세팅돼 있으면 덮어쓸지 먼저 물어봅니다.
- 폴더 만들기 — 산출물이 들어갈 폴더 구조를 안전하게 만듭니다(있는 폴더는 건드리지 않음).
- 프로젝트 정보 받기 — 이름·종류·규모를 하나씩 질문해 입력받습니다.
- 설정 파일 생성 — 입력값으로
bmad/config.yaml을 채웁니다. -
진행 상황 파일 생성 — 규모에 따라 어떤 문서가 "필수/권장/선택"인지 정해
.bmad/bmm-workflow-status.yaml에 기록합니다. - (선택) ZenHub 연동 — 원하면 워크스페이스를 연결하고 규칙 파일을 만듭니다.
- 완료 안내 + 다음 단계 추천 — 규모에 맞는 작업 순서(예: product-brief → tech-spec → 스토리)를 보여줍니다.
-
바로 시작 제안 — 원하면 추천 작업으로 바로 이어서 진행합니다. (나중에
/workflow-status로 진행 상황을 언제든 확인할 수 있습니다.)
⚙️ 상세 옵션·실행 명세 (개발자 / AI 에이전트용)
Command Overview#
Purpose: Set up BMAD Method v6 structure and configuration in the current project
Agent: BMad Master (Core Orchestrator)
Output:
bmad/config.yaml- Project configuration.bmad/bmm-workflow-status.yaml- Workflow status tracking- Directory structure for BMAD artifacts
Execution Steps#
Step 1: Check for Existing Installation#
- Check if
bmad/config.yamlexists - If exists:
- Read current config
- Ask: "BMAD already initialized. Reinitialize (overwrites config)?"
- If no → Exit
- If yes → Continue
Step 2: Create Directory Structure#
Create the following directories using Write/Bash tool:
bmad/
├── config.yaml
└── agent-overrides/
.bmad/
├── bmm-workflow-status.yaml
└── stories/
└── (story directories created as needed)
.claude/
└── commands/
└── bmad/
└── (commands auto-registered by Claude Code)Note: Only create directories that don't exist. Use mkdir -p to be safe.
Step 3: Collect Project Information#
Ask user these questions (one at a time):
Q1: Project Name
" What is your project name? "
Examples: " MyApp " , " E-Commerce Platform " , " Mobile Game "
Default: Use directory name if user skipsQ2: Project Type
" What type of project is this? "
Options (present as menu):
1. Web Application
2. Mobile App (iOS/Android)
3. API / Backend Service
4. Game
5. Library / Framework
6. Other
Store as: " web-app " , " mobile-app " , " api " , " game " , " library " , " other "Q3: Project Level
" What is the project complexity level? "
Explain levels:
- Level 0: Single atomic change (1 story)
- Level 1: Small feature set (1-10 stories)
- Level 2: Medium feature set (5-15 stories)
- Level 3: Complex integration (12-40 stories)
- Level 4: Enterprise expansion (40+ stories)
Options (present as menu):
0. Level 0 - Single story
1. Level 1 - Small (1-10 stories)
2. Level 2 - Medium (5-15 stories)
3. Level 3 - Complex (12-40 stories)
4. Level 4 - Enterprise (40+ stories)
Store as: 0, 1, 2, 3, or 4Step 4: Create Project Config#
Load global config from
~/.claude/config/bmad/config.yamlperhelpers.md#Load-Global-ConfigLoad template from
${CLAUDE_PLUGIN_ROOT}/references/project-config-template.mdSubstitute variables:
{{PROJECT_NAME}}→ User input from Step 3{{PROJECT_TYPE}}→ User input from Step 3{{PROJECT_LEVEL}}→ User input from Step 3
Write to
bmad/config.yamlusing Write tool
Example output:
project_name: " MyApp "
project_type: " web-app "
project_level: 2
output_folder: " .bmad "
bmm:
workflow_status_file: " .bmad/bmm-workflow-status.yaml "
sprint_status_file: " .bmad/sprint-status.yaml "
paths:
docs: " .bmad "
stories: " .bmad/stories "
tests: " tests "Step 5: Create Workflow Status File#
Load template from
${CLAUDE_PLUGIN_ROOT}/references/templates/bmm-workflow-status-template.mdDetermine conditional statuses based on project level:
Level 0-1: - PRD: " recommended " (optional for level 0) - Tech-spec: " required " - Architecture: " optional " Level 2+: - PRD: " required " - Tech-spec: " optional " - Architecture: " required "Substitute variables:
{{TIMESTAMP}}→ Current ISO timestamp{{PROJECT_NAME}}→ From project config{{PROJECT_TYPE}}→ From project config{{PROJECT_LEVEL}}→ From project config{{PRD_STATUS}}→ Conditional per above{{TECH_SPEC_STATUS}}→ Conditional per above{{ARCHITECTURE_STATUS}}→ Conditional per above
Write to
.bmad/bmm-workflow-status.yamlusing Write tool
Step 5.5: ZenHub Integration Setup (Optional)#
Ask user:
" Would you like to set up ZenHub integration? "
ZenHub integration enables:
- Automatic issue creation (Epics, Stories, Sub-tasks)
- Pipeline management (Sprint Backlog → In Progress → Done)
- Sprint assignment and tracking
- Sub-task decomposition for complex stories
Options:
1. Yes - Set up ZenHub integration
2. No - Skip (can be configured later)If yes:
Check MCP availability:
- Attempt
helpers.md#Load-ZenHub-Context - If MCP available:
- Auto-discover workspace IDs
- Auto-generate
bmad/zenhub-conventions.yamlfrom MCP data - Log: "✓ ZenHub conventions auto-generated from workspace"
- If MCP not available:
- Copy template:
${CLAUDE_PLUGIN_ROOT}/references/templates/zenhub-conventions-template.md→bmad/zenhub-conventions.yaml - Log: "⚠ ZenHub MCP not available. Template created — fill in IDs manually or run again when MCP is configured."
- Copy template:
- Attempt
Ask about Sub-tasks:
" Does your ZenHub workspace support Sub-tasks (Task issue type)? " Options: 1. Yes - Enable sub-task decomposition 2. No / Not sure - Disable (can enable later)Update project config (
bmad/config.yaml):zenhub: conventions_file: " bmad/zenhub-conventions.yaml " sub_tasks: enabled: {true|false} auto_generate: false min_story_points: 5
If no: Skip — ZenHub integration can be configured later by:
- Creating
bmad/zenhub-conventions.yamlfrom template - Adding
zenhub:section tobmad/config.yaml
Step 6: Confirm Initialization#
Display success message:
✓ BMAD Method v6 initialized successfully!
Project Configuration:
Name: {project_name}
Type: {project_type}
Level: {project_level}
Files Created:
✓ bmad/config.yaml
✓ .bmad/bmm-workflow-status.yaml
✓ Directory structure
✓ bmad/zenhub-conventions.yaml (if ZenHub setup chosen)
Workflow Path for Level {project_level}:
{Display path based on level - see Step 7}
Recommended Next Step:
{Recommend workflow - see helpers.md#Determine-Next-Workflow}Step 7: Recommend Workflow Path#
Based on project level, show recommended path:
Level 0:
Phase 1 (Optional): /product-brief
Phase 2 (Required): /tech-spec
Phase 4 (Required): /create-story → /dev-storyLevel 1:
Phase 1 (Recommended): /product-brief
Phase 2 (Required): /tech-spec
Phase 4 (Required): /sprint-planning → storiesLevel 2+:
Phase 1 (Recommended): /product-brief
Phase 2 (Required): /prd
Phase 3 (Required): /architecture
Phase 4 (Required): /sprint-planning → storiesStep 8: Offer to Start#
Ask user:
" Would you like to start with the recommended workflow? "
If Phase 1 recommended: " I can help you create a product brief. "
If Phase 2 required: " I can help you create a [PRD/tech-spec]. "If yes: Hand off to appropriate agent (Analyst for brief, PM for PRD/tech-spec) If no: "Run /workflow-status anytime to check your progress."
Helper References#
- Load global config:
helpers.md#Load-Global-Config - Load template:
helpers.md#Load-Template - Apply variables:
helpers.md#Apply-Variables-to-Template - Save document:
helpers.md#Save-Output-Document - Determine next:
helpers.md#Determine-Next-Workflow - Load ZenHub context:
helpers.md#Load-ZenHub-Context
Error Handling#
If BMAD already initialized:
- Inform user
- Offer to reinitialize (overwrites config)
- Offer to check status instead (
/workflow-status)
If directory creation fails:
- Show error
- Check permissions
- Suggest manual directory creation
If template missing:
- Use inline fallback template
- Log warning
- Continue initialization
Notes for LLMs#
- Use TodoWrite to track 8 steps
- Create directories with
mkdir -p(safe for existing dirs) - Be clear about conditional requirements based on level
- Present options as numbered menus for clarity
- Use Write tool for config/status files
- Maintain BMad Master persona (helpful, organized, clear)
- Don't skip steps - initialization must be complete
Remember: This is the entry point for BMAD. Set users up for success with clear explanation of their path forward.