Skip to main content

remem/cli/
mod.rs

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