basher
TLDR
Install a package from GitHub
SYNOPSIS
basher command [arguments]
DESCRIPTION
basher is a package manager for shell scripts hosted on GitHub and other git repositories. It installs shell scripts and makes their commands available in your PATH without manual downloading or symlinking.
Packages are installed to ~/.basher/cellar and linked to ~/.basher/bin. The package format expects executables in bin/ or the root directory, with optional man pages and completions.
Basher supports packages from GitHub, GitLab, Bitbucket, or any git URL. It handles dependencies declared in package.json and can work with bash, zsh, and other shells.
PARAMETERS
install package
Install a package from repository.uninstall package
Remove an installed package.list
Show all installed packages.upgrade package
Update a specific package.upgrade --all
Update all installed packages.link directory name
Link local directory as package.unlink name
Remove linked package.init
Output shell initialization code.commands package
List commands provided by a package.package-path package
Show installation path.outdated
List packages with available updates.
CAVEATS
Requires git for package installation. Shell configuration must source basher init output. Packages without proper structure may not work correctly. No built-in security verification; review package code before installing from untrusted sources. Works best with packages specifically designed for basher.
HISTORY
Basher was created by Juan Ibiapina in 2013 as a simple package manager for bash scripts, inspired by tools like Homebrew and rbenv. It aimed to solve the problem of sharing and distributing shell scripts without complex installation procedures. The project remains actively maintained as an open-source tool on GitHub.


