Files
claude-task-master/.changeset/two-bats-smoke.md
Eyal Toledano 1f2da33c8c docs: Update rules for MCP/CLI workflow and project root handling
Updated several Cursor rules documentation files (`mcp.mdc`, `utilities.mdc`, `architecture.mdc`, `new_features.mdc`, `commands.mdc`) to accurately reflect recent refactoring and clarify best practices.

Key documentation updates include:

- Explicitly stating the preference for using MCP tools over CLI commands in integrated environments (`commands.mdc`, `dev_workflow.mdc`).

- Describing the new standard pattern for getting the project root using `getProjectRootFromSession` within MCP tool `execute` methods (`mcp.mdc`, `utilities.mdc`, `architecture.mdc`, `new_features.mdc`).

- Clarifying the simplified role of `findTasksJsonPath` in direct functions (`mcp.mdc`, `utilities.mdc`, `architecture.mdc`, `new_features.mdc`).

- Ensuring proper interlinking between related documentation files.
2025-04-08 15:54:06 -04:00

6.0 KiB

task-master-ai
task-master-ai
patch
  • Adjusts the MCP server invokation in the mcp.json we ship with task-master init. Fully functional now.

  • Rename MCP tools to better align with API conventions and natural language in client chat:

    • Rename list-tasks to get-tasks for more intuitive client requests like "get my tasks"
    • Rename show-task to get-task for consistency with GET-based API naming conventions
  • Refactor project root handling for MCP Server:

    • Prioritize Session Roots: MCP tools now extract the project root path directly from session.roots[0].uri provided by the client (e.g., Cursor).
    • New Utility getProjectRootFromSession: Added to mcp-server/src/tools/utils.js to encapsulate session root extraction and decoding.
    • Simplify findTasksJsonPath: The core path finding utility in mcp-server/src/core/utils/path-utils.js now prioritizes the projectRoot passed in args (originating from the session). Removed checks for TASK_MASTER_PROJECT_ROOT env var and package directory fallback.
    • Retain CLI Fallbacks: Kept lastFoundProjectRoot cache check and CWD search in findTasksJsonPath for compatibility with direct CLI usage.
  • Updated all MCP tools to use the new project root handling:

    • Tools now call getProjectRootFromSession to determine the root.
    • This root is passed explicitly as projectRoot in the args object to the corresponding *Direct function.
    • Direct functions continue to use the (now simplified) findTasksJsonPath to locate tasks.json within the provided root.
    • This ensures tools work reliably in integrated environments without requiring the user to specify --project-root.
  • Add comprehensive PROJECT_MARKERS array for detecting common project files (used in CLI fallback logic).

  • Improved error messages with specific troubleshooting guidance.

  • Enhanced logging to indicate the source of project root selection.

  • DRY refactoring by centralizing path utilities in core/utils/path-utils.js and session handling in tools/utils.js.

  • Keep caching of lastFoundProjectRoot for CLI performance.

  • Split monolithic task-master-core.js into separate function files within direct-functions directory.

  • Implement update-task MCP command for updating a single task by ID.

  • Implement update-subtask MCP command for appending information to specific subtasks.

  • Implement generate MCP command for creating individual task files from tasks.json.

  • Implement set-status MCP command for updating task status.

  • Implement get-task MCP command for displaying detailed task information (renamed from show-task).

  • Implement next-task MCP command for finding the next task to work on.

  • Implement expand-task MCP command for breaking down tasks into subtasks.

  • Implement add-task MCP command for creating new tasks using AI assistance.

  • Implement add-subtask MCP command for adding subtasks to existing tasks.

  • Implement remove-subtask MCP command for removing subtasks from parent tasks.

  • Implement expand-all MCP command for expanding all tasks into subtasks.

  • Implement analyze-complexity MCP command for analyzing task complexity.

  • Implement clear-subtasks MCP command for clearing subtasks from parent tasks.

  • Implement remove-dependency MCP command for removing dependencies from tasks.

  • Implement validate-dependencies MCP command for checking validity of task dependencies.

  • Implement fix-dependencies MCP command for automatically fixing invalid dependencies.

  • Implement complexity-report MCP command for displaying task complexity analysis reports.

  • Implement add-dependency MCP command for creating dependency relationships between tasks.

  • Implement get-tasks MCP command for listing all tasks (renamed from list-tasks).

  • Enhance documentation and tool descriptions:

    • Create new taskmaster.mdc Cursor rule for comprehensive MCP tool and CLI command reference.
    • Bundle taskmaster.mdc with npm package and include in project initialization.
    • Add detailed descriptions for each tool's purpose, parameters, and common use cases.
    • Include natural language patterns and keywords for better intent recognition.
    • Document parameter descriptions with clear examples and default values.
    • Add usage examples and context for each command/tool.
    • Update documentation (mcp.mdc, utilities.mdc, architecture.mdc, new_features.mdc, commands.mdc) to reflect the new session-based project root handling and the preferred MCP vs. CLI interaction model.
    • Improve clarity around project root auto-detection in tool documentation.
    • Update tool descriptions to better reflect their actual behavior and capabilities.
    • Add cross-references between related tools and commands.
    • Include troubleshooting guidance in tool descriptions.
  • Document MCP server naming conventions in architecture.mdc and mcp.mdc files (file names use kebab-case, direct functions use camelCase with Direct suffix, tool registration functions use camelCase with Tool suffix, and MCP tool names use snake_case).

  • Update MCP tool naming to follow more intuitive conventions that better align with natural language requests in client chat applications.

  • Enhance task show view with a color-coded progress bar for visualizing subtask completion percentage.

  • Add "cancelled" status to UI module status configurations for marking tasks as cancelled without deletion.

  • Improve MCP server resource documentation with comprehensive implementation examples and best practices.

  • Enhance progress bars with status breakdown visualization showing proportional sections for different task statuses.

  • Add improved status tracking for both tasks and subtasks with detailed counts by status.

  • Optimize progress bar display with width constraints to prevent UI overflow on smaller terminals.

  • Improve status counts display with clear text labels beside status icons for better readability.

  • Treat deferred and cancelled tasks as effectively complete for progress calculation while maintaining visual distinction.

  • Fix reportProgress calls to use the correct { progress, total? } format.