Discover meaningful GitHub contribution opportunities through evidence-driven repository analysis, intelligent issue ranking, and explainable pull request prediction.
Backend: β Production Ready Β Β |Β Β Frontend: β Complete Β Β |Β Β Documentation: π§ Improving
See IssueScout in action
Demo workflow
Repository β Scan β Intelligent Analysis β Ranked Issues β PR Prediction β Confidence Score
| Home | Repository Analysis |
|---|---|
![]() |
![]() |
| Issue Details | Prediction View |
|---|---|
![]() |
![]() |
Get IssueScout running in under 5 minutes.
git clone https://github.com/AnthropicBots/IssueScout.git
cd IssueScout/backend
python -m venv .venv
# Windows
.venv\Scripts\activate
# Linux/macOS
source .venv/bin/activate
pip install -e .
uvicorn issuescout.main:app --reloadThen start the frontend:
cd ../frontend
npm install
npm run dev- π Frontend: http://localhost:5173
- π API Docs: http://127.0.0.1:8000/docs
Finding meaningful issues in large open-source repositories can be time-consuming.
IssueScout analyzes multiple repository signals to help contributors focus on the most promising opportunities.
| Traditional GitHub Search | IssueScout |
|---|---|
| Manual issue browsing | β Automated repository analysis |
| Depends on labels | β Multi-signal ranking |
| No confidence estimation | β Confidence scoring |
| Limited issue context | β Explainable predictions |
| No PR relationship analysis | β Issue β Pull Request prediction |
- π Analyze any public GitHub repository
- π§ Multi-signal issue and pull request relation engine
- π Explainable confidence scoring
- β‘ FastAPI backend with asynchronous scanning
- π¨ Modern React + TypeScript frontend
- π§ͺ 484+ automated tests
- π GitHub Actions CI with Ruff & MyPy
- π Comprehensive documentation
- ποΈ Clean, modular, production-ready architecture
IssueScout is an intelligent GitHub contribution assistant that helps developers discover meaningful open-source contribution opportunities through evidence-driven repository analysis.
Instead of relying solely on labels like good first issue or help wanted, IssueScout analyzes repository activity, issue discussions, commits, pull requests, reviews, timelines, and metadata to identify meaningful relationships between issues and development activity.
Its explainable ranking engine provides confidence scores and supporting evidence for every prediction, helping contributors understand why an issue is recommended rather than simply presenting a ranked list.
Built with a modern React frontend and a FastAPI backend, IssueScout is designed to work with any public GitHub repository while remaining fast, transparent, and extensible.
- Modern React + TypeScript interface
- Repository search
- Live repository scan progress
- Responsive layout
- Result cards
- Error and loading states
- Fast Vite development experience
- FastAPI REST API
- Asynchronous repository scanning
- Evidence collection pipeline
- Repository metadata analysis
- Issue filtering
- Confidence scoring
- JSON response models
IssueScout combines multiple independent detectors including:
- Author similarity
- Title similarity
- Body references
- Timeline references
- Commit references
- Commit message references
- Branch similarity
- Reviewer similarity
- File similarity
- Label similarity
- Repository metadata similarity
- Intelligent pull request prediction
- Explainable results
- Candidate ranking
- Confidence scoring
- Ruff
- MyPy
- Pytest
- GitHub Actions
- Pre-commit
- Dependabot
- Structured logging
- Modular architecture
Repository:
python/cpython
Issue Selected:
#152997
Add an iconv-based codec engine to support all system locale encodings
IssueScout Analysis:
| Metric | Result |
|---|---|
| Repository Scan | β Completed |
| Confidence Score | 94% |
| Related Pull Requests | 3 Candidates |
| Evidence Signals | 11 |
| Ranking | Top Recommendation |
Example Evidence
- β Title similarity detected
- β Commit reference found
- β Timeline activity matched
- β Author relationship detected
- β Repository metadata similarity
Every recommendation is accompanied by supporting evidence so contributors can understand why it was ranked.
React Frontend
β
βΌ
FastAPI Backend
β
βΌ
Repository Scanner
β
βΌ
GitHub REST API Client
β
βΌ
Evidence Collection
βββ Timeline Events
βββ Issue Comments
βββ Commit History
βββ Pull Requests
βββ Repository Metadata
β
βΌ
Relation Engine
βββ Author Similarity
βββ Title Similarity
βββ Timeline References
βββ Commit References
βββ Branch Similarity
βββ File Similarity
βββ Metadata Similarity
β
βΌ
Prediction Engine
β
βΌ
Confidence Scoring
β
βΌ
Ranked Results API
IssueScout/
β
βββ .github/
β βββ workflows/
β βββ ISSUE_TEMPLATE/
β βββ dependabot.yml
β
βββ backend/
β βββ issuescout/
β β βββ api/
β β βββ core/
β β βββ evidence/
β β βββ github/
β β βββ middleware/
β β βββ models/
β β βββ output/
β β βββ prediction/
β β βββ presentation/
β β βββ ranking/
β β βββ scanner/
β β βββ services/
β β βββ utils/
β β
β βββ tests/
β βββ pyproject.toml
β
βββ docs/
βββ frontend/
β
βββ CHANGELOG.md
βββ CONTRIBUTING.md
βββ ROADMAP.md
βββ LICENSE
βββ README.md
Before getting started, ensure you have:
- Python 3.12 or later
- Git
- A GitHub Personal Access Token (recommended to avoid rate limits)
git clone https://github.com/AnthropicBots/IssueScout.git
cd IssueScoutcd backend
python -m venv .venv.venv\Scripts\activatesource .venv/bin/activateInstall IssueScout in editable mode:
pip install -e .Install development dependencies:
pip install pytest pytest-cov ruff mypy pre-commitEnable Git hooks:
pre-commit installOpen another terminal.
cd ../frontend
npm installCreate a .env file inside the backend directory.
GITHUB_TOKEN=your_github_personal_access_token| Variable | Required | Description |
|---|---|---|
GITHUB_TOKEN |
Recommended | GitHub Personal Access Token |
GITHUB_API |
Optional | GitHub REST API endpoint |
cd backend
uvicorn issuescout.main:app --reloadBackend API:
http://127.0.0.1:8000
Interactive API Documentation:
http://127.0.0.1:8000/docs
cd frontend
npm install
npm run devFrontend:
http://localhost:5173
FastAPI automatically generates interactive documentation.
Swagger UI
http://127.0.0.1:8000/docs
ReDoc
http://127.0.0.1:8000/redoc
OpenAPI Schema
http://127.0.0.1:8000/openapi.json
| Method | Endpoint | Description |
|---|---|---|
| GET | / |
Welcome endpoint |
| GET | /health |
Health check |
| GET | /github |
Repository information |
| GET | /issues |
List repository issues |
| GET | /scan/{owner}/{repo} |
Scan a GitHub repository |
Run the complete test suite:
pytestRun tests with coverage:
pytest --cov=issuescoutRun a specific test:
pytest tests/github/test_client.pyRun all GitHub-related tests:
pytest tests/githubCurrent status:
- β 484 automated tests passing
- β Ruff linting passing
- β MyPy static type checking passing
- β High test coverage
- β GitHub Actions CI
- β Production-ready backend
Lint the project:
ruff check .Automatically format code:
ruff format .Run all pre-commit hooks:
pre-commit run --all-filesIssueScout uses GitHub Actions for continuous integration.
Every push and pull request automatically runs:
- Ruff linting
- Ruff formatting checks
- Complete test suite
- Coverage reporting
Dependabot automatically keeps:
- Python dependencies updated
- GitHub Actions updated
- Python 3.12
- FastAPI
- Pydantic
- HTTPX
- AsyncIO
- React 19
- TypeScript
- Vite
- Tailwind CSS
- React Router
- Lucide React
- Pytest
- Pytest-Cov
- Ruff
- Pre-commit
- GitHub Actions
- Dependabot
- GitHub REST API
Unlike traditional GitHub search tools, IssueScout focuses on understanding repository activity rather than simply filtering issues by labels.
- π Repository-wide evidence collection
- π§ Multi-signal relation analysis
- π Explainable issue ranking
- π― Pull request prediction
- π Confidence scoring
- β‘ Asynchronous repository scanning
- ποΈ Modular architecture
- π§ͺ Extensive automated testing
- π Continuous integration
- π Comprehensive documentation
IssueScout is designed to help contributors spend less time searching and more time contributing.
IssueScout is actively developed and maintained.
Current project status:
| Component | Status |
|---|---|
| Frontend | β Complete |
| Backend | β Complete |
| REST API | β Stable |
| Repository Scanner | β Stable |
| Evidence Collection | β Stable |
| Relation Engine | β Stable |
| Prediction Engine | β Stable |
| Ranking Engine | β Stable |
| Automated Tests | β 484 Passing |
| Ruff | β Passing |
| MyPy | β Passing |
| GitHub Actions | β Enabled |
| Documentation | π§ Improving |
- Modern React frontend
- FastAPI backend
- Repository scanner
- Evidence collection pipeline
- Relation engine
- Confidence scoring
- Ranking engine
- REST API
- CLI support
- Comprehensive automated testing
- Ruff linting
- MyPy static type checking
- GitHub Actions CI
- GitHub GraphQL support
- AI-assisted issue recommendations
- Scan history
- Repository analytics dashboard
- Browser extension
- Plugin system
- Saved repositories
- User authentication
- Docker deployment
Contributions are always welcome!
Whether you'd like to:
- Report a bug
- Suggest a feature
- Improve documentation
- Write tests
- Refactor existing code
- Improve performance
your contributions are appreciated.
Please read the project's CONTRIBUTING.md before opening a pull request.
Typical workflow:
- Fork the repository.
- Create a new branch.
- Make your changes.
- Run Ruff and the test suite.
- Commit your work.
- Open a Pull Request.
Install pre-commit hooks:
pre-commit installBefore committing:
ruff check .
ruff format .
python -m pytest
mypy issuescoutIf all checks pass, commit your changes.
This project is licensed under the MIT License.
See the LICENSE file for details.
IssueScout is built using several excellent open-source projects.
Special thanks to the communities behind:
- Python
- FastAPI
- Pydantic
- HTTPX
- Pytest
- Ruff
- GitHub REST API
- GitHub Actions
Their work makes projects like IssueScout possible.
IssueScout is maintained by the AnthropicBots organization.
Originally created and developed by Bhuvansh Kataria.
GitHub Organization:
https://github.com/AnthropicBots
If you find IssueScout useful, consider:
- β Starring the repository
- π΄ Forking the project
- π Reporting bugs
- π‘ Suggesting new features
- π€ Contributing code
- π’ Sharing the project with others
Every contributionβbig or smallβhelps improve IssueScout.




