Skip to content

Install

Terminal window
# Recommended: install script (Linux x86_64 / arm64)
curl -fsSL https://raw.githubusercontent.com/bgrewell/dart/main/install.sh | bash
# Any platform Go supports (macOS, Windows, other architectures)
go install github.com/bgrewell/dart/cmd/dart@latest
# Or build from source (produces a Linux binary; the Makefile pins GOOS=linux)
git clone https://github.com/bgrewell/dart && cd dart && make build

The install script supports Linux on x86_64 and arm64 only — those are the only binaries the release workflow publishes — and it verifies the downloaded binary against the release checksums.txt before installing, which is the main reason to prefer it over go install. On macOS, Windows, or any other architecture, use go install. Note: make build sets GOOS=linux and always produces a Linux binary regardless of the host.

The script installs to /usr/local/bin by default; DART_INSTALL_DIR selects another location and DART_VERSION pins a specific release tag instead of the latest. Installing into a directory the current user cannot write invokes sudo for the final move.

The go install and build-from-source paths require Go 1.26.5 or newer, the minimum set in go.mod. Go 1.21 and later fetch that toolchain automatically unless GOTOOLCHAIN=local is set; older releases fail with a version error. The install script and the released binaries need no Go toolchain.

Verify it works, then validate a suite without running anything:

Terminal window
dart --version # short form: -V
dart -c suite.yaml --check # parses + validates, touches no infrastructure

Note: version, build date, revision and branch are injected at link time by make build and the release workflow. A binary produced by plain go install reports dev for all four.

DART needs nothing else to test the local machine or remote hosts over SSH. For container and VM nodes, install Docker or LXD/Incus — DART talks to whichever is present.