Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 21 additions & 0 deletions claude-task-master/LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
MIT License

Copyright (c) 2025 Claude Task Master Contributors

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
339 changes: 339 additions & 0 deletions claude-task-master/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,339 @@
# Claude Task Master

A powerful, Python-based task management system designed for seamless integration with **Claude Desktop** and **Claude Code**. Built as an improved alternative to task-master with cross-platform support for macOS, Linux, and mobile (via REST API).

## Features

### Core Capabilities
- **Task Management**: Full CRUD operations with priorities, due dates, tags, and subtasks
- **Dependency Tracking**: Define task dependencies with automatic topological ordering
- **Project Organization**: Group tasks by project with directory-based detection
- **PRD Parsing**: Convert Product Requirement Documents into structured task lists

### Claude Integration
- **MCP Server**: Model Context Protocol server for Claude Desktop integration
- **CLI**: Comprehensive command-line interface for Claude Code
- **36+ Tools**: Rich set of tools exposed via MCP for AI-driven task management

### Cross-Platform
- **macOS**: Full support with native configuration paths
- **Linux**: XDG-compliant configuration and data directories
- **Windows**: AppData-based paths
- **Mobile**: REST API server (coming soon)

## Installation

### From PyPI (recommended)
```bash
pip install claude-task-master
```

### From Source
```bash
git clone https://github.com/claude-task-master/claude-task-master
cd claude-task-master
pip install -e .
```

### With Development Dependencies
```bash
pip install -e ".[dev]"
```

## Quick Start

### Initialize a Project
```bash
# Initialize .taskmaster directory in your project
ctm init

# Or specify a directory
ctm init --dir /path/to/project
```

### Create Tasks
```bash
# Simple task
ctm add "Implement user authentication"

# Task with details
ctm add "Fix login bug" -p high --due 2025-02-01 -t bug -t auth

# Task with subtasks
ctm add "Build API endpoints" -s "Create routes" -s "Add validation" -s "Write tests"
```

### Manage Tasks
```bash
# List all active tasks
ctm list

# Filter by status and priority
ctm list -s in_progress -p critical -p high

# Search tasks
ctm list -q "authentication"

# Show task details
ctm show <task-id>

# Get next task to work on
ctm next
```

### Update Task Status
```bash
# Start working on a task
ctm start <task-id>

# Mark as completed
ctm done <task-id>

# Block with reason
ctm block <task-id> -r "Waiting for API spec"
```

### Parse PRD Files
```bash
# Parse a PRD and create tasks
ctm parse-prd requirements.md --project myproject

# Dry run to see what would be created
ctm parse-prd requirements.md --dry-run
```

### Export Tasks
```bash
# Export as JSON
ctm export -f json -o tasks.json

# Export as Markdown
ctm export -f markdown -o TASKS.md

# Export as CSV
ctm export -f csv -o tasks.csv
```

## Claude Desktop Integration

### Automatic Setup
```bash
ctm setup-claude
```

This will configure Claude Desktop to use the task manager MCP server.

### Manual Configuration

Add to your `claude_desktop_config.json`:

**macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
**Linux**: `~/.config/Claude/claude_desktop_config.json`

```json
{
"mcpServers": {
"claude-task-master": {
"command": "taskmaster-mcp",
"args": [],
"env": {}
}
}
}
```

Restart Claude Desktop after updating the configuration.

### Available MCP Tools

Once configured, Claude Desktop can use these tools:

#### Task Management
- `task_create` - Create new tasks
- `task_get` - Get task by ID
- `task_list` - List and filter tasks
- `task_update` - Update task properties
- `task_delete` - Delete tasks
- `task_start` - Mark task as in progress
- `task_complete` - Mark task as completed
- `task_block` - Mark task as blocked
- `task_next` - Get next task to work on

#### Subtasks
- `subtask_add` - Add subtask to a task
- `subtask_complete` - Complete a subtask

#### Tags & Dependencies
- `task_add_tag` / `task_remove_tag` - Manage tags
- `task_add_dependency` / `task_remove_dependency` - Manage dependencies

#### Projects
- `project_create` - Create new project
- `project_list` - List all projects
- `project_get` - Get project details
- `project_init` - Initialize .taskmaster directory

#### PRD & Analysis
- `prd_parse` - Parse PRD into tasks
- `task_expand` - Expand task with subtasks
- `stats_get` - Get task statistics
- `tasks_overdue` - Get overdue tasks
- `tasks_due_soon` - Get upcoming tasks
- `dependency_graph` - Get dependency graph
- `topological_order` - Get tasks in dependency order

