Skip to content

paperboytm/spool

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

513 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Spool

Publish, discover, and continue agent sessions.

Spool turns work done with coding agents into durable web pages that other people can understand and resume. An author shares a real Session—not a screenshot or reconstructed recap—and readers can move from Summary to conversation, tool activity, files, and diff before continuing the work in their own agent.

Early stage. Link-only sharing and native Resume work today for Claude Code and Codex CLI. Public Profiles and Discovery are the next active product surface. Feedback is welcome through Issues or Discord.

Install

Desktop

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

The desktop app currently supports macOS on Apple Silicon. Release artifacts are also available from the latest GitHub release.

CLI

npm install -g @spool-lab/cli

Share a Session

From the desktop app, open a Claude Code or Codex CLI Session and choose Share session.

From a terminal:

spool sync
spool login
spool share <session-uuid>

Spool scans the selected Session for sensitive values, prepares an optional Summary, publishes the records to the Hub, and returns a durable URL.

A reader can open that URL without installing Spool. To continue the work locally:

spool resume <session-url>

Resume creates a new provider-native Session and preserves its relationship to the source. The shared source is never modified.

Product Model

  • Share creates a durable Link-only URL.
  • Publish makes a Shared Session Public so it can appear on the author’s Profile and in Discovery.
  • Read moves from Summary to conversation, tools, files, and net diff.
  • Resume / Fork creates new agent-native work with visible lineage.
  • Withdraw removes access to a Shared Session.

Nothing is published automatically. A new share is Link-only; public visibility is always a separate, explicit choice.

What Spool Includes

  • Session publishing — share Claude Code and Codex CLI Sessions from Desktop or CLI
  • Readable Session pages — Summary, conversation, tool activity, touched files, diff, and record deep links
  • Native continuation — materialize a Shared Session locally and continue it in its original agent format
  • Sensitive-data checks — detect likely credentials, tokens, personal data, and local paths before sharing
  • Local preparation — collect and organize Claude Code, Codex CLI, Gemini CLI, OpenCode, and Pi Sessions before deciding what to share
  • Agent access — use the bundled Spool skill or JSON CLI output from any shell-capable agent
  • Public identity and Discovery — Profiles, Public Sessions, topics, and continuation lineage are the community layer under active development

Architecture

apps/
  app/          Electron desktop app for preparing, reading, and sharing Sessions
  cli/          CLI for indexing, sharing, reading, resuming, and automation
  web/          spool.pro: homepage, docs, Profiles, account pages, and Session reader
  backend/      Hub, identity, publication, and media API on Cloudflare
packages/
  core/         Local Session ingestion, organization, SQLite, and full-text search
  redact/       Sensitive-data detection shared by publishing surfaces
  session-kit/  Browser-safe Session model, canonical records, views, and diffs
  session-view/ Shared conversation renderer for Desktop and Web
  share-kit/    Curated `.spool` documents, templates, and export primitives

The original provider Session remains authoritative. Git remains authoritative for code. Spool publishes agent work and its context; it does not replace the project’s source-control system.

Development

pnpm install
pnpm exec electron-rebuild -f -w better-sqlite3
pnpm dev

Run the standard checks with:

pnpm typecheck
pnpm test
pnpm build

Do not run desktop end-to-end tests unless the task specifically requires them.

Native runtime switching

better-sqlite3 must match the active runtime:

pnpm run rebuild:native:node      # Node tests and CLI work
pnpm run rebuild:native:electron  # Electron development and packaging

Development data

Desktop development uses ~/.spool-dev/ instead of the production data directory.

pnpm --filter @spool/app dev:seed-from-prod
pnpm --filter @spool/app dev:reset-db

Override it with SPOOL_DATA_DIR=/some/path pnpm dev.

Release

./scripts/release.sh

Build and signing run in GitHub Actions. For a local macOS package without a release:

pnpm run package:mac

License

MIT

Trademark

“Spool” and the Spool logo are trademarks of TypeSafe Limited. The MIT License covers the source code only and does not grant permission to use the Spool name or logo. See LICENSE.

About

Your local AI session library. Browse, pin, and ⌘K-search every Claude Code, Codex, Gemini & OpenCode session — and let the built-in scanner catch leaked secrets. Local-first, nothing leaves your machine.

Topics

Resources

License

Contributing

Stars

568 stars

Watchers

1 watching

Forks

Packages

 
 
 

Contributors

Languages