18 releases
Uses new Rust 2024
| 0.2.15 | Feb 11, 2026 |
|---|---|
| 0.2.14 | Jan 27, 2026 |
| 0.2.11 | Dec 29, 2025 |
| 0.1.4 | Dec 24, 2025 |
#1293 in Network programming
Used in 2 crates
510KB
11K
SLoC
aptu-core
Core library for Aptu - AI-Powered Triage Utility.
Features
- AI Triage - Analyze issues with summaries, labels, and contributor guidance
- PR Review - AI-powered pull request analysis and feedback
- Release Notes - AI-generated release notes from PRs between tags
- Security Scanning - Built-in security pattern detection with SARIF output
- Multiple Providers - Gemini (default), Cerebras, Groq,
OpenRouter,Z.AI, andZenMux - GitHub Integration - Auth, issues, PRs, and GraphQL queries
- Resilient - Exponential backoff, circuit breaker, rate limit handling
Installation
Add to your Cargo.toml:
[dependencies]
aptu-core = "0.2"
Optional Features
| Feature | Description |
|---|---|
keyring |
Secure token storage using system keyring (macOS Keychain, Linux Secret Service, Windows Credential Manager) |
To enable optional features:
[dependencies]
aptu-core = { version = "0.2", features = ["keyring"] }
Example
use aptu_core::{load_config, AiClient, IssueDetails, ai::AiProvider};
use anyhow::Result;
#[tokio::main]
async fn main() -> Result<()> {
// Load configuration
let config = load_config()?;
// Create AI client
let client = AiClient::new(&config.ai.provider, &config.ai)?;
// Create issue details
let issue = IssueDetails::builder()
.owner("block".to_string())
.repo("goose".to_string())
.number(123)
.title("Example issue".to_string())
.body("Issue description...".to_string())
.url("https://github.com/block/goose/issues/123".to_string())
.build();
// Analyze with AI
let response = client.analyze_issue(&issue).await?;
println!("Summary: {}", response.triage.summary);
Ok(())
}
Modules
ai- AI integration and triage analysisconfig- Configuration loading and XDG pathsfacade- High-level platform-agnostic APIgithub- GitHub API and authenticationhistory- Contribution history trackingrepos- Curated repository listsecurity- Security pattern detection and SARIF output
Support
For questions and support, visit clouatre.ca.
License
Apache-2.0. See LICENSE.
Dependencies
~23–41MB
~539K SLoC