The Repository Analyzer is a Rust-based application designed to retrieve code files from a Git repository, filter out non-code files, and analyze the implementation of specified requirements using the Gemini LLM. This tool aims to streamline the process of understanding codebases by focusing on relevant code files.
repo-analyzer
├── src
│ ├── main.rs # Entry point of the application
│ ├── git.rs # Functions for interacting with Git repositories
│ ├── filter.rs # Logic for filtering out non-code files
│ ├── gemini.rs # Communication with the Gemini LLM
│ └── prompt.rs # Construction of prompts for the LLM
├── Cargo.toml # Project configuration and dependencies
└── README.md # Documentation for the project
- Clone Git repositories and retrieve file structures.
- Filter out non-code files such as
.gitignore,README.md, and test files. - Communicate with the Gemini LLM to analyze code and verify requirement implementations.
- Ensure you have Rust and Cargo installed on your machine.
- Clone the repository:
git clone <repository-url> cd repo-analyzer - Build the project:
cargo build - Run the application:
cargo run
To use the Repository Analyzer, provide the URL of the Git repository and the requirements you want to analyze. The application will handle the rest, filtering the files and communicating with the Gemini LLM to provide insights on the implementation of the specified requirements.
Contributions are welcome! Please submit a pull request or open an issue for any enhancements or bug fixes.
This project is licensed under the MIT License. See the LICENSE file for more details.