chore: rename Task Master to TaskMaster

This commit is contained in:
Ralph Khreish
2025-07-31 13:13:34 +03:00
parent cd92be61e5
commit e04a849c56
14 changed files with 67 additions and 71 deletions

View File

@@ -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.
![Task Master AI Kanban](https://img.shields.io/badge/VS%20Code-Extension-blue)
![TaskMaster AI Kanban](https://img.shields.io/badge/VS%20Code-Extension-blue)
![Free](https://img.shields.io/badge/Price-Free-brightgreen)
![Version](https://img.shields.io/badge/Version-1.0.0-blue)
@@ -10,7 +10,7 @@ Transform your [Task Master AI](https://github.com/TaskMasterEYJ/task-master-ai)
### 🎯 **Visual Task Management**
- **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
- **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**
- **Task Content Generation** - Regenerate task descriptions using AI
- **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
![Task Details](assets/screenshots/task-details.png)
@@ -35,7 +35,7 @@ Transform your [Task Master AI](https://github.com/TaskMasterEYJ/task-master-ai)
### Prerequisites
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
@@ -45,21 +45,21 @@ Transform your [Task Master AI](https://github.com/TaskMasterEYJ/task-master-ai)
## 🚀 Quick Start
### 1. **Initialize Task Master Project**
If you don't have a Task Master project yet:
### 1. **Initialize TaskMaster Project**
If you don't have a TaskMaster project yet:
```bash
cd your-project
npx task-master-ai init
```
### 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
### 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
- **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
### 4. **Start Managing Tasks**
@@ -90,7 +90,7 @@ The extension automatically handles the Task Master MCP server connection:
### **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
- **Progress Tracking** - Append timestamped notes and findings
- **Content Enhancement** - Regenerate task descriptions for clarity
@@ -98,7 +98,7 @@ The extension integrates seamlessly with Task Master AI via MCP to provide:
## ⚙️ 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 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
2. Check workspace contains `.taskmaster` folder
3. Restart VS Code
4. Check Output panel (View → Output → Task Master Kanban)
4. Check Output panel (View → Output → TaskMaster Kanban)
### **MCP Connection Issues**
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**
1. Check MCP connection status in status bar
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
### **Performance Issues**
@@ -144,7 +144,7 @@ Access settings via **File → Preferences → Settings** and search for "Task M
## 🆘 Support & Resources
### **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)
- 💬 **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
**Real-time synchronization** keeps everything in sync
**Native VS Code integration** feels like part of the editor

View File

@@ -1,8 +1,8 @@
{
"name": "extension",
"private": true,
"displayName": "Task Master",
"description": "A visual Kanban board interface for Task Master projects in VS Code",
"displayName": "TaskMaster",
"description": "A visual Kanban board interface for TaskMaster projects in VS Code",
"version": "1.1.0",
"publisher": "Hamster",
"icon": "assets/icon.png",
@@ -16,7 +16,7 @@
"activitybar": [
{
"id": "taskmaster",
"title": "Task Master",
"title": "TaskMaster",
"icon": "assets/sidebar-icon.svg"
}
]
@@ -25,7 +25,7 @@
"taskmaster": [
{
"id": "taskmaster.welcome",
"name": "Task Master",
"name": "TaskMaster",
"type": "webview"
}
]
@@ -33,20 +33,20 @@
"commands": [
{
"command": "tm.showKanbanBoard",
"title": "Task Master: Show Board",
"title": "TaskMaster: Show Board",
"icon": "$(checklist)"
},
{
"command": "tm.checkConnection",
"title": "Task Master: Check Connection"
"title": "TaskMaster: Check Connection"
},
{
"command": "tm.reconnect",
"title": "Task Master: Reconnect"
"title": "TaskMaster: Reconnect"
},
{
"command": "tm.openSettings",
"title": "Task Master: Open Settings"
"title": "TaskMaster: Open Settings"
}
],
"menus": {
@@ -59,7 +59,7 @@
]
},
"configuration": {
"title": "Task Master Kanban",
"title": "TaskMaster Kanban",
"properties": {
"taskmaster.mcp.command": {
"type": "string",
@@ -71,16 +71,16 @@
"items": {
"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."
},
"taskmaster.mcp.cwd": {
"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": {
"type": "object",
"description": "Environment variables for the Task Master MCP server"
"description": "Environment variables for the TaskMaster MCP server"
},
"taskmaster.mcp.timeout": {
"type": "number",

View File

@@ -1,7 +1,7 @@
{
"name": "task-master",
"displayName": "Task Master",
"description": "A visual Kanban board interface for Task Master projects in VS Code",
"displayName": "TaskMaster",
"description": "A visual Kanban board interface for TaskMaster projects in VS Code",
"version": "1.0.0",
"publisher": "Hamster",
"icon": "assets/icon.png",
@@ -54,23 +54,23 @@
"commands": [
{
"command": "tm.showKanbanBoard",
"title": "Task Master: Show Board"
"title": "TaskMaster: Show Board"
},
{
"command": "tm.checkConnection",
"title": "Task Master: Check Connection"
"title": "TaskMaster: Check Connection"
},
{
"command": "tm.reconnect",
"title": "Task Master: Reconnect"
"title": "TaskMaster: Reconnect"
},
{
"command": "tm.openSettings",
"title": "Task Master: Open Settings"
"title": "TaskMaster: Open Settings"
}
],
"configuration": {
"title": "Task Master Kanban",
"title": "TaskMaster Kanban",
"properties": {
"taskmaster.mcp.command": {
"type": "string",

View File

@@ -1,5 +1,5 @@
/**
* Task Master Extension - Simplified Architecture
* TaskMaster Extension - Simplified Architecture
* Only using patterns where they add real value
*/
@@ -32,7 +32,7 @@ export async function activate(context: vscode.ExtensionContext) {
try {
// Initialize logger (needed to prevent MCP stdio issues)
logger = ExtensionLogger.getInstance();
logger.log('🎉 Task Master Extension activating...');
logger.log('🎉 TaskMaster Extension activating...');
// Simple event emitter for webview communication
events = new EventEmitter();
@@ -46,7 +46,7 @@ export async function activate(context: vscode.ExtensionContext) {
// Repository with caching (actually useful for performance)
repository = new TaskRepository(api, logger);
// Config service for Task Master config.json
// Config service for TaskMaster config.json
configService = new ConfigService(logger);
// 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' });
});
logger.log('✅ Task Master Extension activated');
logger.log('✅ TaskMaster Extension activated');
} catch (error) {
logger?.error('Failed to activate', error);
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() {
try {
logger.log('🔗 Connecting to Task Master...');
logger.log('🔗 Connecting to TaskMaster...');
// Notify webviews that we're connecting
if (webviewManager) {
@@ -117,8 +117,8 @@ async function initializeConnection() {
const testResult = await api.testConnection();
if (testResult.success) {
logger.log('✅ Connected to Task Master');
vscode.window.showInformationMessage('Task Master connected!');
logger.log('✅ Connected to TaskMaster');
vscode.window.showInformationMessage('TaskMaster connected!');
// Notify webviews that we're connected
if (webviewManager) {
@@ -157,7 +157,7 @@ function handleConnectionError(error: any) {
if (message.includes('ENOENT') && message.includes('npx')) {
vscode.window
.showWarningMessage(
'Task Master: npx not found. Please ensure Node.js is installed.',
'TaskMaster: npx not found. Please ensure Node.js is installed.',
'Open Settings'
)
.then((action) => {
@@ -170,7 +170,7 @@ function handleConnectionError(error: any) {
});
} else {
vscode.window.showWarningMessage(
`Task Master connection failed: ${message}`
`TaskMaster connection failed: ${message}`
);
}
}
@@ -211,7 +211,7 @@ function registerCommands(context: vscode.ExtensionContext) {
}
export function deactivate() {
logger?.log('👋 Task Master Extension deactivating...');
logger?.log('👋 TaskMaster Extension deactivating...');
pollingService?.stop();
webviewManager?.dispose();
api?.destroy();

View File

@@ -94,7 +94,7 @@ export class ErrorHandler {
switch (context.severity) {
case ErrorSeverity.CRITICAL:
vscode.window
.showErrorMessage(`Task Master: ${context.message}`, ...actions)
.showErrorMessage(`TaskMaster: ${context.message}`, ...actions)
.then((action) => {
if (action) {
this.handleUserAction(action, context);
@@ -106,7 +106,7 @@ export class ErrorHandler {
if (context.category === ErrorCategory.MCP_CONNECTION) {
vscode.window
.showWarningMessage(
`Task Master: ${context.message}`,
`TaskMaster: ${context.message}`,
'Retry',
'Settings'
)
@@ -118,7 +118,7 @@ export class ErrorHandler {
}
});
} else {
vscode.window.showWarningMessage(`Task Master: ${context.message}`);
vscode.window.showWarningMessage(`TaskMaster: ${context.message}`);
}
break;
@@ -130,7 +130,7 @@ export class ErrorHandler {
)
) {
vscode.window.showInformationMessage(
`Task Master: ${context.message}`
`TaskMaster: ${context.message}`
);
}
break;

View File

@@ -69,7 +69,7 @@ export class SidebarWebviewManager implements vscode.WebviewViewProvider {
<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';">
<link href="${styleUri}" rel="stylesheet">
<title>Task Master</title>
<title>TaskMaster</title>
</head>
<body>
<div id="root"></div>

View File

@@ -37,7 +37,7 @@ export class WebviewManager {
async createOrShowPanel(): Promise<void> {
// Find existing panel
const existing = Array.from(this.panels).find(
(p) => p.title === 'Task Master Kanban'
(p) => p.title === 'TaskMaster Kanban'
);
if (existing) {
existing.reveal();
@@ -47,7 +47,7 @@ export class WebviewManager {
// Create new panel
const panel = vscode.window.createWebviewPanel(
'taskrKanban',
'Task Master Kanban',
'TaskMaster Kanban',
vscode.ViewColumn.One,
{
enableScripts: true,
@@ -87,7 +87,7 @@ export class WebviewManager {
});
this.events.emit('webview:opened');
vscode.window.showInformationMessage('Task Master Kanban opened!');
vscode.window.showInformationMessage('TaskMaster Kanban opened!');
}
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 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">
<title>Task Master Kanban</title>
<title>TaskMaster Kanban</title>
</head>
<body>
<div id="root"></div>

View File

@@ -430,7 +430,7 @@ export class ConfigManager {
return {
mcp: {
command: 'npx',
args: ['-y', '--package=task-master-ai', 'task-master-ai'],
args: ['task-master-ai'],
cwd: vscode.workspace.rootPath || '',
env: undefined,
timeout: 30000,

View File

@@ -22,7 +22,7 @@ export class ExtensionLogger implements ILogger {
private debugMode: boolean;
private constructor() {
this.outputChannel = vscode.window.createOutputChannel('Task Master');
this.outputChannel = vscode.window.createOutputChannel('TaskMaster');
const config = vscode.workspace.getConfiguration('taskmaster');
this.debugMode = config.get<boolean>('debug.enableLogging', true);
}

View File

@@ -124,7 +124,7 @@ export class MCPClientManager {
});
this.status = { isRunning: false, error: error.message };
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');
let command = config.get<string>('mcp.command', 'npx');
const args = config.get<string[]>('mcp.args', [
'-y',
'--package=task-master-ai',
'task-master-ai'
]);
const args = config.get<string[]>('mcp.args', ['task-master-ai']);
// Use proper VS Code workspace detection
const defaultCwd =

View File

@@ -1,5 +1,5 @@
/**
* Task Master API
* TaskMaster API
* 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(
options?: GetTasksOptions

View File

@@ -1,6 +1,6 @@
/**
* Task Master API Types
* All type definitions for the Task Master API
* TaskMaster API Types
* All type definitions for the TaskMaster API
*/
// MCP Response Types

View File

@@ -127,7 +127,7 @@ export const EmptyState: React.FC<EmptyStateProps> = ({ currentTag }) => {
>
<ExternalLink className="w-4 h-4" />
<span className="text-sm font-medium">
View Task Master Documentation
View TaskMaster Documentation
</span>
</a>
</div>

View File

@@ -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" />
<h2 className="text-xl font-semibold mb-6 text-vscode-foreground">
Task Master
TaskMaster
</h2>
<button