Skip to content

Commit 73cf822

Browse files
committed
Merge branch 'main' of https://github.com/herin7/gitforme
2 parents e16f588 + 6b6f23a commit 73cf822

1 file changed

Lines changed: 117 additions & 0 deletions

File tree

README.md

Lines changed: 117 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,117 @@
1+
<div align="center">
2+
<img src="https://raw.githubusercontent.com/herin7/gitforme/main/gitforme/logo.png" alt="GitForMe Logo" width="150"/>
3+
<h1>GitForMe</h1>
4+
<p><strong>Supercharge your open-source journey. Understand any codebase in minutes.</strong></p>
5+
6+
<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>
12+
</p>
13+
</div>
14+
15+
---
16+
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.
20+
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**.
22+
23+
## ✨ Key Features
24+
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+
45+
46+
## 🛠️ Getting Started
47+
48+
To get a local copy up and running, follow these simple steps.
49+
50+
### Prerequisites
51+
52+
* Node.js and npm
53+
* Python 3.8+ and pip
54+
* Git
55+
* An Azure OpenAI API Key (or other LLM provider)
56+
57+
### Installation
58+
59+
1. **Clone the repository:**
60+
```sh
61+
git clone [https://github.com/herin7/gitforme.git](https://github.com/herin7/gitforme.git)
62+
cd gitforme
63+
```
64+
65+
2. **Setup the Backend Server:**
66+
```sh
67+
cd server
68+
npm install
69+
# Create a .env file and add your GitHub credentials
70+
npm start
71+
```
72+
73+
3. **Setup the LLM Server:**
74+
```sh
75+
cd ../llm-server
76+
pip install -r requirements.txt
77+
# Create a .env file and add your AZURE_OPENAI_KEY and other credentials
78+
flask run
79+
```
80+
81+
4. **Setup the Frontend:**
82+
```sh
83+
cd ../gitforme
84+
npm install
85+
# Create a .env file with VITE_API_URL pointing to your backend server
86+
npm run dev
87+
```
88+
89+
## 💖 How to Contribute
90+
91+
We welcome contributions from the open-source community! If you're looking to help, here’s how you can get started:
92+
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.**
98+
99+
### 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.
103+
* **Add More File Parsers**: Extend the `summarize_code` function in `app.py` to support more languages.
104+
* **Enhance Error Handling**: Improve error messages and user feedback across the application.
105+
* **Write Unit/Integration Tests**: We always need more tests!
106+
107+
## 📄 License
108+
109+
Distributed under the MIT License. See `LICENSE` for more information.
110+
111+
## 📧 Contact
112+
113+
Herin - [@herin7](https://github.com/herin7)
114+
115+
Project Link: [https://github.com/herin7/gitforme](https://github.com/herin7/gitforme)
116+
117+
---

0 commit comments

Comments
 (0)