Skip to main content

rung_github/
lib.rs

1//! # rung-github
2//!
3//! GitHub API integration for Rung, providing PR management
4//! and CI status fetching capabilities.
5//!
6//! # Architecture
7//!
8//! The crate provides both a concrete [`GitHubClient`] implementation and
9//! a [`GitHubApi`] trait for dependency injection and testing.
10//!
11//! # Security
12//!
13//! Authentication tokens are stored using `SecretString` which automatically
14//! zeroizes memory when dropped, reducing credential exposure in memory dumps.
15
16mod auth;
17mod client;
18mod error;
19mod traits;
20mod types;
21
22pub use auth::Auth;
23pub use client::GitHubClient;
24pub use error::{Error, Result};
25pub use traits::GitHubApi;
26// Re-export SecretString for constructing Auth::Token
27pub use secrecy::SecretString;
28pub use types::{
29    CheckRun, CheckStatus, CreateComment, CreatePullRequest, IssueComment, MergeMethod,
30    MergePullRequest, MergeResult, PullRequest, PullRequestState, UpdateComment, UpdatePullRequest,
31};