feat: Phase 1 discovery adapters — Reddit, Dev.to, Stack Overflow, GitHub Discussions#9
Merged
bradygaster merged 2 commits intomainfrom Mar 12, 2026
Merged
Conversation
… GitHub Discussions) New adapters implementing the SourceAdapter pattern from #1: - RedditSourceAdapter (#6): Fetches from r/dotnet, r/csharp, r/programming, r/aspnetcore via public JSON API with rate limiting - DevToSourceAdapter (#2): Tag-based article search with pagination, cross-tag deduplication, and engagement metrics - StackOverflowSourceAdapter (#7): Stack Exchange API v2.3 with gzip decompression, optional API key, unanswered question detection - GitHubDiscussionsSourceAdapter (#4): GraphQL-based dotnet/aspire discussions with pagination and signal inference All adapters registered in createDefaultRegistry(). Zero new dependencies — uses Node.js built-in fetch and existing @octokit/rest. Closes #2, closes #4, closes #6, closes #7 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Owner
Author
|
✅ Pattern Compliance Review PASSED All 4 new adapters correctly implement the SourceAdapter pattern: ✅ Required Properties:eddit.ts:
✅ Required Methods:
✅ Registration:
Pattern implementation is consistent and follows the established SourceAdapter contract. |
- Stack Overflow: handle both gzip and plain JSON responses by checking Content-Encoding header with fallback try/catch - GitHub Discussions: check for GraphQL errors before accessing data, handle response.data.data nesting correctly - Dev.to: handle 429 rate limit responses with Retry-After header support Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Phase 1 Source Expansion
Adds 4 new discovery adapters to the SourceAdapter/SourceRegistry architecture from PR #8, dramatically expanding ACCES coverage from ~32% to an estimated ~65% of Aspire community conversation.
New Adapters
Architecture
All adapters implement the \SourceAdapter\ interface and are registered in \createDefaultRegistry(). The registry runs them in parallel with graceful degradation — if any adapter fails, others continue.
Zero New Dependencies
All adapters use Node.js built-in \etch\ and existing @octokit/rest. No new npm packages.
Issues Closed
Closes #2 (Dev.to), closes #4 (GitHub Discussions), closes #6 (Reddit), closes #7 (Stack Overflow)
Files Changed