***** Usage ***** Once the Python virtual environment is active, the CLI can be accessed by using the command ``firewheel`` in your terminal or directly using :exc:`firewheel_cli.py <firewheel.cli.firewheel_cli>`. This will open up the CLI in "interactive" mode which looks like: .. code-block:: bash $ firewheel FIREWHEEL Infrastructure CLI fw-cli> The CLI also supports single-command execution (or non-interactive mode). This is the most common use of the CLI. Running the CLI with arguments results in those arguments being treated as a single entered command (and associated arguments). For example, the following examples are equivalent: .. code-block:: bash $ firewheel vm mix .. code-block:: bash fw-cli> vm mix Helpers can be invoked by name as a command or using the :ref:`command_run` command. .. code-block:: bash fw-cli> run vm mix While it is most common that users will invoke a Helper via its name, using the :ref:`command_run` command also disambiguates a Helper's name from built-in command names. Additionally in interactive mode, the :ref:`command_run` command provides the ability to tab-complete Helpers. Available Helpers can be enumerated using the :ref:`command_list` or :ref:`command_help` commands or they can found here: :ref:`cli_helpers`. For complete help on any command, use: ``firewheel help <command | Helper>``. Some commands may take arguments. Everything on the command line after the name of the command is treated as an argument to that command. Some commands use `Argparse <https://docs.python.org/3/library/argparse.html>`_ to handle arguments. In this case, using ``-h`` or ``--help`` flag may also work. However, this information *should* also be available by using: ``firewheel help <command | Helper>``. CLI Output ========== All CLI commands *should* report success/failure via the exit code. Many commands also output useful information directly to the screen. For example: .. code-block:: bash $ firewheel repository list Installed Model Component Repositories: /opt/firewheel/model_components As with other FIREWHEEL components, the CLI logs to ``firewheel.log``. However, because the CLI is verbose, it has an additional log file (``cli.log``) which contains more in-depth logging information, including the output. Additionally, the history of CLI commands is located in ``cli_history.log`` (or it can be accessed via the :ref:`command_history` command. The location of the CLI-specific log files can be set using FIREWHEEL's configuration.