Skip to content

The goal is to parse,process and ingest codebase/s to form a pluggable knowledge Graph and become the unified code context provider

License

Notifications You must be signed in to change notification settings

unoplat/unoplat-code-confluence

Repository files navigation


Unoplat-CodeConfluence

The Universal Code Context Engine

Extract, understand, and provide precise code context across repositories tied through domains
Explore the docs Β»

Quick Start Β· Report Bug Β· Request Feature

Status Python License

Discord Twitter LinkedIn

Table of Contents
  1. Vision
  2. Why Unoplat-CodeConfluence?
  3. For Knowledge Engine and AI Coding Assistants
  4. OSS Atlas Initiative
  5. Getting Started
  6. Project Status
  7. Credits/Heroes/Supporters/Inspirations
  8. Maintainers
  9. Community Channel
  10. License

🎯 Vision

Unoplat-CodeConfluence aims to be the definitive solution for extracting, understanding, and providing precise code context across repositories and domains. By combining deterministic code grammar with state-of-the-art LLM pipelines, we achieve human-like understanding of codebases in minutes rather than months. Our graph-based architecture ensures relationships and context are preserved at every level.

(back to top)

🌟 Why Unoplat-CodeConfluence?

  • Deterministic Understanding: Built on ArchGuard and Tree-sitter for reliable, language-agnostic code parsing
  • Smart Summarization: Bottom-up code analysis from functions to entire codebases, preserving context at every level
  • Graph based Embedding: Embed codebases' functions using SOTA embeddings to enable semantic search and retrieval
  • Enhanced Onboarding: Intuitive, interconnected documentation helps new team members understand complex codebases quickly
  • Graph-Based Intelligence: Query and explore codebases through natural, graphical relationships between components
  • Deep Dependency Insights: Comprehensive parsing of package managers as well as any other related metadata reveals true project structure and relationships
  • Integration Ready: Designed to work seamlessly with your existing development tools and workflows

(back to top)

🀝 For Knowledge Engine and AI Coding Assistants

Unoplat-CodeConfluence will provide:

  • Precise Context API: Get reliable, deterministic code understanding through:
    • Bottom-up code summarization from functions to systems
    • Graph-based querying on SOTA embeddings with deterministic code grammar for natural code exploration
    • Deep package and dependency analysis

(back to top)

πŸ” OSS Atlas Initiative

Our UnoplatOssAtlas project is designed to dramatically accelerate contributor onboarding and productivity in open-source projects. By providing deep, contextual understanding of popular repositories, we will help developers in the following:

  • Accelerate Onboarding: Understand complex codebases in minutes instead of months
  • Boost Contribution Velocity: Make meaningful contributions faster with deep contextual insights
  • Navigate Complex Systems: Easily understand dependencies, patterns, and architectural decisions
  • Learn Best Practices: Study and adopt patterns from well-established open-source projects

This initiative demonstrates our commitment to:

  • Empowering the open-source ecosystem by reducing barriers to contribution
  • Showcasing practical applications of our context extraction capabilities
  • Supporting sustainable open-source development through better understanding and reducing time to value for oss projects

(back to top)

πŸš€ Getting Started

Ready to enhance your development workflow?

Check out our Quick Start Guide.

(back to top)

Project Status

ALPHA

Programming Language Support

Language In-POC Alpha Beta Stable
Python βœ“ βœ“ βœ“
Java βœ“
TypeScript
Go

Tasks Status

Task Research POC Released
Code Grammar βœ“ βœ“ βœ“
Integration With Workflow Orchestrator βœ“ βœ“ βœ“
Data Modelling for Code Grammar βœ“ βœ“ βœ“
Insertion into Graph Database βœ“ βœ“ βœ“
Data Modelling for Code Summarisation βœ“ βœ“
SOTA LLM Pipelines For Code Grammar Summarisation/Reports βœ“ βœ“
SOTA Embeddings on Codebase Functions βœ“
Automatic Documentation βœ“
GraphRag based Query Module
SDK for integration

Code Grammar

Python

Feature Beta Stable Limitations
Package Parsing βœ“
Package Metadata Parsing - Poetry and PIP and UV βœ“
Inheritance βœ“
Function Parsing βœ“
Class Parsing βœ“
Procedural Code Parsing βœ“
Global Variable Parsing βœ“
Function Call Parsing βœ“ Certain function calls are not detected.
Class Variables/Instance Variables Parsing βœ“ Not available per class/procedure. But available per function across functions.
Function Local Variable Parsing βœ“
Function Return Type Parsing βœ“ Return type is not captured properly.
Figuring out dependent internal classes βœ“
Import Segregation βœ“ Currently only identifies internal procedures, classes, and others as unknown. External imports with links to dependencies in package manager metadata coming soon.
Sorting functions within a class/procedure based on dependency βœ“ Circular dependencies/recursion will not work as topological sort is used.
Nested Functions βœ“

Note: For detailed limitations and resolutions that we are working towards refer to Limitations_Resolutions.md

(back to top)

Credits/heroes/supporters/Inspirations

These are the people/entities because of which this work has been possible.
Unoplat code confluence would not exist without them.

  1. Phodal from Chapi and ArcGuard
  2. [Ishaan & Krrish from Litellm](ishaan@berri.ai / krrish@berri.ai)
  3. Omar Khattab
  4. Joao Moura from crewai
  5. Vipin Shreyas Kumar
  6. Danswer
  7. Continue
  8. Apeksha
  9. Jeremy Howard
  10. Temporal
  11. Neo4j
  12. FastApi

(back to top)

Maintainers

(back to top)

Community Channel

(back to top)

License

Unoplat-CodeConfluence is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0). This strong copyleft license ensures that derivatives of this software remain open source and under the same license.

(back to top)