Homebrew is a package manager for macOS and Linux. Its packages are generally up to date, and there is a wide selection of developer tools, especially for cloud work.

When you install a program with Homebrew, the shell definitions for tab completion are also installed. However, they may not immediately be available in your terminal without some minor, addition configuration. The Homebrew shell completion page gives instructions for how to get tab completion working.

On Debian-flavored Linux, I did not have functioning tab completion until I put the following into my ~/.bashrc file (not ~/.bash_profile or ~/.profile as the docs page says):

# Homebrew environment variables
eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"

# Homebrew bash completion
if type brew &>/dev/null
then
  HOMEBREW_PREFIX="$(brew --prefix)"
  if [[ -r "${HOMEBREW_PREFIX}/etc/profile.d/bash_completion.sh" ]]
  then
    source "${HOMEBREW_PREFIX}/etc/profile.d/bash_completion.sh"
  else
    for COMPLETION in "${HOMEBREW_PREFIX}/etc/bash_completion.d/"*
    do
      [[ -r "${COMPLETION}" ]] && source "${COMPLETION}"
    done
  fi
fi

The brew shellenv line may have already been included for you by the Homebrew installer. If so, just put the autocompletion code below that line so that the appropriate shell environment variables are available. If you use zsh or fish, you can copy the relevant config from the docs page.

With that in place, you can close and reopen your terminal, and commands installed by Homebrew will have tab completion enabled.