Aptu Core
Core library for the Aptu CLI - AI-powered OSS issue triage.
This crate provides reusable components for:
- GitHub API integration (authentication, issues, GraphQL)
- AI-assisted issue triage via
OpenRouter
- Configuration management
- Contribution history tracking
- Curated repository discovery
Quick Start
use aptu_core::{load_config, OpenRouterClient, IssueDetails};
use anyhow::Result;
# async fn example() -> Result<()> {
let config = load_config()?;
let client = OpenRouterClient::new(&config.ai)?;
let issue = IssueDetails {
owner: "block".to_string(),
repo: "goose".to_string(),
number: 123,
title: "Example issue".to_string(),
body: "Issue description...".to_string(),
labels: vec![],
comments: vec![],
url: "https://github.com/block/goose/issues/123".to_string(),
repo_context: vec![],
repo_tree: vec![],
available_labels: vec![],
available_milestones: vec![],
viewer_permission: None,
};
let ai_response = client.analyze_issue(&issue).await?;
println!("Summary: {}", ai_response.triage.summary);
# Ok(())
# }
Modules
- [
ai] - AI integration (OpenRouter API, triage analysis)
- [
config] - Configuration loading and paths
- [
error] - Error types
- [
github] - GitHub API (auth, issues, GraphQL)
- [
history] - Contribution history tracking
- [
repos] - Curated repository list