| # Welcome to FFX | |
| FFX is a command line tool providing FIDL communication with multiple Fuchsia | |
| devices via overnet. It is written in Rust and is made of three parts: | |
| - [CLI](cli.md) | |
| - [Daemon](daemon.md) | |
| - [Remote Control Service (RCS)](rcs.md) | |
| ## [CLI](cli.md) | |
| The Command Line Interface (CLI) provides the UX for FFX. It is responsible for: | |
| - Parsing user parameters (CLI Parameters) | |
| - Communicating with the daemon (starting it if necessary) | |
| - Routing parsed parameters and requested FIDL proxies to the proper code path | |
| for execution | |
| ## [Daemon](daemon.md) | |
| The daemon runs in the background on the host device and manages: | |
| - Target discovery | |
| - Target lifecycle management (flashing, provisioning, and package serving) | |
| - Facilitating communication with target devices | |
| ## [Remote Control Service](rcs.md) | |
| The remote control service runs on target devices and is responsible | |
| for providing access to the FIDL services running on the target. |