arbor CLAUDE.md

Repository instructions for Arbor, a Rust project that builds a semantic code graph—a map of code elements and their dependencies—and exposes it to command-line tools, interfaces, WebSocket clients, and AI agents.

In plain words
What is it for?
Building and testing all or selected Rust crates, running the Arbor command-line tool, checking formatting and lint, running benchmarks, and understanding crate dependency order.
Why use it?
It collects the project’s build, test, lint, formatting, benchmark, release, and architecture guidance in one place.

Instructions file

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add instructions/getarbor-dev/arbor/claude-md
Clone the repo
git clone --depth 1 https://github.com/getArbor-dev/arbor
Per session 3,172 This file is loaded in full into every session.
When invoked 3,172 The same file — it is already loaded in full.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.03172 $0.03172
Opus 5 $0.01586 $0.01586
Sonnet 5 $0.00634 $0.00634
Haiku 4.5 $0.00317 $0.00317

Measured 2d ago against content hash f0413e2136b7, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

arbor CLAUDE.md scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

CLAUDE.md · 237 lines

How it starts

The opening of the file, as written. The whole thing — 237 lines — stays where its author put it; the contents beside it link to each section on GitHub.

CLAUDE.md

This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.

Commands

# Build
cargo build --workspace

# Test all crates
cargo test --workspace

# Test single crate
cargo test -p arbor-graph
cargo test -p arbor-core

# Test single test by name
cargo test -p arbor-graph -- ranking::tests::test_pagerank_basic

# Lint
cargo clippy --workspace --all-targets --all-features

# Format check
cargo fmt --all -- --check

# Format fix
cargo fmt --all

# Benchmarks (criterion; CI regression gate in .github/workflows/benchmarks.yml)
cargo bench -p arbor-graph

# Release build (CLI binary)
cargo build --locked --release -p arbor-graph-cli

# Run CLI locally
cargo run -p arbor-graph-cli -- <command>

Architecture

Arbor is a semantic code graph engine — it parses codebases into a dependency graph and exposes that graph to CLIs, GUIs, WebSocket clients, and AI agents (via MCP).

Crate Dependency Order

arbor-core  →  arbor-graph  →  arbor-watcher
                     │                │
                     └───── arbor-server ─────┐
                                              │
                     arbor-mcp ───────────────┤
                     arbor-cli ───────────────┘
                     arbor-gui ──────────────────→ arbor-{core,graph,watcher}

Crate Roles

arbor-core — Tree-sitter AST parsing. Extracts functions, classes, structs, imports, and call edges for 9 production languages (Rust, TS/JS, Python, Go, Java, C/C++, C#, Dart) plus 5 fallback parsers. Each language lives in crates/arbor-core/src/languages/. parser_v2.rs is the active parser; parser.rs is legacy.

arbor-graph — In-memory petgraph + sled persistence. Key modules:

  • builder.rs — converts parsed nodes/edges into the graph, builds per-file import maps for cross-module edge filtering
  • ranking.rs — PageRank with 10% weight for test-file callers
  • heuristics.rs — entry point detection (main, HTTP routes, webhooks, jobs, CLI commands)
  • impact.rs — blast radius, shortest path (A*)
  • slice.rs — context trimming (token-aware, tiktoken)
  • symbol_table.rs — cross-file FQN resolution
  • confidence.rs — edge confidence scoring
  • store.rs — sled-backed persistence

Read the full file on GitHub · 237 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 237 lines · 3,172 tokens per session scan A f0413e2136b7

Subscribe to this mod's changes

arbor CLAUDE.md is an instructions file published in the GitHub repository getArbor-dev/arbor (156 stars, last pushed 19d ago), licensed MIT. It adds 3,172 tokens to every session, about $0.0159 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.