Getting Started with stout
Install stout, run your first package install, and understand the basics — in under five minutes.
Why stout?
If you have ever watched Homebrew churn through a brew update for thirty seconds before installing a single package, you already know why stout exists. stout is a Rust-based, drop-in replacement for Homebrew that delivers 10-100x faster package operations while maintaining full compatibility with existing Homebrew formulas and casks. Same commands, same packages, dramatically less waiting.
Prerequisites
Before installing stout, make sure you have:
- macOS 13+ or a Linux distribution with glibc 2.31+ (Ubuntu 20.04+, Fedora 33+, Debian 11+)
- Xcode Command Line Tools (macOS only):
xcode-select --install - A terminal emulator of your choice
Installing stout
The fastest way to install stout is with the official install script:
curl -fsSL https://get.stout.dev | sh
This downloads the precompiled binary for your platform and places it at /usr/local/bin/stout. The installer also creates the stout prefix directory at /usr/local/stout and sets up the necessary shell completions.
If you prefer a manual install, grab the latest release from the GitHub releases page:
# Download the binary for your platform
curl -LO https://github.com/neullabs/stout/releases/latest/download/stout-$(uname -s)-$(uname -m).tar.gz
# Extract and move into place
tar xzf stout-*.tar.gz
sudo mv stout /usr/local/bin/
After installation, verify everything works:
stout --version
# stout 1.4.0 (rustc 1.82.0)
Configuring your shell
stout needs a single line in your shell configuration to set up its environment. Add the appropriate line for your shell:
# For bash (~/.bashrc or ~/.bash_profile)
eval "$(stout shellenv bash)"
# For zsh (~/.zshrc)
eval "$(stout shellenv zsh)"
# For fish (~/.config/fish/config.fish)
stout shellenv fish | source
Restart your terminal or source the configuration file:
source ~/.zshrc # or your shell's config file
Your first package install
Install a package the same way you would with Homebrew:
stout install ripgrep
You should see output similar to:
==> Resolving [email protected]...
==> Downloading ripgrep-14.1.1.tar.gz [1.2 MB]
==> Building [email protected]
==> Installed [email protected] (0.8s)
That 0.8s is not a typo. stout resolves dependencies, downloads, and installs packages in a fraction of the time Homebrew takes, thanks to parallel downloads, aggressive caching, and a compiled Rust core that eliminates Ruby startup overhead.
Verify the installation:
rg --version
# ripgrep 14.1.1
Essential commands
stout mirrors Homebrew’s command interface, so your existing muscle memory transfers directly. Here are the commands you will use most:
# Search for packages
stout search neovim
# Install a package
stout install neovim
# Install multiple packages in parallel
stout install fd bat eza tokei
# Upgrade a specific package
stout upgrade neovim
# Upgrade everything
stout upgrade
# Remove a package
stout uninstall neovim
# List installed packages
stout list
# Show information about a package
stout info neovim
# Update the package index
stout update
Understanding stout’s speed
Three architectural decisions make stout fast:
1. Parallel resolution and downloads. When you run stout install fd bat eza, stout resolves all three dependency trees simultaneously and downloads every required artifact in parallel. Homebrew processes each package sequentially.
2. No interpreter startup. Homebrew is a Ruby application. Every invocation pays the cost of loading the Ruby runtime, parsing thousands of formula files, and initializing the Homebrew framework. stout is a single compiled binary with sub-millisecond startup.
3. Incremental index updates. Instead of cloning and pulling an entire Git repository for the package index (as Homebrew does with homebrew-core), stout uses a compact binary index format with delta updates. A typical stout update transfers a few kilobytes instead of megabytes.
Checking what is installed
Use stout list to see all packages currently managed by stout:
stout list
# bat 0.24.0
# eza 0.20.14
# fd 10.2.0
# neovim 0.10.3
# ripgrep 14.1.1
For more detail, including dependency information:
stout list --versions --deps
Getting help
Every stout command includes built-in help:
stout --help # General help
stout install --help # Help for a specific command
You can also check the stout documentation at docs.stout.dev or file issues on the GitHub repository.
Next steps
You now have stout installed and working. From here you might want to:
- Migrate your existing Homebrew packages to stout with a single command. See Migrating from Homebrew to stout.
- Set up stout in your CI/CD pipelines for faster builds. See Using stout in CI/CD Pipelines.
- Create reproducible environments with lock files for your team. See Creating Reproducible Environments.
Need Rust performance engineering or AI agent expertise?
Neul Labs — the team behind stout — consults on Rust development, performance optimization, CLI tool design, and AI agent infrastructure. We build fast, reliable systems that ship.