REKOL is a drop-in memory layer for Claude Code — no API key, runs entirely on your machine, and surfaces the right context automatically. Your memory is markdown in a folder you own.
A fresh session, a vague request — and your assistant already knows your project's conventions. No re-explaining.
Plenty of tools store notes. REKOL is the one that bolts onto the assistant you already use, needs no key, and brings the right memory to you.
Embeddings (BAAI bge-small) and vector search (sqlite-vec) run on your machine. No account, no API key, no telemetry — REKOL has no cloud of its own and never phones home. It adds no new place your data goes beyond the assistant you already use.
REKOL plugs into the assistant you already live in (Claude Code today, every MCP assistant next). You don't adopt a new agent or switch tools — you add durable memory to the workflow you have.
A layered model — always / when / topics / knowledge — with triggers that inject the right context at the start of every session. The assistant just knows, instead of being told to look.
And the basics, done right: memory is plain markdown you own (open it in Obsidian, grep it, version it in git), and REKOL searches your past session transcripts alongside your curated notes — time-aware, so stale memory doesn't crowd out what's current.
Works with Claude Code on macOS today. It's git clone of a public repo you can read first — not a script piped into your shell.
# clone and install — it asks where to keep your memory
git clone https://github.com/rekol-io/rekol && cd rekol && ./install.sh
install.sh prompts for your memory folder (default ~/rekol-memory — press Enter to accept), then sets up a local venv + the rekol CLI, wires the Claude Code hooks & skill, seeds a starter memory, and builds the index. Sync that folder via Dropbox / iCloud / git / Syncthing, or keep it local.
Bring in your history — pull, not push. REKOL never indexes on its own. Just tell your assistant "set up my rekol memory" or "index my past sessions" — or run rekol init yourself.
Changed your mind? ./uninstall.sh reverses everything cleanly (and backs up what it touches) — your markdown memory always stays yours.
Your memory is markdown in folders you own. It ships with sensible default layers — REKOL indexes everything locally and surfaces the right pieces to your assistant.
Smart defaults, not a cage — it's your folders, so add your own or reshape them to fit how you think.
You don't run memory commands — you just work, and the assistant already has your context and uses it.
You: Add rate limiting to the login endpoint. Claude: Done — RS256 auth, your Problem+JSON error format, and the retry rules you settled on last week. (recalled from memory automatically — you never re-explained any of it)
REKOL loads relevant memory at the start of every session, and the assistant pulls in more from your notes and past sessions on its own as it works. It feels like the assistant simply knows your project and thinks with it. You can steer it when you want — "remember this", "what did we decide about X?" — but you rarely need to.
Not by promise — by architecture. REKOL stores and searches it locally, with no server, account, or telemetry of its own.
The honest picture: REKOL stores, embeds, and searches your memory entirely on-device — it phones home to no one. The only time REKOL touches the network is a one-time embedding-model download (BAAI bge-small, ~130 MB from Hugging Face) on first run. Your AI assistant is, of course, still its own cloud service — when it uses your memory, that context goes to its provider just like anything else you type. REKOL doesn't change that; it just adds no new cloud, key, or telemetry of its own.