Vibeleaderboard
Index / tool
Visit getcaveman.dev
Category
AI Agents
Rank
Pricing
Open Source
Type
TOOL
GitHub
677 stars
Latest release
v0.2.1
Date

About

Cross-agent persistent memory for coding assistants. Compressed storage, fast retrieval, local by default.

What it does

Cavemem records coding-assistant session events through IDE hooks, removes marked private content, compresses prose, and stores observations in SQLite. Assistants later retrieve compact search results or timelines through MCP, then request full observation bodies only when needed. A local browser viewer exposes the same history in readable form.

Why it's ranked here

The design addresses memory without forcing every query to load entire transcripts. Keyword and vector retrieval share a tunable ranker, while progressive fetching controls context size. Privacy controls operate before storage, and export plus idempotent import support manual transfer. Its value still depends heavily on each IDE's hook coverage.

What's good

Compression preserves code blocks, URLs, paths, identifiers, and version numbers while shortening surrounding prose. Search combines SQLite FTS5 with a local vector index. Private tags, secret-shaped value redaction, directory exclusions, and tool filters provide several capture boundaries. The viewer binds locally and protects its API with a bearer token.

Tradeoffs

Capture support is uneven. Cursor, Gemini CLI, Antigravity, and IBM Bob can only query memories recorded elsewhere. Codex and GitHub Copilot lack a session-end event, while Augment lacks prompt-submission capture. Windows capture through Claude Code depends on a resolvable shell and can fail silently. Cross-device movement is a manual export, copy, and import process.

How to use it well

Use it when several supported coding assistants revisit the same projects and recurring context deserves searchable retention. Install capture on an IDE with hooks, inspect wiring and embedding progress, then let agents search before fetching full observations. Configure exclusions before normal use. It does not provide automatic cloud synchronization, and query-only integrations cannot populate their own history.

Technical notes+

The root package.json defines a private pnpm monorepo, requires Node.js 20 or newer, and uses TypeScript, tsup, Vitest, and Biome. packages/core/src/ranker.ts normalizes BM25 and cosine inputs before blending and sorting them. packages/config/src/glob.ts implements cached, segment-based glob matching with Windows separator normalization. packages/config/src/home.ts resolves state through CAVEMEM_HOME, an existing legacy directory, explicit XDG data storage, or platform defaults. packages/embedding/tsup.config.ts emits ESM and declarations while keeping the optional transformer dependency external. packages/storage/vitest.config.ts excludes the Bun-specific test from Node-based Vitest runs.

Observed

License
MIT
Primary language
TypeScript
Packaging
Private pnpm monorepo with a globally installable npm CLI package
Runtime
Node.js 20 or newer
Interfaces
Command-line interface, stdio MCP server, exported TypeScript library surface, and read-only local web viewer
Storage and search
SQLite with FTS5 keyword search and a local vector index
IDE coverage
Capture and query for Claude Code, OpenCode, Codex, GitHub Copilot, and Augment Code; query-only for Cursor, Gemini CLI, Antigravity, and IBM Bob
Testing
Vitest configurations are present, including separate embedding tests and exclusion of a Bun-specific storage test

Read from README.md, package.json, packages/embedding/tsup.config.ts, packages/storage/vitest.config.ts, packages/embedding/vitest.config.ts, packages/core/src/ids.ts, packages/core/src/index.ts, packages/core/src/types.ts, packages/hooks/src/index.ts, packages/config/src/docs.ts, packages/config/src/glob.ts, packages/config/src/home.ts, packages/core/src/ranker.ts, packages/config/src/index.ts, packages/storage/src/index.ts.

What it can do

  • Store coding session context across multiple AI agents

    Coding conversation history and context dataPersistent memory storage accessible by different agents

  • Compress and optimize memory storage

    Raw conversation and code dataCompressed memory files with reduced storage footprint

  • Retrieve relevant context for coding assistance

    Query or coding taskRelated historical context and code examples

  • Maintain local memory database

    Agent interactions and code-related dataLocal database of persistent coding knowledge

  • Share memory context between different coding assistants

    Memory data from one coding agentAccessible context for other coding agents

  • Enable fast search through coding history

    Search terms or code patternsQuickly retrieved relevant past interactions

Tags

memoryragclaude-codetypescriptagents

Tech Stack

Node.js

Comments (0)

No comments yet

Editorially curated, with community endorsements as a secondary signal. Corrections welcome.