Commit Graph

181 Commits

Author SHA1 Message Date
Eyal Toledano
6161febbde fix(mcp): make projectRoot optional in all MCP tools
- Update all tool definitions to use z.string().optional() for projectRoot
- Fix direct function implementations to use findTasksJsonPath(args, log) pattern
- Enables consistent project root detection without requiring explicit params
- Update changeset to document these improvements

This change ensures MCP tools work properly with the smart project root
detection system, removing the need for explicit projectRoot parameters in
client applications. Improves usability and reduces integration friction.
2025-04-01 03:12:44 -04:00
Eyal Toledano
281c476738 chore/doc: renames list-tasks to get-tasks and show-tasks to get-tasks in the mcp tools to follow api conventions and likely natural language used (get my tasks). also updates changeset. 2025-04-01 02:45:42 -04:00
Eyal Toledano
78840a1f45 chore: changesett 2025-04-01 02:11:09 -04:00
Eyal Toledano
6bbc1b4499 chore: task mgmt 2025-04-01 02:09:39 -04:00
Eyal Toledano
65e0fcc328 Adjusts the taskmaster mcp invokation command in mcp.json shipped with taskmaster init. 2025-04-01 02:04:34 -04:00
Eyal Toledano
e90f822bdd feat(paths): Implement robust project root detection and path utilities
Overhauls the project root detection system with a hierarchical precedence mechanism that intelligently locates tasks.json and identifies project roots. This improves user experience by reducing the need for explicit path parameters and enhances cross-platform compatibility.

Key Improvements:
- Implement hierarchical precedence for project root detection:
  * Environment variable override (TASK_MASTER_PROJECT_ROOT)
  * Explicitly provided --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

- Create comprehensive PROJECT_MARKERS detection system with 20+ common indicators:
  * Task Master specific files (tasks.json, tasks/tasks.json)
  * Version control directories (.git, .svn)
  * Package manifests (package.json, pyproject.toml, Gemfile, go.mod, Cargo.toml)
  * IDE/editor configurations (.cursor, .vscode, .idea)
  * Dependency directories (node_modules, venv, .venv)
  * Configuration files (.env, tsconfig.json, webpack.config.js)
  * CI/CD files (.github/workflows, .gitlab-ci.yml, .circleci/config.yml)

- DRY refactoring of path utilities:
  * Centralize path-related functions in core/utils/path-utils.js
  * Export PROJECT_MARKERS as a single source of truth
  * Add caching via lastFoundProjectRoot for performance optimization

- Enhanced user experience:
  * Improve error messages with specific troubleshooting guidance
  * Add detailed logging to indicate project root detection source
  * Update tool parameter descriptions for better clarity
  * Add recursive parent directory searching for tasks.json

Testing:
- Verified in local dev environment
- Added unit tests for the progress bar visualization
- Updated "automatically detected" description in MCP tools

