A powerful system that leverages CrewAI Flows to automatically generate comprehensive documentation for any public GitHub repository. This project employs multiple specialized AI agents working collaboratively to produce high-quality, accurate documentation tailored to your codebase.
- Multi-Agent Workflow: Specialized agents collaborate to analyze and document your code.
- Automated Documentation: Full lifecycle coverage, from analysis to review.
- NVIDIA NIM Integration: Harnesses NVIDIA's llama-3.3-70b and NeMo Retriever E5 embedding models.
- Mermaid Diagram Support: Automatically generates architecture and flow diagrams.
- Quality Assurance: Ensures accuracy, consistency, and completeness with a built-in review process.
The system employs a multi-agent workflow divided into two key stages:
- WebsiteSearchTool: This tool is used to embed and index mermaid examples from mermaid.js.org website using NVIDIA NeMo Retriever E5 embedding NIM.
- Codebase Analysis and Strategy Planning:
- Analyze Codebase: Planner agents inspect the repository to map its structure, identify key components, and understand interdependencies.
- Develop Strategy: They create a tailored documentation plan based on the analysis.
- Documentation Creation and Review:
- Python 3.10+
- NVIDIA API Key
- Clone this repository
- Install dependencies:
pip install -r requirements.txt
- Set up your environment variables (see below).
- Run the Jupyter notebook.
- Generated documentation will be available in the
docs
directory.
- Visit NVIDIA NIM.
- Select the llama-3.3-70b-instruct model.
- Retrieve your API key from the right panel.
- Set your environment variables:
Alternatively, create a
export NVIDIA_NIM_API_KEY=your_api_key
.env
file in the project root:NVIDIA_NIM_API_KEY=your_api_key
The system generates multiple types of documentation, including:
- Project Overview
- Architecture Documentation
- Component Documentation
- Integration Guides
- API Documentation
- Setup Instructions
We welcome contributions! To get involved:
- Fork the repository.
- Create a feature branch:
git checkout -b feature/your-feature-name
- Commit your changes:
git commit -m "Add feature X"
- Push to your branch:
git push origin feature/your-feature-name
- Submit a Pull Request.
This project is licensed under the MIT License.
Built with ❤️ using CrewAI and NVIDIA AI.
Today, we are thrilled to announce a major collaboration with NVIDIA, fully integrating CrewAI with NVIDIA NIM microservices—part of the NVIDIA AI Enterprise software platform. This integration empowers developers to harness high-performance inference capabilities for the latest foundation models, enabling scalable and secure deployment of AI agents across various industries and workflows.
While this demo focuses on automating project documentation, the collaboration paves the way for unlocking the full potential of AI agents across industries. Our shared goal is to make AI agents more autonomous, accessible, and transformative for organizations worldwide.