The missing search engine for your own data.
Search your Claude Code sessions, Codex CLI history, Gemini CLI chats, GitHub stars, Twitter bookmarks, and YouTube likes — locally, instantly.
Early stage. Spool is under active development — expect rough edges. Feedback, bug reports, and ideas are very welcome via Issues or Discord.
curl -fsSL https://spool.pro/install.sh | bashmacOS / Apple Silicon only. Or build from source:
pnpm install
pnpm build
# DMG is in packages/app/dist/Spool indexes your AI conversations and bookmarks into a single local search box.
- AI sessions — watches Claude/Codex/Gemini session dirs in real time, including profile-based paths like
~/.claude-profiles/*/projects,~/.codex-profiles/*/sessions, and Gemini’s project temp dirs under~/.gemini/tmp/*/chats - Connectors — sync bookmarks and stars from platforms like Twitter/X, GitHub, and more via installable connector plugins
- Agent search — a
/spoolskill inside Claude Code feeds matching fragments back into your conversation
Everything stays on your machine. Nothing leaves.
packages/
app/ Electron macOS app (React + Vite + Tailwind)
core/ Indexing engine (SQLite + FTS5)
cli/ CLI interface (`spool search ...`)
landing/ spool.pro website
pnpm install
pnpm exec electron-rebuild -f -w better-sqlite3 # rebuild native modules for Electron
pnpm dev # starts app + landing in dev mode
pnpm test # runs all testsNote: The
electron-rebuildstep is required whenever you runpnpm installor switch Node.js versions. Without it, the Electron app will crash at launch with aNODE_MODULE_VERSIONmismatch error frombetter-sqlite3.
If you switch between Node-side tests and Electron app/e2e runs, rebuild better-sqlite3 for the matching runtime:
pnpm run rebuild:native:node # before @spool/core / Node-based tests
pnpm run rebuild:native:electron # before launching the Electron app or e2e tests./scripts/release.sh # bump version, build, create GitHub release- fieldtheory-cli — Twitter/X bookmark sync implementation adapted from this project
MIT
