# BMAD Task Manager - Claude Code 글로벌 MCP 설정

## 🎯 목적
모든 Claude Code 세션에서 BMAD Task Manager를 사용하여 프로젝트별 태스크 관리를 할 수 있도록 설정합니다.

## 📦 사전 준비

### 1. 서버 빌드
```bash
cd /Users/dumbokim/Develop/bmad-task-manager
npm run install:all
cd server && npm run build
```

### 2. 데이터베이스 초기화
```bash
# 글로벌 데이터베이스 위치 생성
mkdir -p ~/.bmad-task-manager
cp /Users/dumbokim/Develop/bmad-task-manager/server/bmad.db ~/.bmad-task-manager/global.db 2>/dev/null || true
```

## 🔧 Claude Desktop 설정

### 1. 설정 파일 위치
- macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`

### 2. MCP 서버 추가

claude_desktop_config.json 파일에 다음 내용을 추가하세요:

```json
{
  "mcpServers": {
    "bmad-task-manager": {
      "command": "node",
      "args": ["/Users/dumbokim/Develop/bmad-task-manager/server/dist/index.js"],
      "env": {
        "RUN_MODE": "stdio",
        "API_PORT": "7531",
        "WEB_PORT": "7530",
        "DB_PATH": "/Users/dumbokim/.bmad-task-manager/global.db",
        "PROJECT_MODE": "multi"
      },
      "description": "Global BMAD Task Management for all projects"
    },
    // ... 기존 다른 MCP 서버들 ...
  }
}
```

## 🚀 사용 방법

### Claude Code 세션에서

1. **새 프로젝트 생성**
```javascript
// 현재 작업 중인 프로젝트에 대한 BMAD 프로젝트 생성
await create_project("my-app", "My application development")
```

2. **Business 목표 설정**
```javascript
await create_business(projectId, {
  title: "사용자 경험 개선",
  objectives: ["성능 최적화", "UI 개선"]
})
```

3. **Mission 정의**
```javascript
await create_mission(businessId, {
  title: "로딩 시간 50% 단축",
  description: "핵심 페이지 로딩 속도 개선"
})
```

4. **Approach 전략**
```javascript
await create_approach(missionId, {
  title: "코드 스플리팅 적용",
  strategy: "lazy loading과 dynamic imports 활용"
})
```

5. **Deployment 태스크**
```javascript
await create_deployment(approachId, {
  title: "React.lazy 적용",
  status: "in_progress",
  assignee: "Claude"
})
```

### 현재 작업 확인
```javascript
// 프로젝트의 모든 태스크 보기
const board = await get_board(projectId)

// BMAD 계층 구조 확인
const hierarchy = await get_bmad_hierarchy(projectId)

// 특정 상태의 태스크만 보기
const inProgress = await list_deployments_by_status("in_progress")
```

## 🌐 Web UI 접속

MCP와 별도로 웹 브라우저에서 시각적으로 확인하려면:

```bash
# 터미널 1: API 서버 실행
cd /Users/dumbokim/Develop/bmad-task-manager/server
API_PORT=7531 npm run dev:web

# 터미널 2: Web UI 실행
cd /Users/dumbokim/Develop/bmad-task-manager/web
WEB_PORT=7530 API_PORT=7531 npm run dev
```

브라우저에서 http://localhost:7530 접속

## 📊 프로젝트별 관리

### 프로젝트 전환
```javascript
// 프로젝트 목록 조회
const projects = await list_projects()

// 특정 프로젝트로 전환
await switch_project("another-project-id")
```

### 프로젝트 메타데이터
```javascript
// 현재 작업 디렉토리를 프로젝트와 연결
await link_project_to_directory(projectId, process.cwd())

// 프로젝트 통계 조회
const stats = await get_project_stats(projectId)
```

## 🔄 자동 동기화

- 모든 Claude Code 세션이 같은 데이터베이스를 공유
- 실시간 업데이트는 Web UI를 통해 확인
- 각 세션에서 생성한 태스크가 즉시 반영

## 📝 활용 예시

### 1. 버그 수정 워크플로우
```javascript
// Business: 안정성 향상
const business = await create_business(projectId, {
  title: "시스템 안정성 향상",
  objectives: ["버그 제로", "에러 핸들링 강화"]
})

// Mission: 크리티컬 버그 수정
const mission = await create_mission(business.id, {
  title: "메모리 누수 해결",
  priority: "high"
})

// Approach: 원인 분석 및 수정
const approach = await create_approach(mission.id, {
  title: "메모리 프로파일링 및 최적화"
})

// Deployment: 구체적 수정 작업
await create_deployment(approach.id, {
  title: "useState 클린업 함수 추가",
  status: "todo"
})
```

### 2. 기능 개발 워크플로우
```javascript
// 전체 기능을 BMAD로 구조화
const feature = await create_bmad_feature({
  business: "사용자 편의성 증대",
  mission: "다크모드 지원",
  approach: "CSS 변수 기반 테마 시스템",
  deployments: [
    "테마 컨텍스트 생성",
    "색상 변수 정의",
    "토글 컴포넌트 구현",
    "로컬 스토리지 저장"
  ]
})
```

## 🛠️ 문제 해결

### MCP 도구가 보이지 않을 때
1. Claude를 완전히 종료 후 재시작
2. 설정 파일 경로 확인
3. 서버 빌드 확인: `cd server && npm run build`

### 데이터베이스 오류
```bash
# 권한 확인
ls -la ~/.bmad-task-manager/global.db

# 필요시 권한 부여
chmod 666 ~/.bmad-task-manager/global.db
```

### 포트 충돌
```bash
# 사용 중인 포트 확인
lsof -i :7531

# 프로세스 종료
kill -9 $(lsof -ti :7531)
```

## 💡 팁

1. **프로젝트 템플릿**: 자주 사용하는 BMAD 구조를 템플릿으로 저장
2. **태스크 자동화**: Claude가 코드 작성 시 자동으로 Deployment 생성
3. **진행 상황 추적**: Web UI를 별도 모니터에 띄워두고 실시간 확인
4. **협업**: 팀원들과 같은 DB를 공유하여 협업 가능

## 📚 MCP 도구 목록

| 도구 | 설명 |
|------|------|
| create_project | 새 프로젝트 생성 |
| create_business | Business 목표 생성 |
| create_mission | Mission 정의 |
| create_approach | Approach 전략 수립 |
| create_deployment | Deployment 태스크 생성 |
| update_deployment_status | 태스크 상태 변경 |
| get_board | 칸반 보드 조회 |
| get_bmad_hierarchy | BMAD 계층 구조 조회 |
| list_projects | 프로젝트 목록 |
| search_tasks | 태스크 검색 |