recursive/lib.rs
1//! Recursive: a minimal, orthogonal, self-improving coding agent kernel.
2//!
3//! The kernel is intentionally tiny:
4//! - `Message` is the only data primitive shared across the system.
5//! - `LlmProvider` abstracts model backends (HTTP, mock, future local...).
6//! - `Tool` abstracts side effects the model can request.
7//! - `Agent` is a thin loop that wires them together.
8//!
9//! Everything else is opt-in. New capabilities are added by implementing
10//! `Tool` or `LlmProvider`, never by editing the loop.
11
12pub mod agent;
13pub mod config;
14pub mod error;
15pub mod llm;
16pub mod message;
17pub mod tools;
18
19pub use agent::{Agent, AgentOutcome, StepEvent};
20pub use config::Config;
21pub use error::{Error, Result};
22pub use llm::{Completion, LlmProvider, ToolCall, ToolSpec};
23pub use message::{Message, Role};
24pub use tools::{Tool, ToolRegistry};