repopilot 0.11.0

Local-first CLI for repository audit, architecture risk detection, baseline tracking, and CI-friendly code review.
Documentation
use crate::graph::compute_metrics;
use crate::scan::types::ScanSummary;
use std::fmt::Write as FmtWrite;

pub(super) fn render_hot_files(out: &mut String, summary: &ScanSummary) {
    let graph = match &summary.coupling_graph {
        Some(g) => g,
        None => return,
    };

    let mut metrics = compute_metrics(graph);
    metrics.retain(|m| m.fan_in > 0);
    if metrics.is_empty() {
        return;
    }
    metrics.sort_by(|a, b| b.fan_in.cmp(&a.fan_in).then(a.fan_out.cmp(&b.fan_out)));

    let _ = writeln!(out, "## Hot Files (most imported)\n");
    let _ = writeln!(out, "| File | Fan-in | Fan-out | Instability |");
    let _ = writeln!(out, "|---|---|---|---|");
    for m in metrics.iter().take(5) {
        let path = m.path.display().to_string();
        let _ = writeln!(
            out,
            "| {} | {} | {} | {:.2} |",
            path, m.fan_in, m.fan_out, m.instability
        );
    }
    out.push('\n');
}