Give your agents
a memory and a map.

Embornal keeps two things an agent forgets: the facts it learned, and the shape of the code it works in. Both stay small, stay searchable, and stay out of the way until they're needed.

/projects/embornalfacts live in a wiki path
$ embornal memory recall "what matters"
✓ 3 facts found · instantly

$ embornal code recall "where auth lives"
✓ 2 matches · instantly

MEMORY, WITHOUT THE MESS

Agents forget.
Embornal remembers.

A plain notes file grows into noise. Embornal returns only the few facts that the current task needs.

01 / SMALL FACTS

Write one fact at a time.

Atomic knowledge stays easy to update, rank, and reuse.

02 / SMART RECALL

Ask in your own words.

Find facts by word, meaning, or how useful they remain.

03 / ONE BINARY

Keep the setup quiet.

Memory, wiki, and model arrive together. No service required.

RECALL WHAT MATTERS

Your context,
ready on cue.

Search by exact words, by meaning, or by memory strength. Embornal brings the right fact back without flooding the prompt.

local-first · multilingual

embornal — memory
$ embornal memory store /work/acme
  "The build needs Rust 1.85."

✓ fact stored

$ embornal memory recall
  "what does the build need?"

/work/acme   1.000
The build needs Rust 1.85.

CODE, WITHOUT THE GREP

Agents grep.
Embornal already knows.

A repo has no map until someone reads it. Embornal builds the tree once, in tree-sitter, and keeps it waiting for the next question.

01 / A TREE FROM THE SPANS

Structure, not guesswork.

tree-sitter spans nest into a tree of directories, files, and definitions. Every grammar agrees, so no language needs a rule of its own.

02 / YOU WRITE THE SUMMARY

Bring your own model.

Embornal parses and asks; an agent answers. No model, key, or provider ships in the binary.

03 / ALMOST FREE TO REFRESH

Re-index what changed, and nothing else.

Content hashes skip unchanged files, and summaries pool by hash, shared across every branch.

A MAP, NOT A GUESS

Ask the repo
a real question.

Search the index by word, by meaning, or walk the tree yourself. Embornal answers with the function, the file, and the summary — not a page of grep matches.

tree-sitter · 6 languages

See the code docs
embornal — code
$ embornal code index
collection ~/projects/thing: 47 files, 1422 nodes

$ embornal code recall
  "where the token is checked"

Score   Kind       Name
1.842   function   token.rs::Token::open
coding agent
review agent
your next session
memory

ONE MEMORY, MANY AGENTS

Keep the thread
across every run.

Use one local memory, or put it behind HTTP for a team of machines. Permissions keep each agent in its lane.

Explore the server

ONE BINARY. TWO TOOLS.

Pack better context
for the next run.

Install Embornal once, then teach your agent both loops: a memory that compounds, and a code map that never goes stale.

curl -LsSf https://github.com/tncardoso/embornal/releases/latest/download/embornal-installer.sh | sh