How spoonnewman/drone-cli works
This is a small drone-control CLI backed by a Rust core library. The main workflow is a user command, handled by the CLI, delegated through the Drone facade and DroneApi abstraction to an HTTP Flight Bridge service; status responses are decoded into telemetry snapshots and displayed. The README is sparse, so the HTTP endpoints and capabilities are evidenced by sampled source. The transport abstraction and fake transport are present but are not wired into the sampled CLI workflow.
Main entry points: http_api.rs HTTP Client · drone.rs Drone Facade · main.rs Command CLI · api.rs Drone API
Components 9
CLI
- Command CLI
cli/src/main.rs
Control API
- Drone Facade
core/src/drone.rs - Drone API
core/src/api.rs - HTTP Client
core/src/http_api.rs - Transport Trait
core/src/transport.rs - Fake Transport
core/src/transport.rs
Telemetry
- Telemetry Snapshot
core/src/dtos/responses/telemetry_snapshot.rs
Other components
- Operator
- Flight Bridge
Connections 8
- Operator → Command CLI: runs command
- Command CLI → Drone Facade: invokes commands
- Drone Facade → Drone API: delegates calls
- Drone API → HTTP Client: implemented by
- HTTP Client → Flight Bridge: HTTP requests
- Flight Bridge → HTTP Client: status JSON
- HTTP Client → Telemetry Snapshot: decodes status
- Drone Facade → Command CLI: returns status