# Load mbashr modules if [ -f "$HOME/.config/mbashr/init.sh" ]; then source "$HOME/.config/mbashr/init.sh" fi Directory structure ~/.config/mbashr/ ├── modules/ │ ├── aliases.sh │ ├── exports.sh │ ├── prompt.sh │ └── kubectl.sh ├── init.sh # generated by mbashr └── modules.lock # tracks file hashes Commands | Command | Description | |---------|-------------| | mbashr list | List available modules | | mbashr reload [module] | Reload all changed modules or just one | | mbashr enable <module> | Add module to startup set | | mbashr disable <module> | Remove from startup set | | mbashr status | Show which modules are loaded and their hash | Example workflow You edit ~/.config/mbashr/modules/aliases.sh and add:
Can I use mbashr with Zsh? A: The core logic is shell-agnostic, but the init script is Bash-specific. A Zsh port is planned as zsh-mbashr . Final thoughts mbashr won’t change your life — but it will make your terminal feel cleaner , faster , and more reliable . If you have more than 50 lines in your .bashrc , give it a try.
alias gs='git status' Instead of source ~/.bashrc , just run: mbashr
mbashr reload says “No changes detected” but my alias isn’t working. A: mbashr compares file hashes. If you edited the file but saved with the same content (e.g., whitespace only), force reload with mbashr reload --force .
# Only load if docker CLI exists if command -v docker &> /dev/null; then alias d='docker' alias dc='docker-compose' complete -F _docker d fi ~/.config/mbashr/hosts/work/aliases.sh ~/.config/mbashr/hosts/personal/aliases.sh mbashr automatically picks the right host directory. 3. Dependency ordering Add a comment to control load order: # Load mbashr modules if [ -f "$HOME/
The project is open source (MIT) and contributions are welcome: https://github.com/yourusername/mbashr
curl -fsSL https://raw.githubusercontent.com/yourusername/mbashr/main/install.sh | bash Add to your ~/.bashrc : Final thoughts mbashr won’t change your life —
mbashr reload aliases Your new alias is immediately available. 1. Conditional modules Create ~/.config/mbashr/modules/docker.sh :