Skip to content

spool-lab/spool

Repository files navigation

Spool

The missing search engine for your own data.

Spool

Search your Claude Code sessions, Codex CLI history, and Gemini CLI chats — locally, instantly.

Early stage. Spool is under active development — expect rough edges. Feedback, bug reports, and ideas are very welcome via Issues or Discord.

Install

curl -fsSL https://spool.pro/install.sh | bash

macOS / Apple Silicon only. Or build from source:

pnpm install
pnpm build
# DMG is in packages/app/dist/

What it does

Spool indexes your AI conversations 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
  • Agent search — a /spool skill inside Claude Code feeds matching fragments back into your conversation

Everything stays on your machine. Nothing leaves.

Looking for connectors (Twitter / GitHub / Reddit / etc.)? They now live in Spool Daemon, a sibling app focused on syncing platform data.

Architecture

packages/
  app/      Electron macOS app (React + Vite + Tailwind)
  core/     Indexing engine (SQLite + FTS5)
  cli/      CLI interface (`spool search ...`)
  landing/  spool.pro website

Development

pnpm install
pnpm exec electron-rebuild -f -w better-sqlite3   # rebuild native modules for Electron
pnpm dev          # starts app in dev mode
pnpm test         # runs all tests

Note: The electron-rebuild step is required whenever you run pnpm install or switch Node.js versions. Without it, the Electron app will crash at launch with a NODE_MODULE_VERSION mismatch error from better-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

Release

./scripts/release.sh        # bump version, push tag, dispatch CI release workflow

Build + signing happen in GitHub Actions (see .github/workflows/release.yml) so releases are never tied to a local developer certificate. The script blocks until CI finishes; artifacts appear on the release page when it returns.

To test a local build without cutting a release, use pnpm --filter @spool/app build:mac.

License

MIT

Trademark

"Spool" and the Spool logo are trademarks of TypeSafe Limited. The MIT License above covers the source code only and does not grant permission to use the Spool name or logo. See the trademark notice in LICENSE for details.

About

Search your Claude Code sessions, Codex history, GitHub stars, and 50+ sources — locally, instantly. Your AI agents can search too.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors