You already wrote it down. Find the passage that answers.
Knowledge accumulates across notes, articles, videos, and long conversations with AI agents, and almost none of it comes back when it is needed. So you re-explain your own project to an agent for the fourth time this week, and it answers from what you just pasted rather than from what you have known for a year.
The usual fixes ask you to become an expert in an application first, and then they hold your knowledge inside it.
Lorekeeper takes the other side of that trade. Your knowledge stays as plain Markdown files you own, readable with no tool installed, including this one. On top of those files sits a deterministic retrieval layer that returns the individual passages that answer a question — and an agent calls it instead of asking you to supply context again.
The knowledge is yours. The retrieval is deterministic. The intelligence is whatever agent you were already using.
Frombrand/narrative.md · The thesis
Lorekeeper in thirty seconds
Lorekeeper is a command-line toolkit for a second brain made of plain Markdown.
lore init creates a brain, or adopts a Markdown vault you already have
without rewriting a single file of it. lore capture files a thought or a URL
with enough context that it is still useful months later, unprocessed.
lore search ranks the passages of that brain against a question and returns
each one with its file, its heading, its line range, its score, and its text.
lore init also writes an AGENTS.md into the brain, which is what makes any
of it fire: a coding agent reads it, learns the directory is searchable, and
searches it before answering questions about your work.
It runs offline. It takes no credentials, makes no network call, and calls no language model. Nothing about it breaks when an AI provider changes its API, its pricing, or its mind.
Frombrand/narrative.md · Lorekeeper in thirty seconds
lore --help
Lorekeeper 0.1.0
Pathfinder finds the way; Lorekeeper remembers the journey.
Usage:
lore init <dir> Create a brain, or adopt an existing vault
lore capture <brain> <item> Write a thought or a URL into that brain
lore search <brain> <query> Rank the spans of that brain against a query
lore --help Show this message
lore --version Print the version
A captured thought lands in inbox/ as YYYYMMDD-HHMMSS-subject.md, with the
same name as its id. Two captures in one second never collide: the second
one takes the next free -2, -3 suffix.
A captured URL lands in sources/ instead, named for the stable source id it
carries. URLs that name the same thing are one source, so capturing one you
already have reports the file that holds it and writes nothing. The URL is
identified, never visited.
Search ranks spans, not files: each result names a path, the heading it sits
under, its line range, and its score, and prints the lines themselves. Add
--json for that same result shape as JSON, or --limit to change how many
come back. A score ranks; it never proves an answer is absent.
Give several wordings of one question, each in its own quotes, and search
fuses their rankings into one list. Three wordings find what one misses,
so ask in other words rather than trusting a single phrasing. Spans that
repeat the same text in several files are reported once.
Search reads. It writes nothing, builds no index file, and works on any
directory of Markdown, whether or not lore init has run there.
Lorekeeper runs offline and takes no credentials.
Lorekeeper and Pathfinder
Pathfinder finds the way. Lorekeeper remembers the journey.
They come from the same maker and are built to read as siblings, not as one product split in two. Pathfinder is movement, direction, and execution: it takes a project from intent to delivered work. Lorekeeper is memory, provenance, and connection: it keeps what was learned along the way and hands it back when it is next needed.
You can use either without the other. Neither imports the other. Lorekeeper is not a Pathfinder plugin and does not require a Pathfinder project to be useful.
Frombrand/narrative.md · Lorekeeper and Pathfinder