Meerkat - Rust Agentic Interface Kit
A minimal, high-performance agent harness for LLM-powered applications.
Quick Start
use meerkat::prelude::*;
use meerkat::AgentFactory;
use meerkat::AnthropicClient;
use meerkat_store::{JsonlStore, StoreAdapter};
use std::sync::Arc;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let api_key = std::env::var("ANTHROPIC_API_KEY")?;
let factory = AgentFactory::new(std::path::PathBuf::from(".rkat/sessions"));
let client = Arc::new(AnthropicClient::new(api_key));
let llm = factory.build_llm_adapter(client, "claude-sonnet-4");
let store = Arc::new(JsonlStore::new(&factory.store_path)?);
let store = Arc::new(StoreAdapter::new(store));
let tools = Arc::new(meerkat_tools::EmptyToolDispatcher::default());
let mut agent = AgentBuilder::new()
.model("claude-sonnet-4")
.build(Arc::new(llm), tools, store);
let result = agent.run("What is 2 + 2?".to_string()).await?;
println!("{}", result.text);
Ok(())
}