GitHub personal access token or token from gh auth token
Set after searchIssues() runs if rate limits affected the search (low pre-flight quota or mid-search rate limit hits).
Fetch the authenticated user's starred repositories from GitHub. Updates the state manager with the list and timestamp.
Array of starred repo names in "owner/repo" format
Format issue candidate as a markdown display string.
The issue candidate to format
Multi-line markdown string with vetting details
Get starred repos, fetching from GitHub if cache is stale.
Array of starred repo names in "owner/repo" format
Save search results to ~/.oss-autopilot/found-issues.md. Results are sorted by viability score (highest first).
Issue candidates to save
Absolute path to the written file
Search for issues matching our criteria. Searches in priority order: merged-PR repos first (no label filter), then preferred organizations, then starred repos, then general search, then actively maintained repos. Filters out issues from low-scoring and excluded repos.
Search configuration
Optionallabels?: string[]Issue labels to search for
Optionallanguages?: string[]Programming languages to filter by
OptionalmaxResults?: numberMaximum candidates to return (default: 10)
Scored and sorted issue candidates
import { IssueDiscovery, requireGitHubToken } from '@oss-autopilot/core';
const discovery = new IssueDiscovery(requireGitHubToken());
const candidates = await discovery.searchIssues({ maxResults: 5 });
for (const c of candidates) {
console.log(`${c.issue.repo}#${c.issue.number}: ${c.viabilityScore}/100`);
}
Vet a specific issue for claimability and project health.
Full GitHub issue URL
The vetted issue candidate with recommendation and scores
Multi-phase issue discovery engine that searches GitHub for contributable issues.
Search phases (in priority order): 0. Repos where user has merged PRs (highest merge probability) 0.5. Preferred organizations
Each candidate is vetted for claimability and scored 0-100 for viability.