RepoGuide is an intelligent repository exploration tool that helps developers quickly understand unfamiliar codebases. It allows users to load a GitHub repository and ask questions about the code, helping developers onboard faster, analyze logic, and navigate projects efficiently.
Understanding a new codebase is difficult due to:
- Large project structures
- Lack of documentation
- Complex dependencies = Unknown module interactions
RepoGuide solves this by enabling intelligent code querying and repository analysis.
To create a tool that:
- Automatically analyzes repositories
- Enables natural-language code queries
- Helps developers understand projects faster
- Load GitHub repositories directly
- Ask questions about project code
- Code complexity estimation
- Risk detection in complex files
- Dependency & change impact insights
- Intelligent code explanations
- Developer-friendly interface
User Query
↓
Frontend UI (Streamlit)
↓
Backend API (FastAPI)
↓
Repository Loader & Parser
↓
Embedding Generation
↓
Vector Index (FAISS)
↓
Retriever + Answer Generator
↓
Response to User
- Streamlit
- FastAPI
- Uvicorn
- Sentence Transformers
- FAISS vector search
- Python
- Git repository cloning utilities
-
Clone repository - git clone cd RepoGuide
-
Create virtual environment - python -m venv venv
-
Activate:
- Windows: venv\Scripts\activate
- Linux/macOS: source venv/bin/activate
- Install dependencies pip install -r requirements.txt
- Start backend server: uvicorn backend.main:app --reload
- Start frontend: streamlit run frontend/app.py
The application will open in your browser.
- Launch backend and frontend.
- Enter repository URL.
- Load repository.
- Ask questions about the code.
RepoGuide/
│
├── backend/
│ ├── main.py
│ ├── retriever.py
│ ├── loader.py
│ └── utils.py
│
├── docs/
│ └── documetaion.md
│
├── frontend/
│ └── app.py
│
├── data/
├── requirements.txt
└── README.md
Contributions and suggestions are welcome. Steps:
- Fork repository
- Create feature branch
- Submit pull request