export interface ClaudeCodeConfig {
  enableContextSharing: boolean;
  enableAutoDocumentation: boolean;
  enableCodeSuggestions: boolean;
  enableProjectMemory: boolean;
  createCLAUDEmd: boolean;
}

export interface ProjectContext {
  includeStructure: boolean;
  includeWorkflows: boolean;
  includeConventions: boolean;
  includeProgress: boolean;
}

export interface CodeAssistRequest {
  requestType: 'general' | 'debugging' | 'feature' | 'refactor' | 'documentation' | 'testing';
  context: string;
  currentFile?: string;
}

export interface CLAUDEWorkflow {
  workflowType: string;
  description: string;
  steps: string[];
  tools: string[];
  examples?: string[];
  prerequisites?: string[];
}

export interface CodeSuggestion {
  title: string;
  description: string;
  command?: string;
  priority: 'high' | 'medium' | 'low';
  category: string;
}

export interface ContextSyncResult {
  structureUpdated: boolean;
  tasksUpdated: boolean;
  conventionsUpdated: boolean;
  docsUpdated: boolean;
  filesUpdated: string[];
}

export interface CLAUDEmdSection {
  title: string;
  content: string;
  priority: number;
}

export interface ProjectMemory {
  recentFiles: string[];
  commonPatterns: string[];
  conventions: Record<string, string>;
  workflows: CLAUDEWorkflow[];
  lastUpdated: string;
}