determinishtic
Blend deterministic Rust code with LLM-powered reasoning.
Hat tip to Dave Herman for the name.
Philosophy
Do things deterministically that are deterministic. File discovery, iteration, and I/O happen in Rust. Summarization, analysis, and judgment happen via the LLM.
use determinishtic::Determinishtic; use sacp_tokio::AcpAgent; #[tokio::main] async fn main() -> Result<(), determinishtic::Error> { let d = Determinishtic::new(AcpAgent::zed_claude_code()).await?; // Rust handles the deterministic parts let files = std::fs::read_dir("./docs")? .filter_map(|e| e.ok()) .filter(|e| e.path().extension() == Some("md".as_ref())) .collect::<Vec<_>>(); for entry in files { let contents = std::fs::read_to_string(entry.path())?; // LLM handles the non-deterministic reasoning let summary: String = d.think() .text("Summarize in one sentence:") .display(&contents) .await?; println!("{}: {}", entry.path().display(), summary); } Ok(()) }