Skip to main content

remem/cli/
mod.rs

1mod actions;
2mod archive_types;
3mod config_types;
4mod context_types;
5mod cwd;
6mod dispatch;
7mod embedding_types;
8mod eval_types;
9mod memory_types;
10mod procedure_types;
11mod query_types;
12mod reranker_types;
13mod review_types;
14mod rule_types;
15#[cfg(test)]
16mod tests;
17#[cfg(test)]
18mod tests_config;
19#[cfg(test)]
20mod tests_eval;
21#[cfg(test)]
22mod tests_governance;
23#[cfg(test)]
24mod tests_maintenance;
25#[cfg(test)]
26mod tests_procedures;
27#[cfg(test)]
28mod tests_raw;
29#[cfg(test)]
30mod tests_rules;
31#[cfg(test)]
32mod tests_trace;
33#[cfg(test)]
34mod tests_worker;
35mod types;
36mod worker_types;
37
38use anyhow::Result;
39use clap::{Command, CommandFactory, FromArgMatches};
40
41use types::Cli;
42
43pub async fn run() -> Result<()> {
44    let matches = cli_command().get_matches();
45    let cli = Cli::from_arg_matches(&matches)?;
46    dispatch::run_cli(cli).await
47}
48
49fn cli_command() -> Command {
50    let version = crate::build_info::version_label();
51    Cli::command()
52        .version(version.clone())
53        .long_version(version)
54}