Skip to main content

entrenar/cli/commands/
mod.rs

1//! CLI command implementations
2
3mod audit;
4mod bench;
5mod completion;
6mod experiments;
7mod finetune;
8mod info;
9mod init;
10mod inspect;
11mod merge;
12mod monitor;
13mod publish;
14mod quantize;
15mod research;
16mod train;
17mod validate;
18
19#[cfg(test)]
20mod tests;
21
22use crate::cli::LogLevel;
23use crate::config::{Cli, Command};
24
25/// Execute a CLI command based on the parsed arguments
26pub fn run_command(cli: Cli) -> Result<(), String> {
27    // Configure output based on verbose/quiet flags
28    let log_level = if cli.quiet {
29        LogLevel::Quiet
30    } else if cli.verbose {
31        LogLevel::Verbose
32    } else {
33        LogLevel::Normal
34    };
35
36    match cli.command {
37        Command::Train(args) => train::run_train(args, log_level),
38        Command::Validate(args) => validate::run_validate(args, log_level),
39        Command::Info(args) => info::run_info(args, log_level),
40        Command::Init(args) => init::run_init(args, log_level),
41        Command::Quantize(args) => quantize::run_quantize(args, log_level),
42        Command::Merge(args) => merge::run_merge(args, log_level),
43        Command::Research(args) => research::run_research(args, log_level),
44        Command::Completion(args) => completion::run_completion(args, log_level),
45        Command::Bench(args) => bench::run_bench(args, log_level),
46        Command::Inspect(args) => inspect::run_inspect(args, log_level),
47        Command::Audit(args) => audit::run_audit(args, log_level),
48        Command::Monitor(args) => monitor::run_monitor(args, log_level),
49        Command::Publish(args) => publish::run_publish(args, log_level),
50        Command::Finetune(args) => finetune::run_finetune(args, log_level),
51        Command::Experiments(args) => experiments::run_experiments(args, log_level),
52    }
53}