What is a command? Every statement executed from the SBT prompt is a command. A command can either be an SBT task or command.
In SBT, each task represents a specific operation. Most of the tasks are run from the SBT prompt as commands while some are used internally by SBT. Based on the impact, tasks can be split into:
Tasks such as clean, update, publish, and so on, are categorized as project-level tasks, while tasks such as compile, console, run, test, run-main, and so on, fall into the category of configuration-level tasks, as they can be executed for different configurations.
In SBT, a command is just another type like keys. A command has access to the current state of the build and can modify that state. So, commands are very much like task keys with additional privileges. Some of the commonly used commands are as follows: