The Auto PR Review Assistant is a microservice-based system designed to automate the code review process for GitHub pull requests. It integrates with GitHub webhooks, uses AI for intelligent feedback on code changes, and posts detailed inline comments directly onto pull requests.
The system consists of three main components:
- Webhook Listener Service: A FastAPI service that validates GitHub webhook signatures, extracts pull request events, and enqueues jobs into Redis.
- Review Engine Service: A worker service that dequeues jobs, fetches pull request metadata and diffs via GitHub’s GraphQL and REST APIs, generates AI-powered review feedback, and posts structured comments back to GitHub.
- CLI Dashboard: A developer-facing CLI tool to list recent analyzed PRs, view AI-generated comments, and trigger rechecks.
Testing and reliability were a key focus:
- Unit testing with Pytest: Both the webhook listener and review engine were tested in isolation, with mocked Redis, GitHub APIs, and OpenAI integrations.
- Continuous Integration: GitHub Actions was configured to automatically run the test suite on every push and pull request, ensuring regressions are caught early.
To bring everything together, the system was containerized with Docker and orchestrated via docker-compose for local development, enabling smooth integration between Redis, services, and the CLI.
This project strengthened my skills in distributed systems, API integrations, automated testing, and CI/CD pipelines. It also deepened my understanding of practical AI applications in developer tooling, giving me hands-on experience with building reliable, production-ready review automation.