use clap::{Arg, ArgMatches, Command};
pub fn build_cli() -> ArgMatches {
let mut args: Vec<String> = std::env::args().collect();
let mut bin_name = "cargo-ai";
if let Some(first_arg) = args.get(1) {
if first_arg == "ai" {
bin_name = "cargo ai";
args.remove(1);
}
}
Command::new("cargo-ai")
.bin_name(bin_name)
.arg(
Arg::new("server")
.long("server")
.short('s')
.help("Client Type - Ollama or OpenAI")
.required(true),
)
.arg(
Arg::new("model")
.long("model")
.short('m')
.help("LLM model to use")
.required(true),
)
.arg(Arg::new("token").long("token").help("API token"))
.arg(
Arg::new("timeout_in_sec")
.long("timeout_in_sec")
.help("Client timeout request")
.default_value("60"),
)
.get_matches_from(args)
}