create_feature_workflow
Initiate a structured workflow to add new features with integrated testing, providing task details, target files, scope, and requirements for disciplined development.
Instructions
Start a structured workflow for adding new functionality with integrated testing
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| context | No | Additional context (optional) | |
| task | Yes | Description of the feature to create |
Implementation Reference
- src/tools/createFeatureWorkflow.ts:43-55 (handler)The primary handler function for the 'create_feature_workflow' tool. It receives parameters and session manager, then delegates to the generic executeWorkflow function with workflowType set to 'feature'.export async function handleCreateFeatureWorkflow( params: { task: string; context?: any }, sessionManager: SessionManager ) { return executeWorkflow( { task: params.task, workflowType: 'feature', context: params.context }, sessionManager ); }
- Input schema defining the parameters for the create_feature_workflow tool: required 'task' string and optional 'context' object with targetFiles, scope, and requirements.inputSchema: { type: 'object', properties: { task: { type: 'string', description: 'Description of the feature to create' }, context: { type: 'object', description: 'Additional context (optional)', properties: { targetFiles: { type: 'array', items: { type: 'string' }, description: 'Files where the feature will be added' }, scope: { type: 'string', enum: ['file', 'directory', 'project'], description: 'The scope of the feature' }, requirements: { type: 'array', items: { type: 'string' }, description: 'Feature requirements and acceptance criteria' } } } }, required: ['task'] }
- src/tools/createFeatureWorkflow.ts:5-41 (registration)Factory function that creates and returns the Tool object for 'create_feature_workflow', including name, description, and inputSchema.export function createFeatureWorkflowTool(): Tool { return { name: 'create_feature_workflow', description: 'Start a structured workflow for adding new functionality with integrated testing', inputSchema: { type: 'object', properties: { task: { type: 'string', description: 'Description of the feature to create' }, context: { type: 'object', description: 'Additional context (optional)', properties: { targetFiles: { type: 'array', items: { type: 'string' }, description: 'Files where the feature will be added' }, scope: { type: 'string', enum: ['file', 'directory', 'project'], description: 'The scope of the feature' }, requirements: { type: 'array', items: { type: 'string' }, description: 'Feature requirements and acceptance criteria' } } } }, required: ['task'] } }; }
- src/index.ts:137-157 (registration)Server tool registration array that includes createFeatureWorkflowTool() among other workflow tools.const tools = [ // Workflow entry points createRefactorWorkflowTool(), // Refactoring workflow createFeatureWorkflowTool(), // Feature creation workflow createTestWorkflowTool(), // Test writing workflow createTddWorkflowTool(), // TDD workflow createBuildCustomWorkflowTool(), // Custom workflow builder // Phase guidance tools ...createPhaseGuidanceTools(), // Handles both suggestive and directive modes createTestGuidanceTool(), // TEST phase guidance // Validation tools ...createValidationTools(), // Both validate_action and validate_phase_completion // Workflow management createUserInputRequiredTool(), // Escalation handling createWorkflowStatusTool(), // Workflow status createPhaseOutputTool(), // Phase output recording createDiscoverWorkflowToolsTool() // Tool discovery ];
- src/index.ts:234-240 (registration)Dispatch handler in the main tool call switch statement that invokes handleCreateFeatureWorkflow for the 'create_feature_workflow' case.case 'create_feature_workflow': return { content: [{ type: 'text', text: JSON.stringify(await handleCreateFeatureWorkflow(args as any, sessionManager), null, 2) }] };