
Understand any GitHub repository in minutes, not days.
Your AI-powered co-pilot for navigating, understanding, and contributing to open-source projects.
Jumping into a new, complex GitHub repository can feel like navigating an ocean without a map. That initial "where do I even start?" moment is a real blocker for developers who want to contribute to open-source.
GitForMe is an intelligent code exploration platform that solves this problem. Just paste a repository URL, and GitForMe generates a comprehensive, interactive dashboard that demystifies the codebase, helping you make your first contribution faster than ever.
- 🤖 AI-Powered Chat (GitBro): Ask questions about the codebase in natural language. GitBro uses the repository's context to give you accurate, grounded answers.
- 📊 Interactive Dashboard: Get a bird's-eye view of any repository with:
- Code Hotspots: Instantly see the most active and complex files.
- Dependency Analysis: Check for outdated packages and potential security risks.
- Contribution Insights: Find "Good First Issues" and understand contributor activity.
- 🧠 Super Context Builder: Select specific files, folders, or issues to create a focused context, then copy it to your favorite LLM (ChatGPT, Claude, Gemini) for deeper analysis.
- 📂 Smart File Explorer: Navigate the repository structure with an intuitive file tree.
- 🚀 One-Click Setup: Clone the repository and open it directly in VS Code with a single click.
GitForMe uses a microservice architecture to separate concerns and ensure scalability.
- Frontend: The user interacts with a responsive web app built with React, Vite, and Framer Motion.
- Backend: A Node.js/Express server handles user authentication, fetches repository data via the GitHub API, and coordinates with the LLM server.
- LLM Server: A Python/Flask server manages all AI-powered tasks. It creates vector embeddings of the code (
sentence-transformers
), stores them in aFAISS
index for fast retrieval, and streams responses from the language model (e.g., Azure OpenAI).
Want to run GitForMe on your own machine? Here’s how.
- Node.js (v18+) and npm
- Python (v3.8+) and pip
- Git
- An Azure OpenAI API Key (or you can adapt the code for another LLM provider)
Click to view step-by-step installation instructions
-
Clone the Repository
git clone [https://github.com/herin7/gitforme.git](https://github.com/herin7/gitforme.git) cd gitforme
-
Setup the Backend Server
cd server npm install
Create a
.env
file and add your GitHub OAuth credentials:GITHUB_CLIENT_ID=your_client_id GITHUB_CLIENT_SECRET=your_client_secret
Then, start the server:
npm start
-
Setup the LLM Server
cd ../llm-server pip install -r requirements.txt
Create a
.env
file and add your Azure OpenAI credentials:AZURE_OPENAI_KEY=your_key AZURE_OPENAI_ENDPOINT=your_endpoint AZURE_OPENAI_DEPLOYMENT=your_deployment_name
Then, start the server:
flask run
-
Setup the Frontend
cd ../gitforme npm install
Create a
.env.local
file and add the URL of your backend server:VITE_API_URL=http://localhost:3001
Then, start the development server:
npm run dev
Your local GitForMe instance should now be running at http://localhost:5173
!
We welcome contributions from the open-source community with open arms! If you're looking to help, here’s how you can get started.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Looking for an easy way to start? Check out these areas:
- Improve UI/UX: Enhance the styling of components or improve mobile responsiveness.
- Add More File Parsers: Extend the
summarize_code
function inapp.py
to support more languages. - Enhance Error Handling: Improve error messages and user feedback across the application.
- Write Tests: We always need more unit and integration tests!
Distributed under the MIT License. See LICENSE.txt
for more information.
Herin - @herin7
Project Link: https://github.com/herin7/gitforme