Discover meaningful open-source contribution opportunities through explainable repository analysis, intelligent issue ranking, confidence scoring, and pull request prediction.
π Production Ready β’ π§ AI Powered β’ β‘ FastAPI β’ βοΈ React β’ π Explainable Predictions
IssueScout is an intelligent GitHub repository analysis platform that helps contributors discover high-quality contribution opportunities by analyzing repository activity, issue discussions, pull requests, commit history, repository intelligence, and multiple relationship signals.
Unlike traditional issue search tools, IssueScout explains why an issue is recommended through evidence-driven confidence scoring rather than relying only on labels such as good first issue or help wanted.
IssueScout is designed for:
- Open-source contributors looking for meaningful issues beyond repository labels.
- Project maintainers who want better visibility into issue and pull request relationships.
- Students and newcomers exploring real-world open-source projects.
- Engineering teams interested in repository analytics and explainable contribution recommendations.
Get IssueScout running locally in just a few minutes.
git clone https://github.com/AnthropicBots/IssueScout.git
cd IssueScoutCopy the example environment file and configure your GitHub Personal Access Token.
cd backend
cp .env.example .envThen edit .env and set:
GITHUB_TOKEN=your_personal_access_token
IssueScout works without a token, but authenticated requests provide significantly higher GitHub API rate limits.
cd backend
python -m venv .venv
# Windows
.venv\Scripts\activate
# Linux / macOS
source .venv/bin/activate
pip install -e .
uvicorn issuescout.main:app --reloadBackend:
http://127.0.0.1:8000
Swagger:
http://127.0.0.1:8000/docs
cd frontend
npm install
npm run devFrontend:
http://localhost:5173
Repository β Analysis β Prediction β Confidence β Contribution
IssueScout performs the following workflow automatically:
Repository
β
βΌ
Fetch Repository Information
β
βΌ
Fetch Issues
β
βΌ
Fetch Pull Requests
β
βΌ
Collect Repository Intelligence
β
βΌ
Relationship Detection
β
βΌ
Evidence Collection
β
βΌ
Confidence Scoring
β
βΌ
Issue Ranking
β
βΌ
Interactive Dashboard
- π Analyze any public GitHub repository
- π§ Multi-signal relationship detection engine
- π Explainable confidence scoring
- π― Pull request prediction
- π Repository intelligence dashboard
- β‘ High-performance FastAPI backend
- π¨ Modern React + TypeScript frontend
- π± Fully responsive interface
- π§ͺ 620 automated backend tests
- π 94% backend test coverage
- β Production-ready architecture
- π Comprehensive documentation
- π Continuous integration support
Finding meaningful issues in large open-source repositories is difficult.
Traditional issue discovery relies heavily on labels like:
- good first issue
- help wanted
- documentation
- enhancement
Unfortunately these labels often become outdated, incomplete, or inconsistent across repositories.
IssueScout instead analyzes actual repository activity.
It combines repository intelligence, issue discussions, commit history, pull requests, review activity, timelines, metadata, and relationship signals to determine which issues are genuinely active and most likely connected to ongoing development.
Instead of simply telling contributors what to work on, IssueScout explains why an issue is recommended.
IssueScout is an intelligent GitHub contribution assistant designed to improve how contributors discover work in open-source projects.
The backend continuously gathers repository intelligence from the GitHub REST API and combines multiple independent analyzers to understand relationships between issues and pull requests.
Each recommendation is accompanied by confidence scores and detailed evidence, making the prediction process transparent and explainable rather than a black-box ranking system.
The frontend presents this information through a modern analytics dashboard that allows contributors to quickly evaluate repositories, inspect issues, understand prediction confidence, and review related pull requests.
IssueScout was designed with three primary goals:
- Help contributors find meaningful work faster.
- Reduce manual repository exploration.
- Provide explainable recommendations backed by evidence.
- React 19
- TypeScript
- Vite
- Tailwind CSS
- React Query
- React Router
- Premium responsive interface
- Interactive repository dashboard
- Issue detail analytics
- Confidence visualizations
- Loading, error, and empty states
- Mobile-friendly design
- High-performance REST API
- Asynchronous repository scanning
- Dependency injection architecture
- Repository intelligence collection
- Candidate pull request discovery
- Resolution analysis
- Confidence calculation
- Ranking engine
- CLI support
- Production-ready architecture
IssueScout analyzes numerous repository signals including:
- Repository metadata
- Issue body
- Issue comments
- Timeline events
- Commit history
- Pull requests
- Pull request reviews
- Changed files
- Repository branches
- Labels
- Contributors
- Merge status
- Discussion intelligence
Multiple analyzers work together to detect issue β pull request relationships.
Current analyzers include:
- Title similarity
- Body similarity
- Author similarity
- Comment references
- Timeline references
- Commit references
- Branch similarity
- Changed file similarity
- Label similarity
- Merge detection
- Review detection
- Repository intelligence
IssueScout produces explainable predictions through:
- Candidate discovery
- Evidence collection
- Confidence scoring
- Issue ranking
- Prediction summaries
- Recommendation generation
Every prediction includes supporting evidence so contributors understand exactly why an issue received its score.
React Frontend
β
βΌ
React Query + Router
β
βΌ
FastAPI REST API
β
βΌ
Application Services
β
βΌ
Repository Scanner
β
βββββββββββββββββββββΌββββββββββββββββββββ
βΌ βΌ βΌ
Repository Data Pull Requests GitHub Metadata
β β β
βββββββββββββββββββββΌββββββββββββββββββββ
βΌ
Repository Intelligence
β
βΌ
Candidate Discovery
β
βΌ
Relationship Engine
βββ Title Analyzer
βββ Body Analyzer
βββ Timeline Analyzer
βββ Commit Analyzer
βββ Review Analyzer
βββ Metadata Analyzer
βββ Discussion Analyzer
β
βΌ
Evidence Collection
β
βΌ
Confidence Calculator
β
βΌ
Ranking Engine
β
βΌ
Prediction Results
β
βΌ
Interactive Web Dashboard
IssueScout
β
βββ backend
β βββ issuescout
β β βββ api
β β βββ application
β β βββ cli
β β βββ github
β β βββ intelligence
β β βββ models
β β βββ prediction
β β βββ ranking
β β βββ scanner
β β βββ services
β β βββ utils
β β
β βββ tests
β
βββ frontend
β βββ src
β βββ public
β βββ dist
β
βββ docs
β
βββ CHANGELOG.md
βββ CONTRIBUTING.md
βββ ROADMAP.md
βββ LICENSE
βββ README.md
Before installing IssueScout, ensure your system has:
| Requirement | Version |
|---|---|
| Python | 3.12+ |
| Node.js | 20+ |
| npm | 10+ |
| Git | Latest |
| GitHub Personal Access Token | Recommended |
git clone https://github.com/AnthropicBots/IssueScout.git
cd IssueScoutCreate a virtual environment.
cd backend
python -m venv .venv.venv\Scripts\activatesource .venv/bin/activatepip install -e .pip install \
pytest \
pytest-cov \
ruff \
mypy \
pre-commitpre-commit installOpen another terminal.
cd frontend
npm installnpm run devIssueScout works without authentication but using a GitHub Personal Access Token is strongly recommended to avoid GitHub rate limits.
Create a file named:
backend/.env
Example:
GITHUB_TOKEN=your_personal_access_token| Variable | Required | Description |
|---|---|---|
| GITHUB_TOKEN | Recommended | GitHub Personal Access Token |
| GITHUB_API | Optional | GitHub API endpoint |
| LOG_LEVEL | Optional | Logging level |
cd backend
uvicorn issuescout.main:app --reloadAvailable at:
http://127.0.0.1:8000
Swagger UI:
http://127.0.0.1:8000/docs
ReDoc:
http://127.0.0.1:8000/redoc
cd frontend
npm run devAvailable at:
http://localhost:5173
uvicorn issuescout.main:appnpm run buildPreview production build:
npm run previewbackend/
issuescout/
tests/
pyproject.toml
frontend/
src/
public/
package.json
Run tests
pytestCoverage
pytest --cov=issuescoutLint
ruff check .Format
ruff format .Type Checking
mypy issuescoutDevelopment
npm run devLint
npm run lintProduction Build
npm run buildPreview Build
npm run previewFork Repository
β
βΌ
Clone Repository
β
βΌ
Create Feature Branch
β
βΌ
Implement Changes
β
βΌ
Run Ruff
β
βΌ
Run MyPy
β
βΌ
Run Tests
β
βΌ
Run Frontend Lint
β
βΌ
Run Frontend Build
β
βΌ
Commit Changes
β
βΌ
Open Pull Request
IssueScout exposes a modern REST API built with FastAPI.
Interactive documentation is generated automatically using the OpenAPI specification.
http://127.0.0.1:8000/docs
http://127.0.0.1:8000/redoc
http://127.0.0.1:8000/openapi.json
| Method | Endpoint | Description |
|---|---|---|
| GET | /github/{owner}/{repo} |
Repository information |
| Method | Endpoint | Description |
|---|---|---|
| GET | /issues/{owner}/{repo} |
Fetch repository issues |
| Method | Endpoint | Description |
|---|---|---|
| GET | /scan/{owner}/{repo} |
Scan repository |
| GET | /scan/jobs |
Active scan jobs |
| GET | /scan/jobs/stats |
Scanner statistics |
| Method | Endpoint | Description |
|---|---|---|
| GET | / |
Welcome endpoint |
| GET | /health |
Health status |
IssueScout includes a command-line interface for development and repository analysis.
Available commands include:
issuescout scan
issuescout evaluate
issuescout dataset
issuescout version
IssueScout includes a comprehensive automated backend test suite.
| Metric | Status |
|---|---|
| Backend Tests | β 620 Passing |
| Backend Coverage | β 94% |
| Ruff | β Passing |
| MyPy | β Passing |
| Frontend ESLint | β Passing |
| Frontend Production Build | β Passing |
pytestpytest --cov=issuescoutpytest tests/scanner/test_engine.pypytest testsCurrent backend coverage:
94%
Coverage includes:
- API
- Scanner
- Repository Fetcher
- Prediction Engine
- Confidence Calculator
- Candidate Discovery
- Resolution Analysis
- Evidence Collection
- Intelligence Collectors
- Ranking
- CLI
- Application Services
IssueScout follows strict quality standards.
Lint the backend:
ruff check .Format the backend:
ruff format .Static type checking:
mypy issuescoutLint:
npm run lintBuild:
npm run buildEvery pull request is automatically validated.
Backend validation includes:
- Ruff
- Ruff Formatting
- MyPy
- Pytest
- Coverage
Frontend validation includes:
- ESLint
- TypeScript Compilation
- Production Build
This ensures every change merged into the project satisfies the same quality standards as the main branch.
- Python 3.12
- FastAPI
- Pydantic
- HTTPX
- AsyncIO
- React 19
- TypeScript
- Vite
- Tailwind CSS
- React Query
- React Router
- Lucide React
- Pytest
- Pytest-Cov
- Ruff
- MyPy
- ESLint
- GitHub Actions
- Dependabot
- Pre-commit
- Pre-commit
- GitHub Actions
- MyPy
- Ruff
- ESLint
- GitHub REST API
| Category | Value |
|---|---|
| Backend Tests | 620 |
| Backend Coverage | 94% |
| Python Version | 3.12 |
| Frontend | React 19 |
| Backend | FastAPI |
| Build Status | Passing |
| Type Checking | Passing |
| Production Build | Passing |
IssueScout has completed the following quality verification:
- β Backend feature complete
- β Frontend feature complete
- β Production-ready architecture
- β 620 automated backend tests
- β 94% backend test coverage
- β Ruff clean
- β Ruff formatted
- β MyPy clean
- β Frontend ESLint passing
- β Frontend production build passing
- β Comprehensive documentation
- β Production-ready release
Most GitHub contribution tools focus on filtering issues using labels such as good first issue or help wanted.
IssueScout goes much further.
Instead of relying on labels alone, it analyzes real repository activity to understand the relationship between issues and ongoing development.
Every recommendation is supported by evidence and confidence scoring, helping contributors make informed decisions before starting work.
- π Intelligent repository scanning
- π§ Multi-signal relationship detection
- π Explainable confidence scoring
- π― Pull request prediction
- π Repository intelligence
- β‘ High-performance asynchronous scanning
- π± Modern responsive dashboard
- π§ͺ Extensive automated testing
- ποΈ Clean modular architecture
- π Comprehensive documentation
IssueScout is feature complete for its planned v1.0 release and is undergoing final quality polishing before release.
| Component | Status |
|---|---|
| Backend | β Production Ready |
| Frontend | β Production Ready |
| REST API | β Stable |
| CLI | β Stable |
| Repository Scanner | β Stable |
| Candidate Discovery | β Stable |
| Relationship Engine | β Stable |
| Prediction Engine | β Stable |
| Confidence Calculator | β Stable |
| Ranking Engine | β Stable |
| Documentation | β Complete |
| Backend Tests | β 620 Passing |
| Backend Coverage | β 94% |
| Ruff | β Passing |
| MyPy | β Passing |
| ESLint | β Passing |
| Production Build | β Passing |
IssueScout v1.0.0 is feature complete.
Future releases will focus on expanding functionality rather than completing existing features.
- Repository comparison
- Saved scans
- Repository bookmarking
- Better filtering
- Export scan results
- Dark mode
- Keyboard shortcuts
- GitHub GraphQL integration
- Incremental repository scanning
- Historical repository analytics
- Improved recommendation engine
- Performance optimizations
- User authentication
- Organization dashboards
- Scan history
- Team workspaces
- Notifications
- AI-assisted recommendations
- Docker deployment
- Cloud-hosted IssueScout
Contributions of every size are welcome.
Whether you're fixing bugs, improving documentation, adding tests, enhancing the frontend, or implementing new features, we'd love your help.
Please read CONTRIBUTING.md before opening a pull request.
Fork Repository
β
βΌ
Create Feature Branch
β
βΌ
Implement Changes
β
βΌ
Run Backend Checks
β
βΌ
Run Frontend Checks
β
βΌ
Commit Changes
β
βΌ
Open Pull Request
Before submitting a pull request, verify the following.
ruff check .
ruff format .
mypy issuescout
pytestnpm run lint
npm run buildAll checks should pass before opening a pull request.
The following documents provide a deeper understanding of IssueScout's architecture and implementation:
docs/API.mdβ REST API reference.docs/ARCHITECTURE.mdβ Overall system architecture.docs/BACKEND.mdβ Backend implementation details.docs/SCANNER.mdβ Scanner pipeline and relation engine.
Additional project resources include:
CONTRIBUTING.mdCHANGELOG.mdROADMAP.md
IssueScout is licensed under the MIT License.
See the LICENSE file for complete license information.
IssueScout would not have been possible without the incredible open-source ecosystem.
Special thanks to the communities behind:
- Python
- FastAPI
- React
- TypeScript
- Tailwind CSS
- Vite
- Pydantic
- HTTPX
- Pytest
- Ruff
- GitHub REST API
- GitHub Actions
Thank you to everyone who contributes to open source.
IssueScout is maintained by the AnthropicBots organization.
Project Lead
Bhuvansh Kataria
GitHub: https://github.com/BHUVANSH855
Organization: https://github.com/AnthropicBots
If you find IssueScout useful, consider supporting the project.
You can help by:
- β Starring the repository
- π΄ Forking the project
- π Reporting bugs
- π‘ Suggesting features
- π Improving documentation
- π§ͺ Adding tests
- π Opening pull requests
- π’ Sharing the project
Every contribution helps make IssueScout better for the entire open-source community.




