mira-consciousness
Version:
Memory & Intelligence Retention Archive - Preserving The Spark
181 lines • 4.68 kB
TypeScript
/**
* Detailed Report Generator
* Generates comprehensive reports with actionable recommendations
*/
export interface ReportOptions {
format: 'console' | 'markdown' | 'html' | 'json';
outputPath?: string;
includeDetails: boolean;
includeExamples: boolean;
includeTrends: boolean;
maxIssuesPerCategory: number;
}
export interface AnalysisReport {
projectName: string;
timestamp: string;
summary: ReportSummary;
securityReport?: SecurityReport;
performanceReport?: PerformanceReport;
documentationReport?: DocumentationReport;
codeQualityReport?: CodeQualityReport;
crossPlatformReport?: CrossPlatformReport;
unusedCodeReport?: UnusedCodeReport;
recommendations: PrioritizedRecommendations;
}
export interface ReportSummary {
overallScore: number;
overallGrade: string;
totalIssues: number;
criticalIssues: number;
analyzersRun: number;
executionTime: number;
topConcerns: string[];
}
export interface SecurityReport {
score: number;
grade: string;
riskLevel: string;
vulnerabilities: {
critical: number;
high: number;
medium: number;
low: number;
};
topVulnerabilities: Array<{
type: string;
severity: string;
count: number;
impact: string;
recommendation: string;
}>;
owaspCompliance?: {
score: number;
failingCategories: string[];
};
recommendations: string[];
}
export interface PerformanceReport {
score: number;
grade: string;
metrics: {
bundleSize?: {
current: number;
recommended: number;
};
loadTime?: {
current: number;
recommended: number;
};
memoryUsage?: {
current: number;
recommended: number;
};
};
bottlenecks: Array<{
type: string;
location: string;
impact: string;
solution: string;
}>;
optimizationOpportunities: string[];
}
export interface DocumentationReport {
score: number;
grade: string;
coverage: number;
missingDocs: string[];
qualityIssues: Array<{
file: string;
issue: string;
suggestion: string;
}>;
recommendations: string[];
}
export interface CodeQualityReport {
score: number;
grade: string;
metrics: {
duplicateCode: number;
complexity: number;
maintainability: number;
testCoverage?: number;
};
codeSmells: Array<{
type: string;
locations: string[];
refactoringSuggestion: string;
}>;
improvements: string[];
}
export interface CrossPlatformReport {
score: number;
grade: string;
platformScores: {
windows: number;
macOS: number;
linux: number;
};
compatibility: string;
criticalIssues: Array<{
issue: string;
platforms: string[];
solution: string;
}>;
recommendations: string[];
}
export interface UnusedCodeReport {
score: number;
grade: string;
statistics: {
unusedFunctions: number;
unusedFiles: number;
deadCode: number;
potentialSavingsKB: number;
};
topUnused: Array<{
type: string;
name: string;
location: string;
lastModified: string;
}>;
cleanupPlan: string[];
}
export interface PrioritizedRecommendations {
immediate: Recommendation[];
shortTerm: Recommendation[];
longTerm: Recommendation[];
}
export interface Recommendation {
title: string;
impact: 'critical' | 'high' | 'medium' | 'low';
effort: 'low' | 'medium' | 'high';
category: string;
description: string;
steps: string[];
expectedOutcome: string;
resources?: string[];
}
export declare class DetailedReportGenerator {
private options;
constructor(options?: Partial<ReportOptions>);
generateReport(analysisResults: any, projectPath: string): Promise<void>;
private buildReport;
private calculateSummary;
private buildSecurityReport;
private buildPerformanceReport;
private buildDocumentationReport;
private buildCodeQualityReport;
private buildCrossPlatformReport;
private buildUnusedCodeReport;
private generatePrioritizedRecommendations;
private scoreToGrade;
private outputConsoleReport;
private outputMarkdownReport;
private generateMarkdownReport;
private outputHTMLReport;
private generateHTMLReport;
private outputJSONReport;
private getGradeColor;
private getRiskColor;
}
//# sourceMappingURL=DetailedReportGenerator.d.ts.map