chore: rename Task Master to TaskMaster
This commit is contained in:
@@ -1,8 +1,8 @@
|
|||||||
# Official Task Master AI Extension
|
# Official TaskMaster AI Extension
|
||||||
|
|
||||||
Transform your [Task Master AI](https://github.com/TaskMasterEYJ/task-master-ai) projects into a beautiful, interactive Kanban board directly in VS Code. Drag, drop, and manage your tasks with ease while maintaining real-time synchronization with your Task Master project files.
|
Transform your [TaskMaster AI](https://github.com/TaskMasterEYJ/task-master-ai) projects into a beautiful, interactive Kanban board directly in VS Code. Drag, drop, and manage your tasks with ease while maintaining real-time synchronization with your TaskMaster project files.
|
||||||
|
|
||||||

|

|
||||||

|

|
||||||

|

|
||||||
|
|
||||||
@@ -10,7 +10,7 @@ Transform your [Task Master AI](https://github.com/TaskMasterEYJ/task-master-ai)
|
|||||||
|
|
||||||
### 🎯 **Visual Task Management**
|
### 🎯 **Visual Task Management**
|
||||||
- **Drag & Drop Kanban Board** - Intuitive task management with visual columns
|
- **Drag & Drop Kanban Board** - Intuitive task management with visual columns
|
||||||
- **Real-time Synchronization** - Changes sync instantly with your Task Master project files
|
- **Real-time Synchronization** - Changes sync instantly with your TaskMaster project files
|
||||||
- **Status Columns** - To Do, In Progress, Review, Done, and Deferred
|
- **Status Columns** - To Do, In Progress, Review, Done, and Deferred
|
||||||
- **Task Details View** - View and edit implementation details, test strategies, and notes
|
- **Task Details View** - View and edit implementation details, test strategies, and notes
|
||||||
|
|
||||||
@@ -19,7 +19,7 @@ Transform your [Task Master AI](https://github.com/TaskMasterEYJ/task-master-ai)
|
|||||||
### 🤖 **AI-Powered Features**
|
### 🤖 **AI-Powered Features**
|
||||||
- **Task Content Generation** - Regenerate task descriptions using AI
|
- **Task Content Generation** - Regenerate task descriptions using AI
|
||||||
- **Smart Task Updates** - Append findings and progress notes automatically
|
- **Smart Task Updates** - Append findings and progress notes automatically
|
||||||
- **MCP Integration** - Seamless connection to Task Master AI via Model Context Protocol
|
- **MCP Integration** - Seamless connection to TaskMaster AI via Model Context Protocol
|
||||||
- **Intelligent Caching** - Smart performance optimization with background refresh
|
- **Intelligent Caching** - Smart performance optimization with background refresh
|
||||||
|
|
||||||

|

|
||||||
@@ -35,7 +35,7 @@ Transform your [Task Master AI](https://github.com/TaskMasterEYJ/task-master-ai)
|
|||||||
### Prerequisites
|
### Prerequisites
|
||||||
|
|
||||||
1. **VS Code** 1.90.0 or higher
|
1. **VS Code** 1.90.0 or higher
|
||||||
2. **Node.js** 18.0 or higher (for Task Master MCP server)
|
2. **Node.js** 18.0 or higher (for TaskMaster MCP server)
|
||||||
|
|
||||||
### Install the Extension
|
### Install the Extension
|
||||||
|
|
||||||
@@ -45,21 +45,21 @@ Transform your [Task Master AI](https://github.com/TaskMasterEYJ/task-master-ai)
|
|||||||
|
|
||||||
## 🚀 Quick Start
|
## 🚀 Quick Start
|
||||||
|
|
||||||
### 1. **Initialize Task Master Project**
|
### 1. **Initialize TaskMaster Project**
|
||||||
If you don't have a Task Master project yet:
|
If you don't have a TaskMaster project yet:
|
||||||
```bash
|
```bash
|
||||||
cd your-project
|
cd your-project
|
||||||
npx task-master-ai init
|
npx task-master-ai init
|
||||||
```
|
```
|
||||||
|
|
||||||
### 2. **Open Kanban Board**
|
### 2. **Open Kanban Board**
|
||||||
- **Command Palette** (Ctrl+Shift+P): `Task Master Kanban: Show Board`
|
- **Command Palette** (Ctrl+Shift+P): `TaskMaster Kanban: Show Board`
|
||||||
- **Or** the extension automatically activates when you have a `.taskmaster` folder in your workspace
|
- **Or** the extension automatically activates when you have a `.taskmaster` folder in your workspace
|
||||||
|
|
||||||
### 3. **MCP Server Setup**
|
### 3. **MCP Server Setup**
|
||||||
The extension automatically handles the Task Master MCP server connection:
|
The extension automatically handles the TaskMaster MCP server connection:
|
||||||
- **No manual installation required** - The extension spawns the MCP server automatically
|
- **No manual installation required** - The extension spawns the MCP server automatically
|
||||||
- **Uses npx by default** - Automatically downloads Task Master AI when needed
|
- **Uses npx by default** - Automatically downloads TaskMaster AI when needed
|
||||||
- **Configurable** - You can customize the MCP server command in settings if needed
|
- **Configurable** - You can customize the MCP server command in settings if needed
|
||||||
|
|
||||||
### 4. **Start Managing Tasks**
|
### 4. **Start Managing Tasks**
|
||||||
@@ -90,7 +90,7 @@ The extension automatically handles the Task Master MCP server connection:
|
|||||||
|
|
||||||
### **AI-Powered Task Management**
|
### **AI-Powered Task Management**
|
||||||
|
|
||||||
The extension integrates seamlessly with Task Master AI via MCP to provide:
|
The extension integrates seamlessly with TaskMaster AI via MCP to provide:
|
||||||
- **Smart Task Generation** - AI creates detailed implementation plans
|
- **Smart Task Generation** - AI creates detailed implementation plans
|
||||||
- **Progress Tracking** - Append timestamped notes and findings
|
- **Progress Tracking** - Append timestamped notes and findings
|
||||||
- **Content Enhancement** - Regenerate task descriptions for clarity
|
- **Content Enhancement** - Regenerate task descriptions for clarity
|
||||||
@@ -98,7 +98,7 @@ The extension integrates seamlessly with Task Master AI via MCP to provide:
|
|||||||
|
|
||||||
## ⚙️ Configuration
|
## ⚙️ Configuration
|
||||||
|
|
||||||
Access settings via **File → Preferences → Settings** and search for "Task Master":
|
Access settings via **File → Preferences → Settings** and search for "TaskMaster":
|
||||||
|
|
||||||
### **MCP Connection Settings**
|
### **MCP Connection Settings**
|
||||||
- **MCP Server Command** - Path to task-master-ai executable (default: `npx`)
|
- **MCP Server Command** - Path to task-master-ai executable (default: `npx`)
|
||||||
@@ -121,7 +121,7 @@ Access settings via **File → Preferences → Settings** and search for "Task M
|
|||||||
1. Ensure Node.js 18+ is installed
|
1. Ensure Node.js 18+ is installed
|
||||||
2. Check workspace contains `.taskmaster` folder
|
2. Check workspace contains `.taskmaster` folder
|
||||||
3. Restart VS Code
|
3. Restart VS Code
|
||||||
4. Check Output panel (View → Output → Task Master Kanban)
|
4. Check Output panel (View → Output → TaskMaster Kanban)
|
||||||
|
|
||||||
### **MCP Connection Issues**
|
### **MCP Connection Issues**
|
||||||
1. **Command not found**: Ensure Node.js and npx are in your PATH
|
1. **Command not found**: Ensure Node.js and npx are in your PATH
|
||||||
@@ -132,7 +132,7 @@ Access settings via **File → Preferences → Settings** and search for "Task M
|
|||||||
### **Tasks Not Updating**
|
### **Tasks Not Updating**
|
||||||
1. Check MCP connection status in status bar
|
1. Check MCP connection status in status bar
|
||||||
2. Verify `.taskmaster/tasks/tasks.json` exists
|
2. Verify `.taskmaster/tasks/tasks.json` exists
|
||||||
3. Try manual refresh: `Task Master Kanban: Check Connection`
|
3. Try manual refresh: `TaskMaster Kanban: Check Connection`
|
||||||
4. Review error logs in Output panel
|
4. Review error logs in Output panel
|
||||||
|
|
||||||
### **Performance Issues**
|
### **Performance Issues**
|
||||||
@@ -144,7 +144,7 @@ Access settings via **File → Preferences → Settings** and search for "Task M
|
|||||||
## 🆘 Support & Resources
|
## 🆘 Support & Resources
|
||||||
|
|
||||||
### **Getting Help**
|
### **Getting Help**
|
||||||
- 📖 **Documentation**: [Task Master AI Docs](https://github.com/eyaltoledano/claude-task-master)
|
- 📖 **Documentation**: [TaskMaster AI Docs](https://github.com/eyaltoledano/claude-task-master)
|
||||||
- 🐛 **Report Issues**: [GitHub Issues](https://github.com/eyaltoledano/claude-task-master/issues)
|
- 🐛 **Report Issues**: [GitHub Issues](https://github.com/eyaltoledano/claude-task-master/issues)
|
||||||
- 💬 **Discussions**: [GitHub Discussions](https://github.com/eyaltoledano/claude-task-master/discussions)
|
- 💬 **Discussions**: [GitHub Discussions](https://github.com/eyaltoledano/claude-task-master/discussions)
|
||||||
|
|
||||||
@@ -173,9 +173,9 @@ Access settings via **File → Preferences → Settings** and search for "Task M
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 🏆 Why Task Master Kanban?
|
## 🏆 Why TaskMaster Kanban?
|
||||||
|
|
||||||
✅ **Visual workflow management** for your Task Master projects
|
✅ **Visual workflow management** for your TaskMaster projects
|
||||||
✅ **AI-powered task enhancement** built right in
|
✅ **AI-powered task enhancement** built right in
|
||||||
✅ **Real-time synchronization** keeps everything in sync
|
✅ **Real-time synchronization** keeps everything in sync
|
||||||
✅ **Native VS Code integration** feels like part of the editor
|
✅ **Native VS Code integration** feels like part of the editor
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
{
|
{
|
||||||
"name": "extension",
|
"name": "extension",
|
||||||
"private": true,
|
"private": true,
|
||||||
"displayName": "Task Master",
|
"displayName": "TaskMaster",
|
||||||
"description": "A visual Kanban board interface for Task Master projects in VS Code",
|
"description": "A visual Kanban board interface for TaskMaster projects in VS Code",
|
||||||
"version": "1.1.0",
|
"version": "1.1.0",
|
||||||
"publisher": "Hamster",
|
"publisher": "Hamster",
|
||||||
"icon": "assets/icon.png",
|
"icon": "assets/icon.png",
|
||||||
@@ -16,7 +16,7 @@
|
|||||||
"activitybar": [
|
"activitybar": [
|
||||||
{
|
{
|
||||||
"id": "taskmaster",
|
"id": "taskmaster",
|
||||||
"title": "Task Master",
|
"title": "TaskMaster",
|
||||||
"icon": "assets/sidebar-icon.svg"
|
"icon": "assets/sidebar-icon.svg"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -25,7 +25,7 @@
|
|||||||
"taskmaster": [
|
"taskmaster": [
|
||||||
{
|
{
|
||||||
"id": "taskmaster.welcome",
|
"id": "taskmaster.welcome",
|
||||||
"name": "Task Master",
|
"name": "TaskMaster",
|
||||||
"type": "webview"
|
"type": "webview"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@@ -33,20 +33,20 @@
|
|||||||
"commands": [
|
"commands": [
|
||||||
{
|
{
|
||||||
"command": "tm.showKanbanBoard",
|
"command": "tm.showKanbanBoard",
|
||||||
"title": "Task Master: Show Board",
|
"title": "TaskMaster: Show Board",
|
||||||
"icon": "$(checklist)"
|
"icon": "$(checklist)"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"command": "tm.checkConnection",
|
"command": "tm.checkConnection",
|
||||||
"title": "Task Master: Check Connection"
|
"title": "TaskMaster: Check Connection"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"command": "tm.reconnect",
|
"command": "tm.reconnect",
|
||||||
"title": "Task Master: Reconnect"
|
"title": "TaskMaster: Reconnect"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"command": "tm.openSettings",
|
"command": "tm.openSettings",
|
||||||
"title": "Task Master: Open Settings"
|
"title": "TaskMaster: Open Settings"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"menus": {
|
"menus": {
|
||||||
@@ -59,7 +59,7 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"configuration": {
|
"configuration": {
|
||||||
"title": "Task Master Kanban",
|
"title": "TaskMaster Kanban",
|
||||||
"properties": {
|
"properties": {
|
||||||
"taskmaster.mcp.command": {
|
"taskmaster.mcp.command": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
@@ -71,16 +71,16 @@
|
|||||||
"items": {
|
"items": {
|
||||||
"type": "string"
|
"type": "string"
|
||||||
},
|
},
|
||||||
"default": ["-y", "--package=task-master-ai", "task-master-ai"],
|
"default": ["task-master-ai"],
|
||||||
"description": "An array of arguments to pass to the MCP server command."
|
"description": "An array of arguments to pass to the MCP server command."
|
||||||
},
|
},
|
||||||
"taskmaster.mcp.cwd": {
|
"taskmaster.mcp.cwd": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"description": "Working directory for the Task Master MCP server (defaults to workspace root)"
|
"description": "Working directory for the TaskMaster MCP server (defaults to workspace root)"
|
||||||
},
|
},
|
||||||
"taskmaster.mcp.env": {
|
"taskmaster.mcp.env": {
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"description": "Environment variables for the Task Master MCP server"
|
"description": "Environment variables for the TaskMaster MCP server"
|
||||||
},
|
},
|
||||||
"taskmaster.mcp.timeout": {
|
"taskmaster.mcp.timeout": {
|
||||||
"type": "number",
|
"type": "number",
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "task-master",
|
"name": "task-master",
|
||||||
"displayName": "Task Master",
|
"displayName": "TaskMaster",
|
||||||
"description": "A visual Kanban board interface for Task Master projects in VS Code",
|
"description": "A visual Kanban board interface for TaskMaster projects in VS Code",
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"publisher": "Hamster",
|
"publisher": "Hamster",
|
||||||
"icon": "assets/icon.png",
|
"icon": "assets/icon.png",
|
||||||
@@ -54,23 +54,23 @@
|
|||||||
"commands": [
|
"commands": [
|
||||||
{
|
{
|
||||||
"command": "tm.showKanbanBoard",
|
"command": "tm.showKanbanBoard",
|
||||||
"title": "Task Master: Show Board"
|
"title": "TaskMaster: Show Board"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"command": "tm.checkConnection",
|
"command": "tm.checkConnection",
|
||||||
"title": "Task Master: Check Connection"
|
"title": "TaskMaster: Check Connection"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"command": "tm.reconnect",
|
"command": "tm.reconnect",
|
||||||
"title": "Task Master: Reconnect"
|
"title": "TaskMaster: Reconnect"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"command": "tm.openSettings",
|
"command": "tm.openSettings",
|
||||||
"title": "Task Master: Open Settings"
|
"title": "TaskMaster: Open Settings"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"configuration": {
|
"configuration": {
|
||||||
"title": "Task Master Kanban",
|
"title": "TaskMaster Kanban",
|
||||||
"properties": {
|
"properties": {
|
||||||
"taskmaster.mcp.command": {
|
"taskmaster.mcp.command": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* Task Master Extension - Simplified Architecture
|
* TaskMaster Extension - Simplified Architecture
|
||||||
* Only using patterns where they add real value
|
* Only using patterns where they add real value
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@@ -32,7 +32,7 @@ export async function activate(context: vscode.ExtensionContext) {
|
|||||||
try {
|
try {
|
||||||
// Initialize logger (needed to prevent MCP stdio issues)
|
// Initialize logger (needed to prevent MCP stdio issues)
|
||||||
logger = ExtensionLogger.getInstance();
|
logger = ExtensionLogger.getInstance();
|
||||||
logger.log('🎉 Task Master Extension activating...');
|
logger.log('🎉 TaskMaster Extension activating...');
|
||||||
|
|
||||||
// Simple event emitter for webview communication
|
// Simple event emitter for webview communication
|
||||||
events = new EventEmitter();
|
events = new EventEmitter();
|
||||||
@@ -46,7 +46,7 @@ export async function activate(context: vscode.ExtensionContext) {
|
|||||||
// Repository with caching (actually useful for performance)
|
// Repository with caching (actually useful for performance)
|
||||||
repository = new TaskRepository(api, logger);
|
repository = new TaskRepository(api, logger);
|
||||||
|
|
||||||
// Config service for Task Master config.json
|
// Config service for TaskMaster config.json
|
||||||
configService = new ConfigService(logger);
|
configService = new ConfigService(logger);
|
||||||
|
|
||||||
// Polling service with strategy pattern (makes sense for different polling behaviors)
|
// Polling service with strategy pattern (makes sense for different polling behaviors)
|
||||||
@@ -91,18 +91,18 @@ export async function activate(context: vscode.ExtensionContext) {
|
|||||||
webviewManager.broadcast('tasksUpdated', { tasks, source: 'polling' });
|
webviewManager.broadcast('tasksUpdated', { tasks, source: 'polling' });
|
||||||
});
|
});
|
||||||
|
|
||||||
logger.log('✅ Task Master Extension activated');
|
logger.log('✅ TaskMaster Extension activated');
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
logger?.error('Failed to activate', error);
|
logger?.error('Failed to activate', error);
|
||||||
vscode.window.showErrorMessage(
|
vscode.window.showErrorMessage(
|
||||||
`Failed to activate Task Master: ${error instanceof Error ? error.message : 'Unknown error'}`
|
`Failed to activate TaskMaster: ${error instanceof Error ? error.message : 'Unknown error'}`
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async function initializeConnection() {
|
async function initializeConnection() {
|
||||||
try {
|
try {
|
||||||
logger.log('🔗 Connecting to Task Master...');
|
logger.log('🔗 Connecting to TaskMaster...');
|
||||||
|
|
||||||
// Notify webviews that we're connecting
|
// Notify webviews that we're connecting
|
||||||
if (webviewManager) {
|
if (webviewManager) {
|
||||||
@@ -117,8 +117,8 @@ async function initializeConnection() {
|
|||||||
const testResult = await api.testConnection();
|
const testResult = await api.testConnection();
|
||||||
|
|
||||||
if (testResult.success) {
|
if (testResult.success) {
|
||||||
logger.log('✅ Connected to Task Master');
|
logger.log('✅ Connected to TaskMaster');
|
||||||
vscode.window.showInformationMessage('Task Master connected!');
|
vscode.window.showInformationMessage('TaskMaster connected!');
|
||||||
|
|
||||||
// Notify webviews that we're connected
|
// Notify webviews that we're connected
|
||||||
if (webviewManager) {
|
if (webviewManager) {
|
||||||
@@ -157,7 +157,7 @@ function handleConnectionError(error: any) {
|
|||||||
if (message.includes('ENOENT') && message.includes('npx')) {
|
if (message.includes('ENOENT') && message.includes('npx')) {
|
||||||
vscode.window
|
vscode.window
|
||||||
.showWarningMessage(
|
.showWarningMessage(
|
||||||
'Task Master: npx not found. Please ensure Node.js is installed.',
|
'TaskMaster: npx not found. Please ensure Node.js is installed.',
|
||||||
'Open Settings'
|
'Open Settings'
|
||||||
)
|
)
|
||||||
.then((action) => {
|
.then((action) => {
|
||||||
@@ -170,7 +170,7 @@ function handleConnectionError(error: any) {
|
|||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
vscode.window.showWarningMessage(
|
vscode.window.showWarningMessage(
|
||||||
`Task Master connection failed: ${message}`
|
`TaskMaster connection failed: ${message}`
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -211,7 +211,7 @@ function registerCommands(context: vscode.ExtensionContext) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export function deactivate() {
|
export function deactivate() {
|
||||||
logger?.log('👋 Task Master Extension deactivating...');
|
logger?.log('👋 TaskMaster Extension deactivating...');
|
||||||
pollingService?.stop();
|
pollingService?.stop();
|
||||||
webviewManager?.dispose();
|
webviewManager?.dispose();
|
||||||
api?.destroy();
|
api?.destroy();
|
||||||
|
|||||||
@@ -94,7 +94,7 @@ export class ErrorHandler {
|
|||||||
switch (context.severity) {
|
switch (context.severity) {
|
||||||
case ErrorSeverity.CRITICAL:
|
case ErrorSeverity.CRITICAL:
|
||||||
vscode.window
|
vscode.window
|
||||||
.showErrorMessage(`Task Master: ${context.message}`, ...actions)
|
.showErrorMessage(`TaskMaster: ${context.message}`, ...actions)
|
||||||
.then((action) => {
|
.then((action) => {
|
||||||
if (action) {
|
if (action) {
|
||||||
this.handleUserAction(action, context);
|
this.handleUserAction(action, context);
|
||||||
@@ -106,7 +106,7 @@ export class ErrorHandler {
|
|||||||
if (context.category === ErrorCategory.MCP_CONNECTION) {
|
if (context.category === ErrorCategory.MCP_CONNECTION) {
|
||||||
vscode.window
|
vscode.window
|
||||||
.showWarningMessage(
|
.showWarningMessage(
|
||||||
`Task Master: ${context.message}`,
|
`TaskMaster: ${context.message}`,
|
||||||
'Retry',
|
'Retry',
|
||||||
'Settings'
|
'Settings'
|
||||||
)
|
)
|
||||||
@@ -118,7 +118,7 @@ export class ErrorHandler {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
vscode.window.showWarningMessage(`Task Master: ${context.message}`);
|
vscode.window.showWarningMessage(`TaskMaster: ${context.message}`);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@@ -130,7 +130,7 @@ export class ErrorHandler {
|
|||||||
)
|
)
|
||||||
) {
|
) {
|
||||||
vscode.window.showInformationMessage(
|
vscode.window.showInformationMessage(
|
||||||
`Task Master: ${context.message}`
|
`TaskMaster: ${context.message}`
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -69,7 +69,7 @@ export class SidebarWebviewManager implements vscode.WebviewViewProvider {
|
|||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<meta http-equiv="Content-Security-Policy" content="default-src 'none'; img-src ${webview.cspSource} https:; script-src 'nonce-${nonce}'; style-src ${webview.cspSource} 'unsafe-inline';">
|
<meta http-equiv="Content-Security-Policy" content="default-src 'none'; img-src ${webview.cspSource} https:; script-src 'nonce-${nonce}'; style-src ${webview.cspSource} 'unsafe-inline';">
|
||||||
<link href="${styleUri}" rel="stylesheet">
|
<link href="${styleUri}" rel="stylesheet">
|
||||||
<title>Task Master</title>
|
<title>TaskMaster</title>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div id="root"></div>
|
<div id="root"></div>
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ export class WebviewManager {
|
|||||||
async createOrShowPanel(): Promise<void> {
|
async createOrShowPanel(): Promise<void> {
|
||||||
// Find existing panel
|
// Find existing panel
|
||||||
const existing = Array.from(this.panels).find(
|
const existing = Array.from(this.panels).find(
|
||||||
(p) => p.title === 'Task Master Kanban'
|
(p) => p.title === 'TaskMaster Kanban'
|
||||||
);
|
);
|
||||||
if (existing) {
|
if (existing) {
|
||||||
existing.reveal();
|
existing.reveal();
|
||||||
@@ -47,7 +47,7 @@ export class WebviewManager {
|
|||||||
// Create new panel
|
// Create new panel
|
||||||
const panel = vscode.window.createWebviewPanel(
|
const panel = vscode.window.createWebviewPanel(
|
||||||
'taskrKanban',
|
'taskrKanban',
|
||||||
'Task Master Kanban',
|
'TaskMaster Kanban',
|
||||||
vscode.ViewColumn.One,
|
vscode.ViewColumn.One,
|
||||||
{
|
{
|
||||||
enableScripts: true,
|
enableScripts: true,
|
||||||
@@ -87,7 +87,7 @@ export class WebviewManager {
|
|||||||
});
|
});
|
||||||
|
|
||||||
this.events.emit('webview:opened');
|
this.events.emit('webview:opened');
|
||||||
vscode.window.showInformationMessage('Task Master Kanban opened!');
|
vscode.window.showInformationMessage('TaskMaster Kanban opened!');
|
||||||
}
|
}
|
||||||
|
|
||||||
broadcast(type: string, data: any): void {
|
broadcast(type: string, data: any): void {
|
||||||
@@ -360,7 +360,7 @@ export class WebviewManager {
|
|||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<meta http-equiv="Content-Security-Policy" content="default-src 'none'; img-src ${webview.cspSource} https:; script-src 'nonce-${nonce}'; style-src ${webview.cspSource} 'unsafe-inline';">
|
<meta http-equiv="Content-Security-Policy" content="default-src 'none'; img-src ${webview.cspSource} https:; script-src 'nonce-${nonce}'; style-src ${webview.cspSource} 'unsafe-inline';">
|
||||||
<link href="${styleUri}" rel="stylesheet">
|
<link href="${styleUri}" rel="stylesheet">
|
||||||
<title>Task Master Kanban</title>
|
<title>TaskMaster Kanban</title>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div id="root"></div>
|
<div id="root"></div>
|
||||||
|
|||||||
@@ -430,7 +430,7 @@ export class ConfigManager {
|
|||||||
return {
|
return {
|
||||||
mcp: {
|
mcp: {
|
||||||
command: 'npx',
|
command: 'npx',
|
||||||
args: ['-y', '--package=task-master-ai', 'task-master-ai'],
|
args: ['task-master-ai'],
|
||||||
cwd: vscode.workspace.rootPath || '',
|
cwd: vscode.workspace.rootPath || '',
|
||||||
env: undefined,
|
env: undefined,
|
||||||
timeout: 30000,
|
timeout: 30000,
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ export class ExtensionLogger implements ILogger {
|
|||||||
private debugMode: boolean;
|
private debugMode: boolean;
|
||||||
|
|
||||||
private constructor() {
|
private constructor() {
|
||||||
this.outputChannel = vscode.window.createOutputChannel('Task Master');
|
this.outputChannel = vscode.window.createOutputChannel('TaskMaster');
|
||||||
const config = vscode.workspace.getConfiguration('taskmaster');
|
const config = vscode.workspace.getConfiguration('taskmaster');
|
||||||
this.debugMode = config.get<boolean>('debug.enableLogging', true);
|
this.debugMode = config.get<boolean>('debug.enableLogging', true);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -124,7 +124,7 @@ export class MCPClientManager {
|
|||||||
});
|
});
|
||||||
this.status = { isRunning: false, error: error.message };
|
this.status = { isRunning: false, error: error.message };
|
||||||
vscode.window.showErrorMessage(
|
vscode.window.showErrorMessage(
|
||||||
`Task Master MCP transport error: ${error.message}`
|
`TaskMaster MCP transport error: ${error.message}`
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -346,11 +346,7 @@ export function createMCPConfigFromSettings(): MCPConfig {
|
|||||||
const config = vscode.workspace.getConfiguration('taskmaster');
|
const config = vscode.workspace.getConfiguration('taskmaster');
|
||||||
|
|
||||||
let command = config.get<string>('mcp.command', 'npx');
|
let command = config.get<string>('mcp.command', 'npx');
|
||||||
const args = config.get<string[]>('mcp.args', [
|
const args = config.get<string[]>('mcp.args', ['task-master-ai']);
|
||||||
'-y',
|
|
||||||
'--package=task-master-ai',
|
|
||||||
'task-master-ai'
|
|
||||||
]);
|
|
||||||
|
|
||||||
// Use proper VS Code workspace detection
|
// Use proper VS Code workspace detection
|
||||||
const defaultCwd =
|
const defaultCwd =
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* Task Master API
|
* TaskMaster API
|
||||||
* Main API class that coordinates all modules
|
* Main API class that coordinates all modules
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@@ -105,7 +105,7 @@ export class TaskMasterApi {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get tasks from Task Master
|
* Get tasks from TaskMaster
|
||||||
*/
|
*/
|
||||||
async getTasks(
|
async getTasks(
|
||||||
options?: GetTasksOptions
|
options?: GetTasksOptions
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/**
|
/**
|
||||||
* Task Master API Types
|
* TaskMaster API Types
|
||||||
* All type definitions for the Task Master API
|
* All type definitions for the TaskMaster API
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// MCP Response Types
|
// MCP Response Types
|
||||||
|
|||||||
@@ -127,7 +127,7 @@ export const EmptyState: React.FC<EmptyStateProps> = ({ currentTag }) => {
|
|||||||
>
|
>
|
||||||
<ExternalLink className="w-4 h-4" />
|
<ExternalLink className="w-4 h-4" />
|
||||||
<span className="text-sm font-medium">
|
<span className="text-sm font-medium">
|
||||||
View Task Master Documentation
|
View TaskMaster Documentation
|
||||||
</span>
|
</span>
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ export const SidebarView: React.FC<SidebarViewProps> = ({
|
|||||||
<TaskMasterLogo className="w-20 h-20 mx-auto mb-5 opacity-80 text-vscode-foreground" />
|
<TaskMasterLogo className="w-20 h-20 mx-auto mb-5 opacity-80 text-vscode-foreground" />
|
||||||
|
|
||||||
<h2 className="text-xl font-semibold mb-6 text-vscode-foreground">
|
<h2 className="text-xl font-semibold mb-6 text-vscode-foreground">
|
||||||
Task Master
|
TaskMaster
|
||||||
</h2>
|
</h2>
|
||||||
|
|
||||||
<button
|
<button
|
||||||
|
|||||||
Reference in New Issue
Block a user