Deprecated: Function get_magic_quotes_gpc() is deprecated in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 99

Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 619

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1169

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176

Warning: Cannot modify header information - headers already sent by (output started at /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php:99) in /hermes/walnacweb04/walnacweb04ab/b2791/pow.jasaeld/htdocs/De1337/nothing/index.php on line 1176
8000 GitHub - Intenzi/UCL: Universal Code Language, LLM friendly Index to your codebase
Nothing Special   »   [go: up one dir, main page]

Skip to content

Intenzi/UCL

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Contributors Forks Stargazers Issues MIT License


UCL Logo

Universal Code Language (UCL)

Revolutionizing codebase comprehension and context sharing.
Explore the docs »

View Demo · Report Bug · Request Feature

⭐ Star this repo if you like what you see!

Table of Contents
  1. About The Project
  2. How UCL Works
  3. Getting Started
  4. Usage
  5. Features
  6. Roadmap
  7. Contributing
  8. License
  9. Contact
  10. Acknowledgments

About The Project

UCL Screenshot

Universal Code Language (UCL) is a groundbreaking approach to codebase indexing and comprehension that transforms how developers understand and interact with unfamiliar code.

In today's fast-paced development environment, engineers frequently need to understand large, complex codebases quickly. Traditional methods of code familiarization are time-consuming and inefficient, often requiring days or weeks to gain a comprehensive understanding.

UCL solves this problem by creating a standardized, semantic representation of any codebase that can be easily shared, understood, and integrated with modern AI tools. It serves as the ultimate bridge between human developers and machine understanding of code.

Key Benefits

  • Dramatic Time Savings - Reduce codebase familiarization from weeks to minutes by providing a comprehensive, structured overview that captures essential relationships and architecture

  • Cost Efficiency - Lower onboarding costs for new team members and consultants by 70-90% through accelerated understanding of complex systems

  • Seamless LLM Integration - Plug-and-play compatibility with AI tools through our standardized format, enabling instant context-aware responses about your code

  • Blazingly Fast Processing - Sophisticated parsing tools and language-specific compilers compress even the largest codebases into our standardized format in minutes

  • Code Health Monitoring - Track architecture evolution, identify technical debt, and maintain engineering best practices through automated analysis

  • Universal Compatibility - Works with all major programming languages through our extensible Tree-sitter integration

Built With

  • Python
  • React
  • Flask
  • Tree-sitter
  • Gemini API

(back to top)

How UCL Works

UCL operates through a sophisticated pipeline that analyzes codebases across multiple dimensions to create a comprehensive, standardized representation.

Frontend Integration

Frontend Flowchart

The UCL frontend provides an intuitive interface for:

  • Uploading and managing codebases
  • Visualizing code relationships and architecture
  • Querying the codebase using natural language
  • Tracking code health metrics over time
  • Exporting UCL files for sharing with team members

Backend Processing

Backend Flowchart

The UCL backend performs the heavy lifting:

  1. Parsing - Tree-sitter analyzes the syntax and structure of each file
  2. Semantic Analysis - Language-specific compilers extract relationships between components
  3. Context Building - AI integration provides natural language summaries and relationships
  4. Standardization - All information is compiled into our universal UCL format
  5. Indexing - The UCL file is optimized for rapid querying and integration

(back to top)

Getting Started

Setting up UCL involves both backend and frontend components. Follow these instructions to get a local copy up and running.

Prerequisites

  • Python 3.11+
  • Node.js and npm
  • Git

Installation

Backend Setup

  1. Clone the repository

    git clone https://github.com/Intenzi/UCL.git
    cd UCL/Server
  2. Install Python dependencies

    pip install requirements.txt
  3. Run the UCL backend

    python uclserver.py

    Or for tkinter gui based self-deployment:

    python gui.py

Frontend Setup

  1. Navigate to the frontend directory

    cd frontend
  2. Install NPM packages

    npm install
  3. Start the development server

    npm run dev

(back to top)

Usage

UCL simplifies codebase comprehension through several key workflows:

Generating UCL Files via Tkinter GUI

python gui.py

Querying a Codebase via CLI

python ucl.py --query "How does the authentication system work?" --context codebase.ucl

Web Interface

Access the full UCL experience by visiting http://localhost:5173/UCL after starting both the backend server and frontend client.

UCL Web Interface

Integration with LLMs

Simply paste your UCL file into any LLM conversation:

[Paste UCL file content here]

Based on this codebase, explain how the data flows from the frontend to the database.

(back to top)

Features

Codebase Comprehension

  • Full semantic understanding of code structure
  • Relationship mapping between components
  • Natural language summaries of functionality

Developer Experience

  • Rapid onboarding for new team members
  • Instant answers to architectural questions
  • Reduced context-switching costs

Code Health

  • Technical debt identification
  • Architecture drift monitoring
  • Complexity analysis
  • Best practice enforcement

Integration Capabilities

  • Compatible with all major LLMs
  • API for CI/CD pipeline integration
  • IDE plugins and MCP Integration (coming soon)

(back to top)

Roadmap

  • ✅ Core UCL format specification
  • ✅ Tree-sitter integration for parsing
  • ✅ Basic web interface
  • ✅ Gemini API integration
  • Support for additional languages
    • ✅ JavaScript/TypeScript
    • ✅ Python
    • ✅ Java
    • ✅ C/C++
    • ✅ Go
    • ✅ Ruby
  • ✅ UCL MCP
  • IDE plugins
  • CI/CD integration
  • Enterprise features

See the open issues for a full list of proposed features and known issues.

(back to top)

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

License

Distributed under the MIT License. See LICENSE.txt for more information.

(back to top)

Contact

Ritvik - @intenzi - intenzisenpai@gmail.com

Project Link: https://github.com/Intenzi/UCL

(back to top)

Acknowledgments

(back to top)

About

Universal Code Language, LLM friendly Index to your codebase

Resources

License

Stars

Watchers

Forks

Packages

No packages published
0