UNPKG

@vfarcic/dot-ai

Version:

AI-powered development productivity platform that enhances software development workflows through intelligent automation and AI-driven assistance

112 lines 2.67 kB
/** * TypeScript types and interfaces for Project Setup Tool * PRD #177 - Milestone 1: Core Tool Infrastructure * * Starting simple: Building iteratively based on actual workflow needs */ /** * Workflow steps for project setup */ export type ProjectSetupStep = 'discover' | 'reportScan' | 'generateScope' | 'complete'; /** * Scope configuration structure */ export interface ScopeConfig { files: string[]; questions: Question[]; conditionalFiles?: Record<string, { condition: string; reason: string; }>; additionalInstructions?: string; [key: string]: unknown; } /** * Session data structure for maintaining workflow state */ export interface ProjectSetupSessionData { currentStep: ProjectSetupStep; allScopes?: Record<string, ScopeConfig>; selectedScopes?: string[]; filesToCheck?: string[]; existingFiles?: string[]; } /** * Discovery stage response - Step 1 of workflow */ export interface DiscoveryResponse { success: true; sessionId: string; filesToCheck: string[]; availableScopes: string[]; nextStep: 'reportScan'; instructions: string; } /** * Report scan response - Step 2 of workflow * Returns all questions for selected scope(s) */ export interface ReportScanResponse { success: true; sessionId: string; nextStep: 'generateScope'; instructions: string; scope: string; questions: Question[]; filesToGenerate: string[]; } /** * Generated file content */ export interface GeneratedFile { path: string; content: string; reason?: string; } /** * Generate scope response - Step 3 of workflow * Returns contents of ALL files in the scope at once */ export interface GenerateScopeResponse { success: true; sessionId: string; scope: string; files: GeneratedFile[]; excludedFiles?: string[]; instructions: string; additionalInstructions?: string; } /** * Error response structure */ export interface ErrorResponse { success: false; error: { message: string; details?: string; }; } /** * Question definition for gathering project information */ export interface Question { id: string; question: string; required: boolean; } /** * Tool input parameters */ export interface ProjectSetupParams { step?: ProjectSetupStep; sessionId?: string; existingFiles?: string[]; selectedScopes?: string[]; scope?: string; answers?: Record<string, string>; } /** * Tool response type */ export type ProjectSetupResponse = DiscoveryResponse | ReportScanResponse | GenerateScopeResponse | ErrorResponse; //# sourceMappingURL=types.d.ts.map