Single-step execution
Every invocation observes once or executes one validated action, then exits. The agent owns the reasoning loop.
Turn screens into coordinates, and coordinates into action.
Computers already show the state an agent needs: pixels, windows, buttons, text fields, menus. FerrisGrid makes that state actionable by pairing screenshots with deterministic coordinates, constrained actions, and local traces.
FerrisGrid gives the machine eyes, gives the model a map, and lets Rust move fast.
cargo install ferrisgrid-cli
ferrisgrid doctorAn equivalent TypeScript npm package is available from BrunoV21/FerrisGrid-CLI-ts:
npm install -g ferrisgrid-cli
ferrisgrid doctorFeature requests and protocol changes belong in BrunoV21/FerrisGrid-CLI.
ferrisgrid observeThe agent reads the returned screenshot path and coordinate metadata, decides one action, then calls:
ferrisgrid act --file .ferrisgrid/action.mdgit clone https://github.com/BrunoV21/FerrisGrid-CLI.git
cd FerrisGrid-CLI
cargo build
cargo test --workspace
cargo run -q -p ferrisgrid-cli -- doctor