← back to ClawCoder

src/lib/analyzer/types.ts

37 lines

export interface CriterionResult {
  id: string
  name: string
  weight: number
  maxScore: number
  score: number
  findings: Finding[]
}

export interface Finding {
  severity: 'critical' | 'warning' | 'info'
  message: string
  line?: number
}

export interface Suggestion {
  id: string
  criterion: string
  description: string
  before: string
  after: string
  priority: 'high' | 'medium' | 'low'
}

export interface AnalysisResult {
  overallScore: number
  maxScore: number
  percentage: number
  letterGrade: string
  criteria: CriterionResult[]
  pros: string[]
  cons: string[]
  suggestions: Suggestion[]
  detectedProfileSlug?: string
  lineCount: number
}