Reference
Core Commands
radbuild project create ./workspace --non-interactive --project-name demo
radbuild project create --list-templates
radbuild project create ./workspace --non-interactive --template fpga-mpsoc-buildroot --project-name demo
radbuild project create ./workspace --non-interactive --register --template radpx-os-terminal --project-name radpx-terminal
radbuild project register ./workspace/demo
radbuild project list --json
radbuild project unregister ./workspace/demo
radbuild project validate --settings ./workspace/demo/settings.json
radbuild graph --settings settings.json --json
radbuild generate --settings settings.json
radbuild build fpga --settings settings.json --json-events
radbuild build os --settings settings.json --json-events
radbuild build all --settings settings.json --dry-run --json-events
radbuild deploy --settings settings.json --json-events
Schema Skeleton
{
"radbuild_schema": "2.0",
"radbuild_version": "0.2.1",
"project_name": "example",
"systems": [],
"connections": [],
"artifacts": [],
"deploy": [],
"packages": {}
}
Common System Types
fpga.vivadofpga.litexlinux.petalinuxlinux.buildrootlinux.yoctoos.radpxsoftware.nativesoftware.crossfirmware.genericpackage.debian
Packaged Project Templates
fpga-vivadofpga-mpsoc-petalinuxfpga-mpsoc-buildrootfpga-linux-softwareradpx-os-terminalradpx-os-wm
Use radbuild project create --list-templates --json for machine-readable template metadata.
Project Registry
The project registry is a user-level list of RadBuild project roots shared by the CLI and VSCode extension. By default it lives at $XDG_CONFIG_HOME/radbuild/projects.json or ~/.config/radbuild/projects.json. Set RADBUILD_PROJECT_REGISTRY=/path/to/projects.json for isolated testing or automation.
A registered project must point to a directory containing schema v2 settings.json, or directly to a JSON settings file.
VSCode Commands
RadBuild: Projectsopens the registered project table. Project rows exposeRadBuild: Register Project Directoryvalidates and registers a project root.RadBuild: Create Projectcreates from packaged templates and registers theRadBuild: Project Settingsopens a form editor for common project fields,RadBuild: Configure RADPx OSedits RADPxmenuconfigstate through JSONRadBuild: Toolchainsdetects and stores common toolchain paths. Vivado andRadBuild: Build Systembuilds a selected graph node;Build Allbuilds the
Open; project-specific settings, artifacts, and build actions appear after a project is active. If the target folder is already open, RadBuild activates the project without forcing a VSCode folder reload.
result. Switching templates resets defaults and disables non-applicable fields.
systems, config values, and project toolchain selectors.
CLI calls.
PetaLinux register roots containing valid version directories and expose one selected active version.
active project graph.
JSON Events
Build commands with --json-events emit line-delimited JSON for IDEs and automation. Consumers should read stdout one line at a time and treat unknown event fields as forward-compatible metadata.