Taskmaster 란 무엇인가

: A task management system for AI-driven development, designed to work seamlessly with any AI chat.(

모든 AI 채팅과 원활하게 작동하도록 설계된 AI 기반 개발을 위한 작업 관리 시스템입니다.

 

* Cursor와 같은 AI Driven 개발을 진행할때, Cursor + 채팅만으로 구현을 하게되면, 작업의 연속성(모델을 바꾸거나, Cursor를 재부팅하거나 등)을 해치게된다(대화 히스토리의 context의 전달도 한계가 있음). 이때 사용하는것이 AI Workflow 관리도구인 Task-Master이다.(이외에는 Bmad-Method란것도 있고, 요즘 이쪽으로 연구가 활발히 진행중)

 

* Github: https://github.com/eyaltoledano/claude-task-master

 

GitHub - eyaltoledano/claude-task-master: An AI-powered task-management system you can drop into Cursor, Lovable, Windsurf, Roo,

An AI-powered task-management system you can drop into Cursor, Lovable, Windsurf, Roo, and others. - eyaltoledano/claude-task-master

github.com

 

 

Task-Master 동작 핵심요약

 

1. prd.md 작성 : Product(상품, 제품, 프로그램)의 상세 명세서를 작성한다.

  - 프로그램 요구사항, 제약사항, 버전관리 등

  - 구현에 필요한 데이터, 패키지버전, 설계내용 등 내가 원하는 구현내용에 대한 최대한 상세한 내용 기술필요

2. task01.txt등으로 실행할 task 세분화: 분할정복 방법으로 진행할 내용을 세분화해서 작성

  - AI-Assistant(LLM)이 이걸 기준으로 작업하기 때문에 일관된 작업가능

  - 어떻게 보면, 수행할 프롬프트를 세분화한다고 볼수도 있음(하지만, task를 나눈다는게 정확한 표현이긴함)

  - 보통은 10개의 하위 task로 나눔

3. 반복(iteration)을 통해 task_01.txt~task_10.txt를 수행함

  - 이과정에서 task.txt명세가 빈양하면(구체적이지 않으면) 재작업이 다수 발생함

  - 이때 AI-Chat을 통해서만 명령을 하게되면, 연속성이 무너지게 됨 -> 반드시 재작업시에는 prd.md와 task.txt파일을 같이 수정해줘야함

  - 또한 최대한 자세히(구현 가능하게 설계레벨로 구체적으로) task가 명시되어있어야만, 내가 원하는 결과물이 나옴(퀄리티 보장가능)

 

Task-Master 주의할점

  1. Cursor 결제외에, API-Key(유료 사용이 가능한)가 필요함

    - 무료버전은 금방 쿼터(임계치)에 도달함

    - openai(chatgpt), claue.ai(sonnet 4)등 유료 API가 있어야만, 구동시 해당 API로 task-master와 연동됨

    - MCP로 동작: cursor IDE와 task-master는 MCP라는 인터페이스로 연동되고, 별도의 gtp서비스 API-KEY로 LLM(AI)와 연동하여 동작을 수행함

  2. 위에서도 언급했지만, Task-Master를 제대로 사용하지못하고, prd.md->task.txt 분해이후 Cursor Chat만으로 진행하게되면, 연속성이 깨짐

   - 요구사항이 바뀌거나하면, prd.md, task.txt파일을 현행화해가면서 작업을해야함. 

   - 아니면 문제(퀄리티가 떨어지는 결과물, 버그)가 발생했을때, 재작업으로 인한 시간이 엄청 소비됨

  3. task-master를 사용하다가 Cursor Chat만으로 작업이 진행될때, 두번째 문제 -> 비용

   - Cursor IDE를 유료로 쓰고 있더라도, 설정에 따라 추가결제가 될수 있음(ㅠㅠ 최초에 사용하다가 삽질로 그랬음)

   - Thinking모델 또는 최고사용모델만 사용하면 임계치에 금방도달할수도 있음(소스 규모가 커짐에 따라 Context사이즈도 금방 넘쳐버림), 

  4. Cursor의 Auto모드로 전환하여 개발시, 버그 양산되거나, 버그를 해결못하는 문제 발생가능

   - Auto버전은 성능이 구림(비용이 큰 모델보다 가격이 싼? 효율적인 모델을 우선 동작하는듯)

  5. 설치 및 적응에 러닝커브가 있음(첫번째 프로젝트는 삽질하고 두번째부터 잘쓸수 있을듯)

Task-Master의 장점(AI Workflow 관리시스템의 장점)

1. 작업의 효율화

  -  PC재부팅, Cursor재부팅, 모델 변경간에 일관성을 유지함으로 효율성이 생김

2. 작업의 표준화

  - 공통 산출물(doc 등)을 정의해두고, 해당 레퍼런스를 참조해서 생성할게 할수 있으므로 작업의 표준화 가능(ex: java ->Srping Framework를 쓰는 효과)

3. 작업 품질 보장?

  - 여러 개발자들이 Cursor + 프롬프트의 개인적인 역량에 의존하던걸, 이런 툴을 사용하면 어느정도 상향 평준화 가능


 

설치방법

 

* github에 보면, cursor에서 퀵스타는 하는 방법으로는 나는 따라하기 어려웠다.

Claude Code Quick Install

For Claude Code users:

claude mcp add taskmaster-ai -- npx -y task-master-ai
 

Don't forget to add your API keys to the configuration:

  • in the root .env of your Project
  • in the "env" section of your mcp config for taskmaster-ai

 

NPM을 설치하고 진행하는 방법:

 

At least one (1) of the following is required:

  • Anthropic API key (Claude API)
  • OpenAI API key
  • Google Gemini API key
  • Perplexity API key (for research model)
  • xAI API Key (for research or main model)
  • OpenRouter API Key (for research or main model)
  • Claude Code (no API key required - requires Claude Code CLI)
  • Codex CLI (OAuth via ChatGPT subscription - requires Codex CLI)

 

1. NPM 설치: https://nodejs.org/ko/download

 

Node.js — Node.js® 다운로드

Node.js® is a free, open-source, cross-platform JavaScript runtime environment that lets developers create servers, web apps, command line tools and scripts.

nodejs.org

 

Option 2: Using Command Line

Installation

# Install globally
npm install -g task-master-ai

# OR install locally within your project
npm install task-master-ai
 

Initialize a new project

# If installed globally
task-master init

# If installed locally
npx task-master init

# Initialize project with specific rules
task-master init --rules cursor,windsurf,vscode
 

This will prompt you for project details and set up a new project with the necessary files and structure.

Common Commands

# Initialize a new project
task-master init

# Parse a PRD and generate tasks
task-master parse-prd your-prd.txt

# List all tasks
task-master list

# Show the next task to work on
task-master next

# Show specific task(s) - supports comma-separated IDs
task-master show 1,3,5

# Research fresh information with project context
task-master research "What are the latest best practices for JWT authentication?"

# Move tasks between tags (cross-tag movement)
task-master move --from=5 --from-tag=backlog --to-tag=in-progress
task-master move --from=5,6,7 --from-tag=backlog --to-tag=done --with-dependencies
task-master move --from=5 --from-tag=backlog --to-tag=in-progress --ignore-dependencies

# Generate task files
task-master generate

# Add rules after initialization
task-master rules add windsurf,roo,vscode

 

(cmd 모드)

NPM설치

-> task-master 설치

-> 프로젝트 경로 이동

-> Task-Master 초기화(init) : 사용할 모델등 설정 진행

task master init

-> prd.md(prd.txt) 작성 후 파싱(parse-prd)  수행

* parse-prd 수행전에, .env파일을 생성하고 API_KEY 세팅 필요

OPENAI_API_KEY=~~

  : 여기까지만 해두면 .taskmaster/tasks/task_01~10.txt가 생성되고, 이제 구현 준비가 완료되었다고 보면된다.

 

* 만약에 cursor만 결재한 상태이고 별도의 openai(ChatGPT API_KEY 유료버전이 없다면/무료버전은 금방 소진됨), 아래처럼 cursor에서 진행도 가능하다.

  엄밀하게 따지면, 이건 task-master를 패턴을 cursor로 흉내내는것이다.(task-master init까지는 수행한 이후에 실행)

-------------------------- -------------------------- -------------------------- -------------------------- -------------------------- -----------------------

(cursor AI Chat에서 아래를 실행: task.txt파일 생성 -> 차례대로 실행 )

 

.taskmaster/templates/prd.txt를 참고해서 .taskmaster/tasks하위에 task_01.txt~task_nn.txt까지 task를 분해해줘

(task-master parse-prd prd.txt 과정 참고)

자 이제 .taskmaster/tasks/task_01.txt~task_06.txt를 차례대로 실행해줘
.taskmaster/docs 에 이론노트와 .taskmaster/code 실습코드파일을 저장해주면되!
(task-master generate 과정 참고)

-------------------------- -------------------------- -------------------------- -------------------------- -------------------------- --------------------------

  

 

*나는 이후 task-master의 명령을 충분히 활용해서 작업은 하지 않았고, cursor AI Chat을 통해 진행하였는데

 (chat ex: taks_01.txt ~ task_10.txt를 순차적으로 실행해줘)

  이 때문인지, Cursor의 작업비용이 많이 발생하였다.

  task-master명령으로 진행하였다면, 설정된 API-KEY를 사용하여 진행되어서 Cursor비용은 추가로 크게 발생안할수 있지 않았을까 생각해본다. 좀더 프로젝트를 진행해봐야 감을 잡을수 있을거 같다.

 

 

+ Recent posts