Download

Weft 0.3.33 — one binary, no runtime dependencies.

# fastest way (macOS and Linux)
$ curl -fsSL https://weftproject.dev/install.sh | sh

Ubuntu / Debian (apt)

Add the Weft repo and install with apt. Updates arrive via apt upgrade.

1. Add the GPG key

$ curl -fsSL https://weftproject.dev/weft-archive-keyring.gpg \
    | sudo gpg --dearmor -o /usr/share/keyrings/weft.gpg

2. Add the repository

$ echo "deb [signed-by=/usr/share/keyrings/weft.gpg] https://weftproject.dev/apt stable main" \
    | sudo tee /etc/apt/sources.list.d/weft.list

3. Install

$ sudo apt update
$ sudo apt install weft

4. Verify

$ weft version
weft 0.3.33

$ weft doctor

Works on Ubuntu 20.04+, Debian 11+, Pop!_OS, Linux Mint, and derivatives.

Fedora / RHEL / Rocky / AlmaLinux (dnf)

Add the Weft repo and install with dnf or yum.

1. Add the repository

$ sudo tee /etc/yum.repos.d/weft.repo <<EOF
[weft]
name=Weft
baseurl=https://weftproject.dev/rpm
gpgcheck=1
gpgkey=https://weftproject.dev/weft-archive-keyring.gpg
enabled=1
EOF

2. Install

$ sudo dnf install weft

3. Verify

$ weft version
weft 0.3.33

Works on Fedora 38+, RHEL 8+, Rocky Linux, AlmaLinux, CentOS Stream. For older systems, use yum instead of dnf.

macOS

One-line install works on both Apple Silicon and Intel Macs.

Recommended

$ curl -fsSL https://weftproject.dev/install.sh | sh

Or download directly

# Apple Silicon (M1/M2/M3/M4)
$ curl -fsSL -o /usr/local/bin/weft \
    https://weftproject.dev/dl/weft-darwin-arm64
$ chmod +x /usr/local/bin/weft

# Intel Mac
$ curl -fsSL -o /usr/local/bin/weft \
    https://weftproject.dev/dl/weft-darwin-amd64
$ chmod +x /usr/local/bin/weft

From source (with Homebrew)

$ brew install go
$ git clone https://github.com/loreste32/weft.git
$ cd weft && go build -o /usr/local/bin/weft ./cmd/weft

Verify

$ weft doctor

Windows

PowerShell (run as Administrator)

PS> New-Item -Path C:\weft -ItemType Directory -Force
PS> Invoke-WebRequest `
    -Uri https://weftproject.dev/dl/weft-windows-amd64.exe `
    -OutFile C:\weft\weft.exe
PS> [Environment]::SetEnvironmentVariable("Path",
    $env:Path + ";C:\weft", "Machine")

Open a new terminal after setting the PATH.

Verify

PS> weft version
weft 0.3.33

PS> weft doctor

From source (with Go installed)

PS> git clone https://github.com/loreste32/weft.git
PS> cd weft
PS> go build -o C:\weft\weft.exe .\cmd\weft

Build from source

Requires Go 1.25+.

$ git clone https://github.com/loreste32/weft.git
$ cd weft
$ go build -o weft ./cmd/weft
$ ./weft doctor

Install globally

$ sudo cp weft /usr/local/bin/weft
# or
$ make install  # installs to ~/.local/bin/weft

Cross-compile

$ GOOS=linux GOARCH=amd64 go build -o weft-linux ./cmd/weft
$ GOOS=linux GOARCH=arm64 go build -o weft-arm64 ./cmd/weft
$ GOOS=windows GOARCH=amd64 go build -o weft.exe ./cmd/weft

Run tests

$ make test    # 1246 tests across 18 packages
$ make ci      # gofmt, vet, tests, example smoke

Direct downloads — v0.3.33

Checksums: All registry packages are signed with ed25519. Binary downloads are served over TLS from weftproject.dev. For package repo installs, GPG signatures are verified automatically by apt/dnf.