A command represents something that can be done / performed. A command can either be a command directly in the Tooling Platform, a part of a command group can have or a part of a namespace. A command that belongs directly to the Tooling Platform is also called a default command.
A command has a pretty simple structure. It has a name, a long and a short description, dependencies, an action and a boolean denoting whether the command has something to do with boilerplates. Most of these properties should be self explanatory. We need to mark a command that has something to do with boilerplates so that that it can be injected into namespaces that also are related to boilerplates.