SkillAgentSearch skills...

Brush

🐚bash/POSIX-compatible shell implemented in Rust πŸ¦€

Install / Use

/learn @reubeno/Brush
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

<div align="center"> <img src="https://github.com/user-attachments/assets/19351a8e-7b03-4338-81be-dd5b6d7e5abc"/> </div> <br/> <!-- Primary badges --> <p align="center"> <!-- crates.io version badge --> <a href="https://crates.io/crates/brush-shell"><img src="https://img.shields.io/crates/v/brush-shell?style=flat-square"/></a> <!-- msrv badge --> <img src="https://img.shields.io/crates/msrv/brush-shell"/> <!-- license badge --> <img src="https://img.shields.io/badge/license-MIT-blue?style=flat-square"/> <br/> <!-- crates.io download badge --> <a href="https://crates.io/crates/brush-shell"><img src="https://img.shields.io/crates/d/brush-shell?style=flat-square"/></a> <!-- compat tests badge --> <img src="https://img.shields.io/badge/compat_tests-1389-brightgreen?style=flat-square" alt="1389 compatibility tests"/> <!-- Packaging badges --> <a href="https://repology.org/project/brush/versions"> <img src="https://repology.org/badge/tiny-repos/brush.svg" alt="Packaging status"/> </a> <!-- Social badges --> <a href="https://discord.gg/kPRgC9j3Tj"> <img src="https://dcbadge.limes.pink/api/server/https://discord.gg/kPRgC9j3Tj?compact=true&style=flat" alt="Discord invite"/> </a> </p> <a href="https://repology.org/project/brush/versions"> </a> </p> <hr/>

brush (Bo(u)rn(e) RUsty SHell) is a modern bash- and POSIX- compatible shell written in Rust. Run your existing scripts and .bashrc unchanged -- with syntax highlighting and auto-suggestions built in.

At a glance

βœ… Your existing .bashrc just worksβ€”aliases, functions, completions, all of it.<br/> ✨ Syntax highlighting and auto-suggestions built in and enabled by default.<br/> πŸ§ͺ Validated against bash with ~1500 compatibility tests.<br/> 🧩 Easily embeddable in your Rust apps using brush_core::Shell.<br/>

<p align="center"> <img src="https://github.com/user-attachments/assets/0e64d1b9-7e4e-43be-8593-6c1b9607ac52" width="80%"/> </p>

⚠️ Not everything works yet: coproc, select, and some edge cases aren't supported. See the Compatibility Reference for details.

Quick start:

$ cargo binstall brush-shell         # using cargo-binstall
$ brew install brush                 # using Homebrew
$ pacman -S brush                    # Arch Linux
$ cargo install --locked brush-shell # Build from sources

brush is ready for use as a daily driver. We test every change against bash to keep it that way.

More detailed installation instructions are available below.

✨ Features

🐚 bash Compatibility

| | Feature | Description | |--|---------|-------------| | βœ… | 50+ builtins | echo, declare, read, complete, trap, ulimit, ... | | βœ… | Full expansions | brace, parameter, arithmetic, command/process substitution, globs, extglob, globstar | | βœ… | Control flow | if/for/while/until/case, &&/\|\|, subshells, pipelines, etc. | | βœ… | Redirection | here docs, here strings, fd duplication, process substitution redirects | | βœ… | Arrays & variables | indexed/associative arrays, dynamic variables, standard well-known variables, etc. | | βœ… | Programmable completion | Works with bash-completion out of the box | | βœ… | Job control | background jobs, suspend/resume, fg/bg/jobs | | πŸ”· | Traps & options | DEBUG/ERR/EXIT traps work; signal traps and options in progress |

⌨️ User Experience

| | Feature | Description | |--|---------|-------------| | βœ… | Syntax highlighting | Real-time as you type (reedline) | | βœ… | Auto-suggestions | History-based hints as you type (reedline) | | βœ… | Rich prompts | PS1/PROMPT_COMMAND, right prompts, starship compatible | | βœ… | TOML config | ~/.config/brush/config.toml for persistent settings | | πŸ§ͺ | Extras | fzf/atuin support, zsh-style precmd/preexec hooks (experimental), VS Code terminal integration |

Installation

When you run brush, it should look exactly as bash does on your system: it processes your .bashrc and other standard configuration. If you'd like to distinguish the look of brush from the other shells on your system, you may author a ~/.brushrc file.

<details> <summary>🍺 <b>Installing using Homebrew</b> (macOS/Linux)</summary>

Homebrew users can install using the brush formula:

brew install brush
</details> <details> <summary>🐧 <b>Installing on Arch Linux</b></summary>

Arch Linux users can install brush from the official extra repository:

pacman -S brush
</details> <details> <summary>πŸš€ <b>Installing prebuilt binaries via `cargo binstall`</b></summary>

You may use cargo binstall to install pre-built brush binaries. Once you've installed cargo-binstall you can run:

cargo binstall brush-shell
</details> <details> <summary>πŸš€ <b>Installing prebuilt binaries from GitHub</b></summary>

We publish prebuilt binaries of brush for Linux (x86_64, aarch64) and macOS (aarch64) to GitHub for official releases. You can manually download and extract the brush binary from one of the archives published there, or otherwise use the GitHub CLI to download it, e.g.:

gh release download --repo reubeno/brush --pattern "brush-x86_64-unknown-linux-gnu.*"

After downloading the archive for your platform, you may verify its authenticity using the GitHub CLI, e.g.:

gh attestation verify brush-x86_64-unknown-linux-gnu.tar.gz --repo reubeno/brush
</details> <details> <summary>🐧 <b>Installing using Nix</b></summary>

If you are a Nix user, you can use the registered version:

nix run 'github:NixOS/nixpkgs/nixpkgs-unstable#brush' -- --version
</details> <details> <summary> πŸ”¨ <b>Building from sources</b></summary>

To build from sources, first install a working (and recent) rust toolchain; we recommend installing it via rustup. Then run:

cargo install --locked brush-shell
</details>

Community & Contributing

This project started out of curiosity and a desire to learnβ€”we're keeping that attitude. If something doesn't work the way you'd expect, let us know!

Related Projects

Other POSIX-ish shells implemented in non-C/C++ languages:

<details> <summary><b>πŸ™ Credits</b></summary>

This project relies on many excellent OSS crates:

</details>

Licensed under the MIT license.

View on GitHub
GitHub Stars1.3k
CategoryDevelopment
Updated9h ago
Forks71

Languages

Rust

Security Score

100/100

Audited on Mar 28, 2026

No findings