skm_cli/commands/
stats.rs1use clap::Args;
4use std::path::PathBuf;
5
6#[derive(Args)]
7pub struct StatsArgs {
8 #[arg(short, long)]
10 db: Option<PathBuf>,
11
12 #[arg(short, long, default_value = "7d")]
14 range: String,
15
16 #[arg(long)]
18 skill: Option<String>,
19
20 #[arg(long, default_value = "text")]
22 format: String,
23
24 #[arg(long)]
26 breakdown: bool,
27}
28
29pub async fn stats(args: StatsArgs) -> anyhow::Result<()> {
30 println!("Usage Statistics");
34 println!("================");
35 println!();
36
37 if let Some(ref db) = args.db {
38 println!("Database: {:?}", db);
39 } else {
40 println!("Database: (in-memory / not configured)");
41 }
42
43 println!("Time range: {}", args.range);
44
45 if let Some(ref skill) = args.skill {
46 println!("Filtered by skill: {}", skill);
47 }
48
49 println!();
50 println!("Note: Analytics collection requires runtime integration.");
51 println!("Use skm_learn::UsageAnalytics to record selection events.");
52
53 Ok(())
54}