Skip to content

Commit 3e7d062

Browse files
authored
Update README.md
1 parent a53ad92 commit 3e7d062

1 file changed

Lines changed: 99 additions & 58 deletions

File tree

README.md

Lines changed: 99 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -1,117 +1,158 @@
11
<div align="center">
22
<img src="https://raw.githubusercontent.com/herin7/gitforme/main/gitforme/logo.png" alt="GitForMe Logo" width="150"/>
33
<h1>GitForMe</h1>
4-
<p><strong>Supercharge your open-source journey. Understand any codebase in minutes.</strong></p>
5-
4+
<p><strong>Understand any GitHub repository in minutes, not days.</strong></p>
5+
<p>Your AI-powered co-pilot for navigating, understanding, and contributing to open-source projects.</p>
6+
<br/>
67
<p>
7-
<a href="https://github.com/herin7/gitforme/actions/workflows/main_gfm-backend.yml"><img src="https://github.com/herin7/gitforme/actions/workflows/main_gfm-backend.yml/badge.svg" alt="Backend CI"></a>
8-
<a href="https://github.com/herin7/gitforme/actions/workflows/azure-static-web-apps-thankful-dune-02c682800.yml"><img src="https://github.com/herin7/gitforme/actions/workflows/azure-static-web-apps-thankful-dune-02c682800.yml/badge.svg" alt="Frontend CI"></a>
9-
<a href="https://github.com/herin7/gitforme/blob/main/LICENSE"><img src="https://img.shields.io/badge/License-MIT-blue.svg" alt="License: MIT"></a>
10-
<!-- Will add this later <a href="https://github.com/herin7/gitforme/releases"><img src="https://img.shields.io/github/v/release/herin7/gitforme" alt="GitHub release"></a> -->
11-
<a href="https://github.com/herin7/gitforme/issues"><img src="https://img.shields.io/github/issues/herin7/gitforme" alt="Issues"></a>
8+
<a href="https://www.gitforme.tech" target="_blank"><img src="https://img.shields.io/badge/Live_Demo-gitforme.tech-brightgreen?style=for-the-badge&logo=icloud" alt="Live Demo"></a>
9+
</p>
10+
<p>
11+
<a href="https://github.com/herin7/gitforme/releases"><img src="https://img.shields.io/github/v/release/herin7/gitforme?style=flat-square" alt="GitHub release"></a>
12+
<a href="https://github.com/herin7/gitforme/issues"><img src="https://img.shields.io/github/issues/herin7/gitforme?style=flat-square" alt="Issues"></a>
13+
<a href="https://github.com/herin7/gitforme/stargazers"><img src="https://img.shields.io/github/stars/herin7/gitforme?style=flat-square" alt="Stars"></a>
1214
</p>
1315
</div>
1416

1517
---
1618

17-
## 🚀 What is GitForMe?
18-
19-
GitForMe is an intelligent code exploration platform designed to help open-source developers and contributors rapidly understand and engage with any GitHub repository. By leveraging Large Language Models (LLMs), it creates a "superfast context" of a codebase, offering insights, answering questions, and providing a clear path to making your first contribution.
19+
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.
2020

21-
Simply paste a repository URL, and GitForMe generates a comprehensive, interactive dashboard that demystifies the architecture, identifies key areas, and helps you navigate the code with an AI-powered assistant, **GitBro**.
21+
**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.
2222

2323
## ✨ Key Features
2424

