A CLI for saving, organizing, and retrieving links — without ever leaving your terminal. Collections, tags, and a local SQLite store, all in one fast binary.
$ shelf link add https://go.dev/doc/effective_go -t golang -c reading-list
✓ Saved https://go.dev/doc/effective_go
$ shelf link list -c reading-list
| ID | URL | TAG | CREATED |
|---|---|---|---|
| 1 | https://go.dev/doc/effective_go | golang | 2026-07-03 |
▍
No accounts, no network calls — just a fast, local catalog of everything worth going back to.
Group related links under named collections like work or reading-list.
Attach a single tag to any link for quick, lightweight filtering.
Everything lives in a local SQLite database — no accounts, no latency.
Styled success, error, and info messages instead of raw stack traces.
Every operation validates that what you're referencing actually exists.
MIT licensed and built in the open as a Go learning project.
Requires Go 1.21+. No accounts, no config files to fight.
$ git clone https://github.com/biplob-codes/shelf-cli.git
$cd shelf-cli && go build -o shelf .
$ mv shelf /usr/local/bin/
“Errors propagate, they don't Fatal from inside commands. Every write operation checks and validates its result — a rename or delete that affects zero rows fails loudly instead of exiting quietly as if it succeeded.”