mira-consciousness
Version:
Memory & Intelligence Retention Archive - Preserving The Spark
102 lines • 3.24 kB
TypeScript
export interface DocumentationResult {
score: number;
coverage: number;
qualityScore: number;
readabilityScore: number;
apiDocumentationScore: number;
readmeQuality: ReadmeQuality;
apiDocumentation: ApiDocumentation;
missingDocs: string[];
suggestions: string[];
issues: DocumentationIssue[];
strengths: string[];
recommendations: DocumentationRecommendation[];
fileAnalysis: FileDocumentationAnalysis[];
}
export interface ReadmeQuality {
exists: boolean;
score: number;
wordCount: number;
sectionCount: number;
codeExampleCount: number;
linkCount: number;
missingEssentialSections: string[];
readabilityMetrics: ReadabilityMetrics;
structureScore: number;
contentQuality: number;
}
export interface ReadabilityMetrics {
averageWordsPerSentence: number;
averageSentencesPerParagraph: number;
complexWordCount: number;
readingLevel: 'elementary' | 'middle' | 'high_school' | 'college' | 'graduate';
readingTimeMinutes: number;
}
export interface ApiDocumentation {
totalFunctions: number;
documentedFunctions: number;
totalClasses: number;
documentedClasses: number;
totalInterfaces: number;
documentedInterfaces: number;
totalTypes: number;
documentedTypes: number;
apiCoveragePercentage: number;
qualityScore: number;
missingParameterDocs: string[];
missingReturnDocs: string[];
missingExampleDocs: string[];
outdatedDocs: string[];
}
export interface DocumentationIssue {
type: 'missing' | 'incomplete' | 'outdated' | 'poor_quality' | 'inconsistent';
severity: 'critical' | 'high' | 'medium' | 'low';
file: string;
line?: number;
message: string;
suggestion: string;
element?: string;
}
export interface DocumentationRecommendation {
priority: 'critical' | 'high' | 'medium' | 'low';
category: 'content' | 'structure' | 'api' | 'examples' | 'maintenance';
title: string;
description: string;
effort: 'low' | 'medium' | 'high';
impact: 'low' | 'medium' | 'high';
actionItems: string[];
}
export interface FileDocumentationAnalysis {
file: string;
type: 'source' | 'markdown' | 'config' | 'other';
score: number;
issues: number;
strengths: string[];
weaknesses: string[];
functionDocumentationRatio: number;
classDocumentationRatio: number;
hasFileHeader: boolean;
hasExamples: boolean;
}
export declare class DocumentationAnalyzer {
private projectRoot;
private essentialFiles;
private readmeSections;
constructor(projectRoot: string);
analyze(): Promise<DocumentationResult>;
private analyzeReadmeQuality;
private analyzeApiDocumentation;
private analyzeFileApiDocumentation;
private analyzeCoverageAndQuality;
private checkPackageJsonDocumentation;
private checkDocsDirectoryStructure;
private analyzeReadability;
private calculateReadabilityMetrics;
private analyzeFileDocumentation;
private analyzeIndividualFile;
private calculateApiQualityScore;
private calculateQualityScore;
private calculateOverallScore;
private generateRecommendations;
}
//# sourceMappingURL=DocumentationAnalyzer.d.ts.map