Skip to content

Installation

Ward supports Java/Maven and Java/Kotlin Gradle projects. The native binary needs no JVM; the executable jar requires JDK 25.

Terminal window
curl -fsSL https://raw.githubusercontent.com/RicardoRB/ward-ai/main/install.sh | sh
ward --version

The script detects your OS and CPU, downloads the matching release archive from GitHub Releases, verifies its SHA-256 checksum, and installs it as ward in ~/.local/bin. The archive’s LICENSE and NOTICE go to ~/.local/share/doc/ward. Releases before v0.0.7 predate the archives and can’t be installed with the script. If that directory is not on your PATH, the script prints the line to add to your shell profile. It supports Linux x86_64, macOS (Apple Silicon and Intel), and Git Bash on Windows, where it installs ward.exe and needs unzip.

When it finishes, the script prints the command that installs the Ward agent skills. It only prints the command and does not run it:

Terminal window
npx skills add RicardoRB/ward-ai --skill ward-init ward-tune ward-fix

Then run /ward-init in your coding agent to set up Ward together with it.

VariableDefaultPurpose
WARD_VERSIONlatestRelease tag to install, for example v0.2.0.
WARD_INSTALL_DIR~/.local/binDirectory for the ward binary.
WARD_DOC_DIR<install dir parent>/share/doc/wardDirectory for LICENSE and NOTICE.
WARD_BASE_URLGitHub ReleasesDownload base URL, for mirrors.
Terminal window
curl -fsSL https://raw.githubusercontent.com/RicardoRB/ward-ai/main/install.sh \
| WARD_VERSION=v0.2.0 WARD_INSTALL_DIR=/usr/local/bin sh

In PowerShell (Windows PowerShell 5.1 or PowerShell 7):

Terminal window
irm https://raw.githubusercontent.com/RicardoRB/ward-ai/main/install.ps1 | iex
ward --version

The script downloads ward-windows-x86_64.zip, verifies its SHA-256 checksum, and installs ward.exe in %LOCALAPPDATA%\Programs\ward\bin, with LICENSE and NOTICE one directory up.

  • It needs no administrator rights.
  • It adds the install directory to your user PATH and to the current session. Terminals that are already open must be restarted to see it.
  • On Windows ARM64 it installs the x86_64 binary, which runs under emulation.

It reads the same WARD_VERSION, WARD_INSTALL_DIR, WARD_DOC_DIR, and WARD_BASE_URL variables; WARD_DOC_DIR defaults to the install directory’s parent:

Terminal window
$env:WARD_VERSION = 'v0.2.0'; irm https://raw.githubusercontent.com/RicardoRB/ward-ai/main/install.ps1 | iex

Each GitHub release publishes a native archive per platform with a .sha256 checksum file. Each archive contains the binary, LICENSE, and NOTICE:

PlatformAsset
Linux x86_64ward-linux-x86_64.tar.gz
macOS Apple Siliconward-macos-aarch64.tar.gz
macOS Intelward-macos-x86_64.tar.gz
Windows x86_64ward-windows-x86_64.zip

LICENSE and NOTICE are also attached to each release.

Terminal window
curl -fsSLO https://github.com/RicardoRB/ward-ai/releases/latest/download/ward-macos-aarch64.tar.gz
curl -fsSLO https://github.com/RicardoRB/ward-ai/releases/latest/download/ward-macos-aarch64.tar.gz.sha256
shasum -a 256 -c ward-macos-aarch64.tar.gz.sha256
mkdir ward && tar -xzf ward-macos-aarch64.tar.gz -C ward
mv ward/ward ~/.local/bin/ward

To install by hand on Windows, download ward-windows-x86_64.zip, extract it, and place ward.exe in a directory on your PATH.

Requires JDK 25. Maven is provided by the repository wrapper.

Terminal window
git clone https://github.com/RicardoRB/ward-ai.git
cd ward-ai
./mvnw package
java -jar target/ward.jar --version

To build the native binary target/ward, use GraalVM 25:

Terminal window
./mvnw -Pnative -DskipTests native:compile

Picocli’s annotation processor generates the native reflection metadata during compilation. New CLI commands and options are included from their annotations; no manual command metadata entry is needed.

Agent integrations invoke ward by name, so the binary (or a wrapper script that runs the jar) must be on PATH. See quick start to run your first check.