Latest
Sign InSign Up
Home
Resources
DocsTaskmasterHamster StudioCareersAbout
Latest
Sign InSign Up
    • Introduction
    • Quick Start
    • API Keys
    • FAQ
    • Contribute
    • Advanced Usage
    • Advanced Configuration
    • Advanced Tasks
    • MCP Tools
    • CLI Commands
    • Task Structure

Technical Capabilities

Discover the technical capabilities of Taskmaster, including supported models, integrations, and more.

CLI Interface Synopsis

This document outlines the command-line interface (CLI) for the Taskmaster application, as defined in bin/task-master.js and the scripts/modules/commands.js file (which I will assume exists based on the context). This guide is intended for those writing user-facing documentation to understand how users interact with the application from the command line.

Entry Point

The main entry point for the CLI is the task-master command, which is an executable script that spawns the main application logic in scripts/dev.js.

Global Options

The following options are available for all commands:

  • -h, --help: Display help information.
  • --version: Display the application's version.

Commands

The CLI is organized into a series of commands, each with its own set of options. The following is a summary of the available commands, categorized by their functionality.

1. Task and Subtask Management

  • add: Creates a new task using an AI-powered prompt.
    • --prompt <prompt>: The prompt to use for generating the task.
    • --dependencies <dependencies>: A comma-separated list of task IDs that this task depends on.
    • --priority <priority>: The priority of the task (e.g., high, medium, low).
  • add-subtask: Adds a subtask to a parent task.
    • --parent-id <parentId>: The ID of the parent task.
    • --task-id <taskId>: The ID of an existing task to convert to a subtask.
    • --title <title>: The title of the new subtask.
  • remove: Removes one or more tasks or subtasks.
    • --ids <ids>: A comma-separated list of task or subtask IDs to remove.
  • remove-subtask: Removes a subtask from its parent.
    • --id <subtaskId>: The ID of the subtask to remove (in the format parentId.subtaskId).
    • --convert-to-task: Converts the subtask to a standalone task.
  • update: Updates multiple tasks starting from a specific ID.
    • --from <fromId>: The ID of the task to start updating from.
    • --prompt <prompt>: The new context to apply to the tasks.
  • update-task: Updates a single task.
    • --id <taskId>: The ID of the task to update.
    • --prompt <prompt>: The new context to apply to the task.
  • update-subtask: Appends information to a subtask.
    • --id <subtaskId>: The ID of the subtask to update (in the format parentId.subtaskId).
    • --prompt <prompt>: The information to append to the subtask.
  • move: Moves a task or subtask.
    • --from <sourceId>: The ID of the task or subtask to move.
    • --to <destinationId>: The destination ID.
  • clear-subtasks: Clears all subtasks from one or more tasks.
    • --ids <ids>: A comma-separated list of task IDs.

2. Task Information and Status

  • list: Lists all tasks.
    • --status <status>: Filters tasks by status.
    • --with-subtasks: Includes subtasks in the list.
  • show: Shows the details of a specific task.
    • --id <taskId>: The ID of the task to show.
  • next: Shows the next task to work on.
  • set-status: Sets the status of a task or subtask.
    • --id <id>: The ID of the task or subtask.
    • --status <status>: The new status.

3. Task Analysis and Expansion

  • parse-prd: Parses a PRD to generate tasks.
    • --file <file>: The path to the PRD file.
    • --num-tasks <numTasks>: The number of tasks to generate.
  • expand: Expands a task into subtasks.
    • --id <taskId>: The ID of the task to expand.
    • --num-subtasks <numSubtasks>: The number of subtasks to generate.
  • expand-all: Expands all eligible tasks.
    • --num-subtasks <numSubtasks>: The number of subtasks to generate for each task.
  • analyze-complexity: Analyzes task complexity.
    • --file <file>: The path to the tasks file.
  • complexity-report: Displays the complexity analysis report.

4. Project and Configuration

  • init: Initializes a new project.
  • generate: Generates individual task files.
  • migrate: Migrates a project to the new directory structure.
  • research: Performs AI-powered research.
    • --query <query>: The research query.

This synopsis provides a comprehensive overview of the CLI commands and their options, which should be helpful for creating user-facing documentation.

Core Implementation Synopsis

This document provides a high-level overview of the core implementation of the Taskmaster application, focusing on the functionalities exposed through scripts/modules/task-manager.js. This serves as a guide for understanding the application's capabilities when writing user-facing documentation.

Core Concepts

The application revolves around the management of tasks and subtasks, which are stored in a tasks.json file. The core logic provides functionalities to create, read, update, and delete tasks and subtasks, as well as manage their dependencies and statuses.

Task Structure

A task is a JSON object with the following key properties:

  • id: A unique number identifying the task.
  • title: A string representing the task's title.
  • description: A string providing a brief description of the task.
  • details: A string containing detailed information about the task.
  • testStrategy: A string describing how to test the task.
  • status: A string representing the task's current status (e.g., pending, in-progress, done).
  • dependencies: An array of task IDs that this task depends on.
  • priority: A string representing the task's priority (e.g., high, medium, low).
  • subtasks: An array of subtask objects.

A subtask has a similar structure to a task but is nested within a parent task.

Feature Categories

The core functionalities can be categorized as follows:

1. Task and Subtask Management

