{"id":31073600,"url":"https://github.com/yancotta/repospector-ai","last_synced_at":"2026-05-18T09:07:53.197Z","repository":{"id":303997318,"uuid":"1017364808","full_name":"YanCotta/repospector-ai","owner":"YanCotta","description":"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.","archived":false,"fork":false,"pushed_at":"2025-07-10T15:21:30.000Z","size":47,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-09-16T01:51:54.250Z","etag":null,"topics":["agentic","ai","ai-engineering","cicd","crewai","langchain","llm","llmops","multi-agent"],"latest_commit_sha":null,"homepage":"https://app.readytensor.ai/publications/9b8WaN3Dyh9Q","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/YanCotta.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-07-10T12:25:11.000Z","updated_at":"2025-07-11T18:02:28.000Z","dependencies_parsed_at":"2025-07-10T21:23:38.743Z","dependency_job_id":null,"html_url":"https://github.com/YanCotta/repospector-ai","commit_stats":null,"previous_names":["yancotta/repospector-ai"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/YanCotta/repospector-ai","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YanCotta%2Frepospector-ai","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YanCotta%2Frepospector-ai/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YanCotta%2Frepospector-ai/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YanCotta%2Frepospector-ai/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/YanCotta","download_url":"https://codeload.github.com/YanCotta/repospector-ai/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YanCotta%2Frepospector-ai/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33172173,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-18T05:43:36.989Z","status":"ssl_error","status_checked_at":"2026-05-18T05:43:19.133Z","response_time":71,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agentic","ai","ai-engineering","cicd","crewai","langchain","llm","llmops","multi-agent"],"created_at":"2025-09-16T01:51:01.049Z","updated_at":"2026-05-18T09:07:53.179Z","avatar_url":"https://github.com/YanCotta.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🔍 RepoSpector AI\n\n[![Python 3.12+](https://img.shields.io/badge/python-3.12+-blue.svg)](https://www.python.org/downloads/)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)\n[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)\n[![CI Pipeline](https://github.com/YanCotta/repospector-ai/workflows/CI%20Pipeline/badge.svg)](https://github.com/YanCotta/repospector-ai/actions)\n\nAn 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.\n\n## 🎯 Project Status\n\n- ✅ **Production Ready**: Full CI/CD pipeline with automated testing\n- ✅ **Type Safe**: Complete MyPy type checking with Python 3.12+ support\n- ✅ **Code Quality**: Automated formatting with Black and linting with Ruff\n- ✅ **Well Tested**: Comprehensive test suite with coverage reporting\n- ✅ **Modern Standards**: Pre-commit hooks and professional development workflow\n\n## ✨ Features\n\n- 🤖 **Multi-Agent Analysis**: Three specialized AI agents (RepoAnalyst, DocumentationSpecialist, ChiefReviewer)\n- 📊 **Comprehensive Reports**: Detailed markdown reports with scores, strengths, and improvement suggestions\n- 🔧 **Professional Structure**: Clean architecture with proper logging, configuration, and error handling\n- �️ **Modern Web Interface**: Beautiful Streamlit dashboard with real-time progress tracking\n- 🔒 **Secure**: Environment-based API key management\n- 🧪 **Well-Tested**: Comprehensive unit tests with coverage reporting\n\n## 🏗️ Architecture\n\n### AI Agents\n- **RepoAnalyst**: Senior Software Engineer specializing in code repository structure analysis\n- **DocumentationSpecialist**: Technical Writer focused on README evaluation and documentation quality\n- **ChiefReviewer**: Principal Engineer who synthesizes findings into actionable reports\n\n### Technology Stack\n- **CrewAI**: Multi-agent orchestration framework\n- **LangChain**: LLM integration and tooling\n- **OpenAI GPT-4**: Advanced language model for analysis\n- **Streamlit**: Modern web framework for interactive dashboards\n- **Pydantic**: Data validation and settings management\n\n## 🚀 Quick Start\n\n### Prerequisites\n\n- Python 3.12 or higher\n- OpenAI API key\n\n### Installation\n\n1. **Clone the repository:**\n   ```bash\n   git clone https://github.com/YanCotta/repospector-ai.git\n   cd repospector-ai\n   ```\n\n2. **Create and activate virtual environment:**\n   ```bash\n   python -m venv .venv\n   source .venv/bin/activate  # On Windows: .venv\\Scripts\\activate\n   ```\n\n3. **Install dependencies:**\n   ```bash\n   pip install -r requirements.txt\n   pip install -e .  # Install in development mode\n   ```\n\n4. **Set up environment variables:**\n   ```bash\n   cp .env.example .env\n   # Edit .env and add your OpenAI API key\n   ```\n\n### Usage\n\n**Start the web application:**\n```bash\nstreamlit run app.py\n```\n\n**Open your browser and go to:**\n```\nhttp://localhost:8501\n```\n\n**Enter your OpenAI API key in the sidebar and paste a GitHub repository URL to analyze!**\n\n## 📋 Requirements\n\n### API Keys Required\n- **OpenAI API Key**: Required for LLM analysis\n- **SerpAPI Key**: Optional, for enhanced web search capabilities\n\n### Environment Variables\nCreate a `.env` file with:\n```bash\nOPENAI_API_KEY=your_openai_api_key_here\n# SERPAPI_API_KEY=your_serpapi_key_here  # Optional\n```\n\n## 🧪 Development\n\n### CI/CD Pipeline\n\nThis project includes a comprehensive CI/CD pipeline that runs on every push and pull request:\n\n- **Code Quality**: Automated linting, formatting, and type checking\n- **Testing**: Full test suite with coverage reporting\n- **Security**: Automated security scanning with Bandit and Safety\n- **Build**: Package building and distribution validation\n- **Docker**: Container build verification\n\nAll checks must pass before code can be merged, ensuring high code quality and reliability.\n\n### Running Tests\n```bash\n# Activate virtual environment\nsource .venv/bin/activate\n\n# Run tests with coverage\npytest\n\n# Run tests with detailed coverage report\npytest --cov-report=html\n```\n\n### Code Quality\n\n```bash\n# Install pre-commit hooks\npre-commit install\n\n# Run code formatting\nblack src/ tests/\n\n# Run linting and auto-fixes\nruff check --fix src/ tests/\n\n# Run type checking\nmypy src/\n\n# Run all pre-commit checks\npre-commit run --all-files\n```\n\n### Development Installation\n```bash\n# Install development dependencies\npip install -r requirements-dev.txt\n\n# Install pre-commit hooks\npre-commit install\n```\n\n## 📊 Example Output\n\nWhen you run RepoSpector AI on a repository, you'll get a comprehensive markdown report displayed in the web interface and available for download.\n\n## 🏗️ Project Structure\n\n```text\nrepospector-ai/\n├── app.py                       # Streamlit web application\n├── src/repospector_ai/          # Main source code\n│   ├── __init__.py\n│   ├── agents.py                # CrewAI agents\n│   ├── tasks.py                 # CrewAI tasks\n│   ├── core/                    # Core utilities\n│   │   ├── config.py            # Configuration management\n│   │   └── logger.py            # Centralized logging\n│   └── tools/                   # Custom tools\n│       └── repo_analysis_tool.py # Repository analysis\n├── tests/                       # Unit tests\n│   ├── test_config.py           # Configuration tests\n│   ├── test_logger.py           # Logging tests\n│   └── test_init.py             # Package tests\n├── docs/                        # Documentation\n├── .github/workflows/           # CI/CD pipeline\n├── .env.example                 # Environment template\n├── .gitignore                   # Git ignore rules\n├── .pre-commit-config.yaml      # Code quality hooks\n├── Dockerfile                   # Container configuration\n├── pyproject.toml               # Modern Python configuration\n├── requirements.txt             # Core dependencies\n├── requirements-dev.txt         # Development dependencies\n└── setup.py                     # Package configuration\n```\n\n## 🤝 Contributing\n\n1. Fork the repository\n2. Create a feature branch (`git checkout -b feature/amazing-feature`)\n3. Commit your changes (`git commit -m 'Add amazing feature'`)\n4. Push to the branch (`git push origin feature/amazing-feature`)\n5. Open a Pull Request\n\n## 📝 License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## 🙏 Acknowledgments\n\n- Built with [CrewAI](https://github.com/joaomdmoura/crewAI) for multi-agent orchestration\n- Powered by [OpenAI GPT-4](https://openai.com/) for intelligent analysis\n- Web interface built with [Streamlit](https://streamlit.io/) for modern dashboards\n\n---\n\n**Made with ❤️ by [YanCotta](https://github.com/YanCotta)**\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyancotta%2Frepospector-ai","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyancotta%2Frepospector-ai","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyancotta%2Frepospector-ai/lists"}