Skip to main content
nanograph

On-device Graph for Agents & Humans

One CLI. One folder. Schema-as-code. No server.

$ brew install nanograph/tap/nanograph
nanograph
$

Use Cases

01

Context Graphs

Decision traces, causal chains, and structured business context that agents can traverse.

02

Agentic Memory

Typed, on-device shared memory for AI agents: ontology-focused, laser fast.

memory
├─ decision → retry with backoff
│ └─ trace: auth_fix#3
├─ convention → snake_case
│ └─ domain: api, cli
└─ trace → deploy v0.9
└─ 4 decisions · 0.3ms
03

Personal Knowledge

Semantic layer for your bookmarks, highlights, notes. Can complement the Obsidian vault.

04

Dependency Graphs

Packages, services, lineage tracking. Codebase dependency tree as a traversable graph.

05

Feature Generation

Nanograph turns relationships and contextual networks into usable data points.

Context Graphs

Context graphs give agents a persistent world model: structured traces of past decisions, connections, and reasoning that compound over time.

Make Proposal
Decision
OmniBot
AI Agent
Andrew
Human
Churn risk detected
Signal
Approve
Action

The model is the engine. The context graph is the map. Without persistent structure the engine runs blind every time.

Agents without constraints create knows, met, connected_to edges interchangeably. Schema-as-code is the contract that keeps the graph clean as it grows.

To reason about change, agents need a time machine. CDC tracks every mutation so they can rewind to any point, see what changed, and understand why.

Core Pillars

Everything stays on your machine

The graph is a file, not a service. Back it up with git. Copy it with cp. The fastest query is the one that doesn't hit a network.

# A nanograph project is just files in a folder
~/projects/
myproject/
schema.pg # Schema definition
myproject.nano/ # Graph data (Lance tables)
seed.jsonl # Seed data for rebuilds
queries/ # Named queries

20ms local vs 200–500ms cloud, compounded across hundreds of agent calls per session. The agent feels instant instead of sluggish.

Decision traces are the most sensitive data in an org. No open ports, no running services, no cloud connection. Your data stays private by default.

Agents run in CI, in CLIs, on laptops, on planes. No server assumption is safe. Copy the folder, encrypt it, run it air-gapped. Works the same way everywhere.

Think about the thing that the model wants to do and figure out how do you make that easier. The way you do it is you see what tools it wants to use… and you enable that.

Boris Cherny/creator of Claude Code

Foundation

In-memory format

Columnar data model with zero-copy interop across the data ecosystem

File storage

Columnar format designed for Data Lake and heavy ML workloads

Query engine

Query engine that compiles to native code and runs against Arrow arrays

Core language

Fast, safe, no runtime. Compiles to a single binary

TL;DR

1

On-device graph database

No server, no cloud, no Docker

2

Schema-as-code

.pg files, version-controlled, enforced at query time

3

Built for agents

Claude reads, writes, and traverses the graph natively

4

Rust + Lance + Arrow

Fast, ACID, columnar, time-travel

5

Full search stack

Full-text, semantic, fuzzy, BM25, hybrid, graph-constrained reranking

6

CDC / event sourcing

Built-in ledger, no external deps

7

Zero setup

Create a graph and start querying. Delete and recreate in seconds

8

Open source

One folder, your machine, your data

$ brew install nanograph/tap/nanograph

One CLI. One folder. No server.

Start building your graph in seconds. No Docker. No cloud. No config.