Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

11 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ” IssueLens

AI-powered GitHub Repository Intelligence Platform for semantic code search, repository indexing, and intelligent issue analysis.

Python FastAPI MongoDB Sentence Transformers FAISS License


πŸ“– Overview

Modern software repositories contain thousands of files, functions, and GitHub issues. Finding the right implementation or understanding how a feature works often requires manually searching through large codebases.

IssueLens is an AI-powered code intelligence platform that indexes GitHub repositories, extracts code structure using Abstract Syntax Trees (AST), generates semantic embeddings, and enables natural-language search over source code.

Instead of searching with keywords like:

timedelta

Developers can ask:

"Where is time converted into a timedelta?"

IssueLens understands the meaning of the query and retrieves the most relevant code using vector similarity search.


✨ Current Features

Repository Management

  • Import GitHub repositories
  • Clone repositories locally
  • GitHub REST API integration
  • MongoDB Atlas metadata storage

Code Intelligence

  • AST-based Python parser
  • Function extraction
  • Class extraction
  • Method detection
  • Qualified symbol names
  • Source code chunk extraction
  • Docstring extraction

AI Search

  • Semantic code embeddings
  • SentenceTransformer (all-MiniLM-L6-v2)
  • FAISS vector indexing
  • Natural language code search
  • Cosine similarity ranking

Backend

  • FastAPI
  • MongoDB Atlas
  • Modular architecture
  • Environment configuration
  • Async services
  • Health monitoring

🚧 Upcoming Features

  • GitHub Issue Import
  • Semantic Issue Search
  • Duplicate Issue Detection
  • AI-generated Issue Summaries
  • Repository Knowledge Graph
  • RAG-based Question Answering
  • Multi-language Support
  • Incremental Repository Indexing
  • Web Dashboard
  • LLM-powered Code Explanations

πŸ— Architecture

                GitHub Repository
                        β”‚
                        β–Ό
                 Git Clone Service
                        β”‚
                        β–Ό
                 AST Python Parser
                        β”‚
                        β–Ό
                  Code Chunks
                        β”‚
                        β–Ό
           SentenceTransformer Embeddings
                        β”‚
                        β–Ό
                 FAISS Vector Index
                        β”‚
                        β–Ό
             Semantic Code Search API
                        β”‚
                        β–Ό
                  FastAPI Backend
                        β”‚
                        β–Ό
                    React Frontend

πŸ›  Tech Stack

Backend

  • FastAPI
  • Python 3.11
  • Motor
  • HTTPX
  • Pydantic v2

Database

  • MongoDB Atlas

AI & Search

  • Sentence Transformers
  • all-MiniLM-L6-v2
  • FAISS
  • NumPy

Git Integration

  • GitPython
  • GitHub REST API

Frontend (Upcoming)

  • Next.js
  • React
  • Tailwind CSS

πŸ“‚ Project Structure

IssueLens/

β”œβ”€β”€ backend/
β”‚
β”‚   β”œβ”€β”€ app/
β”‚   β”‚
β”‚   β”œβ”€β”€ api/
β”‚   β”‚   └── routes/
β”‚   β”‚
β”‚   β”œβ”€β”€ core/
β”‚   β”œβ”€β”€ db/
β”‚   β”œβ”€β”€ indexing/
β”‚   β”‚   β”œβ”€β”€ chunker.py
β”‚   β”‚   β”œβ”€β”€ embedder.py
β”‚   β”‚   β”œβ”€β”€ utils.py
β”‚   β”‚   └── vector_store.py
β”‚   β”‚
β”‚   β”œβ”€β”€ models/
β”‚   β”œβ”€β”€ parsers/
β”‚   β”œβ”€β”€ repositories/
β”‚   β”œβ”€β”€ services/
β”‚   β”‚
β”‚   └── main.py
β”‚
β”œβ”€β”€ storage/
β”‚   └── repos/
β”‚
β”œβ”€β”€ frontend/
β”‚
└── docs/

πŸš€ Getting Started

Clone

git clone https://github.com/YOUR_USERNAME/IssueLens.git

cd IssueLens/backend

Install

pip install -r requirements.txt

or

pip install -e .

Environment

Create .env

MONGODB_URL=

DATABASE_NAME=issuelens

GITHUB_TOKEN=

Run Backend

uvicorn app.main:app --reload

Swagger

http://127.0.0.1:8000/docs

πŸ” Example Semantic Search

Instead of searching:

timedelta

Developers can search:

convert seconds into timedelta

IssueLens returns:

_make_timedelta()

Similarity: 0.60

storage/repos/pallets__flask/src/flask/app.py

Lines 73-77

without relying on keyword matching.


πŸ“ˆ Roadmap

Phase 1 βœ…

  • FastAPI Backend
  • MongoDB Atlas
  • GitHub Repository Import
  • Git Repository Cloning
  • AST-based Python Parser
  • Code Chunk Extraction
  • SentenceTransformer Embeddings
  • FAISS Semantic Search

Phase 2 🚧

  • Repository Index API
  • Search API
  • GitHub Issue Import
  • Issue Embeddings
  • Similar Issue Detection
  • AI Issue Summaries

Phase 3 πŸš€

  • Repository Dashboard
  • RAG Question Answering
  • LLM Code Explanation
  • Multi-language Parsing
  • Incremental Re-indexing
  • Analytics Dashboard

🎯 Motivation

Developers spend significant time:

  • Searching unfamiliar codebases
  • Understanding large repositories
  • Finding relevant implementations
  • Connecting GitHub issues to source code
  • Navigating thousands of functions

IssueLens reduces this effort by combining AST parsing, vector embeddings, semantic search, and AI-powered code understanding into a unified developer platform.


🀝 Contributing

Contributions are welcome!

  1. Fork the repository
  2. Create a feature branch
git checkout -b feature/my-feature
  1. Commit your changes
git commit -m "feat: add awesome feature"
  1. Push
git push origin feature/my-feature
  1. Open a Pull Request

πŸ“„ License

MIT License


πŸ‘¨β€πŸ’» Author

Yash Bhat

Built with ❀️ using Python, FastAPI, MongoDB, FAISS, and AI.

About

AI-powered GitHub Issue Intelligence Platform that helps developers search, analyze, and understand GitHub issues using semantic search and Large Language Models (LLMs)

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages