agentsqripts
Version:
Comprehensive static code analysis toolkit for identifying technical debt, security vulnerabilities, performance issues, and code quality problems
88 lines (74 loc) ⢠3.11 kB
JavaScript
/**
* @file Output summary format
* @description Single responsibility: Display analysis summary
*/
/**
* Output summary format
* @param {Object} results - Analysis results
*/
function outputSummary(results) {
console.log('š PROBLEM SCOPE ANALYSIS SUMMARY\n');
const summary = results.summary;
const riskIcon = {
'LOW': 'ā
',
'MEDIUM': 'ā ļø',
'HIGH': 'šØ',
'CRITICAL': 'š„'
}[summary.overallRiskLevel] || 'ā';
console.log(`${riskIcon} Overall Risk Level: ${summary.overallRiskLevel}`);
console.log(`š Total Issues Found: ${summary.totalIssues}`);
console.log(`šØ Critical Issues: ${summary.criticalIssues}`);
console.log(`š” Total Recommendations: ${summary.recommendationsCount}\n`);
// Analysis-specific summaries
if (results.analyses.dependencies) {
console.log('š Dependencies:');
const deps = results.analyses.dependencies;
console.log(` Circular Dependencies: ${deps.circular?.circularCount || 0}`);
console.log(` Structure Health: ${deps.structure?.healthScore || 'N/A'}/100`);
}
if (results.analyses.complexity) {
console.log('š§® Complexity:');
const comp = results.analyses.complexity;
console.log(` Overall Level: ${comp.overallComplexity}`);
console.log(` High/Critical Files: ${comp.complexityBreakdown.high + comp.complexityBreakdown.critical}`);
}
if (results.analyses.security) {
console.log('š Security:');
const sec = results.analyses.security;
console.log(` Risk Level: ${sec.overallRiskLevel}`);
console.log(` Critical Vulnerabilities: ${sec.vulnerabilityBreakdown?.critical || 0}`);
}
if (results.analyses.debt) {
console.log('šø Technical Debt:');
const debt = results.analyses.debt;
console.log(` Priority: ${debt.priority}`);
console.log(` TODO Items: ${debt.todoItems?.length || 0}`);
}
// AI Agent Guidance
console.log('\nš¤ AI AGENT SCOPE GUIDANCE:');
const assessment = summary.scopeAssessment;
console.log(` OVERALL_RISK: ${summary.overallRiskLevel}`);
console.log(` ESTIMATED_EFFORT: ${assessment.estimatedEffort}`);
console.log(` CRITICAL_ISSUES: ${summary.criticalIssues}`);
if (assessment.primaryConcerns.length > 0) {
console.log(` PRIMARY_CONCERNS: ${assessment.primaryConcerns.length}`);
assessment.primaryConcerns.forEach((concern, i) => {
console.log(` ${i + 1}. ${concern}`);
});
}
if (assessment.blockers.length > 0) {
console.log(` BLOCKERS: ${assessment.blockers.length}`);
assessment.blockers.forEach((blocker, i) => {
console.log(` ${i + 1}. ${blocker}`);
});
}
if (assessment.recommendedApproach.length > 0) {
console.log(` RECOMMENDED_APPROACH:`);
assessment.recommendedApproach.forEach((approach, i) => {
console.log(` ${i + 1}. ${approach}`);
});
}
console.log(`\nā±ļø Analysis completed in ${results.metadata.executionTime}ms`);
console.log(`š
Timestamp: ${new Date(results.metadata.timestamp).toLocaleString()}`);
}
module.exports = outputSummary;