BMAD-METHOD/website/public/workflow-map-diagram-ko.html

645 lines
19 KiB
HTML

<!doctype html>
<html lang="ko-KR">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>BMad Method 워크플로 맵</title>
<style>
:root {
--analysis: #0ea5e9;
--planning: #22c55e;
--solutioning: #eab308;
--implementation: #ef4444;
--quickflow: #64748b;
--bg: #0f172a;
--card: #1e293b;
--text: #f8fafc;
--text-muted: #94a3b8;
--border: #334155;
--success: #10b981;
--arrow: #f59e0b;
}
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
background: var(--bg);
color: var(--text);
line-height: 1.4;
padding: 12px;
}
.header {
text-align: center;
margin-bottom: 16px;
}
.header-badge {
display: inline-flex;
align-items: center;
gap: 6px;
background: linear-gradient(135deg, var(--analysis), var(--planning));
padding: 4px 12px;
border-radius: 20px;
font-size: 0.75rem;
font-weight: 600;
margin-bottom: 8px;
}
h1 {
font-size: 1.5rem;
font-weight: 700;
}
.subtitle {
color: var(--text-muted);
font-size: 0.8rem;
}
.flow-legend {
background: rgba(245, 158, 11, 0.1);
border: 1px solid rgba(245, 158, 11, 0.3);
border-radius: 8px;
padding: 8px 12px;
margin-bottom: 16px;
text-align: center;
font-size: 0.7rem;
color: var(--arrow);
}
.flow-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: 8px;
margin-bottom: 16px;
}
.phase {
background: var(--card);
border-radius: 10px;
border: 1px solid var(--border);
border-top: 3px solid;
}
.phase.analysis {
border-top-color: var(--analysis);
}
.phase.planning {
border-top-color: var(--planning);
}
.phase.solutioning {
border-top-color: var(--solutioning);
}
.phase.implementation {
border-top-color: var(--implementation);
}
.phase-header {
padding: 10px 12px 8px;
border-bottom: 1px solid var(--border);
display: flex;
align-items: center;
gap: 8px;
}
.phase-num {
width: 22px;
height: 22px;
border-radius: 6px;
display: flex;
align-items: center;
justify-content: center;
font-size: 0.75rem;
font-weight: 700;
}
.analysis .phase-num {
background: var(--analysis);
}
.planning .phase-num {
background: var(--planning);
}
.solutioning .phase-num {
background: var(--solutioning);
color: #000;
}
.implementation .phase-num {
background: var(--implementation);
}
.phase-title {
font-size: 0.95rem;
font-weight: 700;
}
.phase-opt {
font-size: 0.6rem;
padding: 2px 6px;
border-radius: 4px;
background: rgba(14, 165, 233, 0.2);
color: #7dd3fc;
}
.workflows {
padding: 8px 10px;
}
.workflow {
background: rgba(255, 255, 255, 0.03);
border-radius: 6px;
padding: 8px;
margin-bottom: 6px;
font-size: 0.7rem;
}
.workflow-header {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 4px;
}
.workflow-name {
font-family: monospace;
color: var(--success);
background: rgba(16, 185, 129, 0.1);
padding: 2px 6px;
border-radius: 3px;
font-size: 0.65rem;
}
.workflow-meta {
display: flex;
justify-content: space-between;
align-items: center;
}
.agent {
display: flex;
align-items: center;
gap: 4px;
}
.agent-icon {
width: 14px;
height: 14px;
border-radius: 3px;
display: flex;
align-items: center;
justify-content: center;
font-size: 0.55rem;
font-weight: 700;
}
.agent-icon.mary {
background: linear-gradient(135deg, #f472b6, #ec4899);
}
.agent-icon.john {
background: linear-gradient(135deg, #60a5fa, #3b82f6);
}
.agent-icon.sally {
background: linear-gradient(135deg, #fbbf24, #f59e0b);
color: #000;
}
.agent-icon.winston {
background: linear-gradient(135deg, #a78bfa, #8b5cf6);
}
.agent-icon.amelia {
background: linear-gradient(135deg, #fb7185, #ef4444);
}
.agent-name {
font-size: 0.65rem;
}
.output {
color: var(--success);
font-family: monospace;
font-size: 0.6rem;
}
.badge {
font-size: 0.55rem;
padding: 1px 4px;
border-radius: 3px;
}
.badge.opt {
background: rgba(251, 191, 36, 0.15);
color: #fbbf24;
}
.badge.iffy {
background: rgba(168, 85, 247, 0.15);
color: #a855f7;
}
.badge.adhoc {
background: rgba(59, 130, 246, 0.15);
color: #3b82f6;
}
.arrow {
display: flex;
align-items: center;
justify-content: center;
color: var(--arrow);
font-size: 0.9rem;
margin: 6px 0;
}
.decision {
background: linear-gradient(135deg, #a855f7, #9333ea);
padding: 4px 8px;
border-radius: 4px;
text-align: center;
font-size: 0.65rem;
font-weight: 600;
margin: 6px 0;
}
.quickflow {
background: rgba(100, 116, 139, 0.2);
border: 2px dashed var(--quickflow);
border-radius: 10px;
padding: 12px;
margin-bottom: 16px;
}
.quickflow-header {
display: flex;
align-items: center;
gap: 8px;
margin-bottom: 8px;
}
.quickflow-header h2 {
font-size: 0.95rem;
}
.quickflow-header span {
font-size: 0.7rem;
color: var(--text-muted);
}
.quickflow-body {
display: flex;
align-items: center;
gap: 12px;
}
.quickflow-item {
flex: 1;
background: rgba(255, 255, 255, 0.03);
border-radius: 8px;
padding: 10px;
}
.quickflow-item code {
font-family: monospace;
color: var(--success);
background: rgba(16, 185, 129, 0.1);
padding: 2px 6px;
border-radius: 3px;
font-size: 0.7rem;
}
.context {
background: rgba(14, 165, 233, 0.08);
border-radius: 10px;
padding: 12px;
font-size: 0.75rem;
}
.context-header {
display: flex;
align-items: center;
gap: 8px;
margin-bottom: 6px;
font-weight: 600;
}
.context-items {
display: flex;
flex-wrap: wrap;
gap: 6px;
}
.context-items code {
font-family: monospace;
color: var(--success);
background: rgba(16, 185, 129, 0.1);
padding: 2px 5px;
border-radius: 3px;
font-size: 0.65rem;
}
.context-items span {
color: var(--text-muted);
}
.legend {
display: flex;
justify-content: center;
gap: 12px;
flex-wrap: wrap;
font-size: 0.7rem;
margin-top: 12px;
}
.legend-item {
display: flex;
align-items: center;
gap: 4px;
}
.legend-dot {
width: 12px;
height: 3px;
border-radius: 2px;
}
</style>
</head>
<body>
<div class="header">
<div class="header-badge">⚡ 워크플로 맵 V6</div>
<h1>BMad Method</h1>
<p class="subtitle">AI 기반 개발을 위한 컨텍스트 엔지니어링</p>
</div>
<div class="flow-legend">→ 화살표는 워크플로 간 산출물 흐름을 나타냅니다</div>
<div class="flow-grid">
<!-- Phase 1: Analysis -->
<div class="phase analysis">
<div class="phase-header">
<div class="phase-num">1</div>
<div class="phase-title">분석</div>
<span class="phase-opt">선택 사항</span>
</div>
<div class="workflows">
<div class="workflow">
<div class="workflow-header">
<span class="workflow-name">brainstorm</span>
<span class="badge opt">선택</span>
</div>
<div class="workflow-meta">
<div class="agent">
<div class="agent-icon mary">M</div>
<span class="agent-name">Mary</span>
</div>
<span class="output">brainstorming-report.md</span>
</div>
</div>
<div class="workflow">
<div class="workflow-header">
<span class="workflow-name">research</span>
<span class="badge opt">선택</span>
</div>
<div class="workflow-meta">
<div class="agent">
<div class="agent-icon mary">M</div>
<span class="agent-name">Mary</span>
</div>
<span class="output">리서치 결과</span>
</div>
</div>
<div class="workflow">
<div class="workflow-header">
<span class="workflow-name">product-brief</span>
<span class="badge opt">또는 ↓</span>
</div>
<div class="workflow-meta">
<div class="agent">
<div class="agent-icon mary">M</div>
<span class="agent-name">Mary</span>
</div>
<span class="output">product-brief.md →</span>
</div>
</div>
<div class="workflow">
<div class="workflow-header">
<span class="workflow-name">prfaq</span>
<span class="badge opt">또는 ↑</span>
</div>
<div class="workflow-meta">
<div class="agent">
<div class="agent-icon mary">M</div>
<span class="agent-name">Mary</span>
</div>
<span class="output">prfaq.md →</span>
</div>
</div>
</div>
<div class="arrow"></div>
</div>
<!-- Phase 2: Planning -->
<div class="phase planning">
<div class="phase-header">
<div class="phase-num">2</div>
<div class="phase-title">계획</div>
</div>
<div class="workflows">
<div class="workflow">
<div class="workflow-header">
<span class="workflow-name">prd</span>
</div>
<div class="workflow-meta">
<div class="agent">
<div class="agent-icon john">J</div>
<span class="agent-name">Any</span>
</div>
<span class="output">prd.md →</span>
</div>
</div>
<div class="decision">UI가 있나요?</div>
<div class="workflow">
<div class="workflow-header">
<span class="workflow-name">ux</span>
<span class="badge iffy"></span>
</div>
<div class="workflow-meta">
<div class="agent">
<div class="agent-icon sally">S</div>
<span class="agent-name">Sally</span>
</div>
<span class="output">DESIGN.md + EXPERIENCE.md →</span>
</div>
</div>
</div>
<div class="arrow"></div>
</div>
<!-- Phase 3: Solutioning -->
<div class="phase solutioning">
<div class="phase-header">
<div class="phase-num">3</div>
<div class="phase-title">솔루션 설계</div>
</div>
<div class="workflows">
<div class="workflow">
<div class="workflow-header">
<span class="workflow-name">create-architecture</span>
</div>
<div class="workflow-meta">
<div class="agent">
<div class="agent-icon winston">W</div>
<span class="agent-name">Winston</span>
</div>
<span class="output">architecture.md →</span>
</div>
</div>
<div class="workflow">
<div class="workflow-header">
<span class="workflow-name">create-epics-and-stories</span>
</div>
<div class="workflow-meta">
<div class="agent">
<div class="agent-icon john">J</div>
<span class="agent-name">John</span>
</div>
<span class="output">epics.md →</span>
</div>
</div>
<div class="workflow">
<div class="workflow-header">
<span class="workflow-name">check-implementation-readiness</span>
</div>
<div class="workflow-meta">
<div class="agent">
<div class="agent-icon john">J</div>
<span class="agent-name">John</span>
</div>
<span class="output">구현 착수 전 준비도 점검</span>
</div>
</div>
</div>
<div class="arrow"></div>
</div>
<!-- Phase 4: Implementation -->
<div class="phase implementation">
<div class="phase-header">
<div class="phase-num">4</div>
<div class="phase-title">구현</div>
</div>
<div class="workflows">
<div class="workflow">
<div class="workflow-header">
<span class="workflow-name">sprint-planning</span>
</div>
<div class="workflow-meta">
<div class="agent">
<div class="agent-icon amelia">A</div>
<span class="agent-name">Amelia</span>
</div>
<span class="output">sprint-status.yaml →</span>
</div>
</div>
<div class="workflow">
<div class="workflow-header">
<span class="workflow-name">create-story</span>
</div>
<div class="workflow-meta">
<div class="agent">
<div class="agent-icon amelia">A</div>
<span class="agent-name">Amelia</span>
</div>
<span class="output">story-[slug].md →</span>
</div>
</div>
<div class="workflow">
<div class="workflow-header">
<span class="workflow-name">dev-story</span>
</div>
<div class="workflow-meta">
<div class="agent">
<div class="agent-icon amelia">A</div>
<span class="agent-name">Amelia</span>
</div>
<span class="output">코드 →</span>
</div>
</div>
<div class="workflow">
<div class="workflow-header">
<span class="workflow-name">code-review</span>
</div>
<div class="workflow-meta">
<div class="agent">
<div class="agent-icon amelia">A</div>
<span class="agent-name">Amelia</span>
</div>
<span class="output">승인</span>
</div>
</div>
<div class="workflow">
<div class="workflow-header">
<span class="workflow-name">correct-course</span>
<span class="badge adhoc">필요 시</span>
</div>
<div class="workflow-meta">
<div class="agent">
<div class="agent-icon john">J</div>
<span class="agent-name">John</span>
</div>
<span class="output">계획 업데이트</span>
</div>
</div>
<div class="workflow">
<div class="workflow-header">
<span class="workflow-name">retrospective</span>
<span class="badge adhoc">에픽 별</span>
</div>
<div class="workflow-meta">
<div class="agent">
<div class="agent-icon amelia">A</div>
<span class="agent-name">Amelia</span>
</div>
<span class="output">배운 점</span>
</div>
</div>
<div class="workflow">
<div class="workflow-header">
<span class="workflow-name">investigate</span>
<span class="badge adhoc">언제든지</span>
</div>
<div class="workflow-meta">
<div class="agent">
<div class="agent-icon amelia">A</div>
<span class="agent-name">Amelia</span>
</div>
<span class="output">사례 파일</span>
</div>
</div>
</div>
</div>
</div>
<div class="quickflow">
<div class="quickflow-header">
<span></span>
<div>
<h2>빠른 흐름 (병렬 트랙)</h2>
<span>범위가 작고 명확한 변경에 사용됩니다 — 1~3단계를 건너뜁니다</span>
</div>
</div>
<div class="quickflow-body">
<div class="quickflow-item">
<div class="agent">
<div class="agent-icon amelia">A</div>
<span class="agent-name">Amelia</span>
</div>
<code>quick-dev</code>
<div style="font-size: 0.65rem; color: var(--text-muted); margin-top: 4px">의도 → 기술 명세 → 동작하는 코드</div>
</div>
</div>
</div>
<div class="context">
<div class="context-header">📚 컨텍스트 흐름</div>
<p style="margin-bottom: 8px; color: var(--text-muted)">각 문서는 다음 단계의 컨텍스트가 됩니다.</p>
<div class="context-items">
<span><code>create-story</code> <span>에픽, PRD, 아키텍처, UX를 로드</span></span>
<span><code>dev-story</code> <span>스토리 파일을 로드</span></span>
<span><code>code-review</code> <span>아키텍처와 스토리를 로드</span></span>
<span><code>quick-dev</code> <span>명확화, 계획, 구현, 리뷰</span></span>
</div>
</div>
<div class="legend">
<div class="legend-item">
<div class="legend-dot" style="background: var(--analysis)"></div>
분석
</div>
<div class="legend-item">
<div class="legend-dot" style="background: var(--planning)"></div>
계획
</div>
<div class="legend-item">
<div class="legend-dot" style="background: var(--solutioning)"></div>
솔루션 설계
</div>
<div class="legend-item">
<div class="legend-dot" style="background: var(--implementation)"></div>
구현
</div>
<div class="legend-item">
<div class="legend-dot" style="background: var(--quickflow)"></div>
빠른 흐름
</div>
</div>
</body>
</html>