{"id":29406426,"url":"https://github.com/atomworkplace/gitrag","last_synced_at":"2026-04-11T09:43:33.240Z","repository":{"id":303966146,"uuid":"1016063942","full_name":"ATOMworkplace/gitRAG","owner":"ATOMworkplace","description":"This project is a RAG-based AI chat application using LangChain and OpenAI, featuring codebase analysis and a hierarchical file structure visualization for GitHub repositories.","archived":false,"fork":false,"pushed_at":"2025-07-10T16:54:17.000Z","size":7190,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-07-10T18:54:17.609Z","etag":null,"topics":["code-analysis","docker","langchain","pineconedb","postgresql","python","rag-chatbot","reactjs","solo-project"],"latest_commit_sha":null,"homepage":"https://git-rag.vercel.app","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ATOMworkplace.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-07-08T12:41:27.000Z","updated_at":"2025-07-10T16:54:21.000Z","dependencies_parsed_at":"2025-07-10T19:12:41.423Z","dependency_job_id":null,"html_url":"https://github.com/ATOMworkplace/gitRAG","commit_stats":null,"previous_names":["atomworkplace/gitrag"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/ATOMworkplace/gitRAG","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ATOMworkplace%2FgitRAG","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ATOMworkplace%2FgitRAG/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ATOMworkplace%2FgitRAG/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ATOMworkplace%2FgitRAG/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ATOMworkplace","download_url":"https://codeload.github.com/ATOMworkplace/gitRAG/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ATOMworkplace%2FgitRAG/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264686900,"owners_count":23649565,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["code-analysis","docker","langchain","pineconedb","postgresql","python","rag-chatbot","reactjs","solo-project"],"created_at":"2025-07-10T23:21:41.713Z","updated_at":"2026-04-11T09:43:33.235Z","avatar_url":"https://github.com/ATOMworkplace.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# gitRAG\n\n**RAG-based GitHub Repo Analysis Platform**  \n*Analyse any public GitHub repository with LLM-powered chat and advanced semantic search.*\n---\n\n\nhttps://github.com/user-attachments/assets/99065742-a793-4ec5-8bb5-231f37d3d50e\n\n\n---\n\nhttps://gitrag-fo9z.onrender.com/\n## Overview\n\n### **Situation**\nAs a participant in open-source competitions and project exhibitions (EPICS, university projects), I often struggled to deeply understand large codebases—especially when onboarding new repositories from group members or exploring unfamiliar open-source projects. Sifting through thousands of files, dependencies, and scattered documentation was **tedious and overwhelming**, making it hard to answer even basic questions like \"Where is X implemented?\" or \"How does this module work?\"\n\n### **Task**\nI needed a platform that would let me:\n- Instantly chat with any GitHub repo to ask questions about code, architecture, or logic.\n- Quickly visualize and explore repo structure, file contents, and metadata.\n- Perform semantic code search (not just by filename/text).\n- Support multiple users and projects securely for my team and in competitions.\n\n### **Action**\nI independently designed and built **gitRAG**—an end-to-end, multi-tenant platform that ingests any public GitHub repo, chunks and indexes its code using embeddings and vector search, and enables users to interactively chat, search, and analyse codebases using a modern LLM (via LangChain and OpenAI API).\n\n- **Built secure, scalable backend** using FastAPI, PostgreSQL (Aiven), PineconeDB, and LangChain.\n- **Developed a modern React frontend** with hierarchical file explorer, real-time AI chat, and repo analytics.\n- **Integrated Google/GitHub OAuth2** for authentication, and per-user encrypted API key management for privacy.\n- **Engineered ingestion pipelines** to chunk, embed, and index 50MB+ codebases with 10,000+ files.\n- **Tested and deployed** the platform on multiple real-world repos for open-source events and university project groups.\n\n### **Result**\n- Significantly reduced onboarding time for new repositories—now get context, explanations, and code Q\u0026A in seconds.\n- Enabled my team and myself to confidently tackle larger, more complex projects in hackathons and coursework.\n- gitRAG is now a robust, reusable tool for anyone needing rapid understanding of unfamiliar codebases.\n\n---\n\n## Features\n\n- **LLM-powered code chat:** Ask questions about repo structure, functions, or files—get contextual, AI-driven answers.\n- **Semantic code search:** Find relevant code snippets using meaning, not just keywords.\n- **Hierarchical file explorer:** Browse and preview the full repo tree with metadata and analytics.\n- **Multi-user \u0026 multi-repo support:** Secure, per-user data isolation with Google/GitHub OAuth2.\n- **Repo analytics:** Visualize language breakdown, file types, contributors, and more.\n- **Encrypted API key management:** User API keys are encrypted and never exposed.\n- **Blazing fast:** Sub-second query responses (vector search and retrieval).\n- **Modern UI:** Built with React, TailwindCSS, and Three.js (for 3D hero effect).\n\n---\n\n## Tech Stack\n\n- **Frontend:** React.js, TailwindCSS, Vite, Three.js\n- **Backend:** FastAPI (Python), LangChain, PostgreSQL (Aiven), PineconeDB\n- **AI/Vector Search:** OpenAI API, PineconeDB, LangChain\n- **Auth:** Google OAuth2, GitHub OAuth2\n- **Integrations:** GitHub API (repo fetching, metadata), Node.js (utility scripts)\n\n---\n\n## Demo\n\n\u003cimg width=\"1919\" height=\"969\" alt=\"image\" src=\"https://github.com/user-attachments/assets/7b48f5f0-2e21-44c0-aa8f-2a39c9283d46\" /\u003e\n\n\u003cimg width=\"1919\" height=\"969\" alt=\"image\" src=\"https://github.com/user-attachments/assets/0bab392a-7d85-41b6-b7f3-b8bb801ae0c3\" /\u003e\n\n\u003cimg width=\"1919\" height=\"970\" alt=\"image\" src=\"https://github.com/user-attachments/assets/f50438ea-2e60-4acf-be11-0e7921df9953\" /\u003e\n\n\u003cimg width=\"1919\" height=\"970\" alt=\"image\" src=\"https://github.com/user-attachments/assets/003a5f25-4783-42bd-8d3d-2de7d42b14ca\" /\u003e\n\n\u003cimg width=\"1919\" height=\"970\" alt=\"image\" src=\"https://github.com/user-attachments/assets/521fd041-2b37-4eee-8741-18f5214262d4\" /\u003e\n\n---\n\n## How it Works (RAG Pipeline)\n\n1. **Login** with Google or GitHub OAuth2 (secure, per-user).\n2. **Paste any public GitHub repo URL** and your OpenAI API key (encrypted).\n3. **Ingestion:**  \n   - Fetches repo files via GitHub API\n   - Chunks code using custom logic (by file type/size)\n   - Generates vector embeddings (LangChain + OpenAI API)\n   - Stores chunks and metadata in PineconeDB and PostgreSQL\n4. **Analysis \u0026 Chat:**  \n   - Use AI chat to ask any question about the repo (“What does X function do?” “Show me auth logic”)\n   - Semantic search finds and retrieves the most relevant code chunks\n   - LLM (via LangChain) generates contextual, accurate answers using retrieved code\n5. **Explore:**  \n   - Hierarchical explorer shows real file tree, lets you preview content and metadata\n   - Repo analytics panel for high-level insights\n\n---\n## Example Use Cases\n\n- **Hackathons/open-source events:** Instantly understand any team repo or competition project.\n- **University coursework:** Quickly onboard and analyze group project submissions.\n- **Personal learning:** Explore popular open-source projects by chatting and searching their code.\n- **Team code reviews:** Get instant explanations and context for PRs and legacy code.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fatomworkplace%2Fgitrag","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fatomworkplace%2Fgitrag","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fatomworkplace%2Fgitrag/lists"}