repopilot 0.19.0

Local-first CLI for reviewing Git changes, security boundaries, and blast radius before merge.
Documentation
use serde::{Deserialize, Serialize};

#[derive(Debug, Default, Clone, Copy, Serialize, Deserialize, PartialEq, Eq, PartialOrd, Ord)]
#[serde(rename_all = "kebab-case")]
pub enum SignalSource {
    TextHeuristic,
    Ast,
    ConfigFile,
    DependencyManifest,
    ImportGraph,
    FrameworkDetector,
    GitDiff,
    #[default]
    Mixed,
}

impl SignalSource {
    pub fn label(self) -> &'static str {
        match self {
            Self::TextHeuristic => "text-heuristic",
            Self::Ast => "ast",
            Self::ConfigFile => "config-file",
            Self::DependencyManifest => "dependency-manifest",
            Self::ImportGraph => "import-graph",
            Self::FrameworkDetector => "framework-detector",
            Self::GitDiff => "git-diff",
            Self::Mixed => "mixed",
        }
    }
}