Installation
Invowk™ is currently in alpha stage. While we strive for stability, expect breaking changes between releases as we stabilize the invowkfile format, module structure, and feature set. We recommend pinning to a specific version for production use and following the GitHub releases for migration guides.
Welcome to Invowk! Let's get you set up and running commands in no time.
Requirements
- Linux, macOS, or Windows — Invowk works on all three!
For container runtime features, you'll also need:
- Docker or Podman installed and running
Installation Methods
- Shell Script
- PowerShell (Windows)
- WinGet (Windows)
- Homebrew
- Go Install
- From Source
The quickest way to install on Linux or macOS:
curl -fsSL https://raw.githubusercontent.com/invowk/invowk/main/scripts/install.sh | sh
This downloads the latest release from GitHub, verifies its SHA256 checksum, and installs to ~/.local/bin.
Customize the installation:
# Install to a custom directory
INSTALL_DIR=/usr/local/bin curl -fsSL https://raw.githubusercontent.com/invowk/invowk/main/scripts/install.sh | sh
# Install a specific version
INVOWK_VERSION=v1.0.0 curl -fsSL https://raw.githubusercontent.com/invowk/invowk/main/scripts/install.sh | sh
| Variable | Default | Description |
|---|---|---|
INSTALL_DIR | ~/.local/bin | Where to install the binary |
INVOWK_VERSION | latest stable | Install a specific version (e.g., v1.0.0) |
GITHUB_TOKEN | unset | Optional; avoids API rate limiting |
The quickest way to install on Windows:
irm https://raw.githubusercontent.com/invowk/invowk/main/scripts/install.ps1 | iex
This downloads the latest release from GitHub, verifies its SHA256 checksum, and installs to %LOCALAPPDATA%\Programs\invowk. Your User PATH is updated automatically.
Customize the installation:
# Install to a custom directory
$env:INSTALL_DIR='C: oolsinvowk'; irm https://raw.githubusercontent.com/invowk/invowk/main/scripts/install.ps1 | iex
# Install a specific version
$env:INVOWK_VERSION='v1.0.0'; irm https://raw.githubusercontent.com/invowk/invowk/main/scripts/install.ps1 | iex
# Skip automatic PATH modification
$env:INVOWK_NO_MODIFY_PATH='1'; irm https://raw.githubusercontent.com/invowk/invowk/main/scripts/install.ps1 | iex
| Variable | Default | Description |
|---|---|---|
INSTALL_DIR | %LOCALAPPDATA%\Programs\invowk | Where to install the binary |
INVOWK_VERSION | latest stable | Install a specific version (e.g., v1.0.0) |
INVOWK_NO_MODIFY_PATH | unset | Set to 1 to skip automatic PATH modification |
GITHUB_TOKEN | unset | Optional; avoids API rate limiting |
Install using WinGet on Windows 10/11:
winget install Invowk.Invowk
To upgrade later:
winget upgrade Invowk.Invowk
If you use Homebrew on macOS or Linux:
brew install invowk/tap/invowk
To upgrade later:
brew upgrade invowk
If you have Go 1.26+ installed:
go install github.com/invowk/invowk@latest
The binary is installed to $GOBIN (or $GOPATH/bin).
Clone and build from source:
git clone https://github.com/invowk/invowk
cd invowk
make build
Then install to your $GOPATH/bin:
make install
Or move the binary manually:
# Linux/macOS
sudo mv invowk /usr/local/bin/
# Or add to your local bin
mv invowk ~/.local/bin/
Note: On x86-64 systems, the default build targets the x86-64-v3 microarchitecture (Haswell+ CPUs from 2013+) for optimal performance. For maximum compatibility with older CPUs, use
make build GOAMD64=v1.
Verify Installation
Once installed, verify everything works:
invowk --version
You should see the version information. If you get a "command not found" error, make sure the binary is in your PATH.
Platform Support
| Method | Linux | macOS | Windows |
|---|---|---|---|
| Shell script | amd64, arm64 | amd64 (Intel), arm64 (Apple Silicon) | — |
| PowerShell script | — | — | amd64 |
| WinGet | — | — | amd64 |
| Homebrew | amd64, arm64 | amd64, arm64 | — |
| Go install | all | all | all |
| From source | all | all | all |
Upgrading
Upgrade using the same method you used to install:
- Shell script: Re-run the install command — it downloads the latest release and overwrites the existing binary:
curl -fsSL https://raw.githubusercontent.com/invowk/invowk/main/scripts/install.sh | sh
To upgrade to a specific version, set INVOWK_VERSION:
# Install to a custom directory
INSTALL_DIR=/usr/local/bin curl -fsSL https://raw.githubusercontent.com/invowk/invowk/main/scripts/install.sh | sh
# Install a specific version
INVOWK_VERSION=v1.0.0 curl -fsSL https://raw.githubusercontent.com/invowk/invowk/main/scripts/install.sh | sh
- PowerShell script: Re-run the install command — it downloads the latest release and overwrites the existing binary:
irm https://raw.githubusercontent.com/invowk/invowk/main/scripts/install.ps1 | iex
To upgrade to a specific version, set INVOWK_VERSION:
# Install to a custom directory
$env:INSTALL_DIR='C: oolsinvowk'; irm https://raw.githubusercontent.com/invowk/invowk/main/scripts/install.ps1 | iex
# Install a specific version
$env:INVOWK_VERSION='v1.0.0'; irm https://raw.githubusercontent.com/invowk/invowk/main/scripts/install.ps1 | iex
# Skip automatic PATH modification
$env:INVOWK_NO_MODIFY_PATH='1'; irm https://raw.githubusercontent.com/invowk/invowk/main/scripts/install.ps1 | iex
-
WinGet:
winget upgrade Invowk.Invowk -
Homebrew:
brew upgrade invowk -
Go install:
go install github.com/invowk/invowk@latest -
From source: Pull the latest changes and rebuild:
git pull && make build && make install
Shell Completion
Invowk supports tab completion for bash, zsh, fish, and PowerShell. This makes typing commands much faster!
Bash
# Add to ~/.bashrc
eval "$(invowk completion bash)"
# Or install system-wide
invowk completion bash > /etc/bash_completion.d/invowk
Zsh
# Add to ~/.zshrc
eval "$(invowk completion zsh)"
# Or install to fpath
invowk completion zsh > "${fpath[1]}/_invowk"
Fish
invowk completion fish > ~/.config/fish/completions/invowk.fish
PowerShell
invowk completion powershell | Out-String | Invoke-Expression
# Or add to $PROFILE for persistence
invowk completion powershell >> $PROFILE
What's Next?
Now that you have Invowk installed, head over to the Quickstart guide to run your first command!