Solves a real problem with long Claude Code sessions - I've asked "why did we decide to do it this way" three weeks into a project more than once and had to scroll back through JSONL transcripts to find the answer. Being fully local (SQLite index, no shared backend) and pairing it with the same Stop/SessionStart hooks as session-end means it doesn't add any new workflow to remember, it just runs. Install was quick and the FTS5 fallback means it still works even without Ollama running.
Dial
this is a real gap - I've had the "what did we decide about X" problem plenty of times across long-running Claude Code sessions. Curious how it behaves for a monorepo setup where frontend and backend live in separate directories but are logically one project - does the per-project indexing stay strictly siloed to each directory, or is there a way to point it at a shared index across a few related repos?
@galdayan For the frontend/backend-as-subdirectories case: you're already covered. Both hooks resolve the DB path via `git rev-parse --show-toplevel`, not cwd, so every session anywhere under that one repo writes to the same `.claude/sessions.db` at the root. No siloing there — it's effectively already a shared index for the whole monorepo.
For pointing it at a shared index across a few separate repos: not out of the box today — each repo's hooks resolve their own toplevel, so each gets its own DB by default. But `mine`/`search`/`embed`/`stats` all take an explicit `--db <path>`, so nothing in the tool itself enforces the isolation — you can point multiple repos' hooks at one shared file path manually (edit the `DB=` line in `.claude/hooks/*.sh`). It's just not a documented/first-class option yet. Worth exposing properly though — thanks for raising it, I'll think about an opt-in config value for it rather than making it the default, since per-project isolation is the whole point for people who do want strict siloing.