Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 8 additions & 10 deletions DESIGN.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
# Design System — Spool

## Product Context
- **What this is:** A local search engine for your thinking — an Electron macOS app that indexes your AI sessions (Claude Code, Codex, ChatGPT), bookmarks (Twitter, GitHub, YouTube), and any URL you capture, then lets you search it all instantly.
- **What this is:** A local search engine for your thinking — an Electron macOS app that indexes your AI sessions (Claude Code, Codex, Gemini) and lets you search them instantly.
- **Who it's for:** Developers who think with AI daily and have accumulated hundreds of sessions across multiple tools. The persona has re-explained the same context to AI agents dozens of times.
- **Space/industry:** Developer productivity / local-first tooling. Peers: Raycast, Spotlight, Obsidian, Perplexity — but none of them do this.
- **Project type:** macOS Electron app — compact utility window, not a document editor or dashboard.
- **Core positioning:** "A local Google for your thinking." Search is the entire product. Everything else (sources, capture, AI mode) is in service of the search box.
- **Core positioning:** "A local Google for your thinking." Search is the entire product. Everything else (session sources, AI mode) is in service of the search box.

## Aesthetic Direction
- **Direction:** Warm Index — library-warm, not terminal-cold. Function-first but with personality.
Expand Down Expand Up @@ -124,13 +124,12 @@ Each data source has a fixed color used consistently across badges, chips, and d

### Source Chips (home screen)
- Pill shape, `--surface` background, source dot + name + count.
- `+ Connect` uses dashed border.
- Clicking a chip opens the Sources panel filtered to that source.
- One chip per agent source (Claude / Codex / Gemini).
- Clicking a chip opens Settings → Sources tab filtered to that source.

### Sources Panel (accessible from status bar)
- Slides up from status bar or opens as a separate window. Two tabs: **Sources** and **Import URL**.
- Sources tab: list of configured connectors with toggle switch, last-sync time, item count.
- Toggle switches: on = `--accent` background. Off = `--border2` background.
### Sources Panel (Settings tab)
- Lists the three built-in agent sources with their session counts.
- Status: `auto` label + green dot when watcher is healthy.

### AI Answer Card
- Left border: 3px solid `--accent`. Background: `--accent-bg`.
Expand All @@ -142,14 +141,13 @@ Each data source has a fixed color used consistently across badges, chips, and d
- Always visible, 30px height, `--surface` background.
- Left: colored dot (green/yellow/red) + synced item count + last sync time.
- Right: `Sources ⊕` button (replace `⊕` with vector icon).
- Red dot only when a connector has auth error — not for normal background sync.
- Dot is green when sync is healthy; yellow during active sync; red only on filesystem watcher errors.

## Icons
- **Library:** Lucide React (`lucide-react`) — consistent stroke weight, MIT licensed.
- **Search:** `Search` icon (Lucide)
- **Source indicators:** Replace all emoji placeholder icons with purpose-drawn SVGs or Lucide equivalents. Emoji are placeholders only in mockups.
- **Mode toggle:** Custom SVG — lightning bolt (⚡ Fast) and a minimal "brain" or sparkle (AI mode).
- **Capture / add:** `PlusCircle` or `Plus` (Lucide)
- **Settings:** `Settings2` (Lucide)
- **Status dots:** No icon — pure colored circle via CSS.
- **Stroke width:** 1.5px at 16px, 1.5px at 14px. Never bold/filled for UI chrome.
Expand Down
11 changes: 4 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ The missing search engine for your own data.
<img src="docs/spool-v0.png" alt="Spool" width="720">
</p>

Search your Claude Code sessions, Codex CLI history, Gemini CLI chats, GitHub stars, Twitter bookmarks, and YouTube likes — locally, instantly.
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](https://github.com/spool-lab/spool/issues) or [Discord](https://discord.gg/aqeDxQUs5E).

Expand All @@ -26,14 +26,15 @@ pnpm build

## What it does

Spool indexes your AI conversations and bookmarks into a single local search box.
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`
- **Connectors** — sync bookmarks and stars from platforms like Twitter/X, GitHub, and more via installable connector plugins
- **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](https://spool.pro/daemon)**, a sibling app focused on syncing platform data.

## Architecture

```
Expand Down Expand Up @@ -74,10 +75,6 @@ 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`.

## Acknowledgements

- **[fieldtheory-cli](https://github.com/afar1/fieldtheory-cli)** — Twitter/X bookmark sync implementation adapted from this project

## License

MIT
Expand Down
Loading