Agent framework built on TurboClaude for creating AI agents with message hooks, permissions, routing, and skill integration.
- API Reference - Complete API documentation with examples
- Performance Tuning - Optimization guide and best practices
- Troubleshooting - Common issues and solutions
- Agent client with routing and message parsing
- Message hooks for interception and modification
- Permission system for capability control
- Skills integration and execution
- Message routing and filtering
- Session management
use turboclaudeagent::Agent;
use turboclaude::types::MessageRequest;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let agent = Agent::builder()
.api_key("sk-ant-...")
.name("MyAgent")
.build()?;
let response = agent.query("What is 2+2?").await?;
println!("{}", response);
Ok(())
}Main entry point for agent interactions with configurable behavior.
Intercept and modify:
message_start: Before sending messagesmessage_stop: After receiving messagestool_call: Before executing toolstool_result: After tool execution
Control agent capabilities:
- Tool execution permissions
- Resource access control
- Rate limiting
Dynamic skill registration and execution:
- Register skills from external systems
- Execute skills based on agent needs
- Manage skill lifecycle
turboclaudeagent
├── client (Agent client implementation)
├── config (Configuration builder)
├── hooks (Extensible hook system)
├── permissions (Permission control)
├── routing (Message routing logic)
├── skills (Skills integration)
└── message_parser (Advanced message parsing)
See examples/ for:
simple_query.rs- Basic agent usagewith_hooks.rs- Hook system demonstrationwith_permissions.rs- Permission configurationwith_skills.rs- Skills integration
cargo test --allSee tests/ for comprehensive test coverage including E2E tests.
Full documentation: cargo doc --open
Part of TurboClaude