https://github.com/cablehead/stacks
an experimental "tool for thought"
https://github.com/cablehead/stacks
clipboard-manager macos tauri-app
Last synced: 30 days ago
JSON representation
an experimental "tool for thought"
- Host: GitHub
- URL: https://github.com/cablehead/stacks
- Owner: cablehead
- License: mit
- Created: 2023-05-20T00:30:58.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2025-08-16T20:19:45.000Z (3 months ago)
- Last Synced: 2025-09-29T16:52:02.359Z (about 1 month ago)
- Topics: clipboard-manager, macos, tauri-app
- Language: Rust
- Homepage: https://stacks.cross.stream
- Size: 10.2 MB
- Stars: 117
- Watchers: 3
- Forks: 5
- Open Issues: 29
-
Metadata Files:
- Readme: README.md
- Changelog: changes/v0.10.0.md
- License: LICENSE
Awesome Lists containing this project
- awesome-tauri - Stacks - Modern and capable clipboard manager for macOS. Seeking Linux and Windows contributions. (Applications / Utilities)
README
# Stacks [](https://github.com/cablehead/stacks/actions/workflows/rust.yml) [](https://discord.com/invite/YNbScHBHrh)
Stacks is a clipboard manager.

## About
With so many great clipboard managers already available, why create another one?
I think of my clipboard as "picking things up" to move them around or redirect
them. In this sense, your system's clipboard acts as a strong proxy for your
["locus of attention"](https://www.oreilly.com/library/view/humane-interface-the/0201379376/0201379376_ch02lev1sec3.html)
when you're using a computer.
A clipboard manager, then, is a tool to capture and work with your "locus of
attention." It ambiently captures your current tasks and work _context_.
Stacks is an experimental tool for tracking and manipulating your current
context using pipes and filters. But that’s a lot to explain, so I usually just
describe it as a clipboard manager.
A humble clipboard manager [aspiring](https://x.com/cablelounger/status/1854955656526127398) to elevate the depth of our conversations—
no less.
## UX disclaimer
A quick note on the user experience (UX): it’s fair to say it’s still a bit
rough around the edges. If Stacks reaches a UX level similar to (neo)vim, I'd
consider that a success. It’s pretty spartan and utilitarian, so being
comfortable with the command line, or feeling adventurous, definitely helps.
Stacks is my personal
["tool for thought"](https://maggieappleton.com/tools-for-thought) that I use as
my daily driver. Eventually, I’d like Stacks to reach the polish of tools like
[Obsidian](https://obsidian.md), but for now, the focus is on its experimental
nature and the underlying
[event-sourcing store](https://github.com/cablehead/xs).
## Give it a try!
If you're into experimental tools and are okay with a minimalist,
utilitarian design, give Stacks a try-- I'd love to hear your thoughts!
### Download
`.DMG` installers that have been notarized by Apple.
- **Current version**: v0.15.13
- **Last release**: Jan 23, 2025
[](https://stacks.cross.stream/static/releases/Stacks_0.15.13_universal.dmg)
## Community
- We have a [Discord channel](https://discord.gg/fDEcqjKHpv) where we chat about
clipboard managers, flashcards, neo-browsers, Tauri, Rust, wasm, tools of
thought, and generally fun geekery, and
- We're using
[Github Discussions](https://github.com/cablehead/stacks/discussions) as a
forum.
## Usage
To launch Stacks⌃ + Space
Accessibility
Increase font size⌘ + +
Decrease font size⌘ + -
Navigation
Navigate down↓ or ⌃ + n
Navigate up↑ or ⌃ + p
Navigate left← or ⌃ + h
Navigate right→ or ⌃ + l
Navigate to the stack below⌥ + ↓
Navigate to the stack above⌥ + ↑
Reset nav (clears filter and brings focus to the top)⌘ + 0
Item Manipulation
Move an item down⌘ + ↓
Move an item up⌘ + ↑
Bring current item and stack to the top⌘ + t
Global shortcuts
New note⌘ ⇧ + n
**Note:** Items deleted through the UI are permanently removed on app restart.
## CLI
Stacks includes a command-line interface for programmatic access. [First](https://stacks.cross.stream/releases/v0.15.6#xs-setup), symlink the app binary to your PATH:
```bash
ln -s /Applications/Stacks.app/Contents/MacOS/Stacks ~/.local/bin/stacks
```
Get top item from most recent stackstacks
Get specific item by IDstacks {id}
Delete top itemstacks --delete
Delete specific itemstacks {id} --delete
List all stacks (JSONL)stacks list
Raw packet stream (JSONL)stacks stream
Search content*stacks search {query} [--limit N]
Rebuild search indexstacks search --rebuild
View complete structure (JSON)stacks view
View current navigation state (JSON)stacks view nav
List CAS hashesstacks cas list
Get content by hashstacks cas get {hash}
Purge content by hashstacks cas purge {hash}
\*`stacks search` supports [Tantivy QueryParser](https://docs.rs/tantivy/latest/tantivy/query/struct.QueryParser.html) syntax: plain terms (`foo`), phrases (`"exact phrase"`), and boolean logic (`foo AND bar NOT baz`).*
## Development
```bash
git clone https://github.com/cablehead/stacks.git
cd stacks
npm install
npm run tauri dev
```
## Built with:
[Rust](https://www.rust-lang.org), [Tauri](https://tauri.app),
[sled](https://github.com/spacejam/sled),
[cacache](https://github.com/zkat/cacache-rs),
[Tantivy](https://github.com/quickwit-oss/tantivy), [Tokio](https://tokio.rs),
[hyper](https://hyper.rs), [Comrak](https://crates.io/crates/comrak),
[syntect](https://github.com/trishume/syntect),
[TypeScript](https://www.typescriptlang.org), [Preact](https://preactjs.com),
[scru128](https://github.com/scru128/rust),
[tracing](https://docs.rs/tracing/latest/tracing/),
🙏💚