[MCP-시리즈5]Task-Master 핵심 명령어 마스터하기: 프로젝트 관리의 모든 것
서론: 명령어 하나로 시작하는 생산성 혁명
Task-Master의 진정한 힘은 직관적이면서도 강력한 CLI 명령어에 있습니다. 각 명령어는 특정 워크플로우를 최적화하도록 설계되었으며, 조합하여 사용하면 복잡한 프로젝트도 효율적으로 관리할 수 있습니다.
이번 글에서는 Task-Master의 모든 핵심 명령어를 실제 사용 예제와 함께 마스터해보겠습니다.
프로젝트 초기화 명령어
task-master init
프로젝트에 Task-Master를 도입하는 첫 단계입니다.
# 기본 초기화
task-master init
# 실행 결과
✓ Created .taskmaster directory
✓ Created tasks.json
✓ Created config.json
✓ Task Master initialized successfully!
주요 옵션:
--force
: 기존 설정을 덮어씁니다--minimal
: 최소 설정만 생성합니다
실무 팁: 이미 진행 중인 프로젝트에 도입할 때는 먼저 백업을 만들고 --minimal
옵션으로 시작하세요.
task-master models --setup
AI 모델을 대화형으로 설정합니다.
task-master models --setup
# 대화형 설정 프로세스
? Select main model: Claude 3.5 Sonnet
? Select research model: Perplexity Sonar Large
? Select fallback model: GPT-4o Mini
✓ Models configured successfully!
PRD 파싱과 태스크 생성
task-master parse-prd
PRD(Product Requirements Document)에서 태스크를 자동 생성합니다.
# 기본 사용법
task-master parse-prd .taskmaster/docs/prd.txt
# 기존 태스크에 추가
task-master parse-prd new-features.md --append
# 연구 모드로 상세 태스크 생성
task-master parse-prd prd.txt --research
실제 사용 예제:
# PRD 파일 내용
cat > prd.txt << EOF
프로젝트: 사용자 인증 시스템 구현
요구사항:
1. JWT 기반 인증
2. 소셜 로그인 (Google, GitHub)
3. 2FA 지원
4. 비밀번호 재설정 기능
EOF
# 태스크 자동 생성
task-master parse-prd prd.txt --research
# 생성된 태스크 확인
task-master list
태스크 조회 명령어
task-master list
모든 태스크를 보여줍니다.
# 기본 목록
task-master list
# 특정 상태의 태스크만
task-master list --status=pending
# 우선순위별 필터링
task-master list --priority=high
# 트리 구조로 표시
task-master list --tree
# 의존성 표시
task-master list --dependencies
고급 필터링 예제:
# 진행 중인 고우선순위 태스크
task-master list --status=in-progress --priority=high
# 블로킹된 태스크 확인
task-master list --blocked
# 오늘 완료한 태스크
task-master list --status=done --today
task-master show
특정 태스크의 상세 정보를 표시합니다.
# 태스크 상세 정보
task-master show 1.2
# 서브태스크 포함
task-master show 1 --subtasks
# JSON 형식으로 출력
task-master show 1.2 --json
task-master next
다음에 작업할 태스크를 추천합니다.
# 다음 태스크 추천
task-master next
# 특정 우선순위만 고려
task-master next --priority=high
# 특정 카테고리에서만
task-master next --category=backend
태스크 상태 관리
task-master set-status
태스크 상태를 변경합니다.
# 단일 태스크 상태 변경
task-master set-status --id=1.2 --status=in-progress
# 여러 태스크 동시 변경
task-master set-status --id=1.1,1.2,1.3 --status=done
# 범위로 지정
task-master set-status --from=2.1 --to=2.5 --status=pending
상태 전환 워크플로우:
# 작업 시작
task-master next
task-master set-status --id=3.1 --status=in-progress
# 작업 중 메모 추가
task-master update-subtask --id=3.1 --prompt="JWT 라이브러리로 jsonwebtoken 사용 결정"
# 작업 완료
task-master set-status --id=3.1 --status=done
태스크 생성과 수정
task-master add-task
새로운 태스크를 추가합니다.
# 기본 태스크 추가
task-master add-task --prompt="API 문서 작성"
# AI 지원으로 상세 태스크 생성
task-master add-task --prompt="결제 시스템 통합" --research
# 우선순위와 의존성 지정
task-master add-task --prompt="테스트 코드 작성" --priority=high --depends-on=5.1
task-master expand
태스크를 서브태스크로 분해합니다.
# 특정 태스크 확장
task-master expand --id=4
# AI 연구 모드로 상세 분해
task-master expand --id=4 --research
# 모든 확장 가능한 태스크 처리
task-master expand --all --research
# 강제 확장 (이미 서브태스크가 있어도)
task-master expand --id=4 --force
실무 예제: 복잡한 기능 분해
# 복잡한 태스크 생성
task-master add-task --prompt="실시간 채팅 기능 구현"
# 서브태스크로 분해
task-master expand --id=7 --research
# 결과:
# 7.1 - WebSocket 서버 설정
# 7.2 - 채팅방 모델 설계
# 7.3 - 메시지 전송 API
# 7.4 - 실시간 알림 시스템
# 7.5 - 채팅 UI 컴포넌트
task-master update-task
태스크 정보를 업데이트합니다.
# 태스크 설명 업데이트
task-master update-task --id=3.2 --prompt="Redis 캐싱 추가 필요"
# 우선순위 변경
task-master update-task --id=3.2 --priority=high
# AI 지원 업데이트
task-master update-task --id=3.2 --prompt="성능 최적화 필요" --research
task-master update-subtask
서브태스크에 구현 노트를 추가합니다.
# 구현 상세 기록
task-master update-subtask --id=4.1 --prompt="Passport.js 사용, Google OAuth 2.0 설정 완료"
# 문제점 기록
task-master update-subtask --id=4.2 --prompt="CORS 이슈 발생, credentials: true 옵션 추가로 해결"
분석과 리포트
task-master analyze-complexity
프로젝트 복잡도를 AI가 분석합니다.
# 전체 프로젝트 분석
task-master analyze-complexity --research
# 특정 범위 분석
task-master analyze-complexity --from=5 --to=10 --research
# 분석 결과 저장
task-master analyze-complexity --research > complexity-report.md
task-master complexity-report
저장된 복잡도 분석을 조회합니다.
# 리포트 조회
task-master complexity-report
# JSON 형식으로 출력
task-master complexity-report --json
# 특정 섹션만 표시
task-master complexity-report --section=recommendations
의존성 관리
task-master add-dependency
태스크 간 의존성을 추가합니다.
# 단일 의존성 추가
task-master add-dependency --id=5.3 --depends-on=5.1
# 여러 의존성 추가
task-master add-dependency --id=5.3 --depends-on=5.1,5.2
# 체인 의존성
task-master add-dependency --id=6 --depends-on=5
task-master validate-dependencies
의존성 문제를 검사합니다.
# 의존성 검증
task-master validate-dependencies
# 순환 의존성 감지
# 출력: ⚠️ Circular dependency detected: 3.1 → 3.2 → 3.3 → 3.1
# 누락된 의존성 확인
# 출력: ⚠️ Task 4.2 depends on non-existent task 4.5
고급 활용 팁
명령어 조합 패턴
1. 일일 워크플로우
# 아침 시작
task-master list --status=in-progress # 진행 중인 작업 확인
task-master next # 오늘의 첫 작업 선택
task-master show --subtasks # 상세 내용 확인
2. 스프린트 계획
# 복잡도 분석
task-master analyze-complexity --research
# 우선순위 조정
task-master update --from=1 --to=20 --prompt="스프린트 1 목표에 맞춰 우선순위 재조정"
# 스프린트 백로그 확인
task-master list --priority=high --status=pending
3. 진행 상황 리포트
# 주간 완료 태스크
task-master list --status=done --days=7
# 블로킹 이슈 확인
task-master list --blocked
# 팀원별 할당 (태그 활용)
task-master list --tag=frontend-team
스크립트 자동화
자동 상태 업데이트 스크립트:
#!/bin/bash
# auto-complete.sh
# PR 머지 시 관련 태스크 자동 완료
PR_TITLE=$1
TASK_ID=$(echo $PR_TITLE | grep -oP 'task-\K\d+\.\d+')
if [ ! -z "$TASK_ID" ]; then
task-master set-status --id=$TASK_ID --status=done
task-master next # 다음 작업 표시
fi
일일 리포트 생성:
#!/bin/bash
# daily-report.sh
echo "=== Daily Task Report ==="
echo "Date: $(date)"
echo ""
echo "Completed Today:"
task-master list --status=done --today
echo -e "\nIn Progress:"
task-master list --status=in-progress
echo -e "\nNext Priority:"
task-master next
문제 해결과 팁
자주 발생하는 문제들
1. 태스크 ID를 잘못 입력했을 때
# 잘못된 ID 수정
task-master move --from=10.1 --to=9.3
2. 의존성이 꼬였을 때
# 의존성 검증
task-master validate-dependencies
# 문제가 있는 의존성 제거
task-master remove-dependency --id=5.2 --depends-on=5.3
3. 너무 많은 태스크가 생성됐을 때
# 우선순위 재조정
task-master update --from=20 --prompt="MVP에 필요한 핵심 기능만 high priority로 조정"
# 불필요한 태스크 연기
task-master set-status --id=30,31,32 --status=deferred
성능 최적화 팁
캐시 활용
# 자주 사용하는 명령어는 별칭 설정
alias tm-next="task-master next"
alias tm-done="task-master set-status --status=done --id="
AI 호출 최소화
# 단순 작업은 --no-ai 플래그 사용
task-master add-task --prompt="README 오타 수정" --no-ai
배치 작업 활용
# 나쁜 예: 개별 명령 실행
task-master set-status --id=1.1 --status=done
task-master set-status --id=1.2 --status=done
task-master set-status --id=1.3 --status=done
# 좋은 예: 배치 실행
task-master set-status --id=1.1,1.2,1.3 --status=done
실전 시나리오
시나리오 1: 새 기능 개발
# 1. 기능 요구사항을 PRD로 작성
echo "새 기능: 알림 시스템" > notification-prd.txt
echo "- 이메일 알림" >> notification-prd.txt
echo "- 푸시 알림" >> notification-prd.txt
echo "- 알림 설정 페이지" >> notification-prd.txt
# 2. 태스크 자동 생성
task-master parse-prd notification-prd.txt --research
# 3. 복잡도 분석
task-master analyze-complexity --from= --research
# 4. 첫 태스크 시작
task-master next
task-master set-status --id= --status=in-progress
시나리오 2: 버그 수정 워크플로우
# 1. 긴급 버그 태스크 추가
task-master add-task --prompt="[URGENT] 로그인 실패 버그 수정" --priority=high
# 2. 서브태스크로 분해
task-master expand --id= --research
# 3. 진행 상황 기록
task-master update-subtask --id= --prompt="원인: JWT 토큰 만료 시간 처리 오류"
# 4. 수정 완료
task-master set-status --id= --status=done
결론: 명령어 마스터가 되는 길
Task-Master의 명령어들은 각각 특정 목적을 위해 설계되었지만, 진정한 힘은 이들을 조합하여 사용할 때 나타납니다.
핵심은:
- 일관성: 매일 같은 워크플로우 유지
- 자동화: 반복 작업은 스크립트로
- 기록: update-subtask로 모든 결정사항 문서화
다음 글에서는 PRD 작성부터 태스크 자동 생성까지의 전체 프로세스를 자세히 다루겠습니다.
태그: #TaskMaster #CLI #프로젝트관리 #개발도구 #생산성 #명령어가이드
]]>