PR Reviewer 🔍
An intelligent assistant for analyzing Pull Requests that integrates GitHub with Notion for automated review documentation.
🌟 Features
- Automatically analyze GitHub Pull Requests
- Notion integration for structured documentation
- MCP (Model-Controller-Provider) interface for efficient processing
- Support for detailed analysis of code changes
- Automatic documentation generation in Notion
🚀 Getting Started
Prerequisites
- Python 3.8 or higher
- GitHub account with access token
- Notion account with API permissions
- Configured access tokens
Installation
- Clone the repository:
git clone [seu-repositorio]
cd pr_reviewer
- Create and activate a virtual environment:
python -m venv .venv
source .venv/bin/activate # Linux/Mac
# ou
.venv\Scripts\activate # Windows
- Install dependencies:
pip install -r requirements.txt
- Configure environment variables: Create a
.env
file with the following variables:
NOTION_API_KEY=seu_token_do_notion
NOTION_PAGE_ID=id_da_pagina_notion
GITHUB_TOKEN=seu_token_do_github
💻 Usage
To start the PR analyzer:
The service will:
- Initialize MCP server for PR analysis
- Connecting to the GitHub API
- Setting up integration with Notion
- Waiting for PR review requests
- Automatically generate documentation in Notion
🛠️ Architecture
The project is structured into two main components:
pr_analyzer.py
: Core of the application that manages the MCP server and coordinates the analysesgithub_integration.py
: Module responsible for integration with the GitHub API
Components
PR Analyzer
- Initializes the FastMCP server
- Manages integration with Notion
- Register tools for PR analysis
- Processes analysis requests
GitHub Integration
- Manages communication with the GitHub API
- Retrieves information from Pull Requests
- Processes code changes
📝 License
This project is under the MIT license. See the LICENSE
file for more details.
👥 Contribution
Contributions are welcome! Please feel free to submit PRs.
- Fork the project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) git commit -m 'Add some AmazingFeature'
)- Push to Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
📞 Support
If you encounter any problems or have suggestions, please open an issue in the repository.