Skip to content

y-Shreya21/AI-Software-Engineer-Assistant

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AI Software Engineer Assistant

An intelligent AI-powered coding workspace that understands repositories, explains code, answers architectural questions, generates tests, detects bugs, and assists developers with deep codebase intelligence.

Think: GitHub Copilot + Codebase Chat + AI Engineering Workspace.


🚀 Features

Core Features

  • Repository ingestion and indexing
  • AI-powered codebase chat
  • Semantic code search
  • AST-aware code chunking
  • Streaming AI responses
  • Repository-aware question answering
  • Authentication and user workspaces
  • Persistent chat history

Advanced Features

  • Unit test generation
  • Bug detection and fix suggestions
  • Architecture diagram generation
  • Dependency graph visualization
  • Multi-language repository support
  • Intelligent code explanations
  • PR review assistance
  • Symbol-aware retrieval

🧠 Why This Project Matters

This project demonstrates:

  • AI Engineering
  • Retrieval-Augmented Generation (RAG)
  • Vector Databases
  • Backend Architecture
  • Developer Tooling
  • Distributed Systems Thinking
  • Modern Full-Stack Engineering
  • Production AI Systems

It is designed as a flagship portfolio project for software engineering and AI engineering roles.


🏗️ System Architecture

                        ┌─────────────────┐
                        │   Next.js UI    │
                        │ React Frontend  │
                        └────────┬────────┘
                                 │
                           HTTPS/API
                                 │
                    ┌────────────▼────────────┐
                    │       FastAPI API       │
                    │ AI Orchestration Layer  │
                    └───────┬───────┬─────────┘
                            │       │
               ┌────────────┘       └────────────┐
               │                                 │
       ┌───────▼────────┐              ┌────────▼────────┐
       │ PostgreSQL     │              │ Redis Cache     │
       │ chats/users    │              │ sessions/cache  │
       └────────────────┘              └─────────────────┘

               ┌────────────────────────────────┐
               │ Vector Database (Qdrant)       │
               │ embeddings + semantic search   │
               └────────────────────────────────┘

                            │
                   ┌────────▼────────┐
                   │ Repo Ingestion  │
                   │ Git + Parsers   │
                   └────────┬────────┘
                            │
                 ┌──────────▼──────────┐
                 │ AST + Embedding     │
                 │ Processing Pipeline │
                 └─────────────────────┘

⚙️ Tech Stack

Backend

  • FastAPI
  • Python
  • PostgreSQL
  • Redis
  • Celery / Background Workers
  • Docker

AI & Retrieval

  • OpenAI / Local LLMs
  • Qdrant / Pinecone
  • Embeddings
  • RAG Pipelines
  • AST Parsing
  • Tree-sitter

Frontend

  • Next.js
  • React
  • TailwindCSS
  • TypeScript

Deployment

  • Docker
  • Vercel
  • Railway / Render / Fly.io

📁 Project Structure

ai-software-engineer-assistant/
│
├── backend/
│   ├── api/
│   ├── ingestion/
│   ├── parsers/
│   ├── embeddings/
│   ├── rag/
│   ├── services/
│   ├── workers/
│   ├── models/
│   └── main.py
│
├── frontend/
│   ├── app/
│   ├── components/
│   ├── hooks/
│   ├── lib/
│   └── styles/
│
├── docker/
├── infra/
├── scripts/
├── docs/
└── README.md

🔥 MVP Goals

Version 1

  • Upload/index repositories
  • Ask questions about code
  • Semantic search
  • Streaming chat responses
  • File-aware citations
  • Authentication
  • Persistent workspaces

🧩 Future Roadmap

Version 2

  • Test generation
  • AI code fixes
  • PR review assistant
  • Architecture graph generation

Version 3

  • Multi-repository understanding
  • Autonomous coding agents
  • Team collaboration
  • IDE integration

🧠 How It Works

1. Repository Ingestion

The system clones repositories and parses files while ignoring unnecessary directories such as:

  • node_modules
  • build/
  • dist/
  • binaries
  • .git/

2. Intelligent Chunking

Instead of splitting files arbitrarily, the assistant uses:

  • AST parsing
  • Function-level chunking
  • Class-level chunking
  • Symbol-aware extraction

This dramatically improves retrieval quality.


3. Embedding Pipeline

Each chunk is embedded using modern embedding models and stored inside a vector database.

Metadata stored:

  • file path
  • language
  • symbols
  • repository
  • function names

4. Retrieval-Augmented Generation (RAG)

When a user asks a question:

  1. Query embedding is generated
  2. Relevant chunks are retrieved
  3. Context is reranked
  4. LLM generates repository-aware answers
  5. Streaming response is returned to frontend

🔒 Authentication

Supports:

  • JWT Authentication
  • OAuth (GitHub planned)
  • Workspace isolation
  • Session management

⚡ Streaming Responses

The platform uses:

  • FastAPI StreamingResponse
  • Server-Sent Events (SSE)

to provide real-time AI responses similar to ChatGPT and Cursor.


📊 Planned AI Capabilities

  • Explain code
  • Detect bugs
  • Generate unit tests
  • Refactor suggestions
  • Security analysis
  • Architecture visualization
  • Dependency analysis
  • AI pair programming

🐳 Running Locally

Clone Repository

git clone https://github.com/your-username/ai-software-engineer-assistant.git
cd ai-software-engineer-assistant

Backend Setup

cd backend

python -m venv venv
source venv/bin/activate

pip install -r requirements.txt

uvicorn main:app --reload

Frontend Setup

cd frontend

npm install
npm run dev

Docker

docker-compose up --build

🧪 Example Questions

  • "How does authentication work?"
  • "Explain the repository architecture."
  • "Generate tests for the payment service."
  • "Find potential bugs in the auth module."
  • "Which services depend on Redis?"
  • "Show me API flow for user login."

📈 Engineering Highlights

This project showcases:

  • Advanced RAG systems
  • AI infrastructure engineering
  • Semantic retrieval systems
  • Backend API design
  • Full-stack development
  • Streaming systems
  • Distributed architecture
  • Developer tooling engineering

🎯 Ideal Use Cases

  • AI pair programming
  • Large repository understanding
  • Developer onboarding
  • Technical documentation
  • Code review assistance
  • Engineering productivity

🛠️ Planned Integrations

  • GitHub
  • GitLab
  • Bitbucket
  • VSCode Extension
  • Slack
  • CI/CD pipelines

📜 License

MIT License


👨‍💻 Author

Built as a flagship AI engineering project focused on modern developer tooling and intelligent code understanding systems.

About

AI Software Engineer Assistant is an intelligent AI-powered coding workspace that understands software repositories using RAG, embeddings, AST parsing, and semantic retrieval. It enables developers to chat with codebases, explain architecture, generate tests, detect bugs, and accelerate engineering workflows through repository-aware AI assistance.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors