Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
52 changes: 52 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -155,4 +155,56 @@ jobs:
with:
files: artifacts/*
generate_release_notes: true
append_body: true
prerelease: ${{ contains(github.ref_name, '-') }}
body: |
## Installation

Download the archive for your OS and architecture (and the matching `.sha256` file) from the assets below. The instructions below assume both files are in your current directory.

### macOS

```bash
# 1. Verify the checksum
shasum -a 256 -c ags-aarch64-apple-darwin.tar.gz.sha256

# 2. Extract and install
tar -xzf ags-aarch64-apple-darwin.tar.gz
chmod +x ags
sudo mv ags /usr/local/bin/
```

If Gatekeeper blocks first launch, allow it from System Settings → Privacy & Security, or run `xattr -d com.apple.quarantine /usr/local/bin/ags`.

Intel Macs: substitute `x86_64-apple-darwin` for `aarch64-apple-darwin` in the commands above.

### Linux

Replace `<target>` with your platform (e.g. `x86_64-unknown-linux-gnu`, `aarch64-unknown-linux-musl`).

```bash
# 1. Verify the checksum
shasum -a 256 -c ags-<target>.tar.gz.sha256

# 2. Extract and install
tar -xzf ags-<target>.tar.gz
chmod +x ags
sudo mv ags /usr/local/bin/
```

### Windows

Run the following in PowerShell from the directory containing the downloaded files:

```powershell
# 1. Verify the checksum
$Expected = (Get-Content "ags-x86_64-pc-windows-msvc.zip.sha256").Split(" ")[0]
$Actual = (Get-FileHash "ags-x86_64-pc-windows-msvc.zip" -Algorithm SHA256).Hash.ToLower()
if ($Expected -ne $Actual) { throw "Checksum mismatch" }
"Checksum OK"

# 2. Extract
Expand-Archive ags-x86_64-pc-windows-msvc.zip -DestinationPath .
```

Move `ags.exe` to a directory on your `PATH`.
2 changes: 1 addition & 1 deletion Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "accelbyte-ags-cli"
version = "0.1.0-rc1"
version = "0.1.0"
edition = "2021"
description = "Unified CLI for AccelByte Gaming Services"
license = "MIT"
Expand Down
66 changes: 12 additions & 54 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,73 +1,31 @@
# AGS CLI

AGS CLI is a command-line interface for [AccelByte Gaming Services](https://accelbyte.io). It generates commands directly from AccelByte's OpenAPI specs so you can explore and call APIs from the terminal with a consistent command structure.
AGS CLI is a unified command-line interface for AccelByte Gaming Services. Automate workflows across all 24 services. Use it interactively, in scripts, or via AI agents.

![AGS CLI demo](demo/reel.gif)

## Current Status

AGS CLI ships full coverage of all 24 AccelByte services, with bundled OpenAPI specs and end-to-end runtime support for every command.

Prebuilt binaries are published on the [GitHub Releases page](https://github.com/AccelByte/accelbyte-ags-cli/releases) for:

- macOS: `x86_64-apple-darwin`, `aarch64-apple-darwin`
- Linux: `x86_64-unknown-linux-gnu`, `x86_64-unknown-linux-musl`, `aarch64-unknown-linux-gnu`, `aarch64-unknown-linux-musl`
- Windows: `x86_64-pc-windows-msvc`

There is no package-manager distribution (Homebrew, apt, `cargo install`, etc.) yet.

## Install

### Download a release

Pick the archive matching your platform from the [latest release](https://github.com/AccelByte/accelbyte-ags-cli/releases/latest). Each archive ships alongside a `.sha256` checksum file.

**macOS / Linux**

```bash
# Replace TARGET with e.g. aarch64-apple-darwin or x86_64-unknown-linux-gnu
TARGET=aarch64-apple-darwin
curl -LO https://github.com/AccelByte/accelbyte-ags-cli/releases/latest/download/ags-${TARGET}.tar.gz
curl -LO https://github.com/AccelByte/accelbyte-ags-cli/releases/latest/download/ags-${TARGET}.tar.gz.sha256
shasum -a 256 -c ags-${TARGET}.tar.gz.sha256
tar -xzf ags-${TARGET}.tar.gz
sudo mv ags /usr/local/bin/
ags --help
```

On macOS, if the binary is blocked by Gatekeeper on first launch, allow it from **System Settings → Privacy & Security**, or remove the quarantine attribute: `xattr -d com.apple.quarantine /usr/local/bin/ags`.

**Windows (PowerShell)**

```powershell
$Target = "x86_64-pc-windows-msvc"
Invoke-WebRequest -Uri "https://github.com/AccelByte/accelbyte-ags-cli/releases/latest/download/ags-$Target.zip" -OutFile "ags-$Target.zip"
Invoke-WebRequest -Uri "https://github.com/AccelByte/accelbyte-ags-cli/releases/latest/download/ags-$Target.zip.sha256" -OutFile "ags-$Target.zip.sha256"
$Expected = (Get-Content "ags-$Target.zip.sha256").Split(" ")[0]
$Actual = (Get-FileHash "ags-$Target.zip" -Algorithm SHA256).Hash.ToLower()
if ($Expected -ne $Actual) { throw "Checksum mismatch" }
Expand-Archive "ags-$Target.zip" -DestinationPath .
.\ags.exe --help
```
Download the prebuilt archive for your OS and architecture from the [latest release](https://github.com/AccelByte/accelbyte-ags-cli/releases/latest). The release page includes per-platform install instructions and checksum verification.

Move `ags.exe` to a directory on your `PATH` to use it from anywhere.
Supported targets: macOS (`x86_64`, `aarch64`), Linux (`x86_64` and `aarch64` × `gnu` and `musl`), Windows (`x86_64`).

### Build from source
## Build from source

#### Prerequisites
### Prerequisites

- Git
- [Rust](https://rustup.rs/) 1.84 or newer
- On Linux, system packages required for keyring support may also be needed: `libdbus-1-dev` and `libsecret-1-dev`

#### 1. Clone the repository
### 1. Clone the repository

```bash
git clone https://github.com/AccelByte/accelbyte-ags-cli.git
cd accelbyte-ags-cli
```

#### 2. Build the binary
### 2. Build the binary

```bash
cargo build --release
Expand All @@ -78,7 +36,7 @@ This creates the CLI binary in:
- macOS and Linux: `target/release/ags`
- Windows: `target\release\ags.exe`

#### 3. Run it
### 3. Run it

Without installing globally:

Expand All @@ -92,9 +50,9 @@ On Windows PowerShell:
.\target\release\ags.exe --help
```

#### Optional: add it to your PATH
### Optional: add it to your PATH

##### macOS and Linux
#### macOS and Linux

You can copy the binary to a directory already on your `PATH`, such as `/usr/local/bin`:

Expand All @@ -104,7 +62,7 @@ cp target/release/ags /usr/local/bin/

If you do not want to write to a system directory, add `target/release` to your `PATH` instead.

##### Windows
#### Windows

You can:

Expand All @@ -118,7 +76,7 @@ After that, verify the installation:
ags --help
```

### Shell completions
## Shell completions

AGS prints a completion script for `bash`, `zsh`, `fish`, or `powershell`:

Expand Down
Loading