stout
Guide · Getting Started

Getting Started with stout

Install stout, run your first package install, and understand the basics — in under five minutes.

Neul Labs ·
#install#quickstart#beginner

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:

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.