antibody
Manage and load shell environment bundles
TLDR
Bundle all plugins for static loading
Update all bundles
List all installed plugins
SYNOPSIS
antibody [global-options] <command> [command-options] [arguments]
Common Commands:
antibody bundle <plugin-source>...
antibody init
antibody update
antibody help [command]
PARAMETERS
bundle <plugin-source>...
Loads one or more plugins. This command is typically placed in your .zshrc file. <plugin-source> can be a GitHub repo (e.g., 'zsh-users/zsh-autosuggestions'), a Gist ID, or a local path.
init
Generates the Zsh initialization script based on the plugins specified by bundle commands. This script is usually evaluated in your .zshrc (e.g., 'eval "$(antibody init)"').
update
Updates all currently installed plugins to their latest versions from their respective sources.
home
Prints the path to the directory where Antibody stores its cloned plugins.
list
Displays a list of all plugins currently managed and installed by Antibody.
help [command]
Shows help information for the antibody command itself or for a specific subcommand.
-h, --help
Displays the overall help message for Antibody (global option).
-v, --version
Prints the version information of Antibody (global option).
-q, --quiet
Suppresses output during command execution (global option).
DESCRIPTION
Antibody is a lightweight and performant Zsh plugin manager designed to significantly reduce shell startup times. Inspired by `antigen`, it distinguishes itself by focusing on speed through asynchronous plugin loading. Instead of sourcing each plugin sequentially, Antibody fetches and initializes them in parallel, allowing your Zsh shell to become interactive much quicker. Users define their desired plugins, themes, and completions in their `.zshrc` file using a straightforward syntax, typically referencing GitHub repositories (e.g., `robbyrussell/oh-my-zsh/themes/robbyrussell.zsh-theme`). Antibody automatically handles cloning these resources to a local cache, updating them, and generating the necessary initialization script for Zsh. It supports various plugin sources, including GitHub repositories, Gist snippets, and local paths. Its minimalistic approach and emphasis on performance make it a popular choice for Zsh users who prioritize a snappy command-line experience.
CAVEATS
Antibody is not a standard Linux system command; it must be installed separately. It is specifically designed for the Zsh shell and will not function with Bash, Fish, or other shells. It relies on the git command for cloning repositories and requires internet connectivity for fetching remote plugins. Performance benefits are most noticeable with a large number of plugins.
INSTALLATION
Antibody is typically installed by piping a script from GitHub directly into your shell or by manually downloading the binary. A common installation method involves:
'curl -sL git.io/antibody | sh -s -- -b /usr/local/bin'
This fetches the latest release and installs the antibody binary to /usr/local/bin or another specified path.
TYPICAL USAGE IN <I>.ZSHRC</I>
After installation, you configure Antibody in your ~/.zshrc file. A basic setup looks like this:
# List your plugins
antibody bundle zsh-users/zsh-autosuggestions
antibody bundle zsh-users/zsh-syntax-highlighting
antibody bundle robbyrussell/oh-my-zsh/themes/robbyrussell.zsh-theme
# Initialize antibody
eval "$(antibody init)"
This structure ensures that plugins are loaded efficiently when your Zsh shell starts.
HISTORY
Antibody emerged as a response to the perceived overhead of existing Zsh plugin managers, particularly concerning shell startup times. It was initially developed by caarlos0 (Carlos Alexandro Becker) and later moved to the getantibody organization. The primary motivation was to create a simpler, faster, and more robust solution for managing Zsh plugins by leveraging asynchronous operations. Its development focused on minimizing dependencies and streamlining the plugin loading process, leading to its adoption by Zsh users who prioritize a highly responsive shell environment.