The interesting design choice is honesty about freshness: every read carries the indexed commit and a dirty-file count, and points at refresh_context when the index has drifted. In Claude Code the hooks push context into each prompt automatically, so the tools are there for the gaps rather than the main path.
A local-first context and memory layer for coding agents. It indexes your repository with tree-sitter into SQLite and a local vector store, records call and import edges, and assembles a token-budgeted bundle of the code that answers a given question.
- search_context — assembled, token-budgeted context for a multi-file question, with compressed evidence you can expand later
- search_code — ranked raw hits, or action=read_chunk to pull one indexed chunk back at full source
- explain_flow — one tool covering call flow, callers, callees, a bidirectional stack tree, imports for a file, symbol lookup, and seed resolution
- memory — recall, explain, list, store and forget project memories; it keeps working even when no code is indexed
- refresh_context — the single reindex verb, for the whole project or named paths
- get_stats — index freshness, indexed commit versus HEAD, latency percentiles, and storage footprint
- Every read attaches a staleness object, so the agent can tell when the index is behind the working tree
Node.js 22 or newer. On Windows the generated hooks call curl and cat, so Git Bash or WSL must be on PATH. No cloud account or API key for the default local provider — embeddings run locally; ollama and openai are opt-in alternatives. Install globally from npm as @proofofwork-agency/reporecall, then run init and index in the project root.
One command — npm install -g @proofofwork-agency/reporecall
