[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-95049":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":16,"stars7d":17,"stars30d":17,"stars90d":16,"forks30d":16,"starsTrendScore":18,"compositeScore":19,"rankGlobal":10,"rankLanguage":10,"license":20,"archived":21,"fork":21,"defaultBranch":22,"hasWiki":21,"hasPages":21,"topics":23,"createdAt":10,"pushedAt":10,"updatedAt":35,"readmeContent":36,"aiSummary":37,"trendingCount":16,"starSnapshotCount":16,"syncStatus":38,"lastSyncTime":39,"discoverSource":40},95049,"claude-db","Avijit07x\u002Fclaude-db","Avijit07x","Persistent memory for Claude Code. Bring your own database.","",null,"TypeScript",165,15,3,1,0,41,8,67.71,"Apache License 2.0",false,"main",[24,25,26,27,28,29,30,31,32,33,34],"claude","claude-ai","claude-api","claude-code","claude-code-plugin","claude-code-plugins","claude-code-skill","claude-code-skills","claude-desktop","claude-plugin","claude-skills","2026-08-24 04:01:23","\u003Cimg src=\".\u002Fassets\u002Fwordmark.svg\" alt=\"claude-db\" width=\"330\">\n\n**Persistent memory for Claude Code. Bring your own database.**\n\n[![npm](https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fv\u002Fclaude-db.svg)](https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002Fclaude-db)\n[![CI](https:\u002F\u002Fgithub.com\u002FAvijit07x\u002Fclaude-db\u002Factions\u002Fworkflows\u002Fci.yml\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002FAvijit07x\u002Fclaude-db\u002Factions\u002Fworkflows\u002Fci.yml)\n[![license](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flicense-Apache--2.0-blue.svg)](.\u002FLICENSE)\n\n[Documentation](https:\u002F\u002Fclaude-db.vercel.app\u002Fdocs) ·\n[Quick start](https:\u002F\u002Fclaude-db.vercel.app\u002Fdocs\u002Fquick-start) ·\n[CLI reference](https:\u002F\u002Fclaude-db.vercel.app\u002Fdocs\u002Fcli)\n\n---\n\n## Every session starts from zero\n\nYou spent an hour yesterday explaining why the store uses three adapters, which\napproach you already tried and abandoned, and why that one function must not be\ntouched. Today Claude knows none of it. So you explain it again.\n\nclaude-db fixes that, and the other half too. Claude re-derives your codebase\nevery time, grepping a name and opening files to work out what calls what.\n\n```console\n$ claude-db search \"why does capture read the transcript\"\n\n83cf1246-eb14  decision  2026-08-19  Tested and written up.\n    …the old defaults prompt was now cut why does capture read the transcript…\n88fab24f-5e59  decision  2026-08-19  Finding 4's other half needs checking…\n    …cannot work: 0.029483 \"why does capture read…\" \u003C- highly relevant…\n```\n\nYou never run that command. Claude gets the same context injected on every\nprompt, so it walks in already knowing. Nothing leaves your machine.\n\n## Install\n\n```bash\nnpm install -g claude-db\n\ncd your-project\nclaude-db install --project\n```\n\nRestart Claude Code. That's it: capture and recall are hooks, so they run\nwithout being asked.\n\n`--project` scopes to one repo instead of every project on the machine. It\nwrites `.claude\u002Fsettings.local.json` and `.mcp.json`. Add `.mcp.json` to your\n`.gitignore`, since it holds a machine-specific path.\n\n## Map your code\n\nMemory fills itself as you work. The code graph needs one command:\n\n```bash\nclaude-db scan\n```\n\nClaude then gets four modes through MCP: `text` (a live grep, works with no\nscan at all), `usages`, `explain` and `path`. Re-running `scan` is cheap: it\nhashes files and re-parses only what changed.\n\nWorks out of the box on TypeScript, TSX, JavaScript, Python, Go and Rust. The\nparser ships with the package, so there is nothing else to install.\n\n## Use another database\n\nSQLite by default, at `~\u002F.claude-memory\u002Fmemory.db`. No setup, no network. Point\nit elsewhere to share memory across machines:\n\n```bash\nclaude-db use \"mongodb+srv:\u002F\u002Fuser:pass@cluster.mongodb.net\u002Fmemory\"\nclaude-db use \"postgres:\u002F\u002Fuser:pass@host:5432\u002Fmemory\"\n```\n\nInstall the driver you need (`npm install mongodb` or `pg`); neither ships by\ndefault.\n\n## With it, and without it\n\nAsking _who defines and calls `closeObservations`_ by hand means a grep, then\nopening three store adapters to see which hits are definitions. One `explain`\ncall answers it already classified: **2.1x cheaper**, measured across eight\nreal symbols in this repo.\n\nRecall is the standing cost of ~180 tokens a prompt, skipped entirely on 28% of\nprompts because the answer is already in context:\n\n```\n  every prompt costs      180 tokens of recall\n  every lookup refunds    597 tokens   (1,115 by hand - 518 with)\n\n  so one lookup pays for 3.3 prompts of recall\n```\n\nCheck it on your own repo with `npm run bench:ab` and `npm run bench:tokens`\nfrom a clone. [With and without](.\u002Fdocs\u002Fwith-and-without.md) has every number,\nincluding the symbols where plain grep wins.\n\n## Commands\n\n`cdb` is a shorter alias for all of them. These are the ones you actually type:\n\n| Command                                  | What it does                                           |\n| ---------------------------------------- | ------------------------------------------------------ |\n| `claude-db install [--project]`          | Register hooks and the MCP server                      |\n| `claude-db status`                       | Is it wired up, and when did it last record anything   |\n| `claude-db doctor [--deep]`              | Resolved config; `--deep` proves a full round trip     |\n| `claude-db scan [--force]`               | Build the code graph for this repo                     |\n| `claude-db usages [--mode \u003Cm>] \u003Csymbol>` | What uses a symbol: live `git grep`, or the code graph |\n| `claude-db use \u003Curl>`                    | Switch database and verify it                          |\n\nEvery other command, including `search`, `remember`, `seed`, `sync`, `export`,\n`prune` and `reset`, is in the [CLI reference](https:\u002F\u002Fclaude-db.vercel.app\u002Fdocs\u002Fcli).\n\nInstall also adds a `\u002Fcdb-scan` skill: run it once on an existing project and\nClaude maps the codebase into memory, so search has something to find before\nyou have any history.\n\n## Requirements\n\nNode 22.5 or newer. That's the only hard requirement: SQLite comes from Node's\nbuiltin `node:sqlite`, so nothing compiles at install time.\n\nEmbeddings run locally with a zero-dependency embedder. For real semantic\nsearch, `npm install @xenova\u002Ftransformers` and it upgrades itself.\n\n## Privacy\n\nNothing leaves your machine unless you point it at a remote database.\n`.env`, `secrets\u002F`, `node_modules` and `.git\u002F` are never stored, text wrapped\nin `\u003Cprivate>...\u003C\u002Fprivate>` is stripped, and API keys and tokens are redacted\nbefore anything is written.\n\n## Documentation\n\n**[claude-db.vercel.app\u002Fdocs](https:\u002F\u002Fclaude-db.vercel.app\u002Fdocs)** has the rest:\nthe [CLI reference](https:\u002F\u002Fclaude-db.vercel.app\u002Fdocs\u002Fcli),\n[MCP tools](https:\u002F\u002Fclaude-db.vercel.app\u002Fdocs\u002Fmcp-tools),\n[how it works](https:\u002F\u002Fclaude-db.vercel.app\u002Fdocs\u002Fhow-it-works),\n[databases](https:\u002F\u002Fclaude-db.vercel.app\u002Fdocs\u002Fdatabases) and\n[troubleshooting](https:\u002F\u002Fclaude-db.vercel.app\u002Fdocs\u002Ftroubleshooting).\n\n[Benchmarks](https:\u002F\u002Fclaude-db.vercel.app\u002Fdocs\u002Fbenchmarks) has every number,\nincluding the symbols where plain grep wins. Releases are in the\n[changelog](.\u002FCHANGELOG.md).\n\n## Development\n\n```bash\nnpm install\nnpm run build\nnpm test      # 326 checks\nnpm run try   # simulate a session, touches nothing\nnpm run format\n```\n\nReleases publish from CI on a version tag:\n\n```bash\nnpm version patch\ngit push --follow-tags\n```\n\n## License\n\nApache-2.0\n","claude-db 是一个为 Claude Code 提供持久化上下文记忆的本地化工具。它通过自动扫描代码库构建语义感知的代码图谱，支持在会话间持续保留开发者的决策记录、代码解释和调用关系，并允许用户自选数据库（如 SQLite、PostgreSQL、MongoDB）存储记忆数据；所有处理均在本地完成，不上传代码或敏感信息。核心特性包括零配置启动、增量式代码扫描、MCP 协议集成及多语言解析支持（TS\u002FJS\u002FPython\u002FGo\u002FRust）。适用于需要长期维护复杂代码理解、减少重复解释开销的中大型项目协作与个人深度开发场景。",2,"2026-08-20 02:30:12","CREATED_QUERY"]