25-
Based on the core components `gitformeUi.jsx` and `app.py`, GitForMe offers:
26-
27-
* **🤖 AI-Powered Chatbot (GitBro)**: Ask questions about the codebase in natural language. GitBro uses context from the repository files to give you accurate, grounded answers.
28-
* **🌐 Interactive Repository Dashboard**: A centralized view that includes:
29-
* **Code Hotspots**: Visualize the most frequently changed files.
30-
* **Dependency Health**: Analyze project dependencies for risks and outdated packages.
31-
* **File & Directory Explorer**: Navigate the repository structure with ease.
32-
* **Issue Tracking**: View and understand open issues to find contribution opportunities.
33-
* **🧠 LLM Context Builder**: Select specific files or issues to build a focused context for the LLM, allowing for deeper, more specific analysis.
34-
* **Seamless GitHub Integration**: Log in with your GitHub account to get a personalized experience.
35-
* **Dynamic UI**: A fluid and responsive interface built with React and Framer Motion for a modern user experience.
36-
37-
## 🏛️ Architecture Overview
38-
39-
GitForMe operates on a modern, distributed architecture:
40-
41-
* **Frontend**: A responsive web application built with **React** and **Vite**, using TailwindCSS for styling. It's responsible for the user interface and all client-side interactions.
42-
* **Backend Server**: A **Node.js** and **Express** server that handles user authentication, interacts with the GitHub API to fetch repository data, and manages application logic.
43-
* **LLM Server**: A **Python** and **Flask** server that powers the AI capabilities. It uses `sentence-transformers` to generate embeddings, `FAISS` for efficient similarity search, and streams responses from an Azure-hosted OpenAI model.
44-
25+
* **🤖 AI-Powered Chat (GitBro)**: Ask questions about the codebase in natural language. GitBro uses the repository's context to give you accurate, grounded answers.
26+
* **📊 Interactive Dashboard**: Get a bird's-eye view of any repository with:
27+
* **Code Hotspots**: Instantly see the most active and complex files.
28+
* **Dependency Analysis**: Check for outdated packages and potential security risks.
29+
* **Contribution Insights**: Find "Good First Issues" and understand contributor activity.
30+
* **🧠 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.
31+
* **📂 Smart File Explorer**: Navigate the repository structure with an intuitive file tree.
32+
* **🚀 One-Click Setup**: Clone the repository and open it directly in VS Code with a single click.
33+
34+
## 🛠️ Tech Stack
35+
36+
![React](https://img.shields.io/badge/React-20232A?style=for-the-badge&logo=react&logoColor=61DAFB)
37+
![Vite](https://img.shields.io/badge/Vite-646CFF?style=for-the-badge&logo=vite&logoColor=white)
38+
![Node.js](https://img.shields.io/badge/Node.js-339933?style=for-the-badge&logo=nodedotjs&logoColor=white)
39+
![Express.js](https://img.shields.io/badge/Express.js-000000?style=for-the-badge&logo=express&logoColor=white)
40+
![Python](https://img.shields.io/badge/Python-3776AB?style=for-the-badge&logo=python&logoColor=white)
41+
![Flask](https://img.shields.io/badge/Flask-000000?style=for-the-badge&logo=flask&logoColor=white)
42+
![Tailwind CSS](https://img.shields.io/badge/Tailwind_CSS-06B6D4?style=for-the-badge&logo=tailwindcss&logoColor=white)
43+
![Framer Motion](https://img.shields.io/badge/Framer_Motion-0055FF?style=for-the-badge&logo=framer&logoColor=white)
44+
![FAISS](https://img.shields.io/badge/FAISS-4A90E2?style=for-the-badge&logo=facebook&logoColor=white)
45+
![Azure](https://img.shields.io/badge/Azure-0078D4?style=for-the-badge&logo=microsoftazure&logoColor=white)
46+
47+
## 🏛️ How It Works: Architecture
48+
49+
GitForMe uses a microservice architecture to separate concerns and ensure scalability.
50+
51+
52+
1. **Frontend**: The user interacts with a responsive web app built with React, Vite, and Framer Motion.
53+
2. **Backend**: A Node.js/Express server handles user authentication, fetches repository data via the GitHub API, and coordinates with the LLM server.
54+
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).
55+
## 📸 Screenshots
56+
<div align="center" style="display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 20px; margin: 20px 0;">
57+
<div>
58+
<img src="https://github.com/herin7/gitforme/raw/main/sc/ll3.png" alt="File Explorer" style="width: 100%; max-height: 300px; object-fit: contain; border: 1px solid #ddd; border-radius: 8px;"/>
59+
<p><em>Landing Page</em></p>
60+
</div>
61+
</div>
4562

46-
## 🛠️ Getting Started
63+
## 🚀 Get It Running Locally
4764

48-
To get a local copy up and running, follow these simple steps.
65+
Want to run GitForMe on your own machine? Here’s how.
4966

5067
### Prerequisites
68+
* [Node.js](https://nodejs.org/) (v18+) and npm
69+
* [Python](https://www.python.org/) (v3.8+) and pip
70+
* [Git](https://git-scm.com/)
71+
* An Azure OpenAI API Key (or you can adapt the code for another LLM provider)
5172

52-
* Node.js and npm
53-
* Python 3.8+ and pip
54-
* Git
55-
* An Azure OpenAI API Key (or other LLM provider)
5673

57-
### Installation
74+
### Installation Guide
5875

59-
1. **Clone the repository:**
76+
<details>
77+
<summary>Click to view step-by-step installation instructions</summary>
78+
79+
1. **Clone the Repository**
6080
```sh
6181
git clone [https://github.com/herin7/gitforme.git](https://github.com/herin7/gitforme.git)
6282
cd gitforme
6383
```
6484

65-
2. **Setup the Backend Server:**
85+
2. **Setup the Backend Server**
6686
```sh
6787
cd server
6888
npm install
69-
# Create a .env file and add your GitHub credentials
89+
```
90+
Create a `.env` file and add your GitHub OAuth credentials:
91+
```env
92+
GITHUB_CLIENT_ID=your_client_id
93+
GITHUB_CLIENT_SECRET=your_client_secret
94+
```
95+
Then, start the server:
96+
```sh
7097
npm start
7198
```
7299

73-
3. **Setup the LLM Server:**
100+
3. **Setup the LLM Server**
74101
```sh
75102
cd ../llm-server
76103
pip install -r requirements.txt
77-
# Create a .env file and add your AZURE_OPENAI_KEY and other credentials
104+
```
105+
Create a `.env` file and add your Azure OpenAI credentials:
106+
```env
107+
AZURE_OPENAI_KEY=your_key
108+
AZURE_OPENAI_ENDPOINT=your_endpoint
109+
AZURE_OPENAI_DEPLOYMENT=your_deployment_name
110+
```
111+
Then, start the server:
112+
```sh
78113
flask run
79114
```
80115

81-
4. **Setup the Frontend:**
116+
4. **Setup the Frontend**
82117
```sh
83118
cd ../gitforme
84119
npm install
85-
# Create a .env file with VITE_API_URL pointing to your backend server
120+
```
121+
Create a `.env.local` file and add the URL of your backend server:
122+
```env
123+
VITE_API_URL=http://localhost:3001
124+
```
125+
Then, start the development server:
126+
```sh
86127
npm run dev
87128
```
129+
Your local GitForMe instance should now be running at `http://localhost:5173`!
130+
131+
</details>
88132

89133
## 💖 How to Contribute
90134

91-
We welcome contributions from the open-source community! If you're looking to help, here’s how you can get started:
135+
We welcome contributions from the open-source community with open arms! If you're looking to help, here’s how you can get started.
92136
93-
1. **Fork the Project.**
94-
2. **Create your Feature Branch** (`git checkout -b feature/AmazingFeature`).
95-
3. **Commit your Changes** (`git commit -m 'Add some AmazingFeature'`).
96-
4. **Push to the Branch** (`git push origin feature/AmazingFeature`).
97-
5. **Open a Pull Request.**
137+
1. Fork the Project
138+
2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)
139+
3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`)
140+
4. Push to the Branch (`git push origin feature/AmazingFeature`)
141+
5. Open a Pull Request
98142
99143
### Good First Issues
100-
101-
Looking for a place to start? Check out these areas:
102-
* **Improve UI/UX**: Enhance the styling of components or improve the mobile responsiveness.
144+
Looking for an easy way to start? Check out these areas:
145+
* **Improve UI/UX**: Enhance the styling of components or improve mobile responsiveness.
103146
* **Add More File Parsers**: Extend the `summarize_code` function in `app.py` to support more languages.
104147
* **Enhance Error Handling**: Improve error messages and user feedback across the application.
105-
* **Write Unit/Integration Tests**: We always need more tests!
148+
* **Write Tests**: We always need more unit and integration tests!
106149
107150
## 📄 License
108151
109-
Distributed under the MIT License. See `LICENSE` for more information.
152+
Distributed under the MIT License. See `LICENSE.txt` for more information.
110153
111154
## 📧 Contact
112155
113156
Herin - [@herin7](https://github.com/herin7)
114157
115158
Project Link: [https://github.com/herin7/gitforme](https://github.com/herin7/gitforme)
116-
117-
---

0 commit comments

Comments
 (0)