kodegen_tools_github/
lib.rs

1//! `kodegen_github` - GitHub API operations via Octocrab
2//!
3//! This library provides an async-first GitHub service layer with comprehensive
4//! GitHub API support using the octocrab crate. Each GitHub operation is
5//! implemented in its own module with builder patterns for ergonomic usage.
6
7// Module declarations
8pub mod github;
9pub mod runtime;
10
11// Re-export runtime types
12pub use runtime::{AsyncStream, AsyncTask, EmitterBuilder};
13
14// Re-export GitHub client types
15pub use github::{GitHubClient, GitHubClientBuilder};
16
17// Re-export GitHub error types
18pub use github::{GitHubError, GitHubResult};
19
20// Re-export GitHub operation options
21pub use github::{
22    CreatePullRequestReviewOptions, CreateReleaseOptions as GitHubReleaseOptions,
23    ListCommitsOptions, MergePullRequestOptions, ReleaseResult as GitHubReleaseResult,
24    UpdatePullRequestOptions, create_release, delete_release, get_release_by_tag,
25    update_release,
26};
27
28// Re-export release asset upload types
29pub use github::upload_release_asset::{UploadAssetOptions, upload_release_asset};
30
31// Re-export GitHub types for public API
32pub use github::{
33    ActivityMetrics,
34    CiCdMetrics,
35    CodeQualityMetrics,
36    DependencyMetrics,
37    DocumentationMetrics,
38    GithubSearch,
39    LocalMetrics,
40    MetadataInfo,
41    Output as SearchOutput,
42    QualityMetrics,
43    ReadmeMetrics,
44    RepositoryResult,
45    SearchConfig,
46    SearchError,
47    // User search types
48    SearchOrder,
49    SearchProvider,
50    SearchQuery,
51    SearchSession,
52    SecurityMetrics,
53    StructureMetrics,
54    TestMetrics,
55    UserSearchSort,
56    // Search functionality - both convenience functions and types
57    search_repositories,
58    search_repositories_with_config,
59};
60
61// MCP Tools (conditional compilation)
62#[cfg(feature = "mcp")]
63pub mod tool;
64
65// Re-export MCP tools only (Args are imported from kodegen_mcp_schema::github)
66#[cfg(feature = "mcp")]
67pub use tool::{
68    AddIssueCommentTool, AddPullRequestReviewCommentTool, CreateBranchTool, CreateIssueTool,
69    CreatePullRequestReviewTool, CreatePullRequestTool, CreateRepositoryTool, ForkRepositoryTool,
70    GetCommitTool, GetIssueCommentsTool, GetIssueTool, GetPullRequestFilesTool,
71    GetPullRequestReviewsTool, GetPullRequestStatusTool, ListBranchesTool, ListCommitsTool,
72    ListIssuesTool, MergePullRequestTool, RequestCopilotReviewTool, SearchCodeTool,
73    SearchIssuesTool, SearchRepositoriesTool, SearchUsersTool, UpdateIssueTool,
74    UpdatePullRequestTool,
75};