Skip to content

rgcr/m-cli

Repository files navigation

 m-cli

Project Status

maintenance-status



💥 Swiss Army Knife for macOS !

Overview
Install
Uninstall
How To Use
All Commands
Contributing

Overview

m-cli is a macOS command line tool that lets you interact with utilities and applications entirely in Terminal. It differs from other macOS command line tools in the following ways:

  • You can easily manage administrative tasks
  • It doesn't install 3rd party tools since it doesn't have dependencies
  • Installation is easy and doesn't require intervention
  • It only uses macOS commands

Install

You can install m-cli using Homebrew, or you can manually install it.

Homebrew install

If you have Homebrew installed, run:

brew install m-cli

Manual install

If you want to manually install m-cli, run:

curl -fsSL https://raw.githubusercontent.com/rgcr/m-cli/master/install.sh | sudo sh

You can also install it to a different path, shown below:

INSTALL_DIR=$HOME/.m-cli sh <(curl -fsSL https://raw.githubusercontent.com/rgcr/m-cli/master/install.sh)

Note: Certain plugins, such as that for the "gatekeeper" command, will not work if m-cli is installed with standard user privilege. Certain plugins, such as that for the "trash" command, will not work until and unless your terminal emulator is granted Full Disk Access (look under "Security & Privacy" in System Preferences).

Uninstall

To uninstall m-cli from your system, run:

m --uninstall

How To Use

m-cli commands are executed using the following steps:

1. Run mto display all of the commands (utilities) available in m-cli.

2. Run m <command> to display the options available for this command.

3. Run m <command> <option> to execute an option for this command.

A diagram of this structure is shown below:

m
|___itunes
|     |___status
|     |___play
|     |___pause
|     |
|     ...
|
|___disk 
      |___ls
      |___list
      |___fs
      ...

For example, running m itunes will display the options available for iTunes, as shown below:

    usage: m itunes [ status | play | pause | next | prev | mute | unmute | vol up | vol down | vol #| stop | quit | help ]

    Examples:
      m itunes status       # Show status
      m itunes play         # Play track
      m itunes pause        # Pause track
      m itunes next         # Play next track
      m itunes prev         # Play previous track
      m itunes mute         # Mute iTunes
      m itunes unmute       # Unmute iTunes
      m itunes vol up       # Volume Up
      m itunes vol down     # Volume Down
      m itunes vol #        # Set volume level
      m itunes stop         # Stop track
      m itunes quit         # Quit iTunes

In this example, running m itunes play will play the current selected track in your iTunes music library.

All Commands

m-cli currently supports the following commands:

help
airdrop
appearance
audio
battery
bluetooth
dir
disk
display
dns
dock
fan
finder
firewall
flightmode
gatekeeper
group
hostname
info
itunes
localhost
lock
network
nosleep
notification
ntp
printer
restart
safeboot
screensaver
service
shutdown
sleep
timezone
touchbar
trash
usb
update
user
volume
vpn
wallpaper
wifi

Contributing

  1. Fork it!
  2. Create your feature branch: git checkout -b my-new-feature
  3. Commit your changes: git commit -m 'Add some feature'
  4. Push to the branch: git push origin my-new-feature
  5. Submit a pull request 🤘

TODO:

  • Add more plugins
  • Improve the help
  • Improve the installation script

Resources:


MIT License © Rogelio Cedillo