chiplab-cli is Chiplab’s command-line client. It runs a test suite against a firmware ELF on a virtual board, the same way your agent does over MCP, and reports whether the tests passed. Each outcome has its own exit code, so it fits as a step in a CI pipeline.
Source and releases are at github.com/veecle/chiplab-cli.
Install
In GitHub Actions, useveecle/install-chiplab. It downloads the release for the runner, verifies it, and adds chiplab-cli to PATH:
chiplab-cli-x86_64-unknown-linux-musl.tar.gzchiplab-cli-aarch64-unknown-linux-musl.tar.gzchiplab-cli-aarch64-apple-darwin.tar.gz
shasum -a 256 --check --ignore-missing sha256sums.txt. To pin a version, replace latest/download with download/<tag>, for example download/v0.1.0.
The macOS binary is not signed. When it is downloaded through a browser, macOS blocks it. Remove the quarantine attribute with
xattr -d com.apple.quarantine chiplab-cli.cargo, or runs with Nix:
Authenticate
The CLI reads a personal access token (veecle_pat_...) from the CHIPLAB_TOKEN environment variable. Create one on API keys.
The token acts as the user who created it, with access to all their projects. Keep it out of the repository, and revoke it once it is no longer needed.
Run a test suite
run_test_suite: a project_id, the firmware ELF, the suite file, and a JSON file with the board object, such as { "model": "stm32f4_discovery", "uarts": ["usart2"] }. --download-dir saves the run’s artifacts.
chiplab-cli --help lists the commands. chiplab-cli <command> --help describes each command’s arguments, its machine-readable output, and its exit codes.