These functions are the bread and butter of the application, allowing for the creation, modification, and deletion of tasks and subtasks.

  • addTask(prompt, dependencies, priority): Creates a new task using an AI-powered prompt to generate the title, description, details, and test strategy. It can also be used to create a task manually by providing the task data directly.
  • addSubtask(parentId, existingTaskId, newSubtaskData): Adds a subtask to a parent task. It can either convert an existing task into a subtask or create a new subtask from scratch.
  • removeTask(taskIds): Removes one or more tasks or subtasks.
  • removeSubtask(subtaskId, convertToTask): Removes a subtask from its parent. It can optionally convert the subtask into a standalone task.
  • updateTaskById(taskId, prompt): Updates a task's information based on a prompt.
  • updateSubtaskById(subtaskId, prompt): Appends additional information to a subtask's details.
  • updateTasks(fromId, prompt): Updates multiple tasks starting from a specific ID based on a new context.
  • moveTask(sourceId, destinationId): Moves a task or subtask to a new position.
  • clearSubtasks(taskIds): Clears all subtasks from one or more tasks.

2. Task Information and Status

These functions are used to retrieve information about tasks and manage their status.

  • listTasks(statusFilter, withSubtasks): Lists all tasks, with options to filter by status and include subtasks.
  • findTaskById(taskId): Finds a task by its ID.
  • taskExists(taskId): Checks if a task with a given ID exists.
  • setTaskStatus(taskIdInput, newStatus): Sets the status of a task or subtask.
  • updateSingleTaskStatus(taskIdInput, newStatus): A helper function to update the status of a single task or subtask.
  • findNextTask(): Determines the next task to work on based on dependencies and status.

3. Task Analysis and Expansion

These functions leverage AI to analyze and break down tasks.

  • parsePRD(prdPath, numTasks): Parses a Product Requirements Document (PRD) to generate an initial set of tasks.
  • expandTask(taskId, numSubtasks): Expands a task into a specified number of subtasks using AI.
  • expandAllTasks(numSubtasks): Expands all eligible pending or in-progress tasks.
  • analyzeTaskComplexity(options): Analyzes the complexity of tasks and generates recommendations for expansion.
  • readComplexityReport(): Reads the complexity analysis report.

4. Dependency Management

These functions are crucial for managing the relationships between tasks.

  • isTaskDependentOn(task, targetTaskId): Checks if a task has a direct or indirect dependency on another task.

5. Project and Configuration

These functions are for managing the project and its configuration.

  • generateTaskFiles(): Generates individual task files from tasks.json.
  • migrateProject(): Migrates the project to the new .taskmaster directory structure.
  • performResearch(query, options): Performs AI-powered research with project context.

This overview should provide a solid foundation for creating user-facing documentation. For more detailed information on each function, refer to the source code in scripts/modules/task-manager/.

MCP Interface Synopsis

This document provides an overview of the MCP (Machine-to-Machine Communication Protocol) interface for the Taskmaster application. The MCP interface is defined in the mcp-server/ directory and exposes the application's core functionalities as a set of tools that can be called remotely.

Core Concepts

The MCP interface is built on top of the fastmcp library and registers a set of tools that correspond to the core functionalities of the Taskmaster application. These tools are defined in the mcp-server/src/tools/ directory and are registered with the MCP server in mcp-server/src/tools/index.js.

Each tool is defined with a name, a description, and a set of parameters that are validated using the zod library. The execute function of each tool calls the corresponding core logic function from scripts/modules/task-manager.js.

Tool Categories

The MCP tools can be categorized in the same way as the core functionalities:

1. Task and Subtask Management

  • add_task: Creates a new task.
  • add_subtask: Adds a subtask to a parent task.
  • remove_task: Removes one or more tasks or subtasks.
  • remove_subtask: Removes a subtask from its parent.
  • update_task: Updates a single task.
  • update_subtask: Appends information to a subtask.
  • update: Updates multiple tasks.
  • move_task: Moves a task or subtask.
  • clear_subtasks: Clears all subtasks from one or more tasks.

2. Task Information and Status

  • get_tasks: Lists all tasks.
  • get_task: Shows the details of a specific task.
  • next_task: Shows the next task to work on.
  • set_task_status: Sets the status of a task or subtask.

3. Task Analysis and Expansion

  • parse_prd: Parses a PRD to generate tasks.
  • expand_task: Expands a task into subtasks.
  • expand_all: Expands all eligible tasks.
  • analyze_project_complexity: Analyzes task complexity.
  • complexity_report: Displays the complexity analysis report.

4. Dependency Management

  • add_dependency: Adds a dependency to a task.
  • remove_dependency: Removes a dependency from a task.
  • validate_dependencies: Validates the dependencies of all tasks.
  • fix_dependencies: Fixes any invalid dependencies.

5. Project and Configuration

  • initialize_project: Initializes a new project.
  • generate: Generates individual task files.
  • models: Manages AI model configurations.
  • research: Performs AI-powered research.

6. Tag Management

  • add_tag: Creates a new tag.
  • delete_tag: Deletes a tag.
  • list_tags: Lists all tags.
  • use_tag: Switches to a different tag.
  • rename_tag: Renames a tag.
  • copy_tag: Copies a tag.

This synopsis provides a clear overview of the MCP interface and its available tools, which will be valuable for anyone writing documentation for developers who need to interact with the Taskmaster application programmatically.

Same-day shipping for your product team

© 2026 Wheel Go Fast, Inc. All Rights Reserved.

GitHub
Latest
Resources
  • Docs
  • Careers
  • About
Legal
  • Terms of Service
  • Privacy Policy
  • Cookie Policy