AICodeReviewer.Murajea
1.0.3
dotnet tool install --global AICodeReviewer.Murajea --version 1.0.3
dotnet new tool-manifest
dotnet tool install --local AICodeReviewer.Murajea --version 1.0.3
#tool dotnet:?package=AICodeReviewer.Murajea&version=1.0.3
nuke :add-package AICodeReviewer.Murajea --version 1.0.3
đ¤ AI Code Reviewer â Murajea
AI-powered code review tool for .NET developers
đ About
Murajea (Ų ØąØ§ØŦØš â Arabic for "reviewer") is a powerful .NET Global Tool that uses Artificial Intelligence to automatically review your C# code and provide professional, actionable feedback. It helps you write better code by identifying issues, suggesting improvements, and following .NET best practices.
⨠Features
| Feature | Description |
|---|---|
| đ¤ AI-Powered Review | Instant feedback on your C# code using advanced AI models |
| đ¯ Multiple AI Providers | Choose from Ollama (local/free), Groq (fast cloud), or DeepSeek (powerful cloud) |
| đ Bilingual Support | Full support for Arabic (ar) and English (en) |
| đ Multiple Report Formats | Export reviews as Markdown, HTML, or professional PDF |
| đ Professional PDF Reports | Beautiful reports with quality scores and color-coded issues |
| đ Flexible Input | Review single files, folders, or entire projects |
| đ Easy to Use | Simple command-line interface |
đ Installation
Install as a .NET Global Tool
dotnet tool install --global AICodeReviewer.Murajea
Update to Latest Version
dotnet tool update --global AICodeReviewer.Murajea
Uninstall
dotnet tool uninstall --global AICodeReviewer.Murajea
đ Usage
Basic Commands
# Review an entire project folder
ai-reviewer D:\MyProject\src
# Review a single C# file
ai-reviewer D:\MyProject\Services\UserService.cs
# Review the current directory
ai-reviewer .
đ Where to Place appsettings.json
The tool looks for appsettings.json in the current working directory (where you run the ai-reviewer command).
â Correct Placement
If your project structure is: C:\Users\YourName\source\repos\MyProject âââ Controllers âââ Models âââ Services âââ Program.cs âââ appsettings.json â Place it here
Run the tool from the same folder:
cd C:\Users\YourName\source\repos\MyProject
ai-reviewer .
â Common Mistake If you run the tool from a parent folder, it won't find the config file:
cd C:\Users\YourName\source\repos
ai-reviewer MyProject // â This will look for appsettings.json in repos folder
đĄ Tip To check where the tool is looking for the config file, look at the first line after running:
đ Looking for config at: C:\Users...\appsettings.json If the path is wrong, simply navigate to the correct folder and try again.
Note: You can also specify the full path to your project:
ai-reviewer C:\Users\YourName\source\repos\MyProject
The tool will still look for appsettings.json in your current directory, not in the target project folder.
Example Output
đ¤ AI Code Reviewer â Murajea
================================
đ Tool Directory: C:\Users\...\.dotnet\tools\aicodereviewer.murajea
đ Language: Ø§ŲØšØąØ¨ŲØŠ
đĄ Using AI Provider: Groq
đ Target: D:\MyProject\src
đ Found 5 C# files
đ Reviewing: UserService.cs...
Found 3 functions
[1/3] CreateUser... â
[2/3] GetUserById... â
[3/3] UpdateUserEmailAsync... â
đ Markdown report saved to: D:\MyProject\MurajeaReports\review_20260326_163822.md
đ PDF report saved to: D:\MyProject\MurajeaReports\review_20260326_163822_UserService.pdf
đ HTML report saved to: D:\MyProject\MurajeaReports\review_20260326_163822_UserService.html
⨠Review completed!
Reports Location
Reports are saved in the MurajeaReports/ folder inside your project directory:
D:\MyProject\MurajeaReports/
âââ review_20260326_163822.md # Combined Markdown report
âââ review_20260326_163822_UserService.pdf # PDF per file
âââ review_20260326_163822_UserService.html # HTML per file
âââ review_20260326_163822_OrderService.pdf
âī¸ Configuration
Create an appsettings.json file in the directory where you run the tool:
{
"Murajea": {
"Language": "en",
"AI": {
"Provider": "groq",
"Models": {
"Ollama": "codellama:7b-instruct",
"Groq": "llama-3.3-70b-versatile",
"DeepSeek": "deepseek-chat"
},
"Ollama": {
"BaseUrl": "http://localhost:11434"
},
"Groq": {
"ApiKey": "YOUR_GROQ_API_KEY"
},
"DeepSeek": {
"ApiKey": "YOUR_DEEPSEEK_API_KEY"
}
}
},
"OtherAppSettings": {
"some": "value"
}
}
Configuration Options
| Setting | Description | Default |
|---|---|---|
Language |
Interface language (ar or en) |
en |
AI.Provider |
AI provider (ollama, groq, deepseek) |
ollama |
AI.Models.* |
Model name for each provider | Provider-specific |
AI.Ollama.BaseUrl |
Ollama API endpoint | http://localhost:11434 |
AI.Groq.ApiKey |
Your Groq API key | Required for Groq |
AI.DeepSeek.ApiKey |
Your DeepSeek API key | Required for DeepSeek |
đ¤ AI Providers Setup
đš Ollama (Local â Free & Private)
Install Ollama from ollama.ai
Pull a model (recommended for code review):
ollama pull codellama:7b-instruct
- Start the Ollama server:
ollama serve
- Set the provider in
appsettings.json:
"AI": { "Provider": "ollama" }
đš Groq (Cloud â Fast & Free Tier)
Get your API key from console.groq.com
Set the provider and API key in
appsettings.json:
"AI": {
"Provider": "groq",
"Groq": { "ApiKey": "your-api-key-here" }
}
Free tier limits: 30 requests/minute, 1,000 requests/day
đš DeepSeek (Cloud â Powerful & Free Tier)
Get your API key from platform.deepseek.com
Set the provider and API key in
appsettings.json:
"AI": {
"Provider": "deepseek",
"DeepSeek": { "ApiKey": "your-api-key-here" }
}
Free tier: 500,000 tokens for new users
đ Understanding the Report
Executive Summary
| Metric | Description |
|---|---|
| Total Issues | Overall number of issues found |
| Critical | High-priority issues that need immediate attention |
| Warnings | Potential problems that should be addressed |
| Functions | Number of functions reviewed |
Code Quality Score
A score from 0â100 based on:
- Each issue reduces score by 5 points
- Critical issues reduce score by an additional 10 points
Issue Categories
| Severity | Description |
|---|---|
| đ´ Critical | Security vulnerabilities, potential crashes, data loss |
| â ī¸ Warning | Performance issues, code smells, best practice violations |
| âšī¸ Info | Suggestions for improvement, minor optimizations |
đ ī¸ Requirements
- .NET 8.0 SDK or later
For Ollama Provider
- Ollama installed
- At least 8GB RAM (16GB recommended)
For Cloud Providers
- Internet connection
- API key from the respective provider
đ Project Structure
AICodeReviewer/
âââ AICodeReviewer.Console/ # Main application
â âââ Program.cs # Entry point
â âââ Services/ # Report generators
â âââ Configuration/ # Configuration classes
â
âââ AICodeReviewer.Core/ # Core logic
â âââ AI/ # AI providers
â â âââ IAIProvider.cs
â â âââ AIReviewerFactory.cs
â â âââ Providers/
â â âââ OllamaProvider.cs
â â âââ GroqProvider.cs
â â âââ DeepSeekProvider.cs
â âââ Models/ # Data models
â âââ Interfaces/ # Interfaces
â âââ Services/ # Core services
â
âââ README.md
âââ LICENSE
âââ AICodeReviewer.sln
đ¤ Contributing
Contributions are welcome!
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature
- Commit your changes:
git commit -m 'Add some amazing feature'
- Push to your branch:
git push origin feature/amazing-feature
- Open a Pull Request
đ License
This project is licensed under the MIT License â see the LICENSE file for details.
đ Acknowledgments
- Ollama â for local LLM inference
- Groq â for fast cloud inference
- DeepSeek â for powerful code models
- QuestPDF â for PDF generation
- Microsoft.CodeAnalysis â for C# code analysis
đ§ Contact & Support
- GitHub Issues: Report a bug or request a feature
- Email: asmaa.elfatayry@gmail.com
Made with curiosity. Driven by care. Given freely â¨
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
This package has no dependencies.
Initial release - AI-powered code review for .NET