> ## Documentation Index
> Fetch the complete documentation index at: https://docs.altnautica.com/llms.txt
> Use this file to discover all available pages before exploring further.

# CLI Reference

> Everyday ados commands plus the hardware, logs, network, plugin, profile, radio, and runtime subgroups.

# CLI Reference

The `ados` CLI covers everyday operations: find the local setup webapp, check
agent status, update and uninstall the agent, and inspect or tune hardware,
logs, network adapters, plugins, the profile, the radio link, and which services
run the native implementation.

Most flight-operations configuration (pairing, MAVLink, video, ground-station
setup, remote access) lives in the local setup webapp or ADOS Mission Control.

## Top-level commands

| Command                    | Use it for                                                                                                      |
| -------------------------- | --------------------------------------------------------------------------------------------------------------- |
| `ados`                     | Open the full-screen terminal status page when using a TTY. Prints plain status when run from a script or pipe. |
| `ados status`              | Print setup, MAVLink, video, network, remote access, and service status.                                        |
| `ados status --json`       | Print the full setup status payload for scripts and support tools.                                              |
| `ados version`             | Print the installed agent version. Works even when the service is down.                                         |
| `ados update`              | Update the agent to the latest version by re-running the installer in upgrade mode.                             |
| `ados update --check-only` | Report the current and latest version without installing.                                                       |
| `ados update --yes`        | Update without an interactive confirmation.                                                                     |
| `ados update --json`       | Print the current version, latest version, and update-available flag as JSON.                                   |
| `ados install --status`    | Show the last install result and which checkpoints are done or missing.                                         |
| `ados install --resume`    | Resume an interrupted install.                                                                                  |
| `ados uninstall`           | Remove ADOS Drone Agent from the system.                                                                        |
| `ados uninstall --purge`   | Remove config in addition to package files and runtime data.                                                    |
| `ados uninstall --yes`     | Skip the uninstall confirmation prompt.                                                                         |

## Subgroups

| Subgroup        | Use it for                                                                                |
| --------------- | ----------------------------------------------------------------------------------------- |
| `ados hardware` | Inspect the persisted hardware snapshot and bust the hardware-check cache.                |
| `ados logs`     | Query, tail, aggregate, export, and push the black-box log store.                         |
| `ados network`  | Inspect and manage network adapters: stable-MAC pinning and the operating-region posture. |
| `ados plugin`   | Manage the plugin host (install, enable, disable, remove, inspect, logs).                 |
| `ados profile`  | Show or override the agent profile (drone or ground station).                             |
| `ados radio`    | Inspect and tune the WFB-ng radio link, including pairing.                                |
| `ados rust`     | Switch services between the native and packaged implementations.                          |

## `ados`

Run `ados` after install or over SSH:

```bash theme={"theme":{"light":"github-light","dark":"github-dark"}}
ados
```

In an interactive terminal it opens a read-only status page with:

* Setup URL.
* Hotspot, LAN, USB tether, and mDNS URLs when available.
* Mission Control and tunnel URLs when configured.
* MAVLink and video state.
* Network and remote access state.
* Services and telemetry.

Press `q` or Ctrl-C to exit.

If the command is not attached to a TTY, it prints the same summary as
`ados status`.

## `ados status`

Use `ados status` for a short support-friendly summary:

```bash theme={"theme":{"light":"github-light","dark":"github-dark"}}
ados status
```

Example output:

```text theme={"theme":{"light":"github-light","dark":"github-dark"}}
ADOS Drone Agent 0.89.2
Device:  ADOS Agent (ados-1234)
Profile: drone
Setup:   67%

Open setup: http://ados.local:8080
MAVLink: False
Video:   running http://ados.local:8889/main/whep
Remote:  disabled

Next: Connect or configure the flight controller
```

For scripts:

```bash theme={"theme":{"light":"github-light","dark":"github-dark"}}
ados status --json
```

The JSON output is the same setup status used by the setup webapp and Mission
Control.

## `ados update`

Update the agent to the latest version. `ados update` re-runs the installer in
upgrade mode, which updates the Rust daemons and the CLI while preserving the
device identity and config.

```bash theme={"theme":{"light":"github-light","dark":"github-dark"}}
ados update
```

Report the current and latest version without installing:

```bash theme={"theme":{"light":"github-light","dark":"github-dark"}}
ados update --check-only
```

Update without a confirmation prompt:

```bash theme={"theme":{"light":"github-light","dark":"github-dark"}}
ados update --yes
```

Print `current_version`, `latest_version`, and `update_available` as JSON:

```bash theme={"theme":{"light":"github-light","dark":"github-dark"}}
ados update --json
```

See [Updating the Agent](/drone-agent/updating) for platform behavior and
rollback.

## `ados uninstall`

Remove the installed agent:

```bash theme={"theme":{"light":"github-light","dark":"github-dark"}}
ados uninstall
```

Remove config as well:

```bash theme={"theme":{"light":"github-light","dark":"github-dark"}}
ados uninstall --purge
```

Run without prompts:

```bash theme={"theme":{"light":"github-light","dark":"github-dark"}}
ados uninstall --purge --yes
```

## `ados plugin`

The `ados plugin` subgroup manages the agent plugin host: install, enable, disable, remove, inspect, and tail logs for installed plugins. Each plugin runs as a subprocess under the agent supervisor with its own cgroup limits and a capability-gated IPC channel.

