Prerequisites

Required:

  • Go 1.21 or later
  • Make (for building from source)

Optional (for development):

Installing golangci-lint

# Arch Linux
paru -S golangci-lint

# macOS
brew install golangci-lint

# Other (via Go)
go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest

Quick Install

The fastest way to install AWF:

curl -fsSL https://raw.githubusercontent.com/awf-project/cli/main/scripts/install.sh | sh

To install a specific version:

AWF_VERSION=v1.0.0 curl -fsSL https://raw.githubusercontent.com/awf-project/cli/main/scripts/install.sh | sh

The script detects your OS and architecture, downloads the appropriate binary, verifies its SHA256 checksum, and installs it to /usr/local/bin.

Via Go

If you have Go installed:

go install github.com/awf-project/cli/cmd/awf@latest

This installs the awf binary to your $GOPATH/bin directory.

From Source

For the latest development version or to contribute:

# Clone the repository
git clone https://github.com/awf-project/cli.git
cd cli

# Build the binary
make build

# Install to /usr/local/bin (optional)
make install

The binary will be available at ./bin/awf after building.

Verify Installation

awf version

Expected output:

awf version X.Y.Z

Shell Completion

Generate shell autocompletion scripts:

# Bash
awf completion bash > /etc/bash_completion.d/awf

# Zsh
awf completion zsh > "${fpath[1]}/_awf"

# Fish
awf completion fish > ~/.config/fish/completions/awf.fish

# PowerShell
awf completion powershell > awf.ps1

Dependencies

AWF uses these Go packages:

PackagePurpose
spf13/cobraCLI framework
gopkg.in/yaml.v3YAML parsing
fatih/colorTerminal colors
google/uuidUUID generation
golang.org/x/sync/errgroupParallel execution
modernc.org/sqliteHistory storage (SQLite)
expr-lang/exprExpression evaluation

Next Steps