Skip to content

Installation

For normal use, install the published CLI with Cargo:

bash
cargo install ferrisgrid-cli
ferrisgrid doctor

The crates.io package is ferrisgrid-cli; the installed command is ferrisgrid.

TypeScript npm mirror

An equivalent TypeScript package is maintained at BrunoV21/FerrisGrid-CLI-ts. It mirrors the Rust CLI behavior for Node.js distribution; new features and protocol changes should still be requested in BrunoV21/FerrisGrid-CLI.

bash
npm install -g ferrisgrid-cli
ferrisgrid doctor

Development from source

Use a local checkout when you want to build, test, or modify FerrisGrid:

bash
git clone https://github.com/BrunoV21/FerrisGrid-CLI.git
cd FerrisGrid-CLI
cargo build
cargo test --workspace

Run the CLI through Cargo:

bash
cargo run -q -p ferrisgrid-cli -- doctor

Environment variables

VariablePurpose
FERRISGRID_BACKENDSelects the capture/input backend when supported.
FERRISGRID_OUTPUT_DIRChanges where .ferrisgrid session data is written.
FERRISGRID_DEFAULT_SCREEN_IDSets a default screen target for observe/action contexts.
FERRISGRID_MAX_IMAGE_EDGESets a fixed default maximum screenshot edge, or native to disable downsampling. Leave unset for the adaptive balanced default.

Docker image

The Linux workspace image installs the CLI inside the container. Use it when you want FerrisGrid to control a background desktop instead of your visible machine.

FerrisGrid - terminal-first visual control for local agents