> For the complete documentation index, see [llms.txt](https://droneforge.gitbook.io/droneforge-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://droneforge.gitbook.io/droneforge-docs/nimbusos-sdk/python-api/cli.md).

# CLI

The SDK installs command-line tools for smoke testing and manual operation.

All publish commands accept `--pub-endpoint`. The default is `DF_ZMQ_PUB_ENDPOINT` if set, otherwise `tcp://127.0.0.1:7771`.

The subscribe command accepts `--sub-endpoint`. The default is `DF_ZMQ_SUB_ENDPOINT` if set, otherwise `tcp://127.0.0.1:7772`.

{% hint style="warning" %}
Run publish commands only against a safe vehicle, simulator, or controlled NimbusOS test environment.
{% endhint %}

## `nimbusos-subscribe`

Subscribes to one supported SDK topic.

```bash
nimbusos-subscribe telemetry
nimbusos-subscribe selected_state
nimbusos-subscribe camera
nimbusos-subscribe camera_overlay
nimbusos-subscribe live_camera
nimbusos-subscribe waypoint_status
nimbusos-subscribe autonomy_status
```

### Arguments

| Argument         | Required | Default            | Description                                                                                                            |
| ---------------- | -------- | ------------------ | ---------------------------------------------------------------------------------------------------------------------- |
| `topic`          | Yes      | None               | One of `telemetry`, `selected_state`, `camera`, `camera_overlay`, `live_camera`, `waypoint_status`, `autonomy_status`. |
| `--limit`        | No       | `0`                | Stop after N messages. `0` means unlimited.                                                                            |
| `--timeout`      | No       | None               | Stop after N seconds.                                                                                                  |
| `--sub-endpoint` | No       | Configured default | ZeroMQ subscribe endpoint.                                                                                             |

### Examples

```bash
nimbusos-subscribe telemetry --limit 1 --timeout 5
nimbusos-subscribe camera --limit 10
```

Output includes the topic, payload byte length, decoded root type, and sequence/timestamp fields when present.

## `nimbusos-arm`

Publishes an arm-state command.

```bash
nimbusos-arm
nimbusos-arm --disarm
```

### Arguments

| Argument         | Required | Default            | Description                        |
| ---------------- | -------- | ------------------ | ---------------------------------- |
| `--disarm`       | No       | `false`            | Publish disarmed instead of armed. |
| `--pub-endpoint` | No       | Configured default | ZeroMQ publish endpoint.           |

## `nimbusos-autonomy-request`

Publishes an autonomy request.

```bash
nimbusos-autonomy-request takeoff
nimbusos-autonomy-request land
nimbusos-autonomy-request return_home
nimbusos-autonomy-request relative_waypoint --mode override --forward 1.5 --right 0.0 --down 0.0
nimbusos-autonomy-request relative_waypoint --mode queue --forward 1.0 --right 0.5 --down 0.0 --threshold 0.15 --hold-time 2.0
```

### Arguments

| Argument         | Required | Default            | Description                                                            |
| ---------------- | -------- | ------------------ | ---------------------------------------------------------------------- |
| `type`           | Yes      | None               | One of `takeoff`, `land`, `relative_waypoint`, `return_home`.          |
| `--forward`      | No       | `0.0`              | Meters forward or backward for `relative_waypoint`.                    |
| `--right`        | No       | `0.0`              | Meters right or left for `relative_waypoint`.                          |
| `--down`         | No       | `0.0`              | Meters down or up for `relative_waypoint`.                             |
| `--mode`         | No       | `override`         | `override` replaces the active waypoint; `queue` appends to the queue. |
| `--threshold`    | No       | `0.05`             | Meters from target that counts as reached.                             |
| `--hold-time`    | No       | `0.0`              | Seconds to hold after reaching the waypoint.                           |
| `--pub-endpoint` | No       | Configured default | ZeroMQ publish endpoint.                                               |

## `nimbusos-waypoint-speed`

Publishes waypoint path speed.

```bash
nimbusos-waypoint-speed 0.45
```

### Arguments

| Argument         | Required | Default            | Description                                                      |
| ---------------- | -------- | ------------------ | ---------------------------------------------------------------- |
| `speed_mps`      | Yes      | None               | Waypoint path speed in meters per second, from `0.05` to `0.75`. |
| `--pub-endpoint` | No       | Configured default | ZeroMQ publish endpoint.                                         |

## `nimbusos-yaw-turn-command`

Publishes a relative yaw turn command.

```bash
nimbusos-yaw-turn-command 0.52
```

### Arguments

| Argument         | Required | Default            | Description                   |
| ---------------- | -------- | ------------------ | ----------------------------- |
| `delta_yaw_rad`  | Yes      | None               | Relative yaw turn in radians. |
| `--pub-endpoint` | No       | Configured default | ZeroMQ publish endpoint.      |


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://droneforge.gitbook.io/droneforge-docs/nimbusos-sdk/python-api/cli.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
