An AI-powered Streamlit application that helps you chat with GitHub repos, discover beginner-friendly issues, and soon track project progress, schedule reminders, and explore related work using semantic search.
- 🗨️ Chat with Repos — Use natural language to ask questions about your project’s code and documentation.
- 🧑💻 First-Time Contributor Assistant — Automatically ranks and summarizes the best beginner issues from GitHub.
- 📦 Multi-Repo Support — Easily switch between multiple indexed repositories.
- ⚡ Smart Caching — Fast, on-demand loading of issue summaries and search results.
- 🔍 (Upcoming) Semantic Search — Find related projects or research papers using embeddings.
- ⏰ (Upcoming) Reminder System — Schedule one-time or recurring reminders for projects or tasks.
- 📊 (Upcoming) Project Dashboard — Visualize project timelines, due dates, and contribution activity.
| Component | Technology |
|---|---|
| Web Framework | Streamlit |
| LLM Orchestration | LangChain |
| Embeddings | OpenAI (text-embedding-3-large) |
| Vector Store | FAISS (with pluggable support) |
| Database | MongoDB (for project metadata) |
| Environment Mgmt | python-dotenv |
-
Clone the repo
git clone https://github.com/your-username/repomentor.git cd repomentor -
Set up a virtual environment
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
-
Install dependencies
pip install -r requirements.txt
-
Configure environment variables
Create a
.envfile based on the provided template:OPENAI_API_KEY=your_openai_key GITHUB_PERSONAL_ACCESS_TOKEN=your_github_pat
Launch the app:
streamlit run Home.pyThen open your browser at: http://localhost:8501
- 🧠 RepoMentor (Home) — Discover beginner issues, see smart summaries, and chat with GitHub repos.
- 💬 Chat — Ask technical questions about any indexed repository.
- 👀 Project Index — Add or manage GitHub projects (automatically creates a vector store for chat).
- (Coming Soon) Search & Reminders — Semantic search and deadline tracking features.
- Vector Index Path: Stored per repo in
issueDB/<repo_name>/ - MongoDB: Stores
repo_full_name, vector path, and_idfor linking - Caching: Enabled via
@st.cache_datafor fast, repeated queries - LLM: Used for summarizing issues and enabling guided onboarding
- Nothing loads? Make sure your
.envis set andOPENAI_API_KEYis valid. - GitHub issues return 0? Check if the repo has
help wantedorgood first issuelabels. - Chat not working? Ensure the vector store for that repo was successfully built.
We welcome contributions!
- Fork this repo
- Create your branch:
git checkout -b feature/YourFeature - Commit your changes
- Push and open a PR 🚀
Built with ❤️ to help contributors find their path and repos find their people.