An AI-powered agent built with Google's Agent Development Kit (ADK) that automatically searches and analyzes Angular's GitHub pull requests for new features.
This agent:
- Fetches open PRs from Angular's GitHub repository filtered by "feat"
- Caches PR data locally to minimize GitHub API calls
- Uses Google's Gemini 2.0 Flash model to analyze and format results
- Python 3.10 or higher
- A Google API key for Gemini (get one at Google AI Studio)
- Internet connection for GitHub scraping
python3 -m venv .venv
source .venv/bin/activate # On macOS/Linuxpip install -r requirements.txtThe .env file is already present with:
GOOGLE_GENAI_USE_VERTEXAI=FALSE
GOOGLE_API_KEY=your_api_key_hereIf the Google ADK CLI is installed, you can run the agent directly:
# Run the agent interactively
adk webBy default, the agent searches:
https://github.com/angular/angular/pulls?q=is%3Apr+feat+is%3Aopen
You can modify this in config.py or pass a custom URL to search_github_repository().
PR data is cached in pr_cache.json in the same directory as config.py. This prevents redundant GitHub requests.
- User Agent:
FeatureScoutAngularAgent/1.0 - Timeout: 10 seconds
- Headers: Standard browser-like headers
Modify these in config.py if needed.
- Fetch PR List: The agent fetches the Angular GitHub PR listing page
- Parse PRs: Extracts all PR links with
data-hovercard-type="pull_request" - Filter by "feat": Only processes PRs with "feat" in the title (case-insensitive)
- Check Cache: Looks up each PR in the local cache
- Fetch Descriptions: If not cached, fetches the PR page and extracts the first comment body
- Update Cache: Saves new PR data to
pr_cache.json - AI Analysis: The agent uses Gemini to analyze and format results