Introduction
Omnideps is a fast, language-agnostic architectural dependency analyzer and visualizer built in Rust and powered by Tree-sitter.
Omnideps Overview
Omnideps is a language-agnostic architectural dependency analyzer designed to extract high-fidelity source code dependency graphs using Tree-sitter AST parsing and cross-file type resolution.
Unlike traditional dependency scanners that only inspect package manifests (such as package.json or Cargo.toml), Omnideps analyzes the actual code structure: which classes inherit from which, which functions invoke each other, which structs reference other types, and how components interact across module boundaries.
Zero runtime dependencies. No Node.js, Python, or JVM required on the target machine.
Run omnideps serve to launch an embedded SvelteKit + Cytoscape visualizer in your browser.
Native Tree-sitter grammars for Rust, Java, Python, C, and C++ with parallel processing via Rayon.
Cross-file name lookup, inheritance resolution, generic type handling, and member field tracking.
Core Capabilities
Omnideps operates directly on source trees, decomposing software architectures into an intermediate representation (IR) of nodes and edges:
- Component Extraction: Identifies files, modules, packages, classes, structs, traits, interfaces, and functions.
- Relationship Tracking:
- Structural: Inheritance (
extends,implements), member fields, and return types. - Behavioral: Function and method invocations, variable assignments, and instantiations.
- Module-level: Explicit imports, module inclusions, and path qualifications.
- Structural: Inheritance (
- Interactive Graph Exploration: An ultra-responsive web UI featuring forced-directed Cytoscape graph layouts, component filtering, and dependency search.
- Rich Export Formats: Exports to canonical JSON schemas, Cytoscape JSON, and summary CSV reports for architectural metric analysis.