Readme
🍱 bento-cli
A unified command organizer that searches across all your installed commands, packages, aliases, and functions in one place.
Description
Bento is a Rust-based command-line tool that provides a centralized search interface for discovering commands across your entire system. Instead of trying to remember whether that utility you installed was a homebrew formula, an npm package, or a shell alias, Bento searches everything simultaneously and presents results with clear categorization and color coding. It supports fuzzy matching, making it easy to find commands even when you only remember part of the name.
Bento searches across:
System binaries in your PATH
Homebrew packages (formulae and casks)
Python packages (pip)
Node.js packages (npm and yarn)
Rust packages (cargo)
Go modules
Shell aliases
Shell functions
Getting Started
Dependencies
Operating System : macOS or Linux (Unix-like system required for file permissions check)
Rust : Version 1.70.0 or higher
Optional package managers (Bento will gracefully skip any that aren't installed):
Homebrew (brew )
Python pip (pip )
Node.js npm (npm )
Yarn (yarn )
Cargo (comes with Rust)
Go (go )
Installing
Option 1: Install from crates.io (Recommended)
cargo install bento
Option 2: Install from GitHub using Cargo
cargo install -- git https://github.com/00msjr/bento.git
Option 3: Build from source
Clone the repository
git clone https://github.com/00msjr/bento.git
cd bento
Build from source using Cargo
cargo build -- release
Install the binary
# Option 1: Install to cargo bin directory
cargo install --path .
# Option 2: Copy to a location in your PATH
sudo cp target/release/bento /usr/local/bin/
Verify installation
bento -- help
Executing program
Basic search across all sources:
bento git
Search with category filters:
# Search only homebrew packages
bento --homebrew python
# Search only aliases
bento --alias ls
# Search only npm packages
bento --npm react
View available commands and statistics:
bento
Example outputs:
Yellow text: Aliases
Green text: Functions
Blue text: Binary commands
Cyan text: Homebrew formulae
Bright cyan: Homebrew casks
Red text: Python packages
Magenta text: NPM packages
Bright magenta: Yarn packages
Bright red: Cargo packages
Bright blue: Go packages
Help
Common issues and solutions:
No aliases or functions showing up
Bento attempts to read from multiple shells (zsh, bash, sh)
Ensure your shell configuration files are properly sourced
Try running with your specific shell: SHELL = / bin/ zsh bento
Permission denied errors
Ensure the binary has execute permissions: chmod + x / usr/ local/ bin/ bento
Package manager commands not found
Bento gracefully skips package managers that aren't installed
Install the relevant package manager to search its packages
Too many results
Use category filters to narrow down results
Results are limited to top 15 matches by fuzzy search score
For more help:
bento -- help
Authors
Contributors and maintainers:
License
This project is licensed under the MIT License - see the LICENSE.md file for details
Acknowledgments
Inspired by the need for a unified command discovery tool
Built with clap for CLI parsing
Uses colored for terminal colors
Special thanks to @dompizzie for the README template