* feat(task-104): Complete task 104 - Implement scope-up and scope-down CLI Commands - Added new CLI commands 'scope-up' and 'scope-down' with comma-separated ID support - Implemented strength levels (light/regular/heavy) and custom prompt functionality - Created core complexity adjustment logic with AI integration - Added MCP tool equivalents for integrated environments - Comprehensive error handling and task validation - Full test coverage with TDD approach - Updated task manager core and UI components Task 104: Implement 'scope-up' and 'scope-down' CLI Commands for Dynamic Task Complexity Adjustment - Complete implementation with CLI, MCP integration, and testing * chore: Add changeset for scope-up and scope-down features - Comprehensive user-facing description with usage examples - Key features and benefits explanation - CLI and MCP integration details - Real-world use cases for agile workflows * feat(extension): Add scope-up and scope-down to VS Code extension task details - Added useScopeUpTask and useScopeDownTask hooks in useTaskQueries.ts - Enhanced AIActionsSection with Task Complexity Adjustment section - Added strength selection (light/regular/heavy) and custom prompt support - Integrated scope buttons with proper loading states and error handling - Uses existing mcpRequest handler for scope_up_task and scope_down_task tools - Maintains consistent UI patterns with existing AI actions Extension now supports dynamic task complexity adjustment directly from task details view.
112 lines
4.1 KiB
JavaScript
112 lines
4.1 KiB
JavaScript
/**
|
|
* tools/index.js
|
|
* Export all Task Master CLI tools for MCP server
|
|
*/
|
|
|
|
import { registerListTasksTool } from './get-tasks.js';
|
|
import logger from '../logger.js';
|
|
import { registerSetTaskStatusTool } from './set-task-status.js';
|
|
import { registerParsePRDTool } from './parse-prd.js';
|
|
import { registerUpdateTool } from './update.js';
|
|
import { registerUpdateTaskTool } from './update-task.js';
|
|
import { registerUpdateSubtaskTool } from './update-subtask.js';
|
|
import { registerGenerateTool } from './generate.js';
|
|
import { registerShowTaskTool } from './get-task.js';
|
|
import { registerNextTaskTool } from './next-task.js';
|
|
import { registerExpandTaskTool } from './expand-task.js';
|
|
import { registerAddTaskTool } from './add-task.js';
|
|
import { registerAddSubtaskTool } from './add-subtask.js';
|
|
import { registerRemoveSubtaskTool } from './remove-subtask.js';
|
|
import { registerAnalyzeProjectComplexityTool } from './analyze.js';
|
|
import { registerClearSubtasksTool } from './clear-subtasks.js';
|
|
import { registerExpandAllTool } from './expand-all.js';
|
|
import { registerRemoveDependencyTool } from './remove-dependency.js';
|
|
import { registerValidateDependenciesTool } from './validate-dependencies.js';
|
|
import { registerFixDependenciesTool } from './fix-dependencies.js';
|
|
import { registerComplexityReportTool } from './complexity-report.js';
|
|
import { registerAddDependencyTool } from './add-dependency.js';
|
|
import { registerRemoveTaskTool } from './remove-task.js';
|
|
import { registerInitializeProjectTool } from './initialize-project.js';
|
|
import { registerModelsTool } from './models.js';
|
|
import { registerMoveTaskTool } from './move-task.js';
|
|
import { registerResponseLanguageTool } from './response-language.js';
|
|
import { registerAddTagTool } from './add-tag.js';
|
|
import { registerDeleteTagTool } from './delete-tag.js';
|
|
import { registerListTagsTool } from './list-tags.js';
|
|
import { registerUseTagTool } from './use-tag.js';
|
|
import { registerRenameTagTool } from './rename-tag.js';
|
|
import { registerCopyTagTool } from './copy-tag.js';
|
|
import { registerResearchTool } from './research.js';
|
|
import { registerRulesTool } from './rules.js';
|
|
import { registerScopeUpTool } from './scope-up.js';
|
|
import { registerScopeDownTool } from './scope-down.js';
|
|
|
|
/**
|
|
* Register all Task Master tools with the MCP server
|
|
* @param {Object} server - FastMCP server instance
|
|
*/
|
|
export function registerTaskMasterTools(server) {
|
|
try {
|
|
// Register each tool in a logical workflow order
|
|
|
|
// Group 1: Initialization & Setup
|
|
registerInitializeProjectTool(server);
|
|
registerModelsTool(server);
|
|
registerRulesTool(server);
|
|
registerParsePRDTool(server);
|
|
|
|
// Group 2: Task Analysis & Expansion
|
|
registerAnalyzeProjectComplexityTool(server);
|
|
registerExpandTaskTool(server);
|
|
registerExpandAllTool(server);
|
|
registerScopeUpTool(server);
|
|
registerScopeDownTool(server);
|
|
|
|
// Group 3: Task Listing & Viewing
|
|
registerListTasksTool(server);
|
|
registerShowTaskTool(server);
|
|
registerNextTaskTool(server);
|
|
registerComplexityReportTool(server);
|
|
|
|
// Group 4: Task Status & Management
|
|
registerSetTaskStatusTool(server);
|
|
registerGenerateTool(server);
|
|
|
|
// Group 5: Task Creation & Modification
|
|
registerAddTaskTool(server);
|
|
registerAddSubtaskTool(server);
|
|
registerUpdateTool(server);
|
|
registerUpdateTaskTool(server);
|
|
registerUpdateSubtaskTool(server);
|
|
registerRemoveTaskTool(server);
|
|
registerRemoveSubtaskTool(server);
|
|
registerClearSubtasksTool(server);
|
|
registerMoveTaskTool(server);
|
|
|
|
// Group 6: Dependency Management
|
|
registerAddDependencyTool(server);
|
|
registerRemoveDependencyTool(server);
|
|
registerValidateDependenciesTool(server);
|
|
registerFixDependenciesTool(server);
|
|
registerResponseLanguageTool(server);
|
|
|
|
// Group 7: Tag Management
|
|
registerListTagsTool(server);
|
|
registerAddTagTool(server);
|
|
registerDeleteTagTool(server);
|
|
registerUseTagTool(server);
|
|
registerRenameTagTool(server);
|
|
registerCopyTagTool(server);
|
|
|
|
// Group 8: Research Features
|
|
registerResearchTool(server);
|
|
} catch (error) {
|
|
logger.error(`Error registering Task Master tools: ${error.message}`);
|
|
throw error;
|
|
}
|
|
}
|
|
|
|
export default {
|
|
registerTaskMasterTools
|
|
};
|