This commit addresses Task #38: Implement robust project root handling for file paths.
2025-04-01 01:35:10 -04:00
Eyal Toledano
22bd13c197 chore: removes the optional from projectRoot. 2025-03-31 15:58:52 -04:00
Eyal Toledano
059ce5e716 Enhance progress bars with status breakdown, improve readability, optimize display width, and update changeset 2025-03-31 15:35:48 -04:00
Eyal Toledano
38a2805dd8 feat(ui): add cancelled status and improve MCP resource docs
- Add cancelled status to UI module for marking tasks cancelled without deletion
- Improve MCP server resource documentation with implementation examples
- Update architecture.mdc with detailed resource management info
- Add comprehensive resource handling guide to mcp.mdc
- Update changeset to reflect new features and documentation
- Mark task 23.6 as cancelled (MCP SDK integration no longer needed)
- Complete task 23.12 (structured logging system)
2025-03-31 14:50:56 -04:00
Eyal Toledano
036a7bd2d3 docs: improve MCP server resource documentation
- Update subtask 23.10 with details on resource and resource template implementation
- Add resource management section to architecture.mdc with proper directory structure
- Create comprehensive resource implementation guide in mcp.mdc with examples and best practices
- Document proper integration of resources in FastMCP server initialization
2025-03-31 14:38:57 -04:00
Eyal Toledano
b58badec36 feat(mcp): Implement add-dependency MCP command for creating dependency relationships between tasks 2025-03-31 14:24:45 -04:00
Eyal Toledano
f7970a542e chore: task mgmt 2025-03-31 14:23:59 -04:00
Eyal Toledano
ac6b0a3f14 chore: task mgmt 2025-03-31 14:21:05 -04:00
Eyal Toledano
6f87faa9dc feat(mcp): Implement complexity-report MCP command for displaying task complexity analysis reports 2025-03-31 14:20:00 -04:00
Eyal Toledano
c58d4b51ef Implement fix-dependencies MCP command for automatically fixing invalid dependencies 2025-03-31 14:01:49 -04:00
Eyal Toledano
9730576a03 Implement validate-dependencies MCP command for checking dependency validity 2025-03-31 13:55:07 -04:00
Eyal Toledano
a6a94e3a18 Implement remove-dependency MCP command for removing dependencies from tasks 2025-03-31 13:51:39 -04:00
Eyal Toledano
38c368a745 chore: task mgmt 2025-03-31 13:41:05 -04:00
Eyal Toledano
f032116961 chore: task mgmt 2025-03-31 13:28:36 -04:00
Eyal Toledano
c274c77aa7 feat(ui): add color-coded progress bar to task show view for visualizing subtask completion status 2025-03-31 13:18:58 -04:00
Eyal Toledano
1c72c88a32 Implement expand-all MCP command for expanding all pending tasks with subtasks 2025-03-31 13:10:10 -04:00
Eyal Toledano
f007df06d8 Implement clear-subtasks MCP command for clearing subtasks from parent tasks 2025-03-31 13:07:42 -04:00
Eyal Toledano
6481f725aa Implement analyze-complexity MCP command for analyzing task complexity 2025-03-31 13:04:53 -04:00
Eyal Toledano
a3abf194ad Implement remove-subtask MCP command for removing subtasks from parent tasks 2025-03-31 13:01:31 -04:00
Eyal Toledano
0b6207c882 Implement add-subtask MCP command for adding subtasks to existing tasks 2025-03-31 12:56:38 -04:00
Eyal Toledano
1bb1309ef8 feat: implement add-task MCP command
- Create direct function wrapper in add-task.js with prompt and dependency handling

- Add MCP tool integration for creating new tasks via AI

- Update task-master-core.js to expose addTaskDirect function

- Update changeset to document the new command
2025-03-31 12:50:14 -04:00
Eyal Toledano
5296e50b6a chore: uncomments the addResource and addResourceTemplate calls in the index.js for MCP. TODO: Figure out the project roots so we can do this on other projects vs just our own. 2025-03-31 12:47:53 -04:00
Eyal Toledano
b2b1a1ef8f feat: implement expand-task MCP command
- Create direct function wrapper in expand-task.js with error handling

- Add MCP tool integration for breaking down tasks into subtasks

- Update task-master-core.js to expose expandTaskDirect function

- Update changeset to document the new command

- Parameter support for subtask generation options (num, research, prompt, force)
2025-03-31 12:06:23 -04:00
Eyal Toledano
20d04b243b feat: implement next-task MCP command
- Create direct function wrapper in next-task.js with error handling and caching

- Add MCP tool integration for finding the next task to work on

- Update task-master-core.js to expose nextTaskDirect function

- Update changeset to document the new command
2025-03-31 12:00:23 -04:00
Eyal Toledano
7cd94959b9 chore: task mgmt 2025-03-31 11:57:54 -04:00
Eyal Toledano
407a4e880d feat: implement show-task MCP command
- Create direct function wrapper in show-task.js with error handling and caching

- Add MCP tool integration for displaying detailed task information

- Update task-master-core.js to expose showTaskDirect function

- Update changeset to document the new command

