#bookmark #fastest #manager #url #command #git #lightest

app tempesta

The lightest and fastest CLI for managing bookmarks, written in Rust

28 releases

new 0.0.53 Mar 3, 2025
0.0.52 Mar 3, 2025
0.0.47 Feb 28, 2025

#1174 in Web programming

Download history 97/week @ 2025-02-19 1541/week @ 2025-02-26

1,638 downloads per month

MIT license

36KB
884 lines

Tempesta

The fastest and lightest bookmark manager CLI writte in Rust.
[Heavily inspired by pass]

Bookmark management should be simple and follow Unix philosophy.

With Tempesta all bookmarks live in ~/.bookmark-store, and tempesta provides some intuitive commands for adding, updating, editing and open URLs.

It can also track all the changes using git.

How to use it

Add a bookmark

tempesta add <url> <local-path>

tempesta add "http://google.com/" search-engines/google

Update a bookmark

tempesta update <local-path> <url>

tempesta update search-engines/google "https://google.com"

Edit a bookmark in your editor (it check $EDITOR variable)

tempesta edit <local-path>

tempesta edit search-engines/google

Open the URL in the browser

tempesta open <local-path>

tempesta open search-engines/google

Remove a bookmark

tempesta remove <local-path>

tempesta remove search-engines/google

Shortcut

You can use the initial of the methods instead of their full identifier:

[a]dd     -- Add a new bookmark
[e]dit    -- Edit an existing bookmark
[o]pen    -- Open a bookmark
[r]emove  -- Remove a bookmark
[u]pdate  -- Update an existing bookmark

For example

tempesta o search-engines/google

tempesta r search-engines/google

Install

MacOS (Homebrew)

brew install x71c9/x71c9/tempesta

Arch Linux (AUR)

yay -S tempesta

Download binaries

Download the latest compatible binaries for your system and architecture: https://github.com/x71c9/tempesta/releases/latest


Build from source

Install Rust

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

After installation, ensure your environment is updated (or restart your terminal) so that the cargo and rustc commands are in your PATH.

git clone https://github.com/x71c9/tempesta
cd tempesta
cargo build --release

./target/release/tempesta

If you want to install the CLI tool so that it’s available in your PATH, you can use in the repo directory:

cargo install --path .

Alias

ZSH Alias

Most likely you will alias the command with

alias t='tempesta'

In order to make completion in bash to work with alias you can add the following:

complete -o default -o nospace -F _tempesta t

where the final t is the name of the alias.

Bash Alias

Autocompletion do not work for bash alias but works when using functions, therefore is recommended to use a function instead, for example:

t() {
  tempesta "$@"
}
complete -o default -o nospace -F _tempesta t

FZF

If fzf is installed on your system and the the method open is called without arguments:

tempesta open

it will start a fuzzy find of the bookmark.

A usefull alias can be made for this:

alias to='tempesta o'

Dependencies

~4–15MB
~179K SLoC