vex/commands/
info.rs

1//! Info command - Show system information
2//!
3//! Usage:
4//! ```bash
5//! vex info
6//! ```
7
8use anyhow::Result;
9use clap::Args;
10use colored::Colorize;
11
12/// Arguments for the info command
13#[derive(Args)]
14pub struct InfoArgs;
15
16/// Run the info command
17pub fn run(_args: InfoArgs) -> Result<()> {
18    let version = env!("CARGO_PKG_VERSION");
19
20    println!(
21        "{}",
22        "VEX - Verified Evolutionary Xenogenesis".bold().cyan()
23    );
24    println!("{}", "═".repeat(50).cyan());
25    println!();
26
27    println!("{}", "Version Information:".bold());
28    println!("  {} {}", "CLI Version:".dimmed(), version.green());
29    println!("  {} {}", "vex-core:".dimmed(), "0.1.1".green());
30    println!("  {} {}", "vex-llm:".dimmed(), "0.1.1".green());
31    println!("  {} {}", "vex-persist:".dimmed(), "0.1.1".green());
32    println!();
33
34    println!("{}", "Features:".bold());
35    println!("  {} Cryptographic Merkle verification", "✓".green());
36    println!("  {} Adversarial consensus (multi-LLM)", "✓".green());
37    println!("  {} Tool execution with audit trail", "✓".green());
38    println!("  {} Self-correcting genome evolution", "✓".green());
39    println!();
40
41    println!("{}", "Built-in Tools:".bold());
42    let registry = vex_llm::tools::builtin_registry();
43    for name in registry.names() {
44        println!("  {} {}", "•".cyan(), name.green());
45    }
46    println!();
47
48    println!("{}", "Configuration:".bold());
49    println!("  {} Check README.md for environment variables", "ℹ".blue());
50    println!();
51
52    println!("{}", "Links:".bold());
53    println!(
54        "  {} {}",
55        "Repository:".dimmed(),
56        "https://github.com/provnai/vex".underline()
57    );
58    println!(
59        "  {} {}",
60        "Documentation:".dimmed(),
61        "https://provnai.dev/docs".underline()
62    );
63    println!();
64
65    Ok(())
66}