Automic VaultAutomic Vault

brew

Install brush with Homebrew, MacPorts, Nix, pacman

Bourne RUsty SHell (command interpreter). Version 0.4.0 via Homebrew; verified 2026-06-15.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install brush

local Homebrew formula metadata

MacPortsverified · 94%
sudo port install brush

MacPorts ports tree · shells/brush/Portfile · source: api.github.com

Linux

Nixverified · 92%
nix profile install nixpkgs#brush

nixpkgs package indexes · pkgs/by-name/br/brush/package.nix · source: api.github.com

Arch Linux pacmanverified · 92%
sudo pacman -S brush

Arch Linux sync databases · brush · source: geo.mirror.pkgbuild.com

overview

Package summary

Bourne RUsty SHell (command interpreter)

Commands and aliases

  • brush

history

Project history and usage

brush, the Bourne RUsty SHell, is a Rust shell that aims to run existing Bash and POSIX shell scripts while adding modern interactive behavior such as syntax highlighting and autosuggestions. Its packaging story is notable because it is a new shell trying to be installable as a boring system command rather than only as a Rust crate.

Project history

The project presents itself as a modern Bash- and POSIX-compatible shell written in Rust. Its README emphasizes compatibility with existing `.bashrc` files, aliases, functions, and completions, while the compatibility reference documents a test suite that compares behavior against Bash.

Unlike experimental shells that define a new language first, brush starts from the existing shell ecosystem. Its published identity is conservative: preserve Bash behavior, add Rust implementation benefits and interactive features, and expose an embeddable `brush_core::Shell` for Rust programs.

Adoption history

The official installation section lists Homebrew, Arch Linux, MSYS2, cargo-binstall, GitHub release binaries, and Nix, while the provided package facts also list Homebrew, MacPorts, Nix, and pacman. That puts brush in the normal multi-distribution pipeline for shell tools despite being a young implementation.

Adoption is still early compared with Bash, zsh, fish, or Oil/YSH, but the presence of distribution packages and a crates.io-oriented install path gives it several routes into developer workstations.

How it is used

brush can be launched as an interactive shell and is designed to read existing Bash startup files. The README says `.bashrc` should work unchanged, with optional `~/.brushrc` and TOML configuration for brush-specific behavior.

Its current use case is compatibility testing, interactive daily-driver experimentation, and embedding shell behavior inside Rust programs. The compatibility reference marks many Bash features as supported while still documenting gaps such as `select`, `wait -n`, and some background-job details.

Why package nerds care

Shells are unusually package-sensitive because installing them is not enough: users may add them to login-shell databases, invoke them from scripts, and expect startup files and completions to work. brush is interesting because it tries to enter that old Unix contract while being implemented in Rust.

For maintainers, brush is a compact example of the modern Rust reimplementation wave applied to one of the hardest compatibility targets: Bash.

Timeline

  • 2025: brush documentation describes itself as Bash- and POSIX-compatible and ready for many daily-driver use cases.
  • 2025: Official README documents Homebrew, Arch Linux, MSYS2, cargo-binstall, GitHub release, and Nix installation routes.
  • 2026: Provided package facts show brush packaged in Homebrew, MacPorts, Nix, and pacman ecosystems.

Related projects

  • GNU Bash is the primary compatibility target and behavioral oracle.
  • POSIX shell is the standards baseline named by the project.
  • reedline provides the line-editing experience cited by brush for highlighting and suggestions.
  • Nushell, fish, zsh, and Oil/YSH are adjacent shells, though brush is more explicitly Bash-compatible than most of them.

security posture

Risk level: yellow

generalized runtime or code generation signal.

Risk classifier

yellow risk · medium confidence · runtime

Why

  • generalized runtime or code generation signal

Signals

  • text:interpreter,shell

Install behavior

  • No Homebrew post-install hook is recorded in formula metadata.
  • Homebrew bottle metadata is available for 6 platform targets.
  • Build metadata lists 1 build dependencies.

Recommended review

Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.

local files

Configuration and credential file locations

These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.

Configuration files

Config paths the tool may read or write during local use.

Unix
~/.bashrc~/.brushrc~/.config/brush/config.toml

executables

Installed executables

CommandKindExposureNote
brushcliglobal executable

freshness

Version and freshness

These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.

page generated2026-07-08
manager version0.4.0
manager updated2026-06-15
local dataok
upstreamnot checked
latest detectednot detected

https://github.com/reubeno/brush

install metadata

Package metadata

Package keybrew:brush
Version0.4.0
Package managerHomebrew
Package manager pagehttps://formulae.brew.sh/formula/brush
Homepagehttps://brush.sh
Repositoryhttps://github.com/reubeno/brush
Upstream docshttps://brush.sh/docs
LicenseMIT
Source archivehttps://github.com/reubeno/brush/archive/refs/tags/brush-shell-v0.4.0.tar.gz
Last updated2026-06-15T10:20:11-04:00
Pulseupdated
Build dependenciesrust
Bottleavailable (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux)
Homebrew post-installnot defined
Servicenone declared

registry facts

Source database details

Source DatabaseHomebrew formula API
Taphomebrew/core
Full Namebrush
Version Scheme0
Revision0
Head VersionHEAD
Bottle Stable Root URLhttps://ghcr.io/v2/homebrew/core
Deprecatedno
Disabledno
Keg Onlyno
URL Keys
  • head
  • stable

source database matches

Other package-manager records

Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.

Nix95%

brush

nix profile install nixpkgs#brush
  • normalized package name match
  • Matched by: Brush
nixpkgs package indexes · api.github.com · nixpkgs package indexes: pkgs/by-name/br/brush/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
pacman95%

brush 0.4.0-1

Bash/POSIX-compatible shell implemented in Rust

https://github.com/reubeno/brush

sudo pacman -S brush
  • License: MIT
  • Architecture: x86_64
  • 2 dependencies
  • normalized package name match
  • Matched by: Brush
Arch Linux sync databases · geo.mirror.pkgbuild.com · Arch Linux sync databases: brush from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz
MacPorts95%

brush

sudo port install brush
  • normalized package name match
  • Matched by: Brush
MacPorts ports tree · api.github.com · MacPorts ports tree: shells/brush/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

source trail

Generated from repository data

This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.

Used sources

  • Geiger risk classifier
  • Nucleus package database
  • av.db category and tag curation
  • cross-ecosystem install command graph
  • curated configuration and credential file locations
  • curated package history
  • external package-manager database matches
  • package relationship graph
  • package version freshness
  • package-page enrichment