AI-Powered GitHub PR Automation and Issue Management
[](https://badge.fury.io/py/autopr-engine) [](https://www.python.org/downloads/) [](https://opensource.org/licenses/MIT) [](https://github.com/marketplace/autopr-engine)
AutoPR Engine is a comprehensive AI-powered automation platform that transforms GitHub pull request workflows through intelligent analysis, issue creation, and multi-agent collaboration.
- Multi-Agent Review: CodeRabbit, GitHub Copilot, AI TypeScript Check integration
- Platform Detection: Detects 25+ development platforms (Replit, Bolt, Lovable, etc.)
- Intelligent Issue Classification: Security, performance, bugs, features
- Quality Gates: Automated validation before merge
- Communication: Slack (Axolo), Microsoft Teams, Discord, Notion
- Project Management: Linear, GitHub Issues, Jira
- AI Tools: AutoGen multi-agent, configurable LLM providers
- Monitoring: Sentry, DataDog, Prometheus metrics
- Issue Auto-Creation: GitHub Issues and Linear tickets
- AI Tool Assignment: Route issues to specialized AI tools
- Workflow Orchestration: 20+ pre-built workflows
- Memory System: Learn from past interactions and patterns
# Install from PyPI
pip install autopr-engine
# Or install with all features
pip install "autopr-engine[full]"
# Docker deployment
docker run -d \
-e GITHUB_TOKEN=your_token \
-e OPENAI_API_KEY=your_key \
-p 8080:8080 \
neuralliquid/autopr-engine:latest
# autopr_config.py
from autopr import AutoPREngine
# Initialize engine
engine = AutoPREngine({
'github_token': 'your_github_token',
'openai_api_key': 'your_openai_key',
'repositories': ['owner/repo'],
'integrations': {
'slack': {
'webhook_url': 'your_slack_webhook',
'channel': '#pr-reviews'
},
'linear': {
'api_key': 'your_linear_key',
'team_id': 'your_team_id'
}
}
})
# Start processing
await engine.start()
# .github/workflows/autopr.yml
name: AutoPR Analysis
on:
pull_request:
types: [opened, synchronize]
jobs:
autopr:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: neuralliquid/autopr-engine@v1
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
openai-api-key: ${{ secrets.OPENAI_API_KEY }}
linear-api-key: ${{ secrets.LINEAR_API_KEY }}
- Architecture Overview - System design and components
- Workflow Guide - Creating and customizing workflows
- Action Reference - Complete action documentation
- Integration Guide - Setting up external services
- Replit Integration - Prototype to production
- Slack/Axolo Setup - PR channel automation
- Linear Workflow - Issue management
- Azure Deployment - Cloud deployment guide
- Multi-Agent AI - AutoGen integration
- Memory Systems - Learning and patterns
- Custom Actions - Building your own
- Monitoring - Observability setup
graph TB
A[GitHub PR Event] --> B[AutoPR Engine]
B --> C[Platform Detector]
B --> D[AI Analysis Engine]
D --> E[CodeRabbit Integration]
D --> F[GitHub Copilot]
D --> G[AI TypeScript Check]
C --> H[Workflow Router]
H --> I[Issue Creator]
H --> J[AI Assignment]
I --> K[GitHub Issues]
I --> L[Linear Tickets]
J --> M[Communication Hub]
M --> N[Slack/Axolo]
M --> O[Teams/Discord]
subgraph "AI Layer"
P[AutoGen Multi-Agent]
Q[Configurable LLM]
R[Memory System]
end
subgraph "Quality Gates"
S[Security Scanning]
T[Performance Analysis]
U[Test Execution]
end
# Clone repository
git clone https://github.com/neuralliquid/autopr-engine.git
cd autopr-engine
# Create virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install in development mode
pip install -e ".[dev]"
# Run tests
pytest
# Run with live reload
python -m autopr.server --reload
autopr-engine/
βββ autopr/ # Core engine package
β βββ actions/ # 50+ automation actions
β βββ workflows/ # Pre-built workflow definitions
β βββ integrations/ # External service integrations
β βββ ai/ # AI and LLM components
β βββ memory/ # Learning and memory systems
β βββ quality/ # Quality gates and validation
β βββ server/ # Web server and API
βββ tests/ # Comprehensive test suite
βββ docs/ # Documentation
βββ docker/ # Container definitions
βββ scripts/ # Utility scripts
βββ examples/ # Usage examples
βββ requirements.txt # Production dependencies
βββ requirements-dev.txt # Development dependencies
βββ setup.py # Package configuration
βββ pyproject.toml # Modern Python packaging
βββ Dockerfile # Container build
βββ docker-compose.yml # Local development
βββ README.md # This file
# Run all tests
pytest
# Run with coverage
pytest --cov=autopr --cov-report=html
# Run specific test categories
pytest tests/actions/ # Action tests
pytest tests/workflows/ # Workflow tests
pytest tests/integration/ # Integration tests
# Run performance tests
pytest tests/performance/ -v
# Core Configuration
GITHUB_TOKEN=ghp_xxxxxxxxxxxx # GitHub API token
OPENAI_API_KEY=sk-xxxxxxxx # OpenAI API key
AUTOPR_LOG_LEVEL=INFO # Logging level
# Optional AI Providers
ANTHROPIC_API_KEY=sk-ant-xxxxxxxx # Claude API key
MISTRAL_API_KEY=xxxxxxxx # Mistral API key
GROQ_API_KEY=gsk_xxxxxxxx # Groq API key
# Integrations
SLACK_WEBHOOK_URL=https://hooks.slack.com/... # Slack notifications
LINEAR_API_KEY=lin_api_xxxxxxxx # Linear integration
AXOLO_WORKSPACE_URL=https://... # Axolo integration
# Infrastructure
REDIS_URL=redis://localhost:6379 # Caching and state
DATABASE_URL=postgresql://... # PostgreSQL database
SENTRY_DSN=https://... # Error tracking
# autopr.yml
repositories:
- owner: neuralliquid
repos: ["vv-landing", "vv-backend"]
workflows:
- name: "pr_review_analysis"
triggers: ["pull_request.opened", "pull_request.synchronize"]
actions:
- platform_detector
- ai_analysis
- issue_creator
- team_notification
integrations:
slack:
enabled: true
channels:
pr_reviews: "#pr-reviews"
security_alerts: "#security"
linear:
enabled: true
team_id: "VV"
project_templates:
security: "Security Issues"
performance: "Performance Optimization"
ai_providers:
default: "openai"
fallback_order: ["openai", "anthropic", "mistral"]
models:
openai: "gpt-4"
anthropic: "claude-3-sonnet-20240229"
- Slack - Channel automation with Axolo
- Microsoft Teams - Enterprise communication
- Discord - Community-focused teams
- Notion - Documentation automation
- Linear - Modern issue tracking
- GitHub Issues - Native GitHub integration
- Jira - Enterprise project management
- CodeRabbit - AI code review
- GitHub Copilot - AI coding assistant
- AutoGen - Multi-agent collaboration
- Platform Detection - 25+ platforms
- PR processing times and success rates
- AI tool performance and accuracy
- Issue creation and resolution tracking
- Integration health monitoring
- Prometheus metrics collection
- Grafana dashboards
- Sentry error tracking
- DataDog APM integration
- Custom webhooks for external systems
We welcome contributions! Please see our Contributing Guide for details.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature
) - Make your changes
- Add tests for new functionality
- Run the test suite (
pytest
) - Commit your changes (
git commit -m 'Add amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
- Follow [PEP 8](https://peps.python.org/pep-0008/) style guidelines
- Add type hints for all functions
- Write comprehensive tests for new features
- Update documentation for user-facing changes
This project is licensed under the MIT License - see the LICENSE file for details.
- AutoGen team for multi-agent AI framework
- CodeRabbit for AI code review integration
- Axolo team for Slack PR automation
- GitHub for the platform and APIs
- OpenAI and Anthropic for AI capabilities
- All our contributors and community members
- Documentation: [https://autopr-engine.readthedocs.io](https://autopr-engine.readthedocs.io)
- GitHub Issues: [Report bugs and request features](https://github.com/neuralliquid/autopr-engine/issues)
- Discussions: [Community discussions](https://github.com/neuralliquid/autopr-engine/discussions)
- Email: support@neuralliquid.com
Made with β€οΈ by the NeuralLiquid team