Skip to main content

Crate recursive

Crate recursive 

Source
Expand description

Recursive: a minimal, orthogonal, self-improving coding agent kernel.

The kernel is intentionally tiny:

  • Message is the only data primitive shared across the system.
  • LlmProvider abstracts model backends (HTTP, mock, future local…).
  • Tool abstracts side effects the model can request.
  • Agent is a thin loop that wires them together.

Everything else is opt-in. New capabilities are added by implementing Tool or LlmProvider, never by editing the loop.

Re-exports§

pub use agent::PlanningMode;
pub use agent::Agent;
pub use agent::AgentOutcome;
pub use agent::FinishReason;
pub use agent::StepEvent;
pub use agent::PermissionDecision;
pub use agent::PermissionHook;
pub use compact::Compactor;
pub use config::Config;
pub use error::Error;
pub use error::Result;
pub use hooks::ToolTimingHook;
pub use hooks::Hook;
pub use hooks::HookAction;
pub use hooks::HookEvent;
pub use hooks::HookRegistry;
pub use llm::openai::RetryPolicy;
pub use llm::pricing_for;
pub use llm::Completion;
pub use llm::LlmProvider;
pub use llm::ModelPricing;
pub use llm::TokenUsage;
pub use llm::ToolCall;
pub use llm::ToolSpec;
pub use mcp::discover_mcp_servers;
pub use mcp::load_mcp_config;
pub use mcp::McpClient;
pub use mcp::McpPrompt;
pub use mcp::McpPromptArgument;
pub use mcp::McpPromptMessage;
pub use mcp::McpResource;
pub use mcp::McpResourceContent;
pub use mcp::McpServer;
pub use mcp::McpServerConfig;
pub use mcp::McpTool;
pub use mcp::McpToolSpec;
pub use mcp::ServerCapabilities;
pub use mcp_server::McpServerManager;
pub use mcp_server::McpServerRunner;
pub use message::Message;
pub use message::Role;
pub use runner::AgentRunner;
pub use session::SessionFile;
pub use skills::discover_skills;
pub use skills::skill_index;
pub use skills::skills_for_injection;
pub use skills::Skill;
pub use skills::SkillMode;
pub use skills::SkillParam;
pub use skills::SkillRef;
pub use skills::SkillScript;
pub use skills::SkillSection;
pub use tools::Tool;
pub use tools::ToolRegistry;
pub use transcript::TranscriptFile;
pub use transcript::TranscriptMeta;

Modules§

agent
Agent loop. The whole kernel.
compact
LLM-driven context compaction.
config
Runtime configuration.
config_file
Config file support: ~/.recursive/config.toml
error
Crate-wide error and Result.
hooks
Lifecycle hooks for the agent loop.
llm
LLM provider abstraction.
mcp
MCP (Model Context Protocol) client — stdio and HTTP+SSE transport, JSON-RPC 2.0.
mcp_server
MCP server lifecycle management.
message
Chat message primitive.
runner
Cross-turn agent wrapper.
session
Session files for production pause/resume.
skills
Skill system: file-based capability extension.
tools
Tool abstraction: any side effect the model can request.
transcript
Persistent on-disk format for transcripts.