repopilot 0.10.0

Local-first CLI for repository audit, architecture risk detection, baseline tracking, and CI-friendly code review.
Documentation
use serde::Serialize;

pub const AUDIT_RECEIPT_SCHEMA_VERSION: u32 = 1;

#[derive(Debug, Clone, Serialize, PartialEq, Eq)]
pub struct AuditReceipt {
    pub schema_version: u32,
    pub tool: String,
    pub version: String,
    pub generated_at: String,
    pub root_path: String,
    pub git: ReceiptGit,
    pub scope: ReceiptScope,
    pub findings: ReceiptFindings,
    pub languages: Vec<ReceiptLanguage>,
    pub health_score: u8,
}

#[derive(Debug, Clone, Serialize, PartialEq, Eq)]
pub struct ReceiptGit {
    pub is_git_repo: bool,
    pub branch: Option<String>,
    pub commit: Option<String>,
    pub dirty: bool,
}

#[derive(Debug, Clone, Serialize, PartialEq, Eq)]
pub struct ReceiptScope {
    pub files_discovered: usize,
    pub files_analyzed: usize,
    pub directories_count: usize,
    pub lines_of_code: usize,
    pub files_skipped_low_signal: usize,
    pub binary_files_skipped: usize,
    pub large_files_skipped: usize,
    pub files_skipped_by_limit: usize,
    pub files_skipped_repopilotignore: usize,
    pub skipped_bytes: u64,
    pub repopilotignore_path: Option<String>,
}

#[derive(Debug, Clone, Serialize, PartialEq, Eq)]
pub struct ReceiptFindings {
    pub total: usize,
    pub critical: usize,
    pub high: usize,
    pub medium: usize,
    pub low: usize,
    pub info: usize,
}

#[derive(Debug, Clone, Serialize, PartialEq, Eq)]
pub struct ReceiptLanguage {
    pub name: String,
    pub files_count: usize,
}