https://github.com/yancotta/repospector-ai
An AI-powered multi-agent system built with CrewAI that automatically reviews GitHub repositories. Get expert-level feedback on your code structure, documentation, and best practices.
https://github.com/yancotta/repospector-ai
agentic ai ai-engineering cicd crewai langchain llm llmops multi-agent
Last synced: 25 days ago
JSON representation
An AI-powered multi-agent system built with CrewAI that automatically reviews GitHub repositories. Get expert-level feedback on your code structure, documentation, and best practices.
- Host: GitHub
- URL: https://github.com/yancotta/repospector-ai
- Owner: YanCotta
- License: mit
- Created: 2025-07-10T12:25:11.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2025-07-10T15:21:30.000Z (11 months ago)
- Last Synced: 2025-09-16T01:51:54.250Z (9 months ago)
- Topics: agentic, ai, ai-engineering, cicd, crewai, langchain, llm, llmops, multi-agent
- Language: Python
- Homepage: https://app.readytensor.ai/publications/9b8WaN3Dyh9Q
- Size: 45.9 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ๐ RepoSpector AI
[](https://www.python.org/downloads/)
[](https://opensource.org/licenses/MIT)
[](https://github.com/psf/black)
[](https://github.com/astral-sh/ruff)
[](https://github.com/YanCotta/repospector-ai/actions)
An AI-powered multi-agent system built with CrewAI that automatically reviews GitHub repositories. Get expert-level feedback on your code structure, documentation, and best practices.
## ๐ฏ Project Status
- โ
**Production Ready**: Full CI/CD pipeline with automated testing
- โ
**Type Safe**: Complete MyPy type checking with Python 3.12+ support
- โ
**Code Quality**: Automated formatting with Black and linting with Ruff
- โ
**Well Tested**: Comprehensive test suite with coverage reporting
- โ
**Modern Standards**: Pre-commit hooks and professional development workflow
## โจ Features
- ๐ค **Multi-Agent Analysis**: Three specialized AI agents (RepoAnalyst, DocumentationSpecialist, ChiefReviewer)
- ๐ **Comprehensive Reports**: Detailed markdown reports with scores, strengths, and improvement suggestions
- ๐ง **Professional Structure**: Clean architecture with proper logging, configuration, and error handling
- ๏ฟฝ๏ธ **Modern Web Interface**: Beautiful Streamlit dashboard with real-time progress tracking
- ๐ **Secure**: Environment-based API key management
- ๐งช **Well-Tested**: Comprehensive unit tests with coverage reporting
## ๐๏ธ Architecture
### AI Agents
- **RepoAnalyst**: Senior Software Engineer specializing in code repository structure analysis
- **DocumentationSpecialist**: Technical Writer focused on README evaluation and documentation quality
- **ChiefReviewer**: Principal Engineer who synthesizes findings into actionable reports
### Technology Stack
- **CrewAI**: Multi-agent orchestration framework
- **LangChain**: LLM integration and tooling
- **OpenAI GPT-4**: Advanced language model for analysis
- **Streamlit**: Modern web framework for interactive dashboards
- **Pydantic**: Data validation and settings management
## ๐ Quick Start
### Prerequisites
- Python 3.12 or higher
- OpenAI API key
### Installation
1. **Clone the repository:**
```bash
git clone https://github.com/YanCotta/repospector-ai.git
cd repospector-ai
```
2. **Create and activate virtual environment:**
```bash
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
```
3. **Install dependencies:**
```bash
pip install -r requirements.txt
pip install -e . # Install in development mode
```
4. **Set up environment variables:**
```bash
cp .env.example .env
# Edit .env and add your OpenAI API key
```
### Usage
**Start the web application:**
```bash
streamlit run app.py
```
**Open your browser and go to:**
```
http://localhost:8501
```
**Enter your OpenAI API key in the sidebar and paste a GitHub repository URL to analyze!**
## ๐ Requirements
### API Keys Required
- **OpenAI API Key**: Required for LLM analysis
- **SerpAPI Key**: Optional, for enhanced web search capabilities
### Environment Variables
Create a `.env` file with:
```bash
OPENAI_API_KEY=your_openai_api_key_here
# SERPAPI_API_KEY=your_serpapi_key_here # Optional
```
## ๐งช Development
### CI/CD Pipeline
This project includes a comprehensive CI/CD pipeline that runs on every push and pull request:
- **Code Quality**: Automated linting, formatting, and type checking
- **Testing**: Full test suite with coverage reporting
- **Security**: Automated security scanning with Bandit and Safety
- **Build**: Package building and distribution validation
- **Docker**: Container build verification
All checks must pass before code can be merged, ensuring high code quality and reliability.
### Running Tests
```bash
# Activate virtual environment
source .venv/bin/activate
# Run tests with coverage
pytest
# Run tests with detailed coverage report
pytest --cov-report=html
```
### Code Quality
```bash
# Install pre-commit hooks
pre-commit install
# Run code formatting
black src/ tests/
# Run linting and auto-fixes
ruff check --fix src/ tests/
# Run type checking
mypy src/
# Run all pre-commit checks
pre-commit run --all-files
```
### Development Installation
```bash
# Install development dependencies
pip install -r requirements-dev.txt
# Install pre-commit hooks
pre-commit install
```
## ๐ Example Output
When you run RepoSpector AI on a repository, you'll get a comprehensive markdown report displayed in the web interface and available for download.
## ๐๏ธ Project Structure
```text
repospector-ai/
โโโ app.py # Streamlit web application
โโโ src/repospector_ai/ # Main source code
โ โโโ __init__.py
โ โโโ agents.py # CrewAI agents
โ โโโ tasks.py # CrewAI tasks
โ โโโ core/ # Core utilities
โ โ โโโ config.py # Configuration management
โ โ โโโ logger.py # Centralized logging
โ โโโ tools/ # Custom tools
โ โโโ repo_analysis_tool.py # Repository analysis
โโโ tests/ # Unit tests
โ โโโ test_config.py # Configuration tests
โ โโโ test_logger.py # Logging tests
โ โโโ test_init.py # Package tests
โโโ docs/ # Documentation
โโโ .github/workflows/ # CI/CD pipeline
โโโ .env.example # Environment template
โโโ .gitignore # Git ignore rules
โโโ .pre-commit-config.yaml # Code quality hooks
โโโ Dockerfile # Container configuration
โโโ pyproject.toml # Modern Python configuration
โโโ requirements.txt # Core dependencies
โโโ requirements-dev.txt # Development dependencies
โโโ setup.py # Package configuration
```
## ๐ค Contributing
1. Fork the repository
2. Create a feature branch (`git checkout -b feature/amazing-feature`)
3. Commit your changes (`git commit -m 'Add amazing feature'`)
4. Push to the branch (`git push origin feature/amazing-feature`)
5. Open a Pull Request
## ๐ License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## ๐ Acknowledgments
- Built with [CrewAI](https://github.com/joaomdmoura/crewAI) for multi-agent orchestration
- Powered by [OpenAI GPT-4](https://openai.com/) for intelligent analysis
- Web interface built with [Streamlit](https://streamlit.io/) for modern dashboards
---
**Made with โค๏ธ by [YanCotta](https://github.com/YanCotta)**