Repo Explorer is an intelligent developer tool that allows you to have a conversation with any GitHub repository. By leveraging RAG (Retrieval-Augmented Generation) and LLMs, it helps you understand codebases faster, find bugs, and generate documentation effortlessly.
- Chat with Codebase: Ask questions about architecture, specific functions, or logic flow.
- Smart Ingestion: Automatically clones, processes, and embeds repository content for semantic search.
- README Generator: Generate comprehensive README files for any project with a single click.
- Secure Authentication: User accounts and data persisted securely using MongoDB.
- Dark Mode: Fully responsive UI with seamless light/dark mode switching.
- Framework: Next.js 16 (App Router)
- UI Library: shadcn/ui
- Styling: Tailwind CSS
- State Management: React Context + Hooks
- API: FastAPI (Python)
- LLM Orchestration: LangChain
- Vector Store: Pinecone
- Database: MongoDB
- AI Models: Ollama (Local) / Gemini (Cloud)
- Node.js 18+
- Python 3.10+
- MongoDB instance (Local or Atlas)
- Pinecone API Key
- Ollama (for local inference)
-
Clone the repository
git clone https://github.com/yourusername/repo-explorer.git cd repo-explorer -
Setup Backend
cd server python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate pip install -r requirements.txt
Create a
.envfile inserver/with your API keys (Pinecone, MongoDB, etc.). -
Setup Frontend
cd client npm install
-
Start the Backend Server
# In server/ directory uvicorn main:app --reload -
Start the Frontend Client
# In client/ directory npm run dev -
Open http://localhost:3000 in your browser.
- Sign Up/Login: Create an account to save your sessions.
- Ingest a Repo: Paste a GitHub URL (e.g.,
https://github.com/facebook/react) into the chat. - Start Chatting: Ask "How does the reconciliation algorithm work?" or "Where is the entry point?".
- Generate Docs: Switch to the README tab to generate documentation for the repo.
Contributions are welcome! Please read our Contributing Guide for details on our code of conduct and the process for submitting pull requests.
This project is licensed under the Apache 2.0 License - see the LICENSE file for details.
