Mbashr Review
mbashr reload aliases Your new alias is immediately available. 1. Conditional modules Create ~/.config/mbashr/modules/docker.sh :
alias gs='git status' Instead of source ~/.bashrc , just run: mbashr
# 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: mbashr reload aliases Your new alias is immediately
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. A: The core logic is shell-agnostic, but the
# 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: