#bookmarks #url #browser #tempesta #bookmarks-manager

app tempesta

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

52 releases

new 0.0.77 Apr 11, 2025
0.0.76 Apr 11, 2025
0.0.53 Mar 3, 2025
0.0.47 Feb 28, 2025

#98 in Filesystem

Download history 765/week @ 2025-02-21 904/week @ 2025-02-28 57/week @ 2025-03-07 180/week @ 2025-03-28 1425/week @ 2025-04-04

1,636 downloads per month

MIT license

41KB
1K SLoC

Rust 1K SLoC // 0.0% comments Shell 103 SLoC // 0.1% comments

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.

Table of content

How to use it
Install
Alias

How to use it

Init

Before start using it, run:

tempesta init

This will prompt with questions about the set up.

Add a bookmark

tempesta add <local-path> <url>

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

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

Move a bookmark

tempesta move <local-path>

tempesta move search-engines/google query-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
[m]ove    -- Move 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 method open is called without arguments:

tempesta open

it will start a fuzzy find of the bookmark.

A useful alias can be made for this:

alias to='tempesta o'

Wofi

If wofi is installed on your system and was selected during init as finder, tempesta open will create a graphical fuzzy finder window instead of one in the terminal.

Dependencies

~4–15MB
~189K SLoC