PrAnalyzer is a .NET 9 solution for analyzing pull requests using AI-powered code review classification and sentiment analysis. It leverages Blazor for the web frontend and provides API services for integration with GitHub and HuggingFace.
- PrAnalyzer.Web: Blazor WebAssembly frontend for interacting with the PR analyzer.
- PrAnalyzer.ApiService: ASP.NET Core Web API for handling PR data, classification, and external service integration.
- PrAnalyzer.ServiceDefaults: Shared service configuration and defaults.
- PrAnalyzer.AppHost: Application host for running the solution.
- Pull request review analysis and classification
- Sentiment and category classification using HuggingFace API
- GitHub integration for fetching PR data
- Modular, extensible architecture
- .NET 9 SDK
- Node.js (for Blazor WebAssembly development)
- Clone the repository:
git clone <your-repo-url> cd PrAnalyzer
- Configure API keys in
appsettings.json(seePrAnalyzer.ApiService/appsettings.json):HuggingFace:ApiKey: Your HuggingFace API keyGitHub:Token: (Optional) GitHub personal access token
- Build the solution:
dotnet build
- Run the application:
dotnet run --project PrAnalyzer.AppHost
The Blazor frontend is served as part of the AppHost. Navigate to the provided URL after running the host project.
- API keys and service URLs are managed in
appsettings.jsonfiles for each project. - Logging and environment settings can be customized as needed.
Contributions are welcome! Please open issues or submit pull requests for improvements.
This project is licensed under the MIT License.