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**
|
||||
- **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
|
||||
|
||||

|
||||
@@ -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
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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 =
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user