falsegreen 0.1.15

FalseGreen client — independent verification for coding agents
//! CLI argument definitions.

use clap::{Parser, Subcommand};

/// FalseGreen client — independent verification for coding agents.
#[derive(Parser, Debug)]
#[command(name = "falsegreen", version, about, long_about = None)]
pub struct Cli {
    #[command(subcommand)]
    pub command: Commands,
}

#[derive(Subcommand, Debug)]
pub enum Commands {
    /// Run the MCP server over STDIO (launched by Codex).
    Mcp,
    /// Log in to FalseGreen and store credentials.
    Login {
        /// API token (if omitted, you will be prompted).
        #[arg(long)]
        token: Option<String>,
    },
    /// Log out and remove stored credentials.
    Logout,
    /// Show current authentication and configuration status.
    Status,
    /// Install FalseGreen into an agent's MCP configuration.
    Install {
        /// Which agent to install into.
        #[arg(value_enum)]
        agent: AgentTarget,
    },
}

#[derive(clap::ValueEnum, Clone, Debug)]
pub enum AgentTarget {
    /// Codex CLI (~/.codex/config.toml, STDIO launch).
    Codex,
    /// GitHub Copilot in VS Code (.vscode/mcp.json, local STDIO).
    #[value(name = "github-copilot")]
    GithubCopilot,
    /// Claude Code (.mcp.json, local STDIO).
    #[value(name = "claude-code")]
    ClaudeCode,
    /// OpenCode (opencode.json, local STDIO).
    #[value(name = "opencode")]
    OpenCode,
    /// Cursor (.cursor/mcp.json, local STDIO).
    Cursor,
}