--- "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 - Implement robust project root detection with a hierarchical precedence system: - Environment variable override (TASK_MASTER_PROJECT_ROOT) - Explicitly provided project root (--project-root parameter) - Cached project root from previous successful operations - Current directory with project markers - Parent directory traversal to find tasks.json - Package directory as fallback - Updated all MCP tools to work without explicitly requiring project root: - Changed all tool definitions from `projectRoot: z.string().describe(...)` to `projectRoot: z.string().optional().describe(...)` - Updated all direct function implementations from `findTasksJsonPath(args.file, args.projectRoot)` to use the proper `findTasksJsonPath(args, log)` pattern - These changes allow MCP tools to work properly without requiring the projectRoot parameter, using smart detection to automatically determine the project root - Add comprehensive PROJECT_MARKERS array for detecting common project files: - Task Master specific files (tasks.json, tasks/tasks.json) - Version control markers (.git, .svn) - Package files (package.json, pyproject.toml, etc.) - IDE/editor folders (.cursor, .vscode, .idea) - Dependency directories (node_modules, venv) - Configuration files (.env, tsconfig.json, etc.) - CI/CD files (.github/workflows, etc.) - 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 - Add caching of lastFoundProjectRoot for improved 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 - 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