Overview
arbor-graph is the heart of Arbor. It manages:
- Graph Schema: Nodes (code entities) + Edges (relationships)
- Symbol Table: Cross-file FQN resolution
- Persistence: Sled-backed incremental storage
- Queries: Path finding, impact analysis, context retrieval
Features
| Feature | Description |
|---|---|
petgraph core |
Stable, fast in-memory graph |
| Global Symbol Table | Resolve imports across files |
| Sled Store | ACID-compliant persistence |
find_path |
A* shortest path between nodes |
| Serialization | bincode for compact storage |
Architecture
arbor-core (parse) → arbor-graph (store) → arbor-server (expose)
↓
ArborGraph
├── nodes: HashMap<NodeId, CodeEntity>
├── edges: Vec<(NodeId, NodeId, EdgeKind)>
└── symbol_table: SymbolTable
Usage
This crate is used internally. For most use cases:
Links
- Main Repository: github.com/Anandb71/arbor