Motivation
Code reviews are essential but time-consuming. This bot leverages GPT-4 to provide instant feedback on pull requests, catching common issues and suggesting improvements before human reviewers step in.
How It Works
- Trigger: GitHub webhook on PR creation/update
- Analysis: Extract diff and send to GPT-4 with custom prompts
- Comment: Post inline comments on specific lines with suggestions
import openai
from github import Github
def review_pr(pr_number):
pr = repo.get_pull(pr_number)
diff = pr.get_files()
for file in diff:
if file.patch:
response = openai.ChatCompletion.create(
model="gpt-4",
messages=[
{"role": "system", "content": "You are a code reviewer."},
{"role": "user", "content": f"Review this code:\n{file.patch}"}
]
)
suggestion = response.choices[0].message.content
pr.create_review_comment(suggestion, file.sha, file.filename, 1)
Review Categories
- Code Quality: Naming conventions, duplication, complexity
- Security: SQL injection, XSS, sensitive data exposure
- Performance: N+1 queries, inefficient algorithms
- Best Practices: Framework-specific patterns
Results
- 50% reduction in time to first review
- 30% fewer bugs merged to main
- Developers report learning from AI suggestions