built with Go & Cobra

Your links deserve
a shelf, not a browser tab.

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.

~/projects

$ 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

IDURLTAGCREATED
1https://go.dev/doc/effective_gogolang2026-07-03

Everything a link deserves, nothing it doesn't.

No accounts, no network calls — just a fast, local catalog of everything worth going back to.

Collections

Group related links under named collections like work or reading-list.

Tags

Attach a single tag to any link for quick, lightweight filtering.

Local & fast

Everything lives in a local SQLite database — no accounts, no latency.

Clean output

Styled success, error, and info messages instead of raw stack traces.

Safe by default

Every operation validates that what you're referencing actually exists.

Open source

MIT licensed and built in the open as a Go learning project.

Up and running in three lines.

Requires Go 1.21+. No accounts, no config files to fight.

Read the full guide →

$ git clone https://github.com/biplob-codes/shelf-cli.git

$cd shelf-cli && go build -o shelf .

$ mv shelf /usr/local/bin/

Under the hood

A small project, built with real architecture.

Read the full write-up →
“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.”