#### Bulk Operations
- `tasks_bulk_complete` - Complete multiple tasks
- `tasks_bulk_tag` - Tag multiple tasks

## CLI Reference

### Commands

| Command | Description |
|---------|-------------|
| `ctm add <title>` | Create a new task |
| `ctm list` | List tasks with filters |
| `ctm show <id>` | Show task details |
| `ctm edit <id>` | Edit task properties |
| `ctm delete <id>` | Delete a task |
| `ctm start <id>` | Start working on task |
| `ctm done <id>` | Complete a task |
| `ctm block <id>` | Block a task |
| `ctm next` | Get next task |
| `ctm tag <id> <tags>` | Add tags |
| `ctm untag <id> <tags>` | Remove tags |
| `ctm subtask <id> <title>` | Add subtask |
| `ctm project create <name>` | Create project |
| `ctm project list` | List projects |
| `ctm parse-prd <file>` | Parse PRD file |
| `ctm stats` | Show statistics |
| `ctm export` | Export tasks |
| `ctm init` | Initialize project |
| `ctm setup-claude` | Configure Claude Desktop |

### Options

#### Global Options
- `--version` - Show version
- `--help` - Show help

#### Task Options
- `-p, --priority` - Priority (critical, high, medium, low, backlog)
- `-d, --description` - Description
- `--due` - Due date (YYYY-MM-DD)
- `-t, --tag` - Tags (multiple)
- `-s, --subtask` - Subtasks (multiple)
- `--project` - Project ID or name

#### List Options
- `-s, --status` - Filter by status
- `-p, --priority` - Filter by priority
- `-t, --tag` - Filter by tag
- `-q, --search` - Search query
- `-a, --all` - Include completed
- `-n, --limit` - Limit results

## Configuration

Configuration is stored in platform-specific locations:

- **macOS**: `~/Library/Application Support/claude-task-master/config.toml`
- **Linux**: `~/.config/claude-task-master/config.toml`
- **Windows**: `%APPDATA%/claude-task-master/config.toml`

### Example Configuration

```toml
enable_research = true
enable_auto_expand = true
enable_smart_scheduling = true
auto_detect_project = true

[ai]
provider = "anthropic"
model = "claude-3-5-sonnet-20241022"
temperature = 0.7

[mcp]
enabled = true
host = "127.0.0.1"
port = 8765
tools_mode = "all"

[cli]
default_priority = "medium"
color_output = true
date_format = "%Y-%m-%d"
```

### Environment Variables

- `CTM_CONFIG_DIR` - Override config directory
- `CTM_DATA_DIR` - Override data directory
- `ANTHROPIC_API_KEY` - API key for AI features

## Project Structure

```
.taskmaster/
├── config.toml # Project-specific settings
├── docs/ # PRD and documentation
└── templates/ # PRD templates
└── prd_template.md
```

## Data Storage

Tasks are stored in SQLite database:

- **macOS**: `~/Library/Application Support/claude-task-master/tasks.db`
- **Linux**: `~/.local/share/claude-task-master/tasks.db`
- **Windows**: `%LOCALAPPDATA%/claude-task-master/tasks.db`

## Comparison with task-master

| Feature | task-master | claude-task-master |
|---------|-------------|-------------------|
| Language | JavaScript/TypeScript | Python |
| MCP Server | Yes | Yes |
| CLI | Yes | Yes (with rich output) |
| Cross-platform | Limited | Full (macOS, Linux, Windows) |
| PRD Parsing | Yes | Yes |
| Dependency Graph | Yes | Yes |
| SQLite Backend | No | Yes |
| Async Support | Limited | Full |
| Type Safety | TypeScript | Pydantic models |
| Package Size | Larger | Smaller |

## Development

### Running Tests
```bash
pytest tests/ -v
```

### Type Checking
```bash
mypy taskmaster/
```

### Linting
```bash
ruff check taskmaster/
black taskmaster/
```

## License

MIT License - See [LICENSE](LICENSE) for details.

## Contributing

Contributions welcome! Please read our contributing guidelines and submit pull requests.

## Related Projects

- [task-master](https://github.com/eyaltoledano/claude-task-master) - Original JavaScript implementation
- [MCP](https://github.com/modelcontextprotocol/mcp) - Model Context Protocol specification
- [Claude Desktop](https://claude.ai/desktop) - Anthropic's desktop application
Loading