Expand description
§rustbrain-core
Project-scoped knowledge graph engine for software repositories: Markdown notes, optional Rust AST symbols, ranked full-text search, and graph-aware AI agent context.
§Quick start
use rustbrain_core::{Brain, ContextOptions, QueryOptions, Result};
fn main() -> Result<()> {
let mut brain = Brain::open_or_create(".")?;
brain.sync()?;
let hits = brain.query_ranked("raft", &QueryOptions::human())?;
let ctx = brain.context_for_prompt("explain raft", 1024)?;
println!("{}", ctx.to_markdown());
let _ = hits;
Ok(())
}§Published crates
| Package | Role |
|---|---|
rustbrain-core | This library |
rustbrain | CLI (bootstrap, doctor, note, sync, …) |
§Feature flags
| Feature | Default | Purpose |
|---|---|---|
ast | yes | Tree-sitter Rust symbol extraction |
obsidian | yes | WikiLinks, frontmatter, Canvas |
mmap | yes | CSR graph.mmap |
watch | no | Debounced filesystem watcher |
jshift | no | In-place JSON helpers |
full | no | All optional features |
Re-exports§
pub use bootstrap::bootstrap_noninteractive;pub use bootstrap::bootstrap_workspace;pub use bootstrap::BootstrapAction;pub use bootstrap::BootstrapMode;pub use bootstrap::BootstrapOptions;pub use bootstrap::BootstrapReport;pub use brain::find_brain_dir;pub use brain::Brain;pub use context::ContextOptions;pub use fts::prepare_search_query;pub use fts::tokenize_query;pub use fts::PreparedQuery;pub use doctor::run_doctor;pub use doctor::DoctorFinding;pub use doctor::DoctorReport;pub use doctor::DoctorSeverity;pub use error::BrainError;pub use error::Result;pub use exporter::BrainExporter;pub use exporter::BrainImporter;pub use exporter::PortableBrainBundle;pub use exporter::BUNDLE_VERSION;pub use ignore::recommended_ignore_extras;pub use ignore::write_rustbrainignore;pub use ignore::IgnoreSet;pub use indexer::WorkspaceIndexer;pub use mmap::CsrCompiler;pub use mmap::CsrMmapGraph;pub use mmap::MMAP_VERSION;pub use note::create_note;pub use note::default_dir_for_type;pub use note::slugify_title;pub use note::NoteCreated;pub use note::NoteNewOptions;pub use query::PendingLink;pub use query::QueryOptions;pub use query::RankedHit;pub use registry::GlobalRankedHit;pub use registry::GlobalRegistry;pub use storage::Database;pub use storage::SCHEMA_VERSION;pub use symbols::extract_symbol_refs;pub use symbols::symbol_node_id;pub use symbols::SymbolRef;pub use types::xml_escape;pub use types::ContextBundle;pub use types::ContextNode;pub use types::ContextRole;pub use types::Edge;pub use types::Node;pub use types::NodeType;pub use types::SyncStats;pub use watch::WatchConfig;pub use ast::compute_symbol_hash;pub use ast::AstError;pub use ast::CodeAstParser;pub use ast::SymbolAnchor;pub use obsidian::extract_wikilinks;pub use obsidian::parse_frontmatter;pub use obsidian::CanvasEdge;pub use obsidian::CanvasNode;pub use obsidian::Frontmatter;pub use obsidian::ObsidianCanvas;pub use obsidian::WikiLink;pub use mutator::extract_json_field_slice;pub use mutator::update_json_field_inplace;pub use watch::watch_workspace;
Modules§
- ast
- Tree-sitter Rust symbol extraction and BLAKE3 hashing.
- bootstrap
- Deterministic workspace bootstrap for mature repositories.
- brain
- Primary library façade:
Brain. - context
- Graph-aware AI context assembly with token budgeting.
- doctor
- Health checks for a project brain (
rustbrain doctor). - error
- Typed errors for the rustbrain library boundary.
- exporter
- Portable
.brainbundleexport and import (schema v1). - fts
- FTS5 query helpers: escaping, stopword stripping, and safe
MATCHconstruction. - id
- Stable node ID scheme based on repository-relative path slugs.
- ignore
- Workspace ignore patterns for indexing (
.rustbrainignore+ optional.gitignore). - indexer
- Workspace walker: Markdown notes, optional Canvas, optional Rust AST.
- mmap
- CSR graph mmap cache (format v1).
- mutator
- Optional jshift-backed in-place JSON field mutation helpers.
- note
- Create structured Markdown notes for the brain (
note new). - obsidian
- Obsidian-compatible WikiLink, frontmatter, and Canvas parsing.
- query
- Ranked hybrid query: FTS5 BM25 + tag / alias / title boosts.
- registry
- Global developer registry of rustbrain workspaces (XDG-aware).
- storage
- SQLite master store for rustbrain.
- symbols
- Symbol reference parsing and stable symbol node IDs.
- types
- Domain types for the rustbrain knowledge graph.
- watch
- Debounced filesystem watcher for live re-indexing.