About the Project
Inspiration
Open source projects thrive on collaboration, but code reviews are often slow, inconsistent, and a bottleneck for innovation. We were inspired to build an AI-powered GitHub PR reviewer bot using Amazon Nova Act and Nova Premier to automate high-quality code reviews, helping maintainers and contributors focus on what matters most: building great software.
What We Learned
- Integrating advanced AI models (Nova Act, Nova Premier) into real-world developer workflows
- Securely managing credentials and environment variables for cloud-based AI services
- Handling GitHub API permissions and webhooks for seamless automation
- The importance of clear documentation and demo readiness for hackathons
How We Built It
- Server: Uvicorn running the app from src.server:app to handle GitHub webhook events
- AI Analysis: Amazon Nova Premier (with fallback to Pro) for code review suggestions
- PR Metadata: Nova Act API (with fallback to GitHub API) for PR context
- Review Posting: Automated review/comments via GitHub API
- DevOps: ngrok for local webhook testing, .env for secure config, and robust error handling
- Documentation: Markdown with Mermaid diagrams and LaTeX for clarity
Challenges Faced
- Authentication: Managing multiple API keys and permissions for GitHub and AWS Bedrock
- Model Fallbacks: Ensuring strict use of Nova Act and Premier for hackathon compliance, with clear error handling if unavailable
- Webhook Delivery: Debugging webhook failures and ensuring reliable event processing
- Demo Readiness: Preparing a publish-ready repo, excluding secrets, and providing clear setup instructions
- Cross-Platform Issues: Handling file locks and environment differences, especially on Windows
Math & Logic
The review process can be modeled as a function $f$ mapping PR metadata $M$ and code diff $D$ to review suggestions $R$:
$$ R = f(M, D; \theta_{\text{Nova}}) $$
where $\theta_{\text{Nova}}$ are the parameters of the Nova model. This abstraction guided our modular design and fallback logic.
We hope this project inspires more maintainers to embrace AI for open source collaboration!
Log in or sign up for Devpost to join the conversation.