The public command is frothy. It is still early, but the core verbs are usable.
First Commands
frothy bootstrap installs the ESP-IDF toolchain under your Frothy home directory.
frothy bootstrap
frothy bootstrap --force
frothy doctor checks the local build, flash, and serial setup. It should not modify the board.
frothy doctor
frothy flash builds and flashes firmware for a board identifier.
frothy flash esp32_devkit_v1 --port /dev/cu.usbserial-0001
esp32_devkit_v1 is the development-board identifier used in Frothy today. Most classic Tensilica ESP32 dev boards with USB serial should be plausible; newer RISC-V ESP32 variants have not been tried yet.
frothy connect opens the simple serial REPL.
frothy connect --port /dev/cu.usbserial-0001
frothy session opens the richer session path used by editor tooling.
frothy session --port /dev/cu.usbserial-0001
frothy send compiles a source file and sends definitions or expressions line by line.
frothy send main.fr --port /dev/cu.usbserial-0001
frothy send main.fr --dry-run
Project Commands
frothy init scaffolds the current directory. Make the directory yourself first.
mkdir my-sketch
cd my-sketch
frothy init
frothy build resolves libraries and builds firmware artifacts.
frothy build
frothy install sends project library source to the board’s library tier.
frothy install --port /dev/cu.usbserial-0001
Recovery Commands
frothy wipe erases persisted device state on a wedged ESP32. It requires --force.
frothy wipe esp32_devkit_v1 --port /dev/cu.usbserial-0001 --force
frothy wipe-user clears user-tier definitions while leaving installed library code in place.
frothy wipe-user --port /dev/cu.usbserial-0001
frothy stop stops Frothy sessions that are holding serial ports.
frothy stop
Not Ready Yet
frothy fetch appears in the command surface as a placeholder for future dependency fetching. Do not build a workflow around it yet.