242 lines
8.0 KiB
Markdown
242 lines
8.0 KiB
Markdown
# Task Master [](https://github.com/eyaltoledano/claude-task-master/stargazers)
|
|
|
|
[](https://github.com/eyaltoledano/claude-task-master/actions/workflows/ci.yml) [](https://badge.fury.io/js/task-master-ai) [](https://discord.gg/taskmasterai) [](LICENSE)
|
|
|
|
### By [@eyaltoledano](https://x.com/eyaltoledano) & [@RalphEcom](https://x.com/RalphEcom)
|
|
|
|
[](https://x.com/eyaltoledano)
|
|
[](https://x.com/RalphEcom)
|
|
|
|
A task management system for AI-driven development with Claude, designed to work seamlessly with Cursor AI.
|
|
|
|
## Requirements
|
|
|
|
Taskmaster utilizes AI across several commands, and those require a separate API key. You can use a variety of models from different AI providers provided you add your API keys. For example, if you want to use Claude 3.7, you'll need an Anthropic API key.
|
|
|
|
You can define 3 types of models to be used: the main model, the research model, and the fallback model (in case either the main or research fail). Whatever model you use, its provider API key must be present in either mcp.json or .env.
|
|
|
|
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)
|
|
|
|
Using the research model is optional but highly recommended. You will need at least ONE API key. Adding all API keys enables you to seamlessly switch between model providers at will.
|
|
|
|
## Quick Start
|
|
|
|
### Option 1 | MCP (Recommended):
|
|
|
|
MCP (Model Control Protocol) provides the easiest way to get started with Task Master directly in your editor.
|
|
|
|
1. **Add the MCP config to your editor** (Cursor recommended, but it works with other text editors):
|
|
|
|
```json
|
|
{
|
|
"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"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
2. **Enable the MCP** in your editor
|
|
|
|
3. **Prompt the AI** to initialize Task Master:
|
|
|
|
```
|
|
Can you please initialize taskmaster-ai into my project?
|
|
```
|
|
|
|
4. **Use common commands** directly through your AI assistant:
|
|
|
|
```txt
|
|
Can you parse my PRD at scripts/prd.txt?
|
|
What's the next task I should work on?
|
|
Can you help me implement task 3?
|
|
Can you help me expand task 4?
|
|
```
|
|
|
|
### Option 2: Using Command Line
|
|
|
|
#### Installation
|
|
|
|
```bash
|
|
# Install globally
|
|
npm install -g task-master-ai
|
|
|
|
# OR install locally within your project
|
|
npm install task-master-ai
|
|
```
|
|
|
|
#### Initialize a new project
|
|
|
|
```bash
|
|
# If installed globally
|
|
task-master init
|
|
|
|
# If installed locally
|
|
npx task-master init
|
|
```
|
|
|
|
This will prompt you for project details and set up a new project with the necessary files and structure.
|
|
You can also specify brand rules to apply during initialization:
|
|
|
|
```bash
|
|
task-master init --rules cursor,windsurf
|
|
```
|
|
|
|
#### Common Commands
|
|
|
|
```bash
|
|
# Initialize a new project
|
|
task-master init
|
|
|
|
# Initialize a new project applying specific brand rules
|
|
task-master init --rules cursor,windsurf
|
|
|
|
# Parse a PRD and generate tasks
|
|
task-master parse-prd your-prd.txt
|
|
|
|
# Add, remove, or set up brand rules after initialization
|
|
|
|
You can add or remove brand rules at any time after project initialization:
|
|
|
|
```
|
|
|
|
task-master rules add windsurf,roo
|
|
|
|
# Adds the specified brand rule sets (e.g., .windsurf/rules, .roo/rules) to your project.
|
|
|
|
# Also sets up the corresponding MCP configuration in the brand directory.
|
|
|
|
task-master rules remove windsurf
|
|
|
|
# Removes the specified brand rule sets and their MCP config from your project.
|
|
|
|
task-master rules setup
|
|
|
|
# Launches an interactive prompt to select which brand rules to apply to your project.
|
|
|
|
# This does NOT re-initialize the project or ask about shell aliases.
|
|
|
|
# Useful for updating/enforcing rules or switching brands at any time.
|
|
|
|
# The list of brands is always up-to-date with available profiles.
|
|
|
|
````
|
|
|
|
- Adding rules creates the brand rules directory (e.g., `.roo/rules`) and copies/initializes the brand's rules.
|
|
- Removing rules deletes the brand rules directory and associated MCP config.
|
|
- You can use multiple comma-separated brands in a single command.
|
|
- Use the `--force` flag to bypass the confirmation prompt when removing rules (dangerous, irreversible):
|
|
|
|
```bash
|
|
task-master rules remove windsurf --force
|
|
````
|
|
|
|
:warning: **Warning:** The `--force` flag will immediately and permanently delete brand rules and configuration without asking for confirmation.
|
|
|
|
task-master rules add windsurf,roo
|
|
task-master rules remove windsurf --force
|
|
|
|
# List all tasks
|
|
|
|
task-master list
|
|
|
|
# Show the next task to work on
|
|
|
|
task-master next
|
|
|
|
# Generate task files
|
|
|
|
task-master generate
|
|
|
|
````
|
|
|
|
### Interactive Rules Setup
|
|
|
|
You can launch the interactive rules setup at any time with:
|
|
|
|
```bash
|
|
task-master rules setup
|
|
```
|
|
|
|
This command opens a prompt where you can select which brand rules (e.g., Cursor, Roo, Windsurf) you want to apply to your project. The list of brands is always current with the available profiles—no manual updates needed. This does **not** re-initialize your project or ask about shell aliases; it only manages rules.
|
|
|
|
- Use this command to update, enforce, or switch brand rules interactively after project creation.
|
|
- The same interactive prompt is also used during `init` if you don't specify brands with `--rules`.
|
|
|
|
## Documentation
|
|
|
|
For more detailed information, check out the documentation in the `docs` directory:
|
|
|
|
- [Configuration Guide](docs/configuration.md) - Set up environment variables and customize Task Master
|
|
- [Tutorial](docs/tutorial.md) - Step-by-step guide to getting started with Task Master
|
|
- [Command Reference](docs/command-reference.md) - Complete list of all available commands
|
|
- [Task Structure](docs/task-structure.md) - Understanding the task format and features
|
|
- [Example Interactions](docs/examples.md) - Common Cursor AI interaction examples
|
|
|
|
## Troubleshooting
|
|
|
|
### If `task-master init` doesn't respond:
|
|
|
|
Try running it with Node directly:
|
|
|
|
```bash
|
|
node node_modules/claude-task-master/scripts/init.js
|
|
````
|
|
|
|
Or clone the repository and run:
|
|
|
|
```bash
|
|
git clone https://github.com/eyaltoledano/claude-task-master.git
|
|
cd claude-task-master
|
|
node scripts/init.js
|
|
```
|
|
|
|
## Contributors
|
|
|
|
<a href="https://github.com/eyaltoledano/claude-task-master/graphs/contributors">
|
|
<img src="https://contrib.rocks/image?repo=eyaltoledano/claude-task-master" alt="Task Master project contributors" />
|
|
</a>
|
|
|
|
## Star History
|
|
|
|
[](https://www.star-history.com/#eyaltoledano/claude-task-master&Timeline)
|
|
|
|
## Licensing
|
|
|
|
Task Master is licensed under the MIT License with Commons Clause. This means you can:
|
|
|
|
✅ **Allowed**:
|
|
|
|
- Use Task Master for any purpose (personal, commercial, academic)
|
|
- Modify the code
|
|
- Distribute copies
|
|
- Create and sell products built using Task Master
|
|
|
|
❌ **Not Allowed**:
|
|
|
|
- Sell Task Master itself
|
|
- Offer Task Master as a hosted service
|
|
- Create competing products based on Task Master
|
|
|
|
See the [LICENSE](LICENSE) file for the complete license text and [licensing details](docs/licensing.md) for more information.
|