claudy 0.2.2

Modern multi-provider launcher for Claude CLI
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
pub mod rules;

use crate::domain::analytics::*;
use crate::ports::analytics_ports::AnalyticsStore;

pub fn generate(store: &dyn AnalyticsStore) -> anyhow::Result<Vec<Recommendation>> {
    let mut recs = Vec::new();
    recs.extend(rules::check_cost_trajectory(store)?);
    recs.extend(rules::check_cache_efficiency(store)?);
    recs.extend(rules::check_model_selection(store)?);
    recs.extend(rules::check_tool_overhead(store)?);

    store.clear_recommendations()?;
    for rec in &recs {
        store.insert_recommendation(rec)?;
    }
    Ok(recs)
}