Skip to content



shelp is a Git-based package manager written in Go, primarily for shell scripts.

What is this for?

With shelp, you can do the followings:

  • Install any git repositories reachable with git command and organize them under $SHELP_ROOT directory. shelp treat them as packages
  • Add any executable files in a package into $PATH when shelp installs it
  • Load any shell script in a package easily by include function bundled in shelp
  • Manage what packages to be installed and how by the configuration file; and install them at once
  • Specify any git branch or tag or commit hash for a package to install

System Requirements

  • OS: Linux or macOS
  • git command

Supported Shells:

  • Bash, Zsh and most POSIX compatible shells
  • fish shell

To Get Started

These guides will show you how to use shelp step by step:

  • Bootstrap ... Install and activate shelp in your shell
  • Tutorial ... Basic usage of shelp
  • Configuration ... Configure and customize shelp settings
  • Guide ... More usecases with shelp packages
  • CLI Usage ... Command reference


Latest v0.6.0 was released on 2020-06-20.

Refer to to see difference between versions.


There are other tools to manage shell scripts in modular way like shelp does.
Here are some examples:

Software Supported Shells
basherpm/basher Bash, Zsh, fish shell
zplug Zsh
bpkg Bash
jorgebucaran/fisher fish shell

Special Thanks

basher inspired me to implement some features of this tool.


The MIT License.

Copyright © 2020 IKEDA Kiyoshi

Last update: July 20, 2020