# Auterion CLI Reference

**Type `auterion-cli --help` in your command line to get help.**\
For help for a sub-command, type `auterion-cli <subcommand> --help`

## Installation <a href="#commands" id="commands"></a>

Auterion CLI can be easily installed with the help of the python package installer (pip). Therefore, before running the next installation step, make sure that you have pip installed and running on your development system.

```bash
pip3 install auterion-cli
```

{% hint style="info" %}
Make sure your that `~/.local/bin` directory is in the `PATH` to access it.
{% endhint %}

Your system also needs to be able to run arm64 docker containers in order to compile apps for Skynode. Refer to [application-development](https://docs.auterion.com/app-development/app-development/application-development "mention")for a guide on how to set up Docker.

## Update

Auterion CLI automatically checks for updates when running.\
In order to update to the newest version run the following command:

```bash
pip3 install --upgrade auterion-cli
```

## Command reference

### Discover / select devices

"Selecting" a device makes auterion-cli perform all actions against that selected device.\
In case no device is selected, auterion-cli will default to any device reachable on `10.41.1.1`

<table data-header-hidden><thead><tr><th width="413">Command</th><th>Explanation</th></tr></thead><tbody><tr><td><code>auterion-cli device discover</code></td><td>Discover reachable Auterion devices.</td></tr><tr><td><code>auterion-cli device select &#x3C;serial></code></td><td>Select a reachable device to connect to.</td></tr><tr><td><code>auterion-cli device deselect</code></td><td>Deselect any currently selected device.</td></tr></tbody></table>

### Device information

<table data-header-hidden><thead><tr><th width="414">Command</th><th>Explanation</th></tr></thead><tbody><tr><td><code>auterion-cli info</code></td><td>Get information about the selected device.</td></tr><tr><td><code>auterion-cli report</code></td><td>Download diagnostic report from selected device.</td></tr></tbody></table>

### App management

<table data-header-hidden><thead><tr><th width="415">Command</th><th>Explanation</th></tr></thead><tbody><tr><td><code>auterion-cli app list</code></td><td>List all currently installed apps on the device.</td></tr><tr><td><code>auterion-cli app start &#x3C;app name></code></td><td>Start a stopped app.</td></tr><tr><td><code>auterion-cli app stop &#x3C;app name></code></td><td>Stop a running app.</td></tr><tr><td><code>auterion-cli app restart &#x3C;app name></code></td><td>Restart an app.</td></tr><tr><td><code>auterion-cli app enable &#x3C;app name></code></td><td>Enable autostart for an app.</td></tr><tr><td><code>auterion-cli app disable &#x3C;app name></code></td><td>Disable autostart for an app.</td></tr><tr><td><code>auterion-cli app status &#x3C;app name></code></td><td>Get current status for an app.</td></tr><tr><td><code>auterion-cli app logs &#x3C;app name> [-f]</code></td><td>Display logs for an app.<br>Add <code>-f</code> for live log feed.</td></tr></tbody></table>

### Development workflow

<table data-header-hidden><thead><tr><th width="416">Command</th><th>Explanation</th></tr></thead><tbody><tr><td><code>auterion-cli app init</code></td><td>Create a new app project.</td></tr><tr><td><code>auterion-cli app build</code></td><td>Build the app project in current folder. Creates <em>.auterionos</em> file in build folder.</td></tr><tr><td><code>auterion-cli app install &#x3C;file></code></td><td>Install the <em>.auterionos</em> app file to Skynode.</td></tr><tr><td><code>auterion-cli app patch --create-config</code></td><td>Create an empty config file for the patch update process. Add directories/file paths inside the app container you want to fast update.</td></tr><tr><td><code>auterion-cli app patch</code></td><td>Build app project without packaging and patch the running app on the remote device (<code>ssh</code> access required so far).</td></tr><tr><td><code>auterion-cli app remove &#x3C;app name></code></td><td>Remove an app from Skynode.</td></tr></tbody></table>
