- Integrate for Grok models and for OpenRouter into the AI client factory ().
- Install necessary provider dependencies (, , and other related packages, updated core).
- Update environment variable checks () and client creation logic () for the new providers.
- Add and correct unit tests in to cover xAI and OpenRouter instantiation, error handling, and environment variable resolution.
- Corrected mock paths and names in tests to align with official package names.
- Verify all tests (28 total) pass for .
- Confirm test coverage remains high (~90%) after additions.
- Integrate for Grok models and for OpenRouter into the AI client factory ().
- Install necessary provider dependencies (, , and other related packages, updated core).
- Update environment variable checks () and client creation logic () for the new providers.
- Add and correct unit tests in to cover xAI and OpenRouter instantiation, error handling, and environment variable resolution.
- Corrected mock paths and names in tests to align with official package names.
- Verify all tests (28 total) pass for .
- Confirm test coverage remains high (~90%) after additions.
* prompt engineering prd breakdown
* chore: add back important elements of the parsePRD prompt
---------
Co-authored-by: chen kinnrot <chen.kinnrot@lemonade.com>
* prompt engineering prd breakdown
* chore: add back important elements of the parsePRD prompt
---------
Co-authored-by: chen kinnrot <chen.kinnrot@lemonade.com>
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.
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.
Refactored `config-manager.js` to handle different execution contexts (CLI vs. MCP) and fixed related Jest tests.
- Modified `readConfig` and `writeConfig` to accept an optional `explicitRoot` parameter, allowing explicit path specification (e.g., from MCP) while retaining automatic project root finding for CLI usage.
- Updated getter/setter functions (`getMainProvider`, `setMainModel`, etc.) to accept and propagate the `explicitRoot`.
- Resolved Jest testing issues for dynamic imports by using `jest.unstable_mockModule` for `fs` and `chalk` dependencies *before* the dynamic `import()`.
- Corrected console error assertions in tests to match exact logged messages.
- Updated `.cursor/rules/tests.mdc` with guidelines for `jest.unstable_mockModule` and precise console assertions.
Refactored `config-manager.js` to handle different execution contexts (CLI vs. MCP) and fixed related Jest tests.
- Modified `readConfig` and `writeConfig` to accept an optional `explicitRoot` parameter, allowing explicit path specification (e.g., from MCP) while retaining automatic project root finding for CLI usage.
- Updated getter/setter functions (`getMainProvider`, `setMainModel`, etc.) to accept and propagate the `explicitRoot`.
- Resolved Jest testing issues for dynamic imports by using `jest.unstable_mockModule` for `fs` and `chalk` dependencies *before* the dynamic `import()`.
- Corrected console error assertions in tests to match exact logged messages.
- Updated `.cursor/rules/tests.mdc` with guidelines for `jest.unstable_mockModule` and precise console assertions.
Addresses `process.stdout.clearLine is not a function` error when running AI-dependent commands non-interactively (e.g., `update-subtask`).
Adds `process.stdout.isTTY` check before attempting to use terminal-specific output manipulations.
feat: Implement initial config manager for AI models
Adds `scripts/modules/config-manager.js` to handle reading/writing model selections from/to `.taskmasterconfig`.
Implements core functions: findProjectRoot, read/writeConfig, validateModel, get/setModel.
Defines valid model lists. Completes initial work for Subtask 61.1.
Addresses `process.stdout.clearLine is not a function` error when running AI-dependent commands non-interactively (e.g., `update-subtask`).
Adds `process.stdout.isTTY` check before attempting to use terminal-specific output manipulations.
feat: Implement initial config manager for AI models
Adds `scripts/modules/config-manager.js` to handle reading/writing model selections from/to `.taskmasterconfig`.
Implements core functions: findProjectRoot, read/writeConfig, validateModel, get/setModel.
Defines valid model lists. Completes initial work for Subtask 61.1.
The function used terminal manipulation functions
(like , ) for the CLI
streaming progress indicator. This caused errors when Task Master commands
involving AI streaming were run in non-interactive terminals (e.g., via
output redirection, some CI environments, or integrated terminals).
This commit adds a check for to the condition
that controls the display of the CLI progress indicator, ensuring these
functions are only called when standard output is a fully interactive TTY.
The function used terminal manipulation functions
(like , ) for the CLI
streaming progress indicator. This caused errors when Task Master commands
involving AI streaming were run in non-interactive terminals (e.g., via
output redirection, some CI environments, or integrated terminals).
This commit adds a check for to the condition
that controls the display of the CLI progress indicator, ensuring these
functions are only called when standard output is a fully interactive TTY.
Improves the quality and relevance of research-backed AI operations:
- Tweaks Perplexity AI calls to use max input tokens (8700), temperature 0.1, high context size, and day-fresh search recency.
- Adds a system prompt to guide Perplexity research output.
Docs:
- Updates CLI examples in taskmaster.mdc to use ANSI-C quoting ($'...') for multi-line prompts, ensuring they work correctly in bash/zsh.
Improves the quality and relevance of research-backed AI operations:
- Tweaks Perplexity AI calls to use max input tokens (8700), temperature 0.1, high context size, and day-fresh search recency.
- Adds a system prompt to guide Perplexity research output.
Docs:
- Updates CLI examples in taskmaster.mdc to use ANSI-C quoting ($'...') for multi-line prompts, ensuring they work correctly in bash/zsh.