fix(cli): Correctly pass manual task data in add-task command
The add-task command handler in commands.js was incorrectly passing null for the manualTaskData parameter to the core addTask function. This caused the core function to always fall back to the AI generation path, even when only manual flags like --title and --description were provided. This commit updates the call to pass the correctly constructed manualTaskData object, ensuring that manual task creation via the CLI works as intended without unnecessarily calling the AI service.
This commit is contained in:
@@ -1425,37 +1425,37 @@ function checkProviderCapability(provider, capability) {
|
||||
```
|
||||
</info added on 2025-04-20T03:52:13.065Z>
|
||||
|
||||
## 24. Implement `google.js` Provider Module using Vercel AI SDK [deferred]
|
||||
## 24. Implement `google.js` Provider Module using Vercel AI SDK [pending]
|
||||
### Dependencies: None
|
||||
### Description: Create and implement the `google.js` module within `src/ai-providers/`. This module should contain functions to interact with Google AI models (e.g., Gemini) using the **Vercel AI SDK (`@ai-sdk/google`)**, adhering to the standardized input/output format defined for `ai-services-unified.js`.
|
||||
### Details:
|
||||
|
||||
|
||||
## 25. Implement `ollama.js` Provider Module [deferred]
|
||||
## 25. Implement `ollama.js` Provider Module [pending]
|
||||
### Dependencies: None
|
||||
### Description: Create and implement the `ollama.js` module within `src/ai-providers/`. This module should contain functions to interact with local Ollama models using the **`ollama-ai-provider` library**, adhering to the standardized input/output format defined for `ai-services-unified.js`. Note the specific library used.
|
||||
### Details:
|
||||
|
||||
|
||||
## 26. Implement `mistral.js` Provider Module using Vercel AI SDK [deferred]
|
||||
## 26. Implement `mistral.js` Provider Module using Vercel AI SDK [pending]
|
||||
### Dependencies: None
|
||||
### Description: Create and implement the `mistral.js` module within `src/ai-providers/`. This module should contain functions to interact with Mistral AI models using the **Vercel AI SDK (`@ai-sdk/mistral`)**, adhering to the standardized input/output format defined for `ai-services-unified.js`.
|
||||
### Details:
|
||||
|
||||
|
||||
## 27. Implement `azure.js` Provider Module using Vercel AI SDK [deferred]
|
||||
## 27. Implement `azure.js` Provider Module using Vercel AI SDK [pending]
|
||||
### Dependencies: None
|
||||
### Description: Create and implement the `azure.js` module within `src/ai-providers/`. This module should contain functions to interact with Azure OpenAI models using the **Vercel AI SDK (`@ai-sdk/azure`)**, adhering to the standardized input/output format defined for `ai-services-unified.js`.
|
||||
### Details:
|
||||
|
||||
|
||||
## 28. Implement `openrouter.js` Provider Module [deferred]
|
||||
## 28. Implement `openrouter.js` Provider Module [pending]
|
||||
### Dependencies: None
|
||||
### Description: Create and implement the `openrouter.js` module within `src/ai-providers/`. This module should contain functions to interact with various models via OpenRouter using the **`@openrouter/ai-sdk-provider` library**, adhering to the standardized input/output format defined for `ai-services-unified.js`. Note the specific library used.
|
||||
### Details:
|
||||
|
||||
|
||||
## 29. Implement `xai.js` Provider Module using Vercel AI SDK [deferred]
|
||||
## 29. Implement `xai.js` Provider Module using Vercel AI SDK [pending]
|
||||
### Dependencies: None
|
||||
### Description: Create and implement the `xai.js` module within `src/ai-providers/`. This module should contain functions to interact with xAI models (e.g., Grok) using the **Vercel AI SDK (`@ai-sdk/xai`)**, adhering to the standardized input/output format defined for `ai-services-unified.js`.
|
||||
### Details:
|
||||
|
||||
11
tasks/task_067.txt
Normal file
11
tasks/task_067.txt
Normal file
@@ -0,0 +1,11 @@
|
||||
# Task ID: 67
|
||||
# Title: Add CLI JSON output and Cursor keybindings integration
|
||||
# Status: pending
|
||||
# Dependencies: None
|
||||
# Priority: high
|
||||
# Description: Enhance Taskmaster CLI with JSON output option and add a new command to install pre-configured Cursor keybindings
|
||||
# Details:
|
||||
This task has two main components:\n\n1. Add `--json` flag to all relevant CLI commands:\n - Modify the CLI command handlers to check for a `--json` flag\n - When the flag is present, output the raw data from the MCP tools in JSON format instead of formatting for human readability\n - Ensure consistent JSON schema across all commands\n - Add documentation for this feature in the help text for each command\n - Test with common scenarios like `task-master next --json` and `task-master show <id> --json`\n\n2. Create a new `install-keybindings` command:\n - Create a new CLI command that installs pre-configured Taskmaster keybindings to Cursor\n - Detect the user's OS to determine the correct path to Cursor's keybindings.json\n - Check if the file exists; create it if it doesn't\n - Add useful Taskmaster keybindings like:\n - Quick access to next task with output to clipboard\n - Task status updates\n - Opening new agent chat with context from the current task\n - Implement safeguards to prevent duplicate keybindings\n - Add undo functionality or backup of previous keybindings\n - Support custom key combinations via command flags
|
||||
|
||||
# Test Strategy:
|
||||
1. JSON output testing:\n - Unit tests for each command with the --json flag\n - Verify JSON schema consistency across commands\n - Validate that all necessary task data is included in the JSON output\n - Test piping output to other commands like jq\n\n2. Keybindings command testing:\n - Test on different OSes (macOS, Windows, Linux)\n - Verify correct path detection for Cursor's keybindings.json\n - Test behavior when file doesn't exist\n - Test behavior when existing keybindings conflict\n - Validate the installed keybindings work as expected\n - Test uninstall/restore functionality
|
||||
@@ -3252,7 +3252,7 @@
|
||||
"title": "Implement `google.js` Provider Module using Vercel AI SDK",
|
||||
"description": "Create and implement the `google.js` module within `src/ai-providers/`. This module should contain functions to interact with Google AI models (e.g., Gemini) using the **Vercel AI SDK (`@ai-sdk/google`)**, adhering to the standardized input/output format defined for `ai-services-unified.js`.",
|
||||
"details": "",
|
||||
"status": "deferred",
|
||||
"status": "pending",
|
||||
"dependencies": [],
|
||||
"parentTaskId": 61
|
||||
},
|
||||
@@ -3261,7 +3261,7 @@
|
||||
"title": "Implement `ollama.js` Provider Module",
|
||||
"description": "Create and implement the `ollama.js` module within `src/ai-providers/`. This module should contain functions to interact with local Ollama models using the **`ollama-ai-provider` library**, adhering to the standardized input/output format defined for `ai-services-unified.js`. Note the specific library used.",
|
||||
"details": "",
|
||||
"status": "deferred",
|
||||
"status": "pending",
|
||||
"dependencies": [],
|
||||
"parentTaskId": 61
|
||||
},
|
||||
@@ -3270,7 +3270,7 @@
|
||||
"title": "Implement `mistral.js` Provider Module using Vercel AI SDK",
|
||||
"description": "Create and implement the `mistral.js` module within `src/ai-providers/`. This module should contain functions to interact with Mistral AI models using the **Vercel AI SDK (`@ai-sdk/mistral`)**, adhering to the standardized input/output format defined for `ai-services-unified.js`.",
|
||||
"details": "",
|
||||
"status": "deferred",
|
||||
"status": "pending",
|
||||
"dependencies": [],
|
||||
"parentTaskId": 61
|
||||
},
|
||||
@@ -3279,7 +3279,7 @@
|
||||
"title": "Implement `azure.js` Provider Module using Vercel AI SDK",
|
||||
"description": "Create and implement the `azure.js` module within `src/ai-providers/`. This module should contain functions to interact with Azure OpenAI models using the **Vercel AI SDK (`@ai-sdk/azure`)**, adhering to the standardized input/output format defined for `ai-services-unified.js`.",
|
||||
"details": "",
|
||||
"status": "deferred",
|
||||
"status": "pending",
|
||||
"dependencies": [],
|
||||
"parentTaskId": 61
|
||||
},
|
||||
@@ -3288,7 +3288,7 @@
|
||||
"title": "Implement `openrouter.js` Provider Module",
|
||||
"description": "Create and implement the `openrouter.js` module within `src/ai-providers/`. This module should contain functions to interact with various models via OpenRouter using the **`@openrouter/ai-sdk-provider` library**, adhering to the standardized input/output format defined for `ai-services-unified.js`. Note the specific library used.",
|
||||
"details": "",
|
||||
"status": "deferred",
|
||||
"status": "pending",
|
||||
"dependencies": [],
|
||||
"parentTaskId": 61
|
||||
},
|
||||
@@ -3297,7 +3297,7 @@
|
||||
"title": "Implement `xai.js` Provider Module using Vercel AI SDK",
|
||||
"description": "Create and implement the `xai.js` module within `src/ai-providers/`. This module should contain functions to interact with xAI models (e.g., Grok) using the **Vercel AI SDK (`@ai-sdk/xai`)**, adhering to the standardized input/output format defined for `ai-services-unified.js`.",
|
||||
"details": "",
|
||||
"status": "deferred",
|
||||
"status": "pending",
|
||||
"dependencies": [],
|
||||
"parentTaskId": 61
|
||||
},
|
||||
@@ -3791,6 +3791,17 @@
|
||||
"dependencies": [],
|
||||
"priority": "medium",
|
||||
"subtasks": []
|
||||
},
|
||||
{
|
||||
"id": 67,
|
||||
"title": "Add CLI JSON output and Cursor keybindings integration",
|
||||
"description": "Enhance Taskmaster CLI with JSON output option and add a new command to install pre-configured Cursor keybindings",
|
||||
"details": "This task has two main components:\\n\\n1. Add `--json` flag to all relevant CLI commands:\\n - Modify the CLI command handlers to check for a `--json` flag\\n - When the flag is present, output the raw data from the MCP tools in JSON format instead of formatting for human readability\\n - Ensure consistent JSON schema across all commands\\n - Add documentation for this feature in the help text for each command\\n - Test with common scenarios like `task-master next --json` and `task-master show <id> --json`\\n\\n2. Create a new `install-keybindings` command:\\n - Create a new CLI command that installs pre-configured Taskmaster keybindings to Cursor\\n - Detect the user's OS to determine the correct path to Cursor's keybindings.json\\n - Check if the file exists; create it if it doesn't\\n - Add useful Taskmaster keybindings like:\\n - Quick access to next task with output to clipboard\\n - Task status updates\\n - Opening new agent chat with context from the current task\\n - Implement safeguards to prevent duplicate keybindings\\n - Add undo functionality or backup of previous keybindings\\n - Support custom key combinations via command flags",
|
||||
"testStrategy": "1. JSON output testing:\\n - Unit tests for each command with the --json flag\\n - Verify JSON schema consistency across commands\\n - Validate that all necessary task data is included in the JSON output\\n - Test piping output to other commands like jq\\n\\n2. Keybindings command testing:\\n - Test on different OSes (macOS, Windows, Linux)\\n - Verify correct path detection for Cursor's keybindings.json\\n - Test behavior when file doesn't exist\\n - Test behavior when existing keybindings conflict\\n - Validate the installed keybindings work as expected\\n - Test uninstall/restore functionality",
|
||||
"status": "pending",
|
||||
"dependencies": [],
|
||||
"priority": "high",
|
||||
"subtasks": []
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user