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:
ffxis 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
ffx, review the existing command surface by running
ffx helpto understand where the new command or tool may fit.
ffxprovides a global
--targetflag that can be passed multiple times to execute commands across multiple targets in parallel.
ffxor 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.