rl

A minimal, local-first read later CLI for macOS and Linux

Features

Local-first SQLite storage
Fast Minimal deps
Portable JSON export
Search FTS5 (grep/search)
TUI Interactive mode
Simple Clean CLI
Private No sync/account

Installation

Go Install

go install github.com/bunchhieng/rl@latest

Build from Source

git clone https://github.com/bunchhieng/rl.git
cd rl
make build              # or: go build -o bin/rl .
make install            # installs to $GOPATH/bin

Quick Start

rl                          # Launch interactive TUI
rl add https://example.com --title "Example" --tags "web"
rl ls
rl open <id>
rl done <id>
rl grep "query"

Commands

rl                          # Interactive TUI mode
rl tui                      # Explicit TUI launch
rl add <url> [--title "..."] [--note "..."] [--tags "t1,t2"]
rl ls [--read|--all] [--tag t] [--limit N]  # list is alias
rl open <id>
rl done <id>
rl undo <id>
rl rm <id> [id...]
rl export
rl import <file.json>
rl grep "<query>"  # search is alias
rl --version

Examples

Interactive TUI
rl                          # Launch TUI
# j/k: navigate, Space: select, Ctrl+A: select all
# o: open, d: mark read, u: mark unread, r: delete
Add with metadata
rl add https://golang.org --title "Go" --tags "programming"
rl add https://rust-lang.org --note "Check later"
Filter & export
rl ls --tag programming --limit 10
rl export > backup.json

Database

  • macOS: ~/Library/Application Support/rl/links.db
  • Linux: ~/.config/rl/links.db

Override with --db-path flag.