use claude_wrapper::artifacts::AgentsRoot;
use claude_wrapper::history::HistoryRoot;
use claude_wrapper::settings::{SettingsLayer, SettingsLoader};
use claude_wrapper::skills::SkillsRoot;
fn main() -> claude_wrapper::Result<()> {
let history = HistoryRoot::home()?;
let projects = history.list_projects()?;
println!("projects with history: {}", projects.len());
if let Some(project) = projects.first() {
println!(
" {} ({} session(s))",
project.decoded_path.display(),
project.session_count
);
let sessions = history.list_sessions(Some(&project.slug))?;
if let Some(session) = sessions.first() {
println!(
" session {} -- {} message(s)",
session.session_id, session.message_count
);
let log = history.read_session(&session.session_id)?;
println!(" entries in log: {}", log.entries.len());
}
}
println!();
for skill in SkillsRoot::home()?.list()? {
println!(
"skill: {} -- {}",
skill.name,
skill.description.as_deref().unwrap_or("(no description)")
);
}
for agent in AgentsRoot::home()?.list()? {
println!(
"agent: {} (model: {})",
agent.name,
agent.model.as_deref().unwrap_or("default")
);
}
let settings = SettingsLoader::home()?.load()?;
let present = SettingsLayer::all()
.into_iter()
.filter(|&layer| settings.get(layer).is_some())
.count();
println!("\nsettings layers present: {present}/4");
Ok(())
}