Skip to content

herin7/gitforme

Repository files navigation

GitForMe Logo

GitForMe

Understand any GitHub repository in minutes, not days.

Your AI-powered co-pilot for navigating, understanding, and contributing to open-source projects.


Live Demo

GitHub release Issues Stars


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.

✨ Key Features

  • 🤖 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.

🛠️ Tech Stack

React Vite Node.js Express.js Python Flask Tailwind CSS Framer Motion FAISS Azure

🏛️ How It Works: Architecture

GitForMe uses a microservice architecture to separate concerns and ensure scalability.

  1. Frontend: The user interacts with a responsive web app built with React, Vite, and Framer Motion.
  2. Backend: A Node.js/Express server handles user authentication, fetches repository data via the GitHub API, and coordinates with the LLM server.
  3. LLM Server: A Python/Flask server manages all AI-powered tasks. It creates vector embeddings of the code (sentence-transformers), stores them in a FAISS index for fast retrieval, and streams responses from the language model (e.g., Azure OpenAI).

📸 Screenshots

File Explorer

Landing Page

🚀 Get It Running Locally

Want to run GitForMe on your own machine? Here’s how.

Prerequisites

  • 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)

Installation Guide

Click to view step-by-step installation instructions
  1. Clone the Repository

    git clone [https://github.com/herin7/gitforme.git](https://github.com/herin7/gitforme.git)
    cd gitforme
  2. 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
  3. 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
  4. 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!

💖 How to Contribute

We welcome contributions from the open-source community with open arms! If you're looking to help, here’s how you can get started.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Good First Issues

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 in app.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!

📄 License

Distributed under the MIT License. See LICENSE.txt for more information.

📧 Contact

Herin - @herin7

Project Link: https://github.com/herin7/gitforme

About

AI-powered GitHub code explorer — understand any repo in minutes, not days.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published