Skip to content

Guide

This page illustrates typical workflows of shelp to manage packages.

See CLI Usage for available options of each command.

Install Packages

Use shelp install to install a package.
Detailed instruction is on Tutorial page.

If the package contains executable files in its bin/ or root directory, symbolic links pointing them will be created in $SHELP_ROOT/bin/ directory on installation.
$SHELP_ROOT/bin is added to $PATH by shelp init -, so you can use the executable files without specifying their paths.

You can configure for which files symbolic links are to be created with the configuration file.

Hint

shelp add command is the alias of shelp install.

View Installed Packages

To see installed packages, run:

shelp list

Load Scripts in Packages

Shell function include provided by shelp init - enables you to load a shell script in a package in easier way:

include <package> <script-path>

Example is on Tutorial page.

Uninstall Packages

You can uninstall a package with remove or uninstall command:

shelp remove <package-name>

This command also clears symbolic links of executable files if any of them exists.

Hint

shelp uninstall command is the alias of shelp remove.

Upgrade Packages

You can check outdated packages by running this command:

shelp outdated

"A package is outdated" means it has updates which can be pulled from tracking remote.
In such a case, you can use shelp upgrade command to keep packages up-to-date:

shelp upgrade [<package-name>]

If you ommit the package name, this upgrades all outdated packages.

shelp link command makes a symbolic link in the package directory pointing to an existing directory in the file system.

For example, following command will create a symbolic link of current directory as if it is a shelp package:

shelp link .

The package name will be the name of the directory in this case.

This feature is useful to check what it will be like when the directory is installed as shelp package.

This command does not require the source directory to be a git repository.

Configure Packages to be Installed

With configuration file explained in Configuration page, you can manage packages to be installed with some properties.

A recommended way is to use default $SHELP_ROOT/config.yml path for it so that you can run the following command with no option:

shelp bundle

This installs all configured packages in the config file.

On the other hand, the following command removes packages not configured in the file:

shelp prune

It will be nice if you keep the configuration file in a VCS repository.


Last update: June 21, 2020