- Follow kebab-case/camelCase/snake_case naming conventions
2025-03-31 11:57:23 -04:00
Eyal Toledano
d822dc08fe Merge branch 'next' of github.com:eyaltoledano/claude-task-master into 23.16-23.30 2025-03-31 11:42:06 -04:00
github-actions[bot]
76618187f6 Version Packages (#57) 2025-03-31 17:13:02 +02:00
Ralph Khreish
757fd478d2 Add License (#45) 2025-03-31 17:09:31 +02:00
Eyal Toledano
5914771636 docs: document MCP server naming conventions and implement set-status
- Update architecture.mdc with file/function naming standards for MCP server components

- Update mcp.mdc with detailed naming conventions section

- Update task 23 to include naming convention details

- Update changeset to capture documentation changes

- Rename MCP tool files to follow kebab-case convention

- Implement set-task-status MCP command
2025-03-31 03:35:14 -04:00
Eyal Toledano
9d1ec10c34 feat: implement set-status MCP command and update changeset 2025-03-31 02:19:53 -04:00
Eyal Toledano
7d90d6808d feat(mcp): Implement generate MCP command for creating task files from tasks.json 2025-03-31 02:17:07 -04:00
Eyal Toledano
14a3512325 feat(mcp): Implement update-subtask MCP command for appending information to subtasks 2025-03-31 02:13:13 -04:00
Eyal Toledano
a186cb43e3 feat(mcp): Implement update-task MCP command for updating single tasks by ID with proper direct function wrapper, MCP tool implementation, and registration 2025-03-31 02:02:01 -04:00
Eyal Toledano
74dcf3b5f4 refactor(mcp): Modularize direct functions in MCP server
Split monolithic task-master-core.js into separate function files within
the mcp-server/src/core/direct-functions/ directory. This change:

- Creates individual files for each direct function implementation
- Moves findTasksJsonPath to a dedicated utils/path-utils.js file
- Converts task-master-core.js to be a simple import/export hub
- Improves maintainability and organization of the codebase
- Reduces potential merge conflicts when multiple developers contribute
- Follows standard module separation patterns

Each function is now in its own self-contained file with clear imports and
focused responsibility, while maintaining the same API endpoints.
2025-03-31 01:52:34 -04:00
Eyal Toledano
a588098fca Adds update direct function into MCP. 2025-03-31 00:49:16 -04:00
Eyal Toledano
99426d9bb1 chore: adds changeset.mdc to help agent automatically trigger changeset command with contextual information based on how we want to use it. not to be called for internal dev stuff. 2025-03-30 23:51:55 -04:00
Eyal Toledano
151c31e550 refactor(mcp): Remove unused executeMCPToolAction utility
The  function aimed to abstract the common flow within MCP tool  methods (logging, calling direct function, handling result).

However, the established pattern (e.g., in ) involves the  method directly calling the  function (which handles its own caching via ) and then passing the result to . This pattern is clear, functional, and leverages the core utilities effectively.

Removing the unused  simplifies , eliminates a redundant abstraction layer, and clarifies the standard implementation pattern for MCP tools.
2025-03-30 23:37:24 -04:00
Eyal Toledano
26a37d28ce chore: removes mcp sdk from package json. was erroneously added by a test. 2025-03-30 23:14:14 -04:00
Eyal Toledano
6e6407f683 Merge pull request #69 from eyaltoledano/add-test-for-confirmation-prompt
Add test for confirmation prompt
2025-03-30 23:10:21 -04:00
Eyal Toledano
80f933cd82 test: Add tests for parse-prd overwrite confirmation and fix existing test
Adds unit tests to tests/unit/task-manager.test.js for the parse-prd command confirmation prompt when overwriting an existing tasks.json file. Also fixes the existing directory creation test. Refs #67, Fixes #65
2025-03-30 23:09:05 -04:00
Eyal Toledano
2c3986c097 Merge pull request #67 from joedanz/confirm-tasks.json-overwrite
Added confirmation for task overwrite if tasks.json exists.
Fully tested

POPS @JOEDANZ' DEV CHERRY!
2025-03-30 23:00:53 -04:00
Joe Danziger
7086a77625 Added confirmation for task overwrite if tasks.json exists.
Slight refactor moving numTasks and outputPath to top with the other variables.  Eliminates duplication, and keeps us from having to check path twice.
Resolves #65
2025-03-30 18:30:00 -04:00
Eyal Toledano
66ca02242d Merge pull request #63 from eyaltoledano/23.9
23.9
2025-03-30 02:58:20 -04:00
Eyal Toledano
c211818303 chore: task management 2025-03-30 02:56:14 -04:00