ffx provides a unified platform for Fuchsia CLI tools for host target interactions. It introduces a service oriented interface to many common development and integration workflow operations that users may wish to perform against one or more Fuchsia target devices.
It is both a service runtime, and a collection of utilities, and it is intended for both users and infrastructure integrators alike.
Review the user guide for using the ffx command line tool.
When extending or adding a new plugin for ffx
it is important to consider the following:
ffx
is developed in Rust and makes heavy use of rust crates. However, crates must be hosted in the Fuchsia Platform Source Tree. This process is detailed in Open Source Review Board (OSRB) process document. Review existing crates in third_party/rust_crates
.ffx
, review the existing command surface by running ffx help
to understand where the new command or tool may fit.ffx
provides a global --target
flag that can be passed multiple times to execute commands across multiple targets in parallel.ffx
or define new ones for the specific command or workflow. Existing configurations can be accessed via ffx config get
.A detailed guide with examples is available in developing for ffx.
The Command Line Interface (CLI) provides the UX for ffx. It is responsible for:
The daemon runs in the background on the host device and manages:
The remote control service runs on target devices and is responsible for providing access to the FIDL services running on the target.