gossip is a fast, lightweight, and gorgeous command-line bookmark manager written in Go.
It allows you to save, tag, search, and open links entirely from your terminal.
- Beautiful UI: Styled with Charm's Lip Gloss for easy-to-read, color-coded terminal output.
- Smart Fetching: Automatically grabs titles and descriptions from HTML meta tags.
- GitHub Integration: Recognizes GitHub URLs and automatically fetches repository descriptions, languages, star counts, and topics (as tags).
- Regex Search: Search your bookmarks by keyword, URL, or tag with bright visual highlighting.
- Shell Autocompletion: Press
TABto auto-complete bookmark IDs and view titles directly in your shell prompt. - Cross-Platform: Opens links natively on macOS, Windows, and Linux.
- Simple Storage: Data is stored in a clean, human-readable JSON file (
~/.config/gossip/bookmarks.json).
Ensure you have Go installed on your system.
Clone this repository and run go install from the root directory:
git clone [https://github.com/syvanpera/gossip.git](https://github.com/syvanpera/gossip.git)
cd gossip
go install
Note: Make sure your Go bin directory (e.g., ~/go/bin) is in your system's PATH.
Add a URL. The CLI will show a spinner while it asynchronously fetches the page title and description.
gossip add [https://go.dev](https://go.dev)
Add a URL with custom tags:
gossip add [https://github.com/spf13/cobra](https://github.com/spf13/cobra) -t cli,go,tutorial
View all saved bookmarks, formatted beautifully.
gossip list
Search across URLs, titles, tags, and comments. The matching text will be highlighted in the output.
gossip search "cli"
Open a bookmark in your default web browser using its ID.
gossip open a1b2c3d4
Modify specific fields of an existing bookmark:
gossip edit a1b2c3d4 --title "New Title" -t "new,tags" -c "Updated comment"
You can also force the CLI to refetch the data from the website if it has changed:
gossip edit a1b2c3d4 --refetch-tags # Updates only the tags from the source
gossip edit a1b2c3d4 --refetch-all # Updates title, comment, and tags
Remove a bookmark permanently by its ID.
gossip delete a1b2c3d4
gossip supports dynamic shell autocompletion for bookmark IDs. To enable it, load the completion script into your shell.
For Fish:
gossip completion fish | source
For Zsh:
source <(gossip completion zsh)
For Bash:
source <(gossip completion bash)
