Install
|
Or directly via Cargo:
Quick Start
Artifacts are stored in your OS cache dir by default (override via LOCT_CACHE_DIR).
What It Does
loctree captures your project's real dependency graph in a single scan, then answers structural questions instantly from the snapshot. Designed for AI agents that need focused context without reading every file.
Core capabilities:
- Holographic Slice - extract file + dependencies + consumers in one call
- Cross-Match Search - find where multiple terms co-occur (not flat grep)
- Dead Export Detection - find unused exports across JS/TS, Python, Rust, Go, Dart
- Circular Import Detection - Tarjan's SCC algorithm catches runtime bombs
- Handler Tracing - follow Tauri commands through the entire FE/BE pipeline
- Impact Analysis - see what breaks before you delete or refactor
- jq Queries - query snapshot data with jq syntax (
loct '.files | length')
MCP Server
loctree ships as an MCP server for seamless AI agent integration:
Tools: repo-view, slice, find, impact, focus, tree. Each tool accepts a project parameter - auto-scans on first use, caches snapshots in RAM.
Language Support
| Language | Dead Export Accuracy | Notes |
|---|---|---|
| Rust | ~0% FP | Tested on rust-lang/rust (35K files) |
| Go | ~0% FP | Tested on golang/go (17K files) |
| TypeScript/JavaScript | ~10-20% FP | JSX/TSX, React patterns, Flow, WeakMap |
| Python | ~20% FP | Library mode, __all__, stdlib detection |
| Svelte | <15% FP | Template analysis, .d.ts re-exports |
| Vue | ~15% FP | SFC support, Composition & Options API |
| Dart/Flutter | Full | pubspec.yaml detection |
Auto-detects stack from Cargo.toml, tsconfig.json, pyproject.toml, pubspec.yaml, src-tauri/.
Holographic Slice
Extract 3-layer context for any file:
Slice for: src/App.tsx
Core (1 files, 150 LOC):
src/App.tsx (150 LOC, ts)
Deps (3 files, 420 LOC):
[d1] src/hooks/useAuth.ts (80 LOC)
[d2] src/contexts/AuthContext.tsx (200 LOC)
[d2] src/utils/api.ts (140 LOC)
Consumers (2 files, 180 LOC):
src/main.tsx (30 LOC)
src/routes/index.tsx (150 LOC)
Total: 6 files, 750 LOC
Cross-Match Search
Multi-term queries show where terms meet, not flat OR:
=== Cross-Match Files (9) ===
src/snapshot.rs: Snapshot(6), FileAnalysis(4)
src/slicer.rs: Snapshot(2), FileAnalysis(3)
...
=== Symbol Matches (222 in cross-match files) ===
src/snapshot.rs:20 - Snapshot [struct]
src/types.rs:15 - FileAnalysis [struct]
...
=== Parameter Matches (4 cross-matched) ===
src/slicer.rs:45 - snapshot: &Snapshot in build_slice(analyses: &[FileAnalysis])
jq Queries
Query snapshot data directly:
CI Integration
| &&
Crates
| Crate | Description |
|---|---|
loctree |
Core analyzer + CLI (loct, loctree) |
report-leptos |
HTML report renderer (Leptos SSR) |
loctree-mcp |
MCP server for AI agents |
Development
Badge
[](https://crates.io/crates/loctree)
License
MIT OR Apache-2.0. See LICENSE-MIT and LICENSE-APACHE.
VibeCrafted with AI Agents (c)2025-2026 VetCoders