GraphβNative Intelligence for Codebases
Know what breaks before you break it.
- Stable line:
release/v1.5 - Current feature line:
release/v1.6 - Main development trunk:
main
Arbor is currently in final polish for the v1.6 release line.
- Accurate Token Counting β tiktoken (cl100k_base) replaces heuristic estimates for precise LLM context budgets
- Fuzzy Symbol Suggestions β Typo tolerance with Jaro-Winkler matching:
arbor refactor autthβ "Did you mean:auth?" - Enhanced MCP/AI Integration β Rich JSON output with confidence, roles, and edge explanations for Claude/Cursor
- Git-Aware Risk Workflows β
arbor diff,arbor check, andarbor openfor refactor confidence - Incremental Refresh β
arbor index --changed-onlyfor faster re-index during active branches - Better Python UX β Empty
__init__.pyhandled silently (no false warnings)
Arbor is a localβfirst impact analysis engine for large codebases. Instead of treating code as text, Arbor parses your project into a semantic dependency graph. This lets you trace real execution pathsβcallers, callees, imports, inheritance, and crossβfile relationshipsβso you can confidently understand the consequences of change.
Unlike keyword search or vectorβbased RAG systems, Arbor answers questions like:
βIf I change this function, what actually breaks?β
with structural certainty, not probabilistic guesses.
Before refactoring detect_language, inspect its true impact:
$ arbor refactor detect_language
Analyzing detect_language...
Confidence: High | Role: Core Logic
β’ 15 callers, 3 dependencies
β’ Well-connected with manageable impact
> 18 nodes affected (4 direct, 14 transitive)
Immediate Impact:
β’ parse_file (function)
β’ get_parser (function)
Recommendation: Proceed with caution. Verify affected callers.This is executionβaware analysis, not text matching.
Arbor ships with a native GUI for interactive impact analysis.
arbor gui- Symbol Search β Instantly locate functions, classes, and methods
- Impact Visualization β Explore direct and transitive dependencies
- PrivacyβSafe β File paths are hidden by default for clean screenshots
- Export β Copy results as Markdown for PRs and design docs
The CLI and GUI share the same analysis engineβno feature gaps.
-
Install Arbor (CLI + GUI):
cargo install arbor-graph-cli
Or use one-command installers (no Rust toolchain required):
- macOS/Linux:
curl -fsSL https://raw.githubusercontent.com/Anandb71/arbor/main/scripts/install.sh | bash - Windows (PowerShell):
irm https://raw.githubusercontent.com/Anandb71/arbor/main/scripts/install.ps1 | iex
See Installation Guide for version pinning and manual assets.
- One-shot setup + first index:
cd your-project
arbor setup-
Run Impact Analysis:
arbor refactor <symbol-name>
For git-aware workflows:
arbor diff
arbor check --max-blast-radius 30
arbor open <symbol>-
Launch the GUI:
arbor gui
You can run Arbor from any nested subdirectory; it automatically resolves to your project root.
π See the Quickstart Guide for advanced workflows.
To keep maintenance and feature work clean:
mainβ ongoing developmentrelease/v1.5β maintenance-only fixes for 1.5.xrelease/v1.6β 1.6 feature delivery and stabilization
This avoids shipping new features into older maintenance branches and keeps backports explicit.
Arbor is listed on Glama MCP Directory:
- Quickstart: docs/QUICKSTART.md
- Installation: docs/INSTALL.md
- Architecture: docs/ARCHITECTURE.md
- MCP Integration: docs/MCP_INTEGRATION.md
- Protocol Specification: docs/PROTOCOL.md
- Roadmap: docs/ROADMAP.md
- Release Notes (v1.6): docs/RELEASE_NOTES_v1.6.0.md
Most AI coding tools treat code as unstructured text, relying on vector similarity. This approach is fastβbut imprecise.
Arbor builds a graph.
Every function, class, and module is a node. Every call, import, and reference is an edge. When you ask a question, Arbor follows the graphβthe same way your program executes.
Traditional RAG: Arbor Graph Analysis:
"auth" β 47 results AuthController
(keyword similarity) βββ calls β TokenMiddleware
βββ queries β UserRepository
βββ emits β AuthEvent
The result: deterministic, explainable answers.
A global symbol table resolves:
- Imports and reβexports
- Inheritance and interfaces
- Overloads and namespaces
User in auth.ts is never confused with User in types.ts.
| Language | Status | Parser Coverage |
|---|---|---|
| Rust | β | Functions, Structs, Traits, Impls, Macros |
| TypeScript | β | Classes, Interfaces, Types, Imports, JSX |
| JavaScript | β | Functions, Classes, Vars, Imports |
| Python | β | Classes, Functions, Imports, Decorators |
| Go | β | Structs, Interfaces, Funcs, Methods |
| Java | β | Classes, Interfaces, Methods, Fields |
| C | β | Structs, Functions, Enums, Typedefs |
| C++ | β | Classes, Namespaces, Templates |
| C# | β | Classes, Methods, Properties, Interfaces |
| Dart | β | Classes, Mixins, Widgets |
Python note: Decorators,
__init__.py, and@dataclassare statically analyzed. Dynamic dispatch is flagged with reduced confidence.
git clone https://github.com/Anandb71/arbor.git
cd arbor/crates
cargo build --releasesudo apt-get install -y pkg-config libx11-dev libxcb-shape0-dev libxcb-xfixes0-dev \
libxkbcommon-dev libgtk-3-dev libfontconfig1-dev libasound2-dev libssl-dev cmake- .gitignore β Arbor respects it (
arbor status --files) - File type β Ensure the extension is supported
- Empty files β Skipped (except
__init__.py) - Dynamic calls β
eval/ runtime reflection may not resolve - Case sensitivity β Use
arbor query <partial>to search
Run arbor status to verify file detection and parser health.
Run arbor doctor (or arbor check-health) to verify ports, project structure, and integration readiness.
Rust and Flutter build artifacts can grow quickly during iterative testing.
- Windows PowerShell:
./scripts/clean.ps1 - macOS/Linux:
./scripts/clean.sh - Deeper cleanup (also removes local Arbor/Flutter cache artifacts):
- PowerShell:
./scripts/clean.ps1 -Deep - Bash:
./scripts/clean.sh --deep
- PowerShell:
This is safe for source code; it only removes generated artifacts that can be rebuilt.
Arbor is LocalβFirst by design:
- No data exfiltration
- Fully offline
- No API keys
- Fully open source
Your code never leaves your machine.
MIT License. See LICENSE for details.
6 contributors | View all

