Skip to content

Commit 9276ff4

Browse files
authored
feat(fetchers): add GitHubIssueFetcher for structured issue/PR fetching (#61)
## What Adds a dedicated `GitHubIssueFetcher` that matches `github.com/{owner}/{repo}/issues/{number}` and `.../pull/{number}` URLs, returning structured metadata and comment threads via the GitHub API. Closes #50 ## Why Agents constantly reference, triage, and cross-link GitHub issues and PRs. The DefaultFetcher returns noisy HTML. A dedicated fetcher using the GitHub API yields clean, structured data optimized for LLM consumption. ## How - New `GitHubIssueFetcher` following the existing `GitHubRepoFetcher` pattern - Fetches issue metadata via `/repos/{owner}/{repo}/issues/{number}` - Fetches PR-specific data (diff stats, merge status) via `/repos/{owner}/{repo}/pulls/{number}` - Fetches comment threads via `/repos/{owner}/{repo}/issues/{number}/comments` - Formats as structured markdown with metadata, description, and comments - Format field: `"github_issue"` / `"github_pull_request"` - Registered before `GitHubRepoFetcher` (more specific URL pattern) ## Risk - Low - Only adds a new fetcher; no changes to existing fetcher behavior ### Checklist - [x] Unit tests passed - [x] Clippy clean (`-D warnings`) - [x] Docs build without warnings - [x] Formatting applied
1 parent ae27474 commit 9276ff4

File tree

3 files changed

+583
-5
lines changed

3 files changed

+583
-5
lines changed

0 commit comments

Comments
 (0)