start_feature_clarification
Initiate feature clarification for LLM-based coding by defining feature names and descriptions, ensuring structured development workflows within the Vibe-Coder MCP Server.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| featureName | Yes | ||
| initialDescription | No |
Input Schema (JSON Schema)
{
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"featureName": {
"maxLength": 100,
"minLength": 2,
"type": "string"
},
"initialDescription": {
"default": "",
"type": "string"
}
},
"required": [
"featureName"
],
"type": "object"
}
Implementation Reference
- src/tool-handlers.ts:57-81 (handler)The handler function for 'start_feature_clarification' that parses input, creates a new feature object, stores it, generates the first clarification question, and returns a response with the feature ID and question.const startFeatureClarificationHandler: ToolHandler<z.infer<typeof StartFeatureClarificationSchema>> = async (params) => { try { const { featureName, initialDescription } = StartFeatureClarificationSchema.parse(params); // Create a new feature const feature = createFeatureObject(featureName, initialDescription); updateFeature(feature.id, feature); // Get the first clarification question const firstQuestion = getNextClarificationQuestion(feature); return { content: [{ type: "text", text: `Feature ID: ${feature.id}\n\nLet's clarify your feature request. ${firstQuestion}` }] }; } catch (error) { if (error instanceof z.ZodError) { const errorMessage = error.errors.map(e => `${e.path.join('.')}: ${e.message}`).join(', '); return createToolErrorResponse(`Validation error: ${errorMessage}`); } return createToolErrorResponse(error instanceof Error ? error.message : "Unknown error"); } };
- src/tool-handlers.ts:49-52 (schema)Zod schema defining the input parameters for the start_feature_clarification tool: required featureName (string 2-100 chars) and optional initialDescription.const StartFeatureClarificationSchema = z.object({ featureName: z.string().min(2).max(100), initialDescription: z.string().optional().default("") });
- src/tool-handlers.ts:510-538 (registration)Registration of the 'start_feature_clarification' tool in the toolRegistry, including the handler, description, JSON Schema for inputs, and example inputs.toolRegistry.register( 'start_feature_clarification', startFeatureClarificationHandler, 'Start the clarification process for a new feature', { type: "object", properties: { featureName: { type: "string", description: "Name of the feature" }, initialDescription: { type: "string", description: "Initial description of the feature" } }, required: ["featureName"] }, [ { featureName: "User Authentication", initialDescription: "Add login and registration functionality to the application" }, { featureName: "Data Export", initialDescription: "Allow users to export their data in CSV and JSON formats" } ] );