- Refactor for more reliable project root detection, particularly when running within integrated environments like Cursor IDE. Includes deriving root from script path and avoiding fallback to '/'.
- Enhance error handling in :
- Add detailed debug information (paths searched, CWD, etc.) to the error message when is not found in the provided project root.
- Improve clarity of error messages and potential solutions.
- Add verbose logging in to trace session object content and the finally resolved project root path, aiding in debugging path-related issues.
- Add default values for and to the example environment configuration.
6.6 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-taskstoget-tasksfor more intuitive client requests like "get my tasks" - Rename
show-tasktoget-taskfor consistency with GET-based API naming conventions
- Rename
-
Refactor project root handling for MCP Server:
- Prioritize Session Roots: MCP tools now extract the project root path directly from
session.roots[0].uriprovided by the client (e.g., Cursor). - New Utility
getProjectRootFromSession: Added tomcp-server/src/tools/utils.jsto encapsulate session root extraction and decoding. Further refined for more reliable detection, especially in integrated environments, including deriving root from script path and avoiding fallback to '/'. - Simplify
findTasksJsonPath: The core path finding utility inmcp-server/src/core/utils/path-utils.jsnow prioritizes theprojectRootpassed inargs(originating from the session). Removed checks forTASK_MASTER_PROJECT_ROOTenv var (we do not use this anymore) and package directory fallback. Enhanced error handling to include detailed debug information (paths searched, CWD, server dir, etc.) and clearer potential solutions whentasks.jsonis not found. - Retain CLI Fallbacks: Kept
lastFoundProjectRootcache check and CWD search infindTasksJsonPathfor compatibility with direct CLI usage.
- Prioritize Session Roots: MCP tools now extract the project root path directly from
-
Updated all MCP tools to use the new project root handling:
- Tools now call
getProjectRootFromSessionto determine the root. - This root is passed explicitly as
projectRootin theargsobject to the corresponding*Directfunction. - Direct functions continue to use the (now simplified)
findTasksJsonPathto locatetasks.jsonwithin the provided root. - This ensures tools work reliably in integrated environments without requiring the user to specify
--project-root.
- Tools now call
-
Add comprehensive PROJECT_MARKERS array for detecting common project files (used in CLI fallback logic).
-
Improved error messages with specific troubleshooting guidance.
-
Enhanced logging:
- Indicate the source of project root selection more clearly.
- Add verbose logging in
get-task.jsto trace session object content and resolved project root path, aiding debugging.
-
DRY refactoring by centralizing path utilities in
core/utils/path-utils.jsand session handling intools/utils.js. -
Keep caching of
lastFoundProjectRootfor 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.mdcCursor 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.
- Add default values for
DEFAULT_SUBTASKSandDEFAULT_PRIORITYto the example.cursor/mcp.jsonconfiguration.
- Create new
-
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
reportProgresscalls to use the correct{ progress, total? }format.