* Update .taskmasterconfig
Max tokens in 3.5 is lower. With the current number get this error:
Service call failed for role fallback (Provider: anthropic, Model: claude-3-5-sonnet-20240620): max_tokens: 120000 > 8192, which is the maximum allowed number of output tokens for claude-3-5-sonnet-20240620
* Fix fallback model ID format and update maxTokens in Taskmaster configuration
---------
Co-authored-by: Ralph Khreish <35776126+Crunchyman-ralph@users.noreply.github.com>
* chore: rename log level environment variable to `TASKMASTER_LOG_LEVEL`
### CHANGES
- Update environment variable from `LOG_LEVEL` to `TASKMASTER_LOG_LEVEL`.
- Reflect change in documentation for clarity.
- Adjust variable name in script and test files.
- Maintain default log level as `info`.
* fix: add changeset
* chore: rename `LOG_LEVEL` to `TASKMASTER_LOG_LEVEL` for consistency
### CHANGES
- Update environment variable name to `TASKMASTER_LOG_LEVEL` in documentation.
- Reflect rename in configuration rules for clarity.
- Maintain consistency across project configuration settings.
- Enhance E2E testing and LLM analysis report and:
- Add --analyze-log flag to run_e2e.sh to re-run LLM analysis on existing logs.
- Add test:e2e and analyze-log scripts to package.json for easier execution.
- Correct display errors and dependency validation output:
- Update chalk usage in add-task.js to use bracket notation (chalk[color]) compatible with v5, resolving 'chalk.keyword is not a function' error.
- Modify fix-dependencies command output to show red failure box with issue count instead of green success box when validation fails.
- Refactor interactive model setup:
- Verify inclusion of 'No change' option during interactive model setup flow (task-master models --setup).
- Update model definitions:
- Add max_tokens field for gpt-4o in supported-models.json.
- Remove unused scripts:
- Delete prepare-package.js and rule-transformer.test.js.
Release candidate
- Add OpenAI provider implementation using @ai-sdk/openai.\n- Update `models` command/tool to display API key status for configured providers.\n- Implement model-specific `maxTokens` override logic in `config-manager.js` using `supported-models.json`.\n- Improve AI error message parsing in `ai-services-unified.js` for better clarity.
This commit updates all relevant documentation (READMEs, docs/*, .cursor/rules) to accurately reflect the finalized unified AI service architecture and the new configuration system (.taskmasterconfig + .env/mcp.json). It also includes the final code cleanup steps related to the refactoring.
Key Changes:
1. **Documentation Updates:**
* Revised `README.md`, `README-task-master.md`, `assets/scripts_README.md`, `docs/configuration.md`, and `docs/tutorial.md` to explain the new configuration split (.taskmasterconfig vs .env/mcp.json).
* Updated MCP configuration examples in READMEs and tutorials to only include API keys in the `env` block.
* Added/updated examples for using the `--research` flag in `docs/command-reference.md`, `docs/examples.md`, and `docs/tutorial.md`.
* Updated `.cursor/rules/ai_services.mdc`, `.cursor/rules/architecture.mdc`, `.cursor/rules/dev_workflow.mdc`, `.cursor/rules/mcp.mdc`, `.cursor/rules/taskmaster.mdc`, `.cursor/rules/utilities.mdc`, and `.cursor/rules/new_features.mdc` to align with the new architecture, removing references to old patterns/files.
* Removed internal rule links from user-facing rules (`taskmaster.mdc`, `dev_workflow.mdc`, `self_improve.mdc`).
* Deleted outdated example file `docs/ai-client-utils-example.md`.
2. **Final Code Refactor & Cleanup:**
* Corrected `update-task-by-id.js` by removing the last import from the old `ai-services.js`.
* Refactored `update-subtask-by-id.js` to correctly use the unified service and logger patterns.
* Removed the obsolete export block from `mcp-server/src/core/task-master-core.js`.
* Corrected logger implementation in `update-tasks.js` for CLI context.
* Updated API key mapping in `config-manager.js` and `ai-services-unified.js`.
3. **Configuration Files:**
* Updated API keys in `.cursor/mcp.json`, replacing `GROK_API_KEY` with `XAI_API_KEY`.
* Updated `.env.example` with current API key names.
* Added `azureOpenaiBaseUrl` to `.taskmasterconfig` example.
4. **Task Management:**
* Marked documentation subtask 61.10 as 'done'.
* Includes various other task content/status updates from the diff summary.
5. **Changeset:**
* Added `.changeset/cuddly-zebras-matter.md` for user-facing `expand`/`expand-all` improvements.
This commit concludes the major architectural refactoring (Task 61) and ensures the documentation accurately reflects the current system.
This commit implements several related improvements to the models command and configuration system:
- Added MCP support for the models command:
- Created new direct function implementation in models.js
- Registered modelsDirect in task-master-core.js for proper export
- Added models tool registration in tools/index.js
- Ensured project name replacement when copying .taskmasterconfig in init.js
- Improved .taskmasterconfig copying during project initialization:
- Added copyTemplateFile() call in createProjectStructure()
- Ensured project name is properly replaced in the config
- Restructured tool registration in logical workflow groups:
- Organized registration into 6 functional categories
- Improved command ordering to follow typical workflow
- Added clear group comments for maintainability
- Enhanced documentation in cursor rules:
- Updated dev_workflow.mdc with clearer config management instructions
- Added comprehensive models command reference to taskmaster.mdc
- Clarified CLI vs MCP usage patterns and options
- Added warning against manual .taskmasterconfig editing
* Direct Integration of Roo Code Support
## Overview
This PR adds native Roo Code support directly within the Task Master package, in contrast to PR #279 which proposed using a separate repository and patch script approach. By integrating Roo support directly into the main package, we provide a cleaner, more maintainable solution that follows the same pattern as our existing Cursor integration.
## Key Changes
1. **Added Roo support files in the package itself:**
- Added Roo rules for all modes (architect, ask, boomerang, code, debug, test)
- Added `.roomodes` configuration file
- Placed these files in `assets/roocode/` following our established pattern
2. **Enhanced init.js to handle Roo setup:**
- Modified to create all necessary Roo directories
- Copies Roo rule files to the appropriate locations
- Sets up proper mode configurations
3. **Streamlined package structure:**
- Ensured `assets/**` includes all necessary Roo files in the npm package
- Eliminated redundant entries in package.json
- Updated prepare-package.js to verify all required files
4. **Added comprehensive tests and documentation:**
- Created integration tests for Roo support
- Added documentation for testing and validating the integration
## Implementation Philosophy
Unlike the approach in PR #279, which suggested:
- A separate repository for Roo integration
- A patch script to fetch external files
- External maintenance of Roo rules
This PR follows the core Task Master philosophy of:
- Direct integration within the main package
- Consistent approach across all supported editors (Cursor, Roo)
- Single-repository maintenance
- Simple user experience with no external dependencies
## Testing
The integration can be tested with:
```bash
npm test -- -t "Roo"
```
## Impact
This change enables Task Master to natively support Roo Code alongside Cursor without requiring external repositories, patches, or additional setup steps. Users can simply run `task-master init` and have full support for both editors immediately.
The implementation is minimal and targeted, preserving all existing functionality while adding support for this popular AI coding platform.
* Update roo-files-inclusion.test.js
* Update README.md
* Address PR feedback: move docs to contributor-docs, fix package.json references, regenerate package-lock.json
@Crunchyman-ralph Thank you for the feedback! I've made the requested changes:
1. ✅ Moved testing-roo-integration.md to the contributor-docs folder
2. ✅ Removed manual package.json changes and used changeset instead
3. ✅ Fixed package references and regenerated package-lock.json
4. ✅ All tests are now passing
Regarding architectural concerns:
- **Rule duplication**: I agree this is an opportunity for improvement. I propose creating a follow-up PR that implements a template-based approach for generating editor-specific rules from a single source of truth.
- **Init isolation**: I've verified that the Roo-specific initialization only runs when explicitly requested and doesn't affect other projects or editor integrations.
- **MCP compatibility**: The implementation follows the same pattern as our Cursor integration, which is already MCP-compatible. I've tested this by [describe your testing approach here].
Let me know if you'd like any additional changes!
* Address PR feedback: move docs to contributor-docs, fix package.json references, regenerate package-lock.json
@Crunchyman-ralph Thank you for the feedback! I've made the requested changes:
1. ✅ Moved testing-roo-integration.md to the contributor-docs folder
2. ✅ Removed manual package.json changes and used changeset instead
3. ✅ Fixed package references and regenerated package-lock.json
4. ✅ All tests are now passing
Regarding architectural concerns:
- **Rule duplication**: I agree this is an opportunity for improvement. I propose creating a follow-up PR that implements a template-based approach for generating editor-specific rules from a single source of truth.
- **Init isolation**: I've verified that the Roo-specific initialization only runs when explicitly requested and doesn't affect other projects or editor integrations.
- **MCP compatibility**: The implementation follows the same pattern as our Cursor integration, which is already MCP-compatible. I've tested this by [describe your testing approach here].
Let me know if you'd like any additional changes!
* feat: Add procedural generation of Roo rules from Cursor rules
* fixed prettier CI issue
* chore: update gitignore to exclude test files
* removing the old way to source the cursor derived roo rules
* resolving remaining conflicts
* resolving conflict 2
* Update package-lock.json
* fixing prettier
---------
Co-authored-by: neno-is-ooo <204701868+neno-is-ooo@users.noreply.github.com>
BREAKING CHANGE: Taskmaster now requires a `.taskmasterconfig` file for model/parameter settings. Environment variables (except API keys) are no longer used for overrides.
- Throws an error if `.taskmasterconfig` is missing, guiding user to run `task-master models --setup`." -m "- Removed env var checks from config getters in `config-manager.js`." -m "- Updated `env.example` to remove obsolete variables." -m "- Refined missing config file error message in `commands.js`.
Introduces a configurable fallback model and adds support for additional AI provider API keys in the environment setup.
- **Add Fallback Model Configuration (.taskmasterconfig):**
- Implemented a new section in .
- Configured as the default fallback model, enhancing resilience if the primary model fails.
- **Update Default Model Configuration (.taskmasterconfig):**
- Changed the default model to .
- Changed the default model to .
- **Add API Key Examples (assets/env.example):**
- Added example environment variables for:
- (for OpenAI/OpenRouter)
- (for Google Gemini)
- (for XAI Grok)
- Included format comments for clarity.
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.