1. Project Overview & Quickstart (eyaltoledano/LICENSE)
LICENSE
Open-source repository eyaltoledano/LICENSE
Repository Details
- Repository: eyaltoledano/LICENSE
- Primary Language: Code
Note: High-volume repository documentation is actively indexed and synchronized by YakaAI.
2. Official Technical Reference & Guides (eyaltoledano/docs)
File: docs/getting-started/quick-start/configuration-quick.mdx
title: Configuration
sidebarTitle: "Configuration"
Before getting started with Task Master, you'll need to set up your API keys. There are a couple of ways to do this depending on whether you're using the CLI or working inside MCP. It's also a good time to start getting familiar with the other configuration options available β even if you donβt need to adjust them yet, knowing whatβs possible will help down the line.
API Key Setup
Task Master uses environment variables to securely store provider API keys and optional endpoint URLs.
MCP Usage: mcp.json file
For MCP/Cursor usage: Configure keys in the env section of your .cursor/mcp.json file.
{
"mcpServers": {
"task-master-ai": {
"command": "node",
"args": ["./mcp-server/server.js"],
"env": {
"ANTHROPIC_API_KEY": "ANTHROPIC_API_KEY_HERE",
"PERPLEXITY_API_KEY": "PERPLEXITY_API_KEY_HERE",
"OPENAI_API_KEY": "OPENAI_API_KEY_HERE",
"GOOGLE_API_KEY": "GOOGLE_API_KEY_HERE",
"XAI_API_KEY": "XAI_API_KEY_HERE",
"OPENROUTER_API_KEY": "OPENROUTER_API_KEY_HERE",
"MISTRAL_API_KEY": "MISTRAL_API_KEY_HERE",
"AZURE_OPENAI_API_KEY": "AZURE_OPENAI_API_KEY_HERE",
"OLLAMA_API_KEY": "OLLAMA_API_KEY_HERE",
"GITHUB_API_KEY": "GITHUB_API_KEY_HERE"
}
}
}
}CLI Usage: `.env` File
Create a .env file in your project root and include the keys for the providers you plan to use:
# Required API keys for providers configured in .taskmaster/config.json
ANTHROPIC_API_KEY=sk-ant-api03-your-key-here
PERPLEXITY_API_KEY=pplx-your-key-here
# OPENAI_API_KEY=sk-your-key-here
# GOOGLE_API_KEY=AIzaSy...
# AZURE_OPENAI_API_KEY=your-azure-openai-api-key-here
# etc.
# Optional Endpoint Overrides
# Use a specific provider's base URL, e.g., for an OpenAI-compatible API
# OPENAI_BASE_URL=https://api.third-party.com/v1
#
# Azure OpenAI Configuration
# AZURE_OPENAI_ENDPOINT=https://your-resource-name.openai.azure.com/ or https://your-endpoint-name.cognitiveservices.azure.com/openai/deployments
# OLLAMA_BASE_URL=http://custom-ollama-host:11434/api
# Google Vertex AI Configuration (Required if using 'vertex' provider)
# VERTEX_PROJECT_ID=your-gcp-project-idWhat Else Can Be Configured?
The main configuration file (.taskmaster/config.json) allows you to control nearly every aspect of Task Masterβs behavior. Hereβs a high-level look at what you can customize:
Models and Providers
- Role-based model setup:
main,research,fallback - Provider selection (Anthropic, OpenAI, Perplexity, etc.)
- Model IDs per role
- Temperature, max tokens, and other generation settings
- Custom base URLs for OpenAI-compatible APIs
Global Settings
logLevel: Logging verbositydebug: Enable/disable debug modeprojectName: Optional name for your projectdefaultTag: Default tag for task groupingdefaultSubtasks: Number of subtasks to auto-generatedefaultPriority: Priority level for new tasks
API Endpoint Overrides
ollamaBaseURL: Custom Ollama server URLazureBaseURL: Global Azure endpointvertexProjectId: Google Vertex AI project IDvertexLocation: Region for Vertex AI models
Tag and Git Integration
- Default tag context per project
- Support for task isolation by tag
- Manual tag creation from Git branches
State Management
- Active tag tracking
- Migration state
- Last tag switch timestamp
File: docs/getting-started/quick-start/execute-quick.mdx
title: Executing Tasks sidebarTitle: "Executing Tasks"
Now that your tasks are generated and reviewed you are ready to begin executing.
Select the Task to Work on: Next Task
Task Master has the "next" command to find the next task to work on. You can access it with the following request:
What's the next task I should work on? Please consider dependencies and priorities.Alternatively you can use the CLI to show the next task
task-master nextDiscuss Task
When you know what task to work on next you can then start chatting with the agent to make sure it understands the plan of action.
You can tag relevant files and folders so it knows what context to pull up as it generates its plan. For example:
Please review Task 5 and confirm you understand how to execute before beginning. Refer to @models @api and @schemaThe agent will begin analyzing the task and files and respond with the steps to complete the task.
Agent Task execution
If you agree with the plan of action, tell the agent to get started.
You may begin. I believe in you.Review and Test
Once the agent is finished with the task you can refer to the task testing strategy to make sure it was completed correctly.
Update Task Status
If the task was completed correctly you can update the status to done
Please mark Task 5 as doneThe agent will execute
task-master set-status --id=5 --status=doneRules and Context
If you ran into problems and had to debug errors you can create new rules as you go. This helps build context on your codebase that helps the creation and execution of future tasks.
On to the Next Task!
By now you have all you need to get started executing code faster and smarter with Task Master.
If you have any questions please check out Frequently Asked Questions
File: docs/getting-started/quick-start/installation.mdx
title: Installation sidebarTitle: "Installation"
Now that you have Node.js and your first API Key, you are ready to begin installing Task Master in one of three ways.
Or click the copy button (top-right of code block) then paste into your browser:
cursor://anysphere.cursor-deeplink/mcp/install?name=taskmaster-ai&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIi0tcGFja2FnZT10YXNrLW1hc3Rlci1haSIsInRhc2stbWFzdGVyLWFpIl0sImVudiI6eyJBTlRIUk9QSUNfQVBJX0tFWSI6IllPVVJfQU5USFJPUElDX0FQSV9LRVlfSEVSRSIsIlBFUlBMRVhJVFlfQVBJX0tFWSI6IllPVVJfUEVSUExFWElUWV9BUElfS0VZX0hFUkUiLCJPUEVOQUlfQVBJX0tFWSI6IllPVVJfT1BFTkFJX0tFWV9IRVJFIiwiR09PR0xFX0FQSV9LRVkiOiJZT1VSX0dPT0dMRV9LRVlfSEVSRSIsIk1JU1RSQUxfQVBJX0tFWSI6IllPVVJfTUlTVFJBTF9LRVlfSEVSRSIsIk9QRU5ST1VURVJfQVBJX0tFWSI6IllPVVJfT1BFTlJPVVRFUl9LRVlfSEVSRSIsIlhBSV9BUElfS0VZIjoiWU9VUl9YQUlfS0VZX0hFUkUiLCJBWlVSRV9PUEVOQUlfQVBJX0tFWSI6IllPVVJfQVpVUkVfS0VZX0hFUkUiLCJPTExBTUFfQVBJX0tFWSI6IllPVVJfT0xMQU1BX0FQSV9LRVlfSEVSRSJ9fQo=Note: After clicking the link, you'll still need to add your API keys to the configuration. The link installs the MCP server with placeholder keys that you'll need to replace with your actual API keys.
Installation Options
MCP (Model Control Protocol) lets you run Task Master directly from your editor.
1. Add your MCP config at the following path depending on your editor
| Editor | Scope | Linux/macOS Path | Windows Path | Key |
|---|---|---|---|---|
| Cursor | Global | ~/.cursor/mcp.json |
%USERPROFILE%\.cursor\mcp.json |
mcpServers |
| Project | /.cursor/mcp.json |
\.cursor\mcp.json |
mcpServers |
|
| Windsurf | Global | ~/.codeium/windsurf/mcp_config.json |
%USERPROFILE%\.codeium\windsurf\mcp_config.json |
mcpServers |
| VS Code | Project | /.vscode/mcp.json |
\.vscode\mcp.json |
servers |
Manual Configuration
Cursor & Windsurf (`mcpServers`)
{
"mcpServers": {
"taskmaster-ai": {
"command": "npx",
"args": ["-y", "--package=task-master-ai", "task-master-ai"],
"env": {
"ANTHROPIC_API_KEY": "YOUR_ANTHROPIC_API_KEY_HERE",
"PERPLEXITY_API_KEY": "YOUR_PERPLEXITY_API_KEY_HERE",
"OPENAI_API_KEY": "YOUR_OPENAI_KEY_HERE",
"GOOGLE_API_KEY": "YOUR_GOOGLE_KEY_HERE",
"MISTRAL_API_KEY": "YOUR_MISTRAL_KEY_HERE",
"OPENROUTER_API_KEY": "YOUR_OPENROUTER_KEY_HERE",
"XAI_API_KEY": "YOUR_XAI_KEY_HERE",
"AZURE_OPENAI_API_KEY": "YOUR_AZURE_KEY_HERE",
"OLLAMA_API_KEY": "YOUR_OLLAMA_API_KEY_HERE"
}
}
}
}π Replace
YOUR_β¦_KEY_HEREwith your real API keys. You can remove keys you don't use.
Note: If you see
0 tools enabledin the MCP settings, try removing the--package=task-master-aiflag fromargs.
VS Code (`servers` + `type`)
{
"servers": {
"taskmaster-ai": {
"command": "npx",
"args": ["-y", "--package=task-master-ai", "task-master-ai"],
"env": {
"ANTHROPIC_API_KEY": "YOUR_ANTHROPIC_API_KEY_HERE",
"PERPLEXITY_API_KEY": "YOUR_PERPLEXITY_API_KEY_HERE",
"OPENAI_API_KEY": "YOUR_OPENAI_KEY_HERE",
"GOOGLE_API_KEY": "YOUR_GOOGLE_KEY_HERE",
"MISTRAL_API_KEY": "YOUR_MISTRAL_KEY_HERE",
"OPENROUTER_API_KEY": "YOUR_OPENROUTER_KEY_HERE",
"XAI_API_KEY": "YOUR_XAI_KEY_HERE",
"AZURE_OPENAI_API_KEY": "YOUR_AZURE_KEY_HERE"
},
"type": "stdio"
}
}
}π Replace
YOUR_β¦_KEY_HEREwith your real API keys. You can remove keys you don't use.
2. (Cursor-only) Enable Taskmaster MCP
Open Cursor Settings (Ctrl+Shift+J) β‘ Click on MCP tab on the left β‘ Enable task-master-ai with the toggle
3. (Optional) Configure the models you want to use
In your editor's AI chat pane, say:
Change the main, research and fallback models to <model_name>, <model_name> and <model_name> respectively.For example, to use Claude Code (no API key required):
Change the main model to claude-code/sonnet4. Initialize Task Master
In your editor's AI chat pane, say:
Initialize taskmaster-ai in my projectCLI Installation
# Install globally
npm install task-master-ai
# OR install locally within your project
npm install task-master-aiInitialize 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,vscodeThis will prompt you for project details and set up a new project with the necessary files and structure.
File: docs/getting-started/quick-start/prd-quick.mdx
title: PRD Creation and Parsing sidebarTitle: "PRD Creation and Parsing"
Writing a PRD
A PRD (Product Requirements Document) is the starting point of every task flow in Task Master. It defines what you're building and why. A clear PRD dramatically improves the quality of your tasks, your model outputs, and your final product β so itβs worth taking the time to get it right.
What Makes a Good PRD?
- Clear objective β whatβs the outcome or feature?
- Context β whatβs already in place or assumed?
- Constraints β what limits or requirements need to be respected?
- Reasoning β why are you building it this way?
The more context you give the model, the better the breakdown and results.
Writing a PRD for Task Master
You can co-write your PRD with an LLM model using the following workflow:
- Chat about requirements β explain what you want to build.
- Show an example PRD β share the example PRD so the model understands the expected format. The example uses formatting that work well with Task Master's code. Following the example will yield better results.
- Iterate and refine β work with the model to shape the draft into a clear and well-structured PRD.
This approach works great in Cursor, or anywhere you use a chat-based LLM.
Where to Save Your PRD
Place your PRD file in the .taskmaster/docs folder in your project.
- You can have multiple PRDs per project.
- Name your PRDs clearly so theyβre easy to reference later.
- Examples:
dashboard_redesign.txt,user_onboarding.txt
- Examples:
Parse your PRD into Tasks
This is where the Task Master magic begins.
In Cursor's AI chat, instruct the agent to generate tasks from your PRD:
Please use the task-master parse-prd command to generate tasks from my PRD. The PRD is located at .taskmaster/docs/.txt.The agent will execute the following command which you can alternatively paste into the CLI:
task-master parse-prd .taskmaster/docs/.txtThis will:
- Parse your PRD document
- Generate a structured
tasks.jsonfile with tasks, dependencies, priorities, and test strategies
Now that you have written and parsed a PRD, you are ready to start setting up your tasks.
File: docs/getting-started/quick-start/quick-start.mdx
title: Quick Start sidebarTitle: "Quick Start"
This guide is for new users who want to start using Task Master with minimal setup time.
It covers:
- Requirements: You will need Node.js and an AI model API Key.
- Installation: How to Install Task Master.
- Configuration: Setting up your API Key, MCP, and more.
- PRD: Writing and parsing your first PRD.
- Task Setup: Preparing your tasks for execution.
- Executing Tasks: Using Task Master to execute tasks.
- Rules & Context: Learn how and why to build context in your project over time.
File: docs/getting-started/quick-start/requirements.mdx
title: Requirements sidebarTitle: "Requirements"
Before you can start using TaskMaster AI, you'll need to install Node.js and set up at least one model API Key.
1. Node.js
TaskMaster AI is built with Node.js and requires it to run. npm (Node Package Manager) comes bundled with Node.js.
Installation
Option 1: Download from official website
- Visit nodejs.org
- Download the LTS (Long Term Support) version for your operating system
- Run the installer and follow the setup wizard
Option 2: Use a package manager
choco install nodejswinget install OpenJS.NodeJS2. Model API Key
Taskmaster utilizes AI across several commands, and those require a separate API key. For the purpose of a Quick Start we recommend setting up an API Key with Anthropic for your main model and Perplexity for your research model (optional but recommended).
At least one (1) of the following is required:
- Anthropic API key (Claude API) - recommended for Quick Start
- 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)
File: docs/getting-started/quick-start/tasks-quick.mdx
title: Tasks Setup sidebarTitle: "Tasks Setup"
Now that your tasks are generated you can review the plan and prepare for execution.
Expand Tasks
Used to add detail to tasks and create subtasks. We recommend expanding all tasks using the MCP request below:
Expand all tasks into subtasks.The agent will execute
task-master expand --allList/Show Tasks
Used to view task details. It is important to review the plan and ensure it makes sense in your project. Check for correct folder structures, dependencies, out of scope subtasks, etc.
To see a list of tasks and descriptions use the following command:
List all pending tasks so I can review.To see all tasks in the CLI you can use:
task-master listTo see all implementation details of an individual task, including subtasks and testing strategy, you can use Show Task:
Show task 2 so I can review.task-master show --id=<##>Update Tasks
If the task details need to be edited you can update the task using this request:
Update Task 2 to use Postgres instead of MongoDB and remove the sharding subtaskOr this CLI command:
task-master update-task --id=2 --prompt="use Postgres instead of MongoDB and remove the sharding subtask"Analyze complexity
Task Master can provide a complexity report which can be helpful to read before you begin. If you didn't already expand all your tasks, it could help identify which could be broken down further with subtasks.
Can you analyze the complexity of our tasks to help me understand which ones need to be broken down further?You can view the report in a friendly table using:
Can you show me the complexity report in a more readable format?