Per-project semantic search over your Claude Code session history — not a shared or centralized memory store. Indexes JSONL transcripts into a local SQLite file, retrieves via bge-m3 embeddings (Ollama) with automatic FTS5 BM25 fallback, and auto-injects relevant past context at session start. Companion to session-end: session-end gives "where I left off," session-indexer gives "what we decided" — same Stop/SessionStart hooks. Apache 2.0, 75 passing tests, go install and nothing to deploy.
I kept losing track of why we made past decisions across long-running projects — session-end gives you "where I left off," but not "what did we decide about X three weeks ago." So I built session-indexer to close that gap: a per-project SQLite index of your Claude Code session history, searchable by semantic similarity via bge-m3, with an automatic FTS5 keyword fallback so it never has a hard dependency on Ollama. It hooks into the same Stop/SessionStart events as session-end, so both just run together — no extra setup, no shared backend, nothing to deploy.
Report
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?
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?