- AI: VaultMaster 3000
- Human: The Harp-Dawg Supreme
ccvault is a Go application that archives Claude Code conversations from ~/.claude for offline search, analytics, and MCP integration. Based on msgvault.
~/.claude/projects/<encoded-path>/<uuid>.jsonl → SQLite + FTS5 + Parquet
Key components:
- Parser: Reads JSONL session files from Claude Code
- SQLite + FTS5: Full-text search with triggers
- DuckDB + Parquet: Fast analytics queries
- Bubble Tea: Terminal UI
- MCP Server: AI integration via JSON-RPC
# Build
make build
# Run tests
make test
# Sync and explore
make sync
make tui
# Build analytics cache
make cachecmd/ccvault/main.go- CLI entry pointpkg/parser/- JSONL parsingpkg/models/- Data structuresinternal/config/- Configuration managementinternal/db/- SQLite + FTS5 layerinternal/sync/- Incremental sync logicinternal/search/- Query parsing and executioninternal/export/- Markdown exportinternal/tui/- Terminal UIinternal/mcp/- MCP serverinternal/analytics/- DuckDB/Parquet
- Session files are JSONL with nested message structures
- Project paths in Claude use dash-separated encoding of filesystem paths (slashes become dashes), with URL encoding for special characters
- FTS5 uses triggers to auto-sync with turns table
- Incremental sync tracks file modification times