AI-powered GitHub issue analysis assistant for open-source maintainers and contributors
IssuePilot automatically analyzes GitHub issues and provides:
- π Smart Summaries - Understand issues in seconds
- π¬ Root Cause Analysis - AI-identified likely causes
- π οΈ Solution Plans - Step-by-step fix guidance
- β Developer Checklists - Actionable tasks for contributors
- π·οΈ Label Suggestions - Auto-categorization
- π Duplicate Detection - Find similar issues
Open-source maintainers spend hours triaging issues:
- Reading long, unstructured bug reports
- Identifying duplicates manually
- Writing the same guidance repeatedly
- Labeling issues inconsistently
Contributors struggle too:
- Understanding complex issues
- Knowing where to start
- Finding related issues
IssuePilot uses AI to automate issue analysis, giving maintainers and contributors instant insights. One API call or CLI command transforms a wall of text into actionable intelligence.
| Feature | Traditional | IssuePilot |
|---|---|---|
| Issue Summary | Manual reading | AI-generated in seconds |
| Root Cause | Guesswork | AI analysis with context |
| Action Items | Write from scratch | Auto-generated checklist |
| Duplicates | Manual search | Automatic similarity detection |
| Labels | Inconsistent | AI-suggested categories |
- Project Vision
- Features
- Quick Start
- Installation
- Usage
- Examples
- API Documentation
- Configuration
- Architecture
- Contributing
- Roadmap
- Good First Issues
- License
- β±οΈ Reduce triage time - Get instant issue summaries
- π·οΈ Auto-label issues - Consistent categorization
- π¬ Auto-comment - Bot posts analysis on new issues
- π Understand quickly - No more reading walls of text
- π Get checklists - Know exactly what to do
- π Find duplicates - Avoid working on existing issues
- Python 3.9+
- OpenAI API key
- (Optional) GitHub token for higher rate limits
git clone https://github.com/Scarage1/IssuePilot.git
cd IssuePilot
# Backend setup
cd backend
python -m venv venv
# Windows (PowerShell)
.\venv\Scripts\Activate.ps1
# Windows (Command Prompt)
venv\Scripts\activate.bat
# macOS/Linux
source venv/bin/activate
pip install -r requirements.txtcp .env.example .env
# Edit .env with your API keysuvicorn app.main:app --reload# Using CLI
cd ../cli
pip install -e .
issuepilot analyze --repo facebook/react --issue 12345
# Or using API directly
curl -X POST http://localhost:8000/analyze \
-H "Content-Type: application/json" \
-d '{"repo": "facebook/react", "issue_number": 12345}'cd backend
python -m venv venv
source venv/bin/activate # Windows: .\venv\Scripts\Activate.ps1
pip install -r requirements.txtcd cli
pip install -e .
# Now you can use: issuepilot --help# Analyze an issue
issuepilot analyze --repo vercel/next.js --issue 12345
# Export to markdown
issuepilot analyze --repo vercel/next.js --issue 12345 --export md
# Save to file
issuepilot analyze --repo vercel/next.js --issue 12345 --export md --output analysis.md
# With GitHub token (higher rate limits)
issuepilot analyze --repo vercel/next.js --issue 12345 --token YOUR_TOKEN
# Check API health
issuepilot health| Method | Endpoint | Description |
|---|---|---|
| GET | /health |
Health check |
| POST | /analyze |
Analyze a GitHub issue |
| POST | /export |
Export analysis to markdown |
| GET | /rate-limit |
Check GitHub API rate limit |
POST /analyze
{
"repo": "owner/repo",
"issue_number": 12345,
"github_token": "optional"
}Response:
{
"summary": "Clear summary of the issue...",
"root_cause": "Analysis of the likely root cause...",
"solution_steps": [
"Step 1: Review the affected code",
"Step 2: Implement the fix",
"Step 3: Add tests"
],
"checklist": [
"Read the issue thoroughly",
"Set up local environment",
"Reproduce the issue",
"..."
],
"labels": ["bug", "enhancement"],
"similar_issues": [
{
"issue_number": 12000,
"title": "Similar issue title",
"url": "https://github.com/...",
"similarity": 0.85
}
]
}See API Documentation for complete details.
Check out the examples/ folder to see IssuePilot in action:
| File | Description |
|---|---|
| example_output.json | Raw JSON response from the API |
| example_output.md | Formatted markdown export |
| sample_request.json | Sample API request payload |
{
"summary": "This issue reports a hydration mismatch error...",
"root_cause": "The component uses browser-specific APIs during SSR...",
"solution_steps": ["Identify the component...", "Wrap in useEffect..."],
"checklist": ["Set up local environment", "Reproduce the issue", "..."],
"labels": ["bug", "ssr", "good-first-issue"],
"similar_issues": [{"issue_number": 11234, "similarity": 0.89}]
}Create a .env file in the backend directory:
# Required
OPENAI_API_KEY=your_openai_api_key
# Optional
GITHUB_TOKEN=your_github_token
AI_PROVIDER=openai
MODEL=gpt-4o-mini
SIMILARITY_THRESHOLD=0.75| Variable | Required | Default | Description |
|---|---|---|---|
OPENAI_API_KEY |
Yes | - | OpenAI API key |
GITHUB_TOKEN |
No | - | GitHub PAT for higher rate limits |
AI_PROVIDER |
No | openai |
AI provider to use |
MODEL |
No | gpt-4o-mini |
AI model |
SIMILARITY_THRESHOLD |
No | 0.75 |
Duplicate detection threshold |
See Configuration Reference for detailed setup guide and troubleshooting.
βββββββββββββββ βββββββββββββββ βββββββββββββββ
β User ββββββΆβ CLI/API ββββββΆβ Backend β
βββββββββββββββ βββββββββββββββ ββββββββ¬βββββββ
β
ββββββββββββββββββββββββββββΌβββββββββββββββββββββββββββ
β β β
βΌ βΌ βΌ
βββββββββββββββββ βββββββββββββββββ βββββββββββββββββ
β GitHub Client β β AI Engine β β Duplicate β
β (API calls) β β (OpenAI) β β Finder β
βββββββββββββββββ βββββββββββββββββ βββββββββββββββββ
See Architecture Documentation for details.
We welcome contributions! Please see CONTRIBUTING.md for guidelines.
- π Report bugs
- π‘ Suggest features
- π Improve documentation
- π§ Submit pull requests
- π¨ Improve prompts
See Development Guide for:
- Running the backend locally
- Running tests
- Linting and formatting
- Building packages
- FastAPI backend with REST API
- CLI tool for terminal usage
- AI-powered issue summarization
- Root cause analysis
- Developer checklists
- Markdown export
- Duplicate/similar issue detection
- TF-IDF similarity (offline mode)
- Label suggestions
- OpenAI embeddings for better similarity
- Caching layer for repeated analyses
- Batch analysis for multiple issues
- Better error messages and recovery
- GitHub Action for auto-commenting
- Webhook integration
- Dashboard UI
- PR draft generator from issues
- Self-hosted LLM support
- Team analytics
- Custom prompt templates
- Multi-repo analysis
Want to contribute but don't know where to start? Here are some beginner-friendly tasks:
| Task | Difficulty | Skills |
|---|---|---|
| Improve AI prompts for better summaries | π’ Easy | Prompt engineering |
| Add more detailed error messages | π’ Easy | Python |
| Add request/response logging | π’ Easy | Python, FastAPI |
| Implement response caching | π‘ Medium | Python, Redis |
| Add support for GitLab issues | π‘ Medium | Python, APIs |
| Create GitHub Action | π‘ Medium | GitHub Actions, YAML |
| Add rate limit retry logic | π’ Easy | Python, httpx |
| Write more test cases | π’ Easy | Python, pytest |
| Add CLI progress spinner | π’ Easy | Python, Click |
| Docker containerization | π‘ Medium | Docker |
Check our Issues page for more!
This project is licensed under the MIT License - see the LICENSE file for details.
Made with β€οΈ by the IssuePilot Team