# goosedump
`goosedump` browses, searches, converts, and compacts saved coding-agent
sessions. It also provides project-scoped durable memory for Claude Code,
Codex, Crush, Gemini CLI, Goose, OpenCode, and Pi.
It builds on ideas from [`lllyasviel/VCC`](https://github.com/lllyasviel/VCC).
## Install
Prebuilt binaries support Linux x64 and arm64, macOS arm64, and Windows x64:
```sh
npm install --global @jarkkojs/goosedump
```
To build from source:
```sh
cargo build --release
```
Requires Node.js 18 or later. Source builds require Rust 1.95 and a C compiler.
## Quick start
```sh
goosedump session list --query '.provider == "pi"'
goosedump session show pi:context-id
goosedump session find pi:context-id '*database*'
goosedump session search pi:context-id 'database failure'
goosedump session compact pi:context-id
goosedump memory remember pi:context-id
goosedump memory recall 'database failure'
```
Commands that address a saved session require a `provider:session-id` target.
See `goosedump --help` and the [manual page](man/man1/goosedump.1) for options.
## Compaction and memory
Compaction creates a summary and does not change durable memory. Summaries have
an estimated 4,096-token limit by default; pass `--summary-max-tokens 0` to
disable it.
`memory remember` extracts typed statements and provenance from new session
entries. Recall searches the current project by default, combining lexical,
entity, and semantic matches. Use `--history` for superseded memories or
`--all-projects` to search every project.
The text and embedding models run locally and download on first use. Statements,
vectors, and provenance are stored together in SQLite.
Durable-memory schema 16 is incompatible with older databases. When upgrading
from schema 15 or earlier, back up and remove `memory.sqlite3`.
## Pi extension
The bundled [pi-goosedump extension](packages/pi-goosedump/README.md) adds
session search, memory, session management, and compaction to Pi:
```sh
pi install npm:pi-goosedump
```
## Development
```sh
cargo test --all-targets
cargo clippy --all-targets -- -D warnings
cargo fmt --check
```
## License
- `goosedump`: LGPL-2.1-or-later
- `pi-goosedump`: Apache-2.0
- GPT-OSS-20B: Apache-2.0
- bge-small-en-v1.5: MIT
Models are downloaded at run time and are not distributed with goosedump.