10 releases (2 stable)

Uses new Rust 2021

1.0.1 Jun 11, 2022
1.0.0 Dec 2, 2021
0.1.7 Oct 7, 2021
0.1.5 Sep 20, 2021

#110 in Command line utilities

Download history 49/week @ 2022-06-08 16/week @ 2022-06-15 20/week @ 2022-06-22 6/week @ 2022-06-29 18/week @ 2022-07-06 29/week @ 2022-07-13 11/week @ 2022-07-20 27/week @ 2022-07-27 29/week @ 2022-08-03 10/week @ 2022-08-10 11/week @ 2022-08-17 23/week @ 2022-08-24 8/week @ 2022-08-31 33/week @ 2022-09-07 6/week @ 2022-09-14 10/week @ 2022-09-21

57 downloads per month

MIT license

2.5K SLoC

Crates.io version Crates.io version Crates.io version

command organizer tool to hoard all your precious commands 💎🐉

Example usage

What is a command organizer?

A command organizer lets you save commands that you often use, but are too complicated or long to remember. For every hoarded command, hoard saves

  • the command ( parameterized with a customizable token, default # )
  • name
  • description
  • namespace where it lives in
  • tags ( Optional )

If you get lost in your massive command history, and can't find for example a specific docker command out of thousand docker commands you've already ran, just hoard it. With a name and description it will be much easier to find again. When you look for that command again a month later, take a look at your hoarded commands.

hoard is not supposed to replace shell history finder like fzf atuin or similar utilities. It rather should be used in conjunction with them.

💌 Table of contents

📦 Install

From source

It's best to use rustup to get setup with a Rust toolchain, then you can run:

cargo install hoard-rs

Or build it yourself:

cargo build --release

Find the binaries in ./target/release/hoard Move it to wherever you need it ( Like /usr/local/bin/hoard )


Tested on:

  • Ubuntu

Install hoard by running


If you are running fish shell

LATEST_RELEASE=1.0.1 ./install.fish

Brew on MacOS

brew tap Hyde46/hoard
brew install hoard

Install Shell plugin

Install hoard as a plugin to enable autocomplete. Depending on your shell, run one of the following commands. To keep it installed for your next shell session, add the source command with an absolute path to your .bashrc or copy-paste the plugins content to your .bashrc.


source src/shell/hoard.bash


source src/shell/hoard.zsh


source src/shell/hoard.fish

🤸 Usage

Save a new command

hoard new

If a parameter is not known when saving the command, put a # ( Or your customized token from your ~/.config/hoard/config.yml )

Search through command trove


Or alternatively, if not installed as a plugin, the interactive search can still be performed, though without autocomplete. This assumes the user to copy the command by mouse from the UI

hoard list

When running hoard list as a shell plugin and selecting a parameterized command, hoard will ask for all missing parameters to input before sending the complete command to your shell input.

If there is a trove.yml file present in the local directory, hoard will only load this trove file and not display your "global" trove! ( Edit ~/.config/hoard/config.yml read_from_current_directory to disable )

Delete a command

hoard remove <name>

Delete all commands in a namespace

hoard remove_namespace <namespace_name>

Edit a command

hoard edit <name>


Shows location of config file and trove file

hoard info

Set parameter token

Change parameter token of config file

hoard set_parameter_token <parameter_token>

Import other trove files from trove.yml or urls pointing to a trove.yml file

hoard import /path/to/trove.yml


hoard import https://troves.com/new_trove.yml

Export trove file

hoard export /path/to/exported/trove.yml

⚡ Hoard list shortcuts

Show list of commands in the GUI


Next item in command list

<Ctrl-N> / <Down-Arrow>

Previous item in command list

<Ctrl-P> / <Ctrl-Y> / <Up-Arrow>

Next namespace tab

<Ctrl-L> / <Right-Arrow>

Previous namespace tab

<Ctrl-H> / <Left-Arrow>

Select command



<Esc> / <Ctrl-D> / <Ctrl-C> / <Ctrl-G>


~409K SLoC