⚠️ Version 2 includes breaking changes due to a new standardized syntax and improved shell autocompletion. See the changelog for details.
💥 The Swiss Army Knife for macOS – in your Terminal!
Overview
m-cli is a powerful command-line tool for macOS that enables you to control system functions, manage utilities, and tweak preferences – all from the Terminal.
Key Features:
- Manage system and admin tasks effortlessly
- No third-party dependencies
- Simple, non-intrusive installation
- Clean and safe – doesn’t modify your system unnecessarily
Support
Enjoying this tool? Consider supporting development ☕
Installation
Using Homebrew
Or if you want to have the latest version
brew install rgcr/formulae/m-cli
Note: When installed via Homebrew, shell autocompletion scripts are installed and configured automatically for Bash, Zsh, and Fish. No additional setup is needed.
Manual Installation
curl -fsSL https://raw.githubusercontent.com/rgcr/m-cli/main/install.sh | bashEnsure that ${HOME}/.local/bin is in your $PATH. You can add it with:
export PATH="${HOME}/.local/bin:$PATH"
Add the line above to your shell config file (e.g. ~/.bashrc, ~/.zshrc) for persistence.
Shell Autocompletion (Manual Installation)
To enable shell autocompletion for m, source the appropriate file based on your shell:
Bash
source ~/.local/opt/m-cli/completions/bash/m
To make it persistent, add the above line to your ~/.bashrc or ~/.bash_profile.
Zsh
source ~/.local/opt/m-cli/completions/zsh/_m
To make it persistent, add the above line to your ~/.zshrc.
Fish
source ~/.local/opt/m-cli/completions/fish/m.fish
To make it persistent, add the line to ~/.config/fish/config.fish.
Uninstallation
Using Homebrew
Manual Uninstall
Usage
- Run
mto display all available commands. - Run
m <command> --helpto see usage options for any specific command.
Example:
- Enjoy!
Available Commands
airdrop • appearance • audio • battery • bluetooth • dir • disk • display • dns • dock
fan • finder • firewall • flightmode • gatekeeper • group • hostname • hosts • info
itunes • lock • network • nosleep • notificationcenter • ntp • powermode • printer
restart • remotelogin • safeboot • screensaver • service • shutdown • sleep • timezone • touchbar
trash • update • usb • user • volume • vpn • wallpaper • wifi
Notes
- Some
macoscommands needs to be executed withsudointernally, so it's recommended you havesudoprivileges. - The
trashcommand will not work unless your terminal (e.g.iTerm2,Terminal.app) has the necessary permissions to access the Trash folder. You can grant this permission inSystem Preferences > Security & Privacy > Privacy > Full Disk Access.
Contributing
We ❤️ contributions!
- Fork the repo
- Create your feature branch:
git checkout -b my-new-feature
- Commit your changes:
git commit -m 'Add some feature' - Push the branch:
git push origin my-new-feature
- Open a Pull Request 🚀
TODO
- Add more plugins
Resources
© Rogelio Cedillo – Licensed under the MIT License