repopilot 0.11.0

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

#[derive(Debug, Clone, Default, PartialEq, Eq, Serialize, Deserialize)]
pub struct ReactNativeArchitectureProfile {
    #[serde(default)]
    pub detected: bool,
    #[serde(default)]
    pub react_native_version: Option<String>,
    #[serde(default)]
    pub project_kind: ReactNativeProjectKind,

    #[serde(default)]
    pub has_ios: bool,
    #[serde(default)]
    pub has_android: bool,

    #[serde(default)]
    pub has_metro_config: bool,
    #[serde(default)]
    pub has_react_native_config: bool,
    #[serde(default)]
    pub has_expo_config: bool,
    #[serde(default)]
    pub has_codegen_config: bool,

    #[serde(default)]
    pub expo_new_arch_enabled: Option<bool>,
    #[serde(default)]
    pub android_new_arch_enabled: Option<bool>,
    #[serde(default)]
    pub ios_new_arch_enabled: Option<bool>,

    #[serde(default)]
    pub android_hermes_enabled: Option<bool>,
    #[serde(default)]
    pub ios_hermes_enabled: Option<bool>,
    #[serde(default)]
    pub hermes_enabled: Option<bool>,

    #[serde(default)]
    pub architecture_mismatch: bool,
    #[serde(default)]
    pub hermes_mismatch: bool,
    #[serde(default)]
    pub package_manager: Option<String>,

    #[serde(default)]
    pub android_gradle_properties_found: bool,
    #[serde(default)]
    pub ios_podfile_found: bool,
    #[serde(default)]
    pub ios_podfile_properties_found: bool,
}

#[derive(Debug, Clone, Default, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "kebab-case")]
pub enum ReactNativeProjectKind {
    Bare,
    ExpoManaged,
    ExpoPrebuild,
    #[default]
    Unknown,
}