Overview

The command line interface is an important part of app automation and may be thought of in a couple ways:

First there is the ad hoc script which is a single file and can be placed anywhere, but is not installed as part of a package. See Ad Hoc Scripts.

But the “real” command line interface uses commands and subcommands; these are installed as part of a package.

Top-level commands are mostly just a way to group subcommands. Most custom apps would define their own top-level command as well as multiple subcommands. See Commands for top-level details.

Subcommands on the other hand are the real workhorse since they define the action logic. See Subcommands for more about those.