The %command.name% command generates a new command:
php %command.full_name% app:do-something
If the argument is missing, the command will ask for the command name interactively.
The command then asks for the arguments and the options to declare, and generates the
__invoke() method with the matching #[Argument] and #[Option] parameters.
They can be passed on the command line instead of being asked for, which is what you
want in a script or when the terminal is not interactive:
php %command.full_name% app:send-report --argument=recipient --argument=cc?:array --option=dry-run --option=format:Format
The format is name[:type], where the type is one of string, bool, int, float,
array or a backed enum. It defaults to string for an argument and to bool for an option.
The name is written the way it reads on the command line: dry-run becomes $dryRun.
The short name of an enum is enough as long as it is unique within src/, which saves
escaping backslashes in your shell.
An argument is required unless its name ends with ?, as an optional key of a PHP array
shape: cc?:array. Note that this differs from the interactive mode, whose default
answer is no.