cli-anything-eez-studio
CLI harness for EEZ Studio project, LVGL UI, and SCPI workflows.
The CLI edits native .eez-project JSON files and calls the real EEZ Studio source backend for build/export operations when configured.
Prerequisites
- Python 3.10+
- Node.js for EEZ Studio backend commands
- EEZ Studio source tree for real backend export:
git clone https://github.com/eez-open/studio.git
cd studio
npm install
npm run build
export EEZ_STUDIO_SOURCE=/absolute/path/to/studio
Full LVGL simulator builds also require Docker.
Installation
cd eez-studio/agent-harness
pip install -e .
Usage
# Start the REPL
cli-anything-eez-studio
# Create a native EEZ Studio LVGL project
cli-anything-eez-studio --json project new -o app.eez-project --name TestPanel
# Add LVGL widgets and save automatically
cli-anything-eez-studio --project app.eez-project lvgl add-label --text "Ready"
cli-anything-eez-studio --project app.eez-project lvgl add-button --text "Run"
# Add SCPI command metadata
cli-anything-eez-studio --project app.eez-project scpi subsystem-add SOURCE
cli-anything-eez-studio --project app.eez-project scpi command-add SOURCE :VOLTage?
# Inspect through the real EEZ Studio backend
cli-anything-eez-studio --json --project app.eez-project lvgl backend-inspect
Command Reference
| Group | Commands |
|---|---|
project |
new, open, save, info, validate, pages, widgets, set, set-destination, add-build-file |
lvgl |
add-page, add-label, add-button, ensure-destination, backend-inspect, build-files, simulator-build, verify-simulator |
scpi |
subsystem-list, subsystem-add, command-list, command-add, parameter-add |
backend |
status |
session |
status, undo, redo, save-state, list |
JSON Output
Every command supports --json at the root:
cli-anything-eez-studio --json --project app.eez-project project info
Testing
cd eez-studio/agent-harness
python3 -m pytest cli_anything/eez_studio/tests/test_core.py -v
python3 -m pytest cli_anything/eez_studio/tests/test_full_e2e.py -v
The default E2E suite does not require a real EEZ Studio backend; it verifies backend status and the structured unavailable-backend error path. To run the live backend inspection test, set EEZ_STUDIO_RUN_LIVE_BACKEND=1 and EEZ_STUDIO_SOURCE to a built EEZ Studio checkout.