# Installation

## Quick Install

The fastest way to install Squadron:

```bash
curl -fsSL https://raw.githubusercontent.com/mlund01/squadron/main/install.sh | bash
```

This auto-detects your platform, downloads the latest release, verifies the checksum, and installs to `~/.local/bin`. To install a specific version:

```bash
curl -fsSL https://raw.githubusercontent.com/mlund01/squadron/main/install.sh | bash -s v0.0.43
```

You can override the install directory with `INSTALL_DIR`:

```bash
INSTALL_DIR=/usr/local/bin curl -fsSL https://raw.githubusercontent.com/mlund01/squadron/main/install.sh | bash
```

## Manual Download

Download the latest release for your platform from [GitHub Releases](https://github.com/mlund01/squadron/releases), extract it, and move the binary to your PATH:

```bash
# macOS (Apple Silicon)
curl -L https://github.com/mlund01/squadron/releases/latest/download/squadron_darwin_arm64.tar.gz | tar xz
sudo mv squadron /usr/local/bin/

# macOS (Intel)
curl -L https://github.com/mlund01/squadron/releases/latest/download/squadron_darwin_amd64.tar.gz | tar xz
sudo mv squadron /usr/local/bin/

# Linux (amd64)
curl -L https://github.com/mlund01/squadron/releases/latest/download/squadron_linux_amd64.tar.gz | tar xz
sudo mv squadron /usr/local/bin/

# Linux (arm64)
curl -L https://github.com/mlund01/squadron/releases/latest/download/squadron_linux_arm64.tar.gz | tar xz
sudo mv squadron /usr/local/bin/
```

### Windows

Download the zip from [GitHub Releases](https://github.com/mlund01/squadron/releases) and extract it. In PowerShell:

```powershell
# Download and extract
Invoke-WebRequest -Uri https://github.com/mlund01/squadron/releases/latest/download/squadron_windows_amd64.zip -OutFile squadron.zip
Expand-Archive squadron.zip -DestinationPath .
Remove-Item squadron.zip

# Move to a directory in your PATH
Move-Item squadron.exe C:\Windows\System32\
```

## Upgrade

```bash
squadron upgrade
```

Or install a specific version:

```bash
squadron upgrade --version v0.0.28
```

## Docker

Squadron publishes Docker images to GitHub Container Registry on every release:

```bash
# Alpine (default, small image)
docker pull ghcr.io/mlund01/squadron:latest

# Debian (for plugins that need glibc)
docker pull ghcr.io/mlund01/squadron:latest-debian
```

Run with your config mounted:

```bash
docker run -v ./my-project:/config -p 8080:8080 \
  ghcr.io/mlund01/squadron engage
```

See the [Docker guide](/getting-started/docker) for full setup details including Docker Compose.

## Build from Source

Requires Go 1.25+.

```bash
git clone https://github.com/mlund01/squadron.git
cd squadron
go build -o squadron ./cmd/cli
sudo mv squadron /usr/local/bin/
```

## Verify

```bash
squadron --help
```

## Next Steps

Create a project directory and launch Squadron:

```bash
mkdir my-squadron && cd my-squadron
squadron engage
```

On a fresh directory with an interactive terminal, `engage` runs the quickstart wizard, sets up your provider and API key, generates a starter mission, and opens the command center UI in your browser. See [engage](/cli/engage) for the full walkthrough, or [Quick Start](/getting-started/quickstart) for a guided overview.