| Command                         | What it does                                                                             |
| ------------------------------- | ---------------------------------------------------------------------------------------- |
| `ados plugin list`              | Show every installed plugin with state, version, and risk level.                         |
| `ados plugin install <archive>` | Install a signed `.adosplug` archive from a local file or URL.                           |
| `ados plugin enable <id>`       | Start a previously installed plugin and add it to the supervisor's restart set.          |
| `ados plugin disable <id>`      | Stop the plugin and remove it from the restart set. The plugin stays installed.          |
| `ados plugin remove <id>`       | Stop and uninstall the plugin. State on disk is purged.                                  |
| `ados plugin info <id>`         | Print the manifest, declared permissions, signer, and last-known status.                 |
| `ados plugin perms <id>`        | Show permission grants. Add `--revoke <perm>` to drop one.                               |
| `ados plugin logs <id>`         | Tail the plugin's structured logs.                                                       |
| `ados plugin lint <archive>`    | Static-analyze an archive: signature, manifest schema, banned imports, permission shape. |
| `ados plugin test <plugin_dir>` | Run the plugin's pytest suite against the test harness.                                  |

`install`, `enable`, `disable`, `remove`, and `perms --revoke` prompt for confirmation by default. Pass `--yes` to skip prompts in scripts.

The full operator and OEM guide is at [Plugins](/drone-agent/plugins). Plugin authoring lives under the [Developers](/developers/your-first-plugin) tab.

## `ados hardware`

Inspect and reset the hardware-detection cache.

| Command                       | What it does                                                       |
| ----------------------------- | ------------------------------------------------------------------ |
| `ados hardware show [--json]` | Print the persisted hardware snapshot (board, buses, peripherals). |
| `ados hardware bust-cache`    | Clear the cached hardware-check result so the next boot re-probes. |

## `ados logs`

Query the black-box logging store. The store keeps logs, telemetry history, discrete events, and hardware samples in a durable local database that survives reboots and is reachable when the network is down.

| Command               | What it does                                 |
| --------------------- | -------------------------------------------- |
| `ados logs query`     | Query log lines with filters.                |
| `ados logs tail`      | Follow logs live.                            |
| `ados logs aggregate` | Summarize counts and rates over a window.    |
| `ados logs sessions`  | List recorded boot/run sessions.             |
| `ados logs status`    | Show store health and capture state.         |
| `ados logs export`    | Export a slice of the store.                 |
| `ados logs push`      | Push a captured slice to a support endpoint. |

Add `--json` for machine-readable output where supported.

## `ados network`

Manage network adapters. Two nested groups.

| Command                                   | What it does                                               |
| ----------------------------------------- | ---------------------------------------------------------- |
| `ados network mac status [--json]`        | Show per-adapter stable-MAC verdicts.                      |
| `ados network mac pin <iface>`            | Pin a stable MAC on an adapter.                            |
| `ados network mac unpin <iface>`          | Remove an adapter's pin or override.                       |
| `ados network mac verify <iface>`         | Show which `.link` file wins for an interface (no reboot). |
| `ados network regulatory status [--json]` | Show the current operating-region posture.                 |
| `ados network regulatory region`          | Pin an operating region.                                   |
| `ados network regulatory unrestricted`    | Opt into the operator-acknowledged unrestricted posture.   |

## `ados profile`

Show or override which profile the node runs.

| Command                      | What it does                                                      |
| ---------------------------- | ----------------------------------------------------------------- |
| `ados profile show [--json]` | Print the resolved agent profile.                                 |
| `ados profile set`           | Persist a profile choice (drone or ground station) for this node. |

## `ados radio`

Inspect and tune the WFB-ng radio link, including pairing.

| Command                           | What it does                           |
| --------------------------------- | -------------------------------------- |
| `ados radio status [--json]`      | Show the current WFB-ng link status.   |
| `ados radio set-tx-power`         | Set the transmit power.                |
| `ados radio hop`                  | Trigger a coordinated channel hop.     |
| `ados radio test`                 | Run a link test.                       |
| `ados radio adapters`             | List detected radio adapters.          |
| `ados radio pair status [--json]` | Print pair state for this rig.         |
| `ados radio pair local`           | Run a local over-radio bind.           |
| `ados radio pair failover-status` | Show pairing failover state.           |
| `ados radio pair unpair [--yes]`  | Wipe pair keys and clear pair state.   |
| `ados radio pair auto on`         | Re-arm auto-pair (only when unpaired). |
| `ados radio pair auto off`        | Disable auto-pair.                     |

## `ados rust`

Switch individual services between the native (Rust) and packaged implementations. This writes a marker file the supervisor reconciles. It never hand-edits live unit files.

| Command                          | What it does                                                |
| -------------------------------- | ----------------------------------------------------------- |
| `ados rust status`               | Show the native-vs-packaged state per service.              |
| `ados rust enable <service>...`  | Run the native implementation for one or more services.     |
| `ados rust disable <service>...` | Fall back to the packaged service for one or more services. |

## Where the old commands went

The setup webapp is the operator UI for:

* MAVLink setup.
* Video setup.
* Network and hotspot setup.
* Cloudflare remote access.
* Ground station pairing and role setup.
* Logs and support status.
* Advanced recovery.

Mission Control remains the main GCS for flight operations, hardware management,
video, fleet state, and plugin workflows.
