Commit Graph

36 Commits

Author SHA1 Message Date
Eyal Toledano
a6332c73a9 chore: clean up default env value references across the code to be consistent. 2025-04-11 13:38:12 -04:00
Ralph Khreish
678262df22 fix: replace tool parameter inputs with root directory paths (#147)
* wip: replace tool parameter inputs with root directory paths

* fix: moved path resolving responsibility to tools

- made path in parameters to optional for AI
- internalised path resolving using session roots

* chore: update package-lock.json

* chore: fix regressions and fix CI

* fix: make projectRoot required

* fix: add-task tool

* fix: updateTask tool

* fix: remove reportProgress

* chore: cleanup

* fix: expand-task tool

* chore: remove usless logs

* fix: dependency manager logging in mcp server
2025-04-11 18:57:43 +02:00
Joe Danziger
533f5cdc25 Don't add task-master-mcp to mcp.json if it already exists (#169) 2025-04-11 18:07:58 +02:00
Eyal Toledano
2d09776706 feat(mcp): Refactor initialize_project tool for direct execution
Refactors the initialize_project MCP tool to call a dedicated direct function (initializeProjectDirect) instead of executing the CLI command. This improves reliability and aligns it with other MCP tools.

Key changes include: Modified initialize-project.js to call initializeProjectDirect, required projectRoot parameter, implemented handleApiResult for MCP response formatting, enhanced direct function to prioritize args.projectRoot over session-derived paths, added validation to prevent initialization in invalid directories, forces yes:true for non-interactive use, ensures process.chdir() targets validated directory, and added isSilentMode() checks to suppress console output during MCP operations.

This resolves issues where the tool previously failed due to incorrect fallback directory resolution when session context was incomplete.
2025-04-11 01:16:32 -04:00
Eyal Toledano
ad3a853eae refactor(init): Fix init command execution and argument handling
Centralizes init command logic within the main CLI structure. The action handler in commands.js now directly calls initializeProject from the init.js module, resolving issues with argument parsing (like -y) and removing the need for the separate bin/task-master-init.js executable. Updates package.json and bin/task-master.js accordingly.
2025-04-10 22:32:08 -04:00
Ralph Khreish
ee694ef0b1 fix: MCP config and commands (#141) 2025-04-09 20:01:27 +02:00
Eyal Toledano
b4eb991b27 fix: Remove task-master-ai as a dependency from the package.json generated during init (#129)
Co-authored-by: Eyal Toledano <eyal@microangel.so>
2025-04-09 10:06:40 +02:00
Ralph Khreish
edb889ae84 chore: run npm run format 2025-04-09 00:30:05 +02:00
Eyal Toledano
aaf9cbf203 Makes default command npx -y task-master-mcp-server 2025-04-08 15:55:22 -04:00
Eyal Toledano
087fbf7952 chore: Adjusts the mcp server command from task-master-mcp-server to task-master-mcp. It cannot be simpler because global installations of the npm package would expose this as a globally available command. Calling it like 'mcp' could collide and also is lacking in branding and clarity of what command would be run. This is as good as we can make it. 2025-04-08 15:55:22 -04:00
Eyal Toledano
adef00c5b5 chore: adds task-master-ai to the createProjectStructure which merges/creates the package.json. This is so that onboarding via MCP is possible. When the MCP server runs and does npm i, it will get task-master, and get the ability to run task-master init. 2025-04-08 15:54:36 -04:00
Eyal Toledano
5ec1784c09 chore: Adjust init with new dependencies for MCP and other missing dependencies. 2025-04-08 15:54:36 -04:00
Eyal Toledano
adbe38b3ba feat: adds remove-task command + MCP implementation. 2025-04-08 15:54:33 -04:00
Eyal Toledano
d3d2200857 feat: Adjustst the parsePRD system prompt and cursor rule so to improve following specific details that may already be outliend in the PRD. This reduces cases where the AI will not use those details and come up with its own approach. Next commit will reduce detfault temperature to do this at scale across the system too. 2025-04-08 15:54:06 -04:00
Eyal Toledano
e14ae9c9cf chore: adjust the setupMCPConfiguration so it adds in the new env stuff. 2025-04-08 15:54:06 -04:00
Eyal Toledano
bf22ecb15b feat(mcp): major MCP server improvements and documentation overhaul
- Enhance MCP server robustness and usability:
  - Implement smart project root detection with hierarchical fallbacks
  - Make projectRoot parameter optional across all MCP tools
  - Add comprehensive PROJECT_MARKERS for reliable project detection
  - Improve error messages and logging for better debugging
  - Split monolithic core into focused direct-function files

- Implement full suite of MCP commands:
  - Add task management: update-task, update-subtask, generate
  - Add task organization: expand-task, expand-all, clear-subtasks
  - Add dependency handling: add/remove/validate/fix dependencies
  - Add analysis tools: analyze-complexity, complexity-report
  - Rename commands for better API consistency (list-tasks → get-tasks)

- Enhance documentation and developer experience:
  - Create and bundle new taskmaster.mdc as comprehensive reference
  - Document all tools with natural language patterns and examples
  - Clarify project root auto-detection in documentation
  - Standardize naming conventions across MCP components
  - Add cross-references between related tools and commands

- Improve UI and progress tracking:
  - Add color-coded progress bars with status breakdown
  - Implement cancelled/deferred task status handling
  - Enhance status visualization and counting
  - Optimize display for various terminal sizes

This major update significantly improves the robustness and usability
of the MCP server while providing comprehensive documentation for both
users and developers. The changes make Task Master more intuitive to
use programmatically while maintaining full CLI functionality.
2025-04-08 15:54:06 -04:00
Eyal Toledano
615633196c Adjusts the taskmaster mcp invokation command in mcp.json shipped with taskmaster init. 2025-04-08 15:54:06 -04:00
Ralph Khreish
5607497d73 Add License (#45) 2025-03-31 17:09:31 +02:00
Eyal Toledano
05095c4745 feat: enhance commands with multi-subtask support, MCP integration, and update notifications
- Add support for comma-separated subtask IDs in remove-subtask command
- Implement MCP configuration in project initialization
- Add package update notification system with version comparison
- Improve command documentation with boolean flag conventions
- Add comprehensive error handling for unknown options
- Update help text with better examples and formatting
- Implement proper validation for command inputs
- Add global error handling patterns with helpful user messages
2025-03-27 16:14:12 -04:00
Eyal Toledano
edc8adf6c6 adds 'tm' and 'taskmaster' aliases to zshrc or bashrc automatically, added as options in the init questions. 2025-03-27 00:00:38 -04:00
Eyal Toledano
907db983a2 feat: Adds .windsurfrules to the init package. It's composed of the 3 rules we currently package, and has been edited to be Windsurf specific. Rules are added in as sections. The init function will search for an existing .windsurfrules document, and if it finds it, it will append to it. Otherwise it will create it. 2025-03-26 21:24:47 -04:00
Eyal Toledano
b3fc14a4c2 fix: Improve CLI flag validation for single-word flags
Fix issue with kebab-case validator incorrectly flagging single-word flags like --prompt. Refactor detectCamelCaseFlags to properly handle all single-word flags. Update tests to verify correct behavior with single-word and camelCase flags. Add support for alternative flag formats in init command (e.g., -my_name). This fixes a bug where users couldn't use the --prompt flag directly and had to use -p instead.
2025-03-26 15:54:51 -04:00
Eyal Toledano
f5bce3452e feat(cli): enhance task list display, CLI usability, responsive table, colored deps status, help output, expand cmd clarity, init instructions, version bump to 0.9.18 2025-03-24 15:43:14 -04:00
Eyal Toledano
70d307a711 Fix: no longer overrides readme, package.json and gitignore but instead merges and/or adds to them if they already exist. Also bins the app into its own package. Can now call all functions using task-master instead of calling the dev.js script directly. Also adjusts readme and cursor rule to know about this. 2025-03-22 15:52:22 -04:00
Ralph Khreish
79b1702a97 chore(config): fix more typos 2025-03-22 10:06:02 +01:00
Eyal Toledano
6a0517b4e5 implements complexity-report so it can show in the cli. 2025-03-22 03:16:12 -04:00
Eyal Toledano
6b052f667c credit 2025-03-22 02:27:40 -04:00
Eyal Toledano
734d850ff7 Improves init script visuals. 2025-03-22 02:18:59 -04:00
Eyal Toledano
a634bbf1b0 Adjusts init message and example env file. 2025-03-22 02:12:31 -04:00
Eyal Toledano
eadd13e798 fix: enhance task expansion with multiple improvements
This commit resolves several issues with the task expansion system to
ensure higher quality subtasks and better synchronization:

1. Task File Generation
- Add automatic regeneration of task files after expanding tasks
- Ensure individual task text files stay in sync with tasks.json
- Avoids manual regeneration steps after task expansion

2. Perplexity API Integration
- Fix 'researchPrompt is not defined' error in Perplexity integration
- Add specialized research-oriented prompt template
- Improve system message for better context and instruction
- Better fallback to Claude when Perplexity unavailable

3. Subtask Parsing Improvements
- Enhance regex pattern to handle more formatting variations
- Implement multiple parsing strategies for different response formats:
  * Improved section detection with flexible headings
  * Added support for numbered and bulleted lists
  * Implemented heuristic-based title and description extraction
- Create more meaningful dummy subtasks with relevant titles and descriptions
  instead of generic placeholders
- Ensure minimal descriptions are always provided

4. Quality Verification and Retry System
- Add post-expansion verification to identify low-quality subtask sets
- Detect tasks with too many generic/placeholder subtasks
- Implement interactive retry mechanism with enhanced prompts
- Use adjusted settings for retries (research mode, subtask count)
- Clear existing subtasks before retry to prevent duplicates
- Provide detailed reporting of verification and retry process

These changes significantly improve the quality of generated subtasks
and reduce the need for manual intervention when subtask generation
produces suboptimal results.
2025-03-21 16:25:12 -04:00
Eyal Toledano
3f35783b60 Fixes readme files and makes sure that when you mark a parent task done that its sub tasks are also marked done 2025-03-21 14:17:43 -04:00
Eyal Toledano
da61e9dccf feat: add cursor_rules and self_improve support, enhance versioning 2025-03-21 14:06:36 -04:00
Eyal Toledano
290163f53f refactor: simplify package structure by eliminating templates directory 2025-03-04 16:50:42 -05:00
Eyal Toledano
93bc6b363a feat: Enhance task management and fix initialization issues
This commit includes several important improvements:

1. Add support for updating multiple tasks at once with comma-separated IDs
   - Modify setTaskStatus to handle lists like id=1,1.1,1.2
   - Fix subtask handling to properly update subtask statuses
   - Add in-progress as a valid status option

2. Fix initialization script issues
   - Add debugging information to help diagnose npx execution problems
   - Improve error handling and readline interface management
   - Remove conditional check that prevented script from running in some environments
   - Add troubleshooting section to README.md

3. Improve package preparation
   - Make scripts executable during package preparation
   - Update version to 1.0.7

These changes make the package more robust and user-friendly, particularly
for first-time users and those managing complex task hierarchies.
2025-03-04 14:46:46 -05:00
Eyal Toledano
c72373d761 feat: Modernize package with ES modules and improve error handling
- Update to ES modules syntax throughout the codebase
- Add fileURLToPath and dirname imports to handle __dirname in ES modules
- Upgrade Anthropic SDK from 0.10.0 to 0.39.0
- Fix JSON parsing to handle responses wrapped in Markdown code blocks
- Improve documentation with clearer installation instructions
- Add important notes about ES modules and SDK requirements
- Update environment examples with API key format and model recommendations
- Include index.js in package files list
- Bump version to 1.0.2
2025-03-04 14:11:57 -05:00
Eyal Toledano
07648a1417 initial version 2025-03-04 13:55:17 -05:00