Skip to content

Latest commit

ย 

History

History
58 lines (40 loc) ยท 2.69 KB

File metadata and controls

58 lines (40 loc) ยท 2.69 KB

Codite

Codite Logo

Codite is a multi-language codebase visualizer designed to transform complex source code into beautiful, interactive, and comprehensible graphs. It helps developers quickly understand project architecture, dependencies, and code structure without having to manually read through thousands of lines of code.


๐ŸŒŸ Key Features

  • Multi-Language Support (Local Scanning): Analyzes C, C++, Rust, Go, TypeScript/JavaScript, and more.
  • Relationship Mapping: Automatically maps dependencies between Classes, Structs, Interfaces, Functions, and Imports/Includes.
  • Obsidian-Style Interactive Graph: A web-based, highly interactive 2D force-directed graph UI (built with D3.js/Canvas) providing smooth zooming, hovering highlights, and dynamic filtering.
  • High Performance: Powered by a Rust backend utilizing Tree-sitter for lightning-fast, incremental code parsing.

๐Ÿ—๏ธ Architecture

The system is decoupled into two main components communicating via JSON:

1. Analyzer CLI (Backend)

  • Language: Rust (focusing on concurrent file processing with Rayon/Tokio).
  • Core Engine: Tree-sitter for robust incremental parsing using .scm queries.
  • Output: Generates a structured JSON file containing nodes and edges.

2. Visualization UI (Frontend)

  • Framework: React / Vite.
  • Rendering Engine: D3.js / react-force-graph utilizing HTML5 Canvas for performance.
  • Aesthetic: Designed to provide an intuitive, "Obsidian-like" feel with natural physics, color-coded directories, and interactive focus modes.

๐Ÿš€ Getting Started

To run Codite locally, follow these steps:

Prerequisites

1. Generate Graph Data (Analyzer)

The analyzer scans your source code and generates the visualization data.

  1. Navigate to the analyzer directory: cd analyzer
  2. Configure the target directory in Cargo.toml under [package.metadata.codite].
  3. Run the scanner: cargo run

2. Run the Visualization (UI)

  1. Navigate to the UI directory: cd ui
  2. Install dependencies: npm install
  3. Start the dev server: npm run dev
  4. View the graph at http://localhost:5173.

๐Ÿค Contributing

We welcome contributions! Please see our CONTRIBUTING.md for details on how to get started, our code of conduct, and our development process.

๐Ÿ“„ License

This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.