Git Repository AI Assistant is a web-based tool that allows users to analyze and interact with a Git repository using AI. By entering a Git repository URL, the system clones the repository, processes its code, and enables users to ask questions related to the repo. The AI provides answers based on the embedded repository data.
This project is powered by a Retrieval-Augmented Generation (RAG) system using a local LLM (Large Language Model) and a vector database (FAISS) for efficient search and retrieval.
- Clone & Process Git Repositories: Enter a GitHub repository URL, and the system will fetch and process the code.
- LLM-powered Q&A: Ask questions about the repository, and the AI will respond based on the code and documentation.
- Local & Secure: Runs completely locally without requiring cloud-based AI services.
- Frontend: React (Vite), TailwindCSS
- Backend: Python (FastAPI)
- LLM & AI Processing: FAISS for vector search, LLaMA/Mistral for LLM-based responses
- Dependencies:
- Node.js (for frontend)
- Python 3+ (for backend & AI model)
Follow these steps to set up and run the project on your local machine:
- Navigate to the
frontendfolder:cd frontend - Install dependencies:
npm i
- Start the development server:
npm run dev
- Navigate to the
backendfolder:cd backend - Run the backend services:
python main.py python llm.py
- Open your browser and go to:
http://localhost:3000 - Enter a Git repository URL and start interacting with the AI!
- Automatic Repo Updates: Periodically sync and update indexed repositories.
- Code Change Impact Analysis: Identify the effects of code modifications.
- Refactoring Suggestions: Use AI to recommend code improvements.
- If you encounter package installation issues, try deleting
node_modulesand runningnpm installagain. - Ensure you have Python 3+ installed and the required libraries (
pip install -r requirements.txt). - Check that ports
3000(frontend) and8000(backend) are available.
This project is open-source under the MIT License.
Feel free to contribute by creating pull requests, reporting issues, or suggesting features!