goosedump
goosedump browses, searches, converts, and compacts saved coding-agent
sessions, with project-scoped durable memory. It supports Claude Code, Codex,
Crush, Gemini CLI, Goose, OpenCode, and Pi.
Inspired by lllyasviel/VCC.
Install
Prebuilt binaries support Linux x64/arm64, macOS arm64, and Windows x64:
Build from source (Rust 1.95+, C compiler, Node.js 18+):
Quick start
Session targets use provider:session-id. Bare IDs are not accepted.
Full options: goosedump --help and the manual page.
Commands
| Group | Commands |
|---|---|
session |
list, show, find, search, compact, copy, remove |
memory |
learn, recall, list, show, forget, status |
session compact does not write durable memory. memory learn creates durable
claims; recall searches the current project by default. Memory types are
decision, fact, preference, procedure, and lesson.
Pi extension
The pi-goosedump extension adds session search, memory, session management, and compaction to Pi:
Local models
| Model | Role |
|---|---|
| gpt-oss-20b | Claim extraction; compact candidate filter |
| bge-small-en-v1.5 | Semantic claim retrieval |
Development
Check
CI_MSRV=1
Package
Packages the highest semver tag reachable from HEAD on the current branch
(not necessarily the tip). Source is built from a detached worktree at that
tag; this packaging script stays on tip so tooling fixes apply without a new
tag. Artifacts land in npm/*/bin and artifacts/ on the caller tree.
Linux x64/arm64 and Windows x64 use cross
and Docker. On Apple Silicon with Dory, x86_64 images run under FEX; packaging
reaps the container if FEX leaves it stuck after cargo finishes.
darwin-arm64 builds with host cargo when packaging on darwin-arm64. From
Linux, the same platform uses the local osxcross image
ghcr.io/cross-rs/aarch64-apple-darwin-cross:local (Apple SDK; not redistributed).
PACKAGE_STRICT=1
Release
After scripts/release.sh <version> and pushing the tag:
PACKAGE_STRICT=1
make publish uses the highest semver tag reachable from HEAD (tip may be
ahead). It publishes crates.io from that tagged tree, npm from local
npm/*/bin artifacts, then uploads GitLab release tarballs when glab is
available.
License
| Component | 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 download at run time and are not distributed with